关于HcHCCA Register

来源:百度知道 编辑:UC知道 时间:2024/05/26 00:54:04
HcHCCA Register是否只在Interrupt传输时才会用到,BULK传输时是否可以不设置?

其实所谓的中断传输就是bulk传输,和真正的硬件中断是没有关系的,之所以称其为中断传输是因为这种传输能保证主机在最短的延迟时间里响应或发送数据,这一点与硬件中断很相似。它的工作原理是主机定时查询设备的状况,以便随时响应或发送数据,查询的时间间隔可以由你来定义,计算公式你可以到协议上去找。除了定时这一项外,其余的都与bulk是一样的。

其实bulk并不是象你想的那样要严格以sof为基准(iso是这样的),只是说sof是一个传输时间片的开始,在这个时间片里你可进行各种各样的传输,如果这个时间片结束了,那就要等到下一个时间片开始后才能进行余下的传输。

高速情况下每个微帧(1/8ms)最多可以传输13个512字节的bulk数据,但是如果你定义的中断传输的时间间隔是这个时间的话,那它只能进行一次最多512字节的数据传输(全速是最多64字节,高速情况是我自己理解的,详细情况需要查一下协议),如果这个时间片里设备没有准备好数据,那就必须等到下一个时间片才能进行中断传输。但是bulk传输则不然,你可以让主机不断的发送in或out令牌,不断的进行数据传输,直到这个时间片结束为止。如果刚开始的时候设备没有准备好数据,那主机就不断的查询,当设备准备好数据并且这个时间片还没有结束,就可以进行bulk传输(与中断不同)!

ON