hbin2000
驱动牛犊
驱动牛犊
  • 注册日期2002-07-01
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1400回复:2

如何提高低速usb设备的传输速率?

楼主#
更多 发布于:2002-08-06 15:59
    我通过hid类的SetReport命令不断地发送一文件给外设,包大小为8字节,发现传输的速度很慢,如传送一个大小为46k的文件需要3分钟。外设的接口采用低速的usb接口芯片通过串口以9600的波特率和主cpu相连,如果是理想的情况应该是(46*1024)/(960byte/s)=49秒,相差应该不会那么大。请教众位大虾:
1、如果通过低速usb的hid类的setreport每秒可传输多少字节?
2、如果以上问题不是瓶颈,那如何提高传输的速度?
谢谢!
hbin2000
驱动牛犊
驱动牛犊
  • 注册日期2002-07-01
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-12 14:48
   我的算法没有错,9600是bit,但传输一个字节需要一个起始位和一个停止位,共需10个bit,这样每秒只能传输960byte。
请问:你的1kbytes/s是如何得出的?有书上说是800bytes/s,因为低速设备每10ms发送次数据,故有100*8=800byte的说法。
xiaopi
驱动牛犊
驱动牛犊
  • 注册日期2002-08-09
  • 最后登录2003-07-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-12 13:31
用SET_REPORT下行数据只有1KBYTE/S的传输速率!且你的算法是错的,9600的波特率是bit而不是byte.若按USB的传输速率来看应该在46s,所以你应提高你的串口的传输速率,若你的IC有OUT端点就不要用SETREPORT来下行数据!有OUT口就可以下行8Kbyte/s的速率的!
游客

返回顶部