OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7795|回复: 14

F4 的 USB 向上位机送数据,总是打盹,求高手!

[复制链接]

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11474
金钱
11474
注册时间
2014-4-1
在线时间
1297 小时
发表于 2015-6-19 16:16:16 | 显示全部楼层 |阅读模式
5金钱

STM32F4, USB虚拟串口方式,FS 模式,基本全用库函数,稍有改造。
F4 采集实时数据,每秒 250K 字节,先存缓冲区,然后上传给 PC,一边采集,一边上传,循环工作。

运行数十秒,在上传数十 M 数据以后,USB 会停滞一、两秒钟,导致一帧数据的最后一个数据包堵在里面,一帧数据迟迟不完成,随后采集的实时数据就爆仓。

不懂 USB 协议,求高手看看怎么回事!


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-6-19 22:33:15 | 显示全部楼层
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11474
金钱
11474
注册时间
2014-4-1
在线时间
1297 小时
 楼主| 发表于 2015-6-19 23:00:12 | 显示全部楼层
如果发送无意义的数据,上位机用原子哥的串口助手,速度可以达到 831KB 每秒,
当然是采用统计的方法,还不知道有没有打盹的情况。

但现实应用,实时性就比较强了。
结果出现数据爆仓,几经周折,最后发现根本原因是 USB 不能顺畅地上传,我称之为打盹。

本来设计是 4uS 采集一个16位数据,一秒钟就是 500KB 数据量,
后来放慢到 1mS,250倍,却仍然爆仓,

实在很困惑了。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-6-19 23:40:52 | 显示全部楼层
F103的USB虚拟串口搞过,F4的没试过,帮顶下
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11474
金钱
11474
注册时间
2014-4-1
在线时间
1297 小时
 楼主| 发表于 2015-6-19 23:44:45 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------

原子哥,有没有实现过类似高速的应用?

低速实际应用我会的,只管往缓冲器填数据,然后修改指针,
库函数会自己监测指针的变化,自行处理。
这个我已经实用一年多了。

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-6-20 00:19:36 | 显示全部楼层
回复【5楼】xuande:
---------------------------------
没哦
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

11

主题

1044

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3708
金钱
3708
注册时间
2011-5-23
在线时间
2010 小时
发表于 2015-6-21 14:30:59 | 显示全部楼层
USB的数据都是放在那等HOST来取。
如果HOST停顿一下就会断流
RT-Thread RTOS 音频,WIFI,蓝牙
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11474
金钱
11474
注册时间
2014-4-1
在线时间
1297 小时
 楼主| 发表于 2015-6-21 17:26:24 | 显示全部楼层
回复【7楼】aozima:
---------------------------------

这个道理对头。

大侠用过 STM32F 的库吗?有高速通信的成熟方法吗?愿有偿求助!
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11474
金钱
11474
注册时间
2014-4-1
在线时间
1297 小时
 楼主| 发表于 2015-6-21 17:31:23 | 显示全部楼层
今天做实验,确定了故障现象:
通信一直正常,忽然USB内核就不响应了,是第一包就没有反应,不是后续包;
大约几秒钟后,通信恢复。

是 USB 库有问题,还是 C 方面有问题?该如何解决

看来要深入研究才行。
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11474
金钱
11474
注册时间
2014-4-1
在线时间
1297 小时
 楼主| 发表于 2015-6-21 17:34:46 | 显示全部楼层
哪位大侠有把握解决这个问题? 可以给我发站内短信。

愿有偿求助,三、四位数。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-6-21 23:01:37 | 显示全部楼层
回复【10楼】xuande:
---------------------------------
可惜我USB不熟啊,当时高STM32F4的USB HOST,搞的头大,弄了N种方法妥协...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11474
金钱
11474
注册时间
2014-4-1
在线时间
1297 小时
 楼主| 发表于 2015-6-21 23:10:32 | 显示全部楼层
唉,现在已经病急乱投医了。
回复

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2013-1-15
在线时间
7 小时
发表于 2015-11-23 15:43:15 | 显示全部楼层
回复【12楼】xuande:
---------------------------------
解惑老师,我现在想用虚拟串口上传数据,不过我采集数据的间隔比较慢,5秒一次,看了原子哥的文档,device里面autio,dfu,dualcore,hid,msc,vcp.不知道移植那个例程?
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11474
金钱
11474
注册时间
2014-4-1
在线时间
1297 小时
 楼主| 发表于 2015-11-23 16:47:56 | 显示全部楼层
回复【13楼】liqingmcu:
---------------------------------

VCP = virture comunication port
回复

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2013-1-15
在线时间
7 小时
发表于 2015-11-24 10:09:16 | 显示全部楼层
回复【14楼】xuande:
---------------------------------
谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 15:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表