文章发表于:2008-05-07 05:20
以下问题不涉及OTG
一:USB通信是否都是由Host发起呢?如果是这样的话那么Interrupt传输方式怎么理解,或者说USB键盘、鼠标之类的设备怎么理解它的传输过程,当有键按下时,使用Interrupt In的方式将键值什么的传给Host,这个与上述假设冲突了。
二:USB报文是广播的么?就是能否在HUB的另一个口上监听到其他口的通信信息。
bow~
文章发表于:2008-05-07 18:05
第一个问题,USB通信都是由host发起的,这是肯定的。USB的中断传输中的“中断”并非传统意义上的中断,不一样。在固件中要为每个端点指定一个轮询周期,但只有当这个端点使用中断传输时,轮询周期才有意义。我的理解是,当主机获取了这个轮询周期后,就会以轮询周期为间隔时间,向USB设备发送In令牌包。第二个问题。。。我不知道,没法回答你。
文章发表于:2008-05-07 18:20
多谢,第一个问题我又google了一些相关内容,看了一下usb的说明,就是按照你所说的那样工作的,在端点描述符里有bInterval字段用来说明轮询的周期,而且四种传输方式都设置这个值。
多谢了哈
文章发表于:2008-05-07 21:53
没有测不过,不清楚。如果可以在其它端口上监听的话,这个端口必须是处于激活的,即有设备插在上面,并且没有进入挂起状态。具体可以用示波器看看。不过帧起始是所有设备都可以接收到的。我想HUB应该不会去判断什么地址再发到设备去,而是直接简单的将数据转发到处于活动状态的端口去了事。所以应该是可以监听到的吧。
文章发表于:2008-05-08 14:49
像鼠标和按键这类设备,它们的状态发生变化时,还要到主机轮询之后,才发生中断传输的。而主机轮询是一直都在进行的,即使你鼠标静止不动它也在发生,发起者始终是host。轮询周期就牵涉到带宽的问题了。轮询周期大会出现鼠标迟滞的现象。
我是这样理解的
用户名: 您没有注册?
密码: 忘记了密码?
主题:
内容:
ttp://space.ednchina.com/upload/2008/12/