usb2, 每个sof125us, bulk最大数据长度512B,耗时8.5到9.9us(9.9是传输全1,加了NRZI编码的),加上token和ack,毛估估10us一个,为了防止babble出错,sof之前得留一个最大包的时间,所以125us也就够传11到12个数据包(取决于数据里面连续1的个数)。
如果软件做的好,用qtd list的方式传输数据,usb硬件一直不停,理论极限是44到48MBps。
usb3是双向的,只算单向的话,最简单的usb3.0, 物理层5Gbps, 去掉8b/10b编码,还剩500MBps,最大数据包1024, stream模式可以连续传,link层开销很小,理论上450MBps可以有的。
实际上到usb3,瓶颈就不在usb本身了,系统总线带宽,usb硬件FIFO深度,是否使用stream传输,软件协议层开销,另一端的读写速度,都会影响usb带宽。
usb2, 每个sof125us, bulk最大数据长度512B,耗时8.5到9.9us(9.9是传输全1,加了NRZI编码的),加上token和ack,毛估估10us一个,为了防止babble出错,sof之前得留一个最大包的时间,所以125us也就够传11到12个数据包(取决于数据里面连续1的个数)。
如果软件做的好,用qtd list的方式传输数据,usb硬件一直不停,理论极限是44到48MBps。
usb3是双向的,只算单向的话,最简单的usb3.0, 物理层5Gbps, 去掉8b/10b编码,还剩500MBps,最大数据包1024, stream模式可以连续传,link层开销很小,理论上450MBps可以有的。
实际上到usb3,瓶颈就不在usb本身了,系统总线带宽,usb硬件FIFO深度,是否使用stream传输,软件协议层开销,另一端的读写速度,都会影响usb带宽。
举报