请教:USB数据传输的最短间隔(interval)0.1ms的实现

[复制链接]
3920|3
 楼主| zero2rockman 发表于 2013-2-20 22:22 | 显示全部楼层 |阅读模式
如题请教各位,全速USB数据传输的最短间隔(interval)可以为多少,中断方式和等时方式最短为1ms,
不知道bulk方式可不可以做到0.1ms,如何实现呢,先谢谢了。
yuntian 发表于 2013-2-21 09:29 | 显示全部楼层
全速最小轮询时间是1mS,低速是10mS
john_lee 发表于 2013-2-21 09:30 | 显示全部楼层
可以,但不能保证。
只要 host 需要接收/发送数据,host 就会发出 BULK 端点的 IN/OUT token,只不过发出的时间不能确定,因为 BULK 传输的优先级是最低的,比如,host 上有一个 BULK 的 URB 在队列中等待传输,但碰巧此时 frame interval 时间到了,host 就会先处理 SOF 和各个 INTERRUPT、ISO 端点的传输,等到全部完成后,再回头来处理队列中的 BULK URB;但如果总线是空闲的,那么 BULK 的 URB 就会立即被处理。总之就是说,BULK 传输最快时可以做到连续传输,间隔仅仅是 USB 规范限定的 packet 之间的间隔(大概几个 us),但当系统中同时存在很多 INTERRUPT、ISO 等等,那么 BULK 传输的间隔就可能很大了。
zhangyongdzgcs 发表于 2013-3-2 22:49 | 显示全部楼层
楼上正解,说得不错。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

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