你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F系列:USB接口提速问题

[复制链接]
wylew 提问时间:2018-1-24 17:13 /
阅读主题, 点击返回1楼
收藏 1 评论22 发布时间:2018-1-24 17:13
22个回答
wylew 回答时间:2018-1-29 17:55:30
无薪税绵 发表于 2018-1-29 12:42
感觉这两句有问题:
endpoint_size |= (UX_DCD_OTG_FS_DOEPTSIZ_XFRSIZ_MASK & (endpoint.wMaxPacketSize * ...

在非0的OUT端点中,DOEPTSIZ_XFRSIZ为[18:0]位,DOEPTSIZ_PKTCNT为[28:19]位
计算传输大小时:
endpoint_size = (0x0007FFFF & (endpoint.wMaxPacketSize * (fifo_length - 1 + endpoint.wMaxPacketSize)));
计算数据包个数:
endpoint_size |= ((fifo_length - 1 + endpoint.wMaxPacketSize) / endpoint.wMaxPacketSize) << 19;
其中,fifo_length为读取的端点长度
这样,合理吗?
再有,fifo_length和endpoint.wMaxPacketSize是一个意思吧,为什么又需要定义一个fifo_length呢?
kylongmu 回答时间:2018-1-29 22:52:10
wylew 发表于 2018-1-29 15:27
接口芯片不是外接,而是集成到控制器中的

貌似ST有“on-chip Hi-speed PHY ”的只有F7X2、F7X3系列,其它都是Full-speed的PHY,极速就是12Mbit/S,你用的那颗芯片?你靠dd报告的速度可信吗?为啥不是MCU来统计结果回传?

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

wolfgang2015 回答时间:2018-1-29 23:23:51
高速丢包这个有可能是电路的干扰造成,这块要通过软件硬件综合分析。选择一个最合适的速度。追求速度软硬件各项成本开销都有

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

wylew 回答时间:2018-1-29 23:34:43
kylongmu 发表于 2018-1-29 22:52
貌似ST有“on-chip Hi-speed PHY ”的只有F7X2、F7X3系列,其它都是Full-speed的PHY,极速就是12Mbit/S, ...

芯片似乎用的是3500,至于速率,因为缺少Windows下的驱动,只能接在linux主机上,但在linux主机上能测试虚拟串口的工具似乎没找到。。。你有推荐的吗?
wylew 回答时间:2018-1-29 23:38:17
wolfgang2015 发表于 2018-1-29 23:23
高速丢包这个有可能是电路的干扰造成,这块要通过软件硬件综合分析。选择一个最合适的速度。追求速度软硬件 ...

硬件上面现在没有动,只考虑软件上面,cdc类驱动用了三个端点,一个中断端点,两个批量端点,就是现在在IN和OUT批量端点上的传输大小和数据包个数上修改,但没有设计好合理的大小和个数。。。
kylongmu 回答时间:2018-1-29 23:48:12
St的mcu有3500吗?你连自己用的芯片都是似乎……
wylew 回答时间:2018-1-29 23:57:43
kylongmu 发表于 2018-1-29 23:48
St的mcu有3500吗?你连自己用的芯片都是似乎……

因为对USB phy操作不多,而且也没研究太长时间,所以对这个不是特别的清晰,查了下,USB phy芯片用的是USB3500,并且嵌入了USB控制芯片内部
无薪税绵 回答时间:2018-1-30 08:30:19
wylew 发表于 2018-1-29 17:55
在非0的OUT端点中,DOEPTSIZ_XFRSIZ为[18:0]位,DOEPTSIZ_PKTCNT为[28:19]位
计算传输大小时:
endpoint_ ...

fifo_length为端点长度
endpoint.wMaxPacketSize是最大允许封包值
不是同一概念。

丢包的问题,看看是不是优先级太低导致的问题。
wylew 回答时间:2018-1-30 09:31:02
无薪税绵 发表于 2018-1-30 08:30
fifo_length为端点长度
endpoint.wMaxPacketSize是最大允许封包值
不是同一概念。

代表的含义是不一样,fifo_length的值根据不同的端点采用不同的传输方式而改变,控制传输时为8,高速批量传输时为512......您说的那个优先级太低,指的是什么的优先级?还有,就像我这BULK-OUT端点的传输大小和包个数可以这样计算,那对应的BULK-IN端点又该如何设计呢?
无薪税绵 回答时间:2018-1-30 09:55:25
你看看这位大神的博客,应该对你有帮助的。
http://www.cnblogs.com/zkp2010/p/5510753.html

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版