xsg
xsg
驱动牛犊
驱动牛犊
  • 注册日期2001-07-24
  • 最后登录2006-08-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2327回复:10

51控制usb速度问题求教

楼主#
更多 发布于:2001-08-29 09:26

  用51控制usb接口芯片,用的是全速模式,但最终测试发现传送18kbytes的文件要用2.5秒左右,相当于57kbits/ps,这也太慢了啊,虽然我的单片机有点慢!(用的是bulk传输)
  
  还有,我的单片机原先用12M的晶振时,大概是这个速度,后来,我换用12M的晶振发现传输速度并没有太大的提高,难道传送速度不是受限于我的单片机速度?
  
   请大侠们多加指点。谢谢!
xsg(stone) huang.stone@263.net
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-08-29 09:58
你用的是什么芯片?我的是89C52+D12,情况比你稍微好一点,只有16KByte/s。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
xsg
xsg
驱动牛犊
驱动牛犊
  • 注册日期2001-07-24
  • 最后登录2006-08-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-08-29 10:51
我用的是scanlogic的sl11h,单片机也是89c52,我想是不是换一个牛一点的单片机试一试有用呢?
xsg(stone) huang.stone@263.net
Truly
驱动牛犊
驱动牛犊
  • 注册日期2001-08-16
  • 最后登录2005-05-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-08-29 15:27
你在发送数据时有没有把端点的缓冲装
xsg
xsg
驱动牛犊
驱动牛犊
  • 注册日期2001-07-24
  • 最后登录2006-08-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-08-29 16:47
   刚才我去买了winbond的w77e58回来,mcu速度大概提高了10倍,发现传输速度比原来提高了3倍左右,现在大概是21kbytes/s了,还是不是太快。
   Truly,你说的缓冲区装满是不是就写满64字节就够了啊?我是这么做的呀。你用的mcu是什么啊?
xsg(stone) huang.stone@263.net
LitteSW
驱动中牛
驱动中牛
  • 注册日期2001-06-10
  • 最后登录2010-08-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-08-29 21:24
各位,怎么我做的USB通信速率为888Kbps,离12M还差个数量级呢!

穿梭于都市高楼之间,总是孜孜不倦地追寻着自由,蓦然回首,去发现已陷入深深的枷锁之中
yalong
驱动牛犊
驱动牛犊
  • 注册日期2001-08-27
  • 最后登录2011-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-08-30 08:00
我用51和9603做了,最快也只能到200KB,现在用DSP做CPU,最快到了500KB,但如果对数据做处理的话,速度自然就慢下来了!按理论最大速率顶多也就到1MB!我觉得用CRYPRESS的USB控制器可能好一些!
Truly
驱动牛犊
驱动牛犊
  • 注册日期2001-08-16
  • 最后登录2005-05-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-08-30 09:12
  我用的是AT89C52和PDIUSBD12,当时只是为了试验出能否达到64KB/S以上的速度,我开了BULK RX端点的中断,在主程序发了一个包,在中断中只是清除中断状态然后就直接确认数据发送,这样就把第一个包的内容再次发出去了,我用WINDRIVE自动生成的测试程序的READ FROM PIPE82读1048576BYTES(1MB)用了三秒,(数据显示了半天才显完),那就是三百多了。还有要注意上位机的测试程序问题,我开始用LISTEN TO PIPE82,这项是边读边显示的,速度会很慢!
4qiuxh
驱动小牛
驱动小牛
  • 注册日期2002-11-27
  • 最后登录2008-04-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-07-25 15:04
哦?怎么这么快的速度啊?我也是这么做的阿,而且我得cpu很快的,36M的阿,我得host的缓冲区360B的时候是10ms接收完,也就是36B/s,Truly,你是怎么提供速度的那?仅仅只是每次写满吗?我这里写满了也是这个速度的阿,而且跟xsg一样,不管用18M还是38M晶振,数度都不变,我怀疑是不是上位机的原因阿?
flytomoon
驱动巨牛
驱动巨牛
  • 注册日期2003-07-09
  • 最后登录2004-10-18
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-07-25 15:08
感觉不是MCU的问题,应该是固件或上位机的原因,优化一下程序吧!
一天到晚游泳的鱼
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2005-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-07-27 18:19
我固件只是发数据,上位机接受,速度只有50K左右,他们有人说是驱动程序有问题
游客

返回顶部