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

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扩展软件包
关注我们
st-img 微信公众号
st-img 手机版