阅读:1400回复:2
如何提高低速usb设备的传输速率?
我通过hid类的SetReport命令不断地发送一文件给外设,包大小为8字节,发现传输的速度很慢,如传送一个大小为46k的文件需要3分钟。外设的接口采用低速的usb接口芯片通过串口以9600的波特率和主cpu相连,如果是理想的情况应该是(46*1024)/(960byte/s)=49秒,相差应该不会那么大。请教众位大虾:
1、如果通过低速usb的hid类的setreport每秒可传输多少字节? 2、如果以上问题不是瓶颈,那如何提高传输的速度? 谢谢! |
|
沙发#
发布于:2002-08-12 14:48
我的算法没有错,9600是bit,但传输一个字节需要一个起始位和一个停止位,共需10个bit,这样每秒只能传输960byte。
请问:你的1kbytes/s是如何得出的?有书上说是800bytes/s,因为低速设备每10ms发送次数据,故有100*8=800byte的说法。 |
|
板凳#
发布于:2002-08-12 13:31
用SET_REPORT下行数据只有1KBYTE/S的传输速率!且你的算法是错的,9600的波特率是bit而不是byte.若按USB的传输速率来看应该在46s,所以你应提高你的串口的传输速率,若你的IC有OUT端点就不要用SETREPORT来下行数据!有OUT口就可以下行8Kbyte/s的速率的!
|
|