[STM32F1] 全速USB开发如何提高传输速度?

[复制链接]
1703|27
 楼主| gongche 发表于 2020-9-11 22:09 | 显示全部楼层 |阅读模式
大家好,我现在做的一个项目是使用1路全速USB传输实现3路USART(115200bps)、2路can(500kbps)与上位机的通讯。现在使用的协议是hid协议,传输速度可以达到64kB/s,USB协议速度有点慢,实现了3个USART(115200bps)与2路can(50kbps)与上位机的通讯,与我们的项目目标差距很大。这是工控板项目,需要保证数据稳定性,我想请教下,怎么配置USB才能满足项目需求;
stly 发表于 2020-9-11 22:13 | 显示全部楼层
115200X3/10=34560B
50kX2/8=12500B
加起来不到60KBytes/s的数据量,全速HID最快是64Kbyted
来得及
llljh 发表于 2020-9-11 22:17 | 显示全部楼层

BULK发长包。。。   标准的USB转串口工程就能满足你。
dingy 发表于 2020-9-11 22:20 | 显示全部楼层
楼上没算双向,不过所有串口双向同时全速运行是极限情况不会出现,先可以按楼上毛估。
pengf 发表于 2020-9-29 21:25 | 显示全部楼层

说得对,这样算的话算上双向的话就不够了
我又仔细想了想
全速USB的HID单端点带宽理论上限是64K
考虑收发会分别用一个端点,带宽也是够的
 楼主| gongche 发表于 2020-9-29 21:26 | 显示全部楼层
3路usart,2路can(50kbps)可以用hid协议实现,但是项目需求是支持3路usart,2路can(500kbps),单ep发送达不到
renyaq 发表于 2020-9-29 21:28 | 显示全部楼层
我也发现了,,,IN和OUT不同EP, 理论都可以按1MS&64BYTE并行,ST32的端点多,每个uart接口可以独占一个端点,不用做多路打包拆包。这样理论64K对每路都一样。  多接口HID复合设备,上下都简单方便。
supernan 发表于 2020-9-29 21:29 | 显示全部楼层
HID速度足够了,做成BULK得不偿失,又要装驱动,如果做单端点又要拆包打包,如果独占端点又跟HID一样搞。
 楼主| gongche 发表于 2020-9-29 21:30 | 显示全部楼层

是使用USB CDC类的虚拟串口协议吗,对USB转串口不了解
计算了下3个usart,2路can单向数据传输
115200X3/10=34560B
500kX2/8=125000B
加起来大约160KB/s。
我想问一下全速USB虚拟串口可以模拟多高的串口速率呢?
xxrs 发表于 2020-9-29 21:31 | 显示全部楼层
看后面回帖,,,还是HID清爽方便。
 楼主| gongche 发表于 2020-9-29 21:31 | 显示全部楼层
看到了。做了HID2个接口和3个接口实验,当设计为2个接口同时发送数据的时候,每个接口的发送速率为32KB/s,修改为3个接口同时发送数据的时候,每个接口的发送速率为21KB/s。从现象上看,速率是被接口平均分了
houcs 发表于 2020-9-29 21:32 | 显示全部楼层

额,好久没看过USB,细节搞不清了,可能HID是整个设备带宽64K? 这个可以再测试下。
liuzaiy 发表于 2020-9-29 21:33 | 显示全部楼层
单端点上面算了速度也够,打包拆包很麻烦。
yinxiangh 发表于 2020-9-29 21:34 | 显示全部楼层
你试试两个接口都定为2MS,5MS还被分么,
pangb 发表于 2020-9-29 21:35 | 显示全部楼层

全速USB总带宽900K byte/s左右
最快全双工串口可以到450K
 楼主| gongche 发表于 2020-9-29 21:36 | 显示全部楼层
2个接口轮询周期设置为2ms,接口1速率30KB/s,接口2速率为11KB/s,好像接口1读了3次数据,接口2才会读1次数据。多接口为什么会平分速率呢
chenjunt 发表于 2020-9-29 21:38 | 显示全部楼层

hid st的cubemx提供了一个定制版, 就是比普通hid多了bulk接口.你可以看看.
我记得是不用多加驱动的.
ousj 发表于 2020-9-29 21:38 | 显示全部楼层
纯粹hid是用于鼠标键盘这种,设计速度本来就慢.
zyf部长 发表于 2020-9-29 21:40 | 显示全部楼层
虚拟串口也可以,驱动嵌入式还算比较好.
xxmmi 发表于 2020-9-29 21:41 | 显示全部楼层
纯bulk的这种,驱动也是能找到公版的.hs的时候建议这么干
您需要登录后才可以回帖 登录 | 注册

本版积分规则

768

主题

9410

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部