用CH374设备模式作等时传输,每1ms能最多发送64Bytes(因发送同步位总是DATA0,所以用不到扩展缓存)。现在55.5KBytes/S采样速率,1ms至少要发送56Byte。有什么同步机制可以使每1ms取数据与采样速率同步呢?
先前解释不够准确,374做全速设备时,实时传输速度最大可达1280000B/S。这是理论值,参照了USB协议:374的有效负载为64字节,1帧中最多可进行20次实时传输 “1ms能最多发送64Bytes”是怎么理解的?
1ms传1023B,1S应该是1023000B差不多1MB/S吧,那有1023MB/S呢? CH374不是只支持64Bytes吗?所以主机一次只能从CH374最多取64Byte/ms,这个没理解错吧?
1ms内只要总线带宽够用,那么主机可以进行n(n <= 20)次实时传输,每次64字节,那么1ms传输的数据为 64*n
怎样才可以使主机进行n次实时传输呢?n次之间的时间间隔又是如何决定呢?我写Linux dirver时只要每次提交URB长度超过64Byte就出错,是不是由于提交Descriptor时说明了“MaxPacketSize”为64Bytes所至呢?
传输次数和时间间隔完全由主机决定的。总线上尽量不要连接其他USB设备,只连接你的设备,这样可以最大利用总线带宽。
1ms中n次的实时传输,是不是CH374就会产生n次中断?
CH374根据什么知道n次的实时传输中每一次什么时候完成呢?要知道这个才可以及时更新64Bytes的数据啊。
每完成一次传输,374都会产生中断
??
做了试验,数据能被主机接收,有中断发生,但相隔1ms。为什么不是1ms内有n次中断呢?
是有中断发生,但相隔1ms。为什么不是1ms内有n次中断呢?