OpenEdv-开源电子网

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

ADC采样通过USB发送数据给上位机

[复制链接]

3

主题

4

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2019-7-18
在线时间
6 小时
发表于 2019-8-11 14:59:24 | 显示全部楼层 |阅读模式
6金钱
各位大神,我最近要做一个ADC采样并把这些数据通过某种方式传到PC机上进行分析,因为串口速率太低现在想用的是USB,但我看了几个USB的例程之后,还是一头雾水,有人告诉我可以用USB VCP传输,可是虚拟串口的速率不跟串口速率是一样的吗,我的板子上有一个HS高速模式,不知道用这个模式会不会也同样受限于波特率?,还有例程是用USB HID,这个好像有一个比较方便的函数可以调用,实现发送数据,但听说HID的速率比较低,其它的USB Audio、CDC、MSC的例程和库文件都看不太明白,不知道适不适用。求指教!!

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2019-8-12 03:01:23 | 显示全部楼层
USB HS 最快了,可以用USB HS的HID模式传输,很快。如果没条件,试试USB FS的HID,也许可以比串口好。
回复

使用道具 举报

3

主题

4

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2019-7-18
在线时间
6 小时
 楼主| 发表于 2019-8-12 11:07:41 | 显示全部楼层
正点原子 发表于 2019-8-12 03:01
USB HS 最快了,可以用USB HS的HID模式传输,很快。如果没条件,试试USB FS的HID,也许可以比串口好。

我正在试HID,可是官方给的例程每次只能发送两个字节,不知道怎么修改可以按照自己 的意愿发送数据,老哥还能再指教一下吗
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2019-8-13 02:22:53 | 显示全部楼层
xpc 发表于 2019-8-12 11:07
我正在试HID,可是官方给的例程每次只能发送两个字节,不知道怎么修改可以按照自己 的意愿发送数据,老哥 ...

得你自己研究
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

32

主题

107

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
266
金钱
266
注册时间
2013-10-25
在线时间
3 小时
发表于 2019-9-24 18:08:10 | 显示全部楼层
楼主做的怎么样,速率能达到多少?
回复

使用道具 举报

5

主题

39

帖子

0

精华

高级会员

Rank: 4

积分
711
金钱
711
注册时间
2019-8-17
在线时间
89 小时
发表于 2019-12-19 17:58:15 | 显示全部楼层
楼主做出来了吗?我也在做类似的项目
回复

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2019-12-20 08:46:40 | 显示全部楼层
目前使用STM32 USB虚拟串口 ,限制在500KB/S传输还未出现问题。
连续发送不插入延时速度有时可用到800kB/S +  但发现会有丢失数据想象(还不知原因在哪)

USB虚拟串口 个人理解:
1 对应PC端 会识别为串口  可用使用串口之类的软件打开直接使用。
2 USB做传输协议
3 把USB接收发送数据对接到 单片机串口
如果把第3步去掉,就没有波特率概念了,那就是使用串口操作,跑的是USB的速度。
让我们的思维驾驭在电的速度之上!
回复

使用道具 举报

13

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2019-8-9
在线时间
48 小时
发表于 2020-2-29 23:58:38 | 显示全部楼层
问题解决的怎么样了搞出来没我用的是hs测量时可以达到1mb但是我不知道准不准确还没有时间去验证现在还是想开dma不知道usb有没有这样我可以放开CPU如果没有我就只能想另外的办法了在采样的时候什么也干不成
回复

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2018-9-4
在线时间
28 小时
发表于 2020-4-1 16:59:32 | 显示全部楼层
DongInker 发表于 2019-12-20 08:46
目前使用STM32 USB虚拟串口 ,限制在500KB/S传输还未出现问题。
连续发送不插入延时速度有时可用到800kB/S  ...

老哥用的是STM32F4 的USB FS模式吗。
回复

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2020-4-2 08:04:50 | 显示全部楼层
王的天蝎座 发表于 2020-4-1 16:59
老哥用的是STM32F4 的USB FS模式吗。

STM32F767 这应该差不多
之前出现丢数据问题是 直接将SDRAM地址给USB发送函数
后面多一个步骤 sdram数据先拷贝到sram 再将sram地址指向给USB发送函数
达到800多kB/S
让我们的思维驾驭在电的速度之上!
回复

使用道具 举报

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2019-4-28
在线时间
50 小时
发表于 2020-4-2 15:41:49 | 显示全部楼层
DongInker 发表于 2020-4-2 08:04
STM32F767 这应该差不多
之前出现丢数据问题是 直接将SDRAM地址给USB发送函数
后面多一个步骤 sdram数 ...

大佬
我也是F767 如果可以能把代码发给我看一下吗
我在实际采样的经常会发生死机现象 感觉像是速率过高占用太多资源 但是在ADC配置文件里怎么改没啥头绪 想好好看看
回复

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2020-4-3 08:17:03 | 显示全部楼层
Alakir 发表于 2020-4-2 15:41
大佬
我也是F767 如果可以能把代码发给我看一下吗
我在实际采样的经常会发生死机现象 感觉像是速率过高 ...

我使用外部ADC采集数据存到SDRAM  再将Sdram波形通过虚拟串口传输数据,根你的不一样
让我们的思维驾驭在电的速度之上!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-2 22:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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