关于USB IN token的问题

[复制链接]
4043|9
 楼主| aeiowx 发表于 2012-11-12 23:13 | 显示全部楼层 |阅读模式
HOST端是如何确定发送IN TOKEN的时机,是以固定时间间隔发,还是需要数据时发送IN TOKEN。举个例子,如CDC虚拟串口驱动,单设备端需要发送数据给主机时,此时主机发给设备的IN token是何时产生的。
 楼主| aeiowx 发表于 2012-11-21 11:33 | 显示全部楼层
自己顶
liquanbaizhi 发表于 2012-11-21 12:33 | 显示全部楼层
轮询机制,过一段时间就会询问一次。
liquanbaizhi 发表于 2012-11-21 12:34 | 显示全部楼层
这个是有区别的 我感觉是HOST控制的。 如果需要数据也会发IN。如果是外接了类似鼠标键盘需要轮询的,就会每隔一段时间轮询一次。
dayplover 发表于 2012-11-21 14:32 | 显示全部楼层
dayplover 发表于 2012-11-21 14:41 | 显示全部楼层
以下是我的理解,不知道对不对,拿出来大家参详下:
基本上是这样的,以全速为例,主机每1ms发送一个SOF,数据都只能在两个SOF之间传输,然后传输时的优先级按照“控制传输>中断/同步传输>批量传输”进行,主机会计算剩余带宽,如果有空进行批量传输,就做批量,但是最多只能19次、64字节的
liquanbaizhi 发表于 2012-11-21 16:12 | 显示全部楼层
基本是对的 但是优先级顺序是 host自己控制的 批量传输的优先级是最低,但是优先级不能这么说。每个带宽至少要分配百分之二十给非周期传输。这个是死的,如果没有别的传输就会安排批量传输。  但是这个和LZ问的没啥关系。 到底IN不IN 取决于HOST。
computer00 发表于 2012-11-21 19:26 | 显示全部楼层
这个要看驱动的策略。linux和windows都不一样。
yksn 发表于 2013-2-28 13:32 | 显示全部楼层
轮循,由主机发起
insignal 发表于 2013-3-22 21:52 | 显示全部楼层
规范中有说明
对于iso 、intr传输
那是要分配固定带宽(也就是每个frame中都要保留这个时间)
而对于control和bulk 带宽分配原则 是尽力而为
看一下hci的手册就可以知道host是如何分配带宽的了
但了解这些好像没啥用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

19

帖子

1

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