laiqing
驱动小牛
驱动小牛
  • 注册日期2002-02-27
  • 最后登录2013-08-28
  • 粉丝5
  • 关注0
  • 积分46分
  • 威望104点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:2621回复:15

USB+MCU的速度问题,采用BULK传输为什么只有5KB/S?

楼主#
更多 发布于:2002-05-17 15:26
USB+MCU的速度问题,采用BULK传输为什么只有5KB/S?是什么影响了我的速度,是否是数据缓冲区太小,我的只有64字节的数组?你们的
有多大?
lemon_cjp
驱动中牛
驱动中牛
  • 注册日期2002-05-16
  • 最后登录2005-02-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-05-24 23:07
你是不是用的HID类,我看书上说的就是最快512Kb/s.
liuxf66
驱动中牛
驱动中牛
  • 注册日期2001-08-15
  • 最后登录2003-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-05-24 23:33
你用的是什么MCU?哪一款USB芯片?
正常说来,MCU的速度应该是这个方案的速度瓶颈!
liuxf66
laiqing
驱动小牛
驱动小牛
  • 注册日期2002-02-27
  • 最后登录2013-08-28
  • 粉丝5
  • 关注0
  • 积分46分
  • 威望104点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-25 13:34
我用的MCU是89C52,USB芯片是D12,现在我知道是D12的中断次数太少,只有86次/S,我每次都READFILE(512)的呀?
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2002-05-25 15:24
用户被禁言,该主题自动屏蔽!
liuxf66
驱动中牛
驱动中牛
  • 注册日期2001-08-15
  • 最后登录2003-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-05-25 15:44
那就是了,89C52的处理速度远远不及D12,MCU是瓶颈!
liuxf66
laiqing
驱动小牛
驱动小牛
  • 注册日期2002-02-27
  • 最后登录2013-08-28
  • 粉丝5
  • 关注0
  • 积分46分
  • 威望104点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-05-25 23:31
我发现不是单片机的速度问题,只有传输速度大于几十KB/s
liuxf66
驱动中牛
驱动中牛
  • 注册日期2001-08-15
  • 最后登录2003-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-05-27 20:10
应该是89C52的速度慢的问题,你可以用以下方法试验:
1、用D12自己的指令系统中最快的数据移动指令向Buffer中填入任意数据(数据源不从89C52得到,这样可以防止89C52的执行速度成为瓶颈),然后发往PC机,看数据传输速度是不是有提高。
2、采用文件传输方法:从PC机向D12传输一定大小的文件,用BULK传输方式,在D12的firmware中将得到的数据丢掉而不做处理,同时绕开89C52,这样可以大大减少firmware的执行时间,提高代码效率,从整个传输花费的时间看一下D12的传输速度如何。

另外,我不是用的D12,无法在细节上帮你的忙,只能提供这样一个思路,请斟酌。
liuxf66
laiqing
驱动小牛
驱动小牛
  • 注册日期2002-02-27
  • 最后登录2013-08-28
  • 粉丝5
  • 关注0
  • 积分46分
  • 威望104点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-05-28 08:51
谢谢你,我现在没发给分,过一会儿我再给分.我还想问一下,用D12自己的指令系统怎么用,是把它作为一个MCU来用吗?可以给一个范例吗?
liuxf66
驱动中牛
驱动中牛
  • 注册日期2001-08-15
  • 最后登录2003-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-05-29 00:36
很抱歉,我不是用的D12,无法在细节上帮忙,只能提供一个思路。
liuxf66
501lsc
驱动牛犊
驱动牛犊
  • 注册日期2001-10-04
  • 最后登录2005-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-06-03 11:41
换单片机,用菲利普的可以把速度提到40mhz。
plasma
驱动小牛
驱动小牛
  • 注册日期2002-02-19
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-06-03 14:42
用AVR单片机
cdxuyi
驱动牛犊
驱动牛犊
  • 注册日期2001-10-21
  • 最后登录2008-12-30
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-07-04 11:00
USB+MCU的速度问题,采用BULK传输为什么只有5KB/S?是什么影响了我的速度,是否是数据缓冲区太小,我的只有64字节的数组?你们的
有多大?
takaya
驱动小牛
驱动小牛
  • 注册日期2002-02-10
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-07-04 11:08
跟我遇到一样,我52+12只能达到17K左右 。
原因在52发送数据太慢了。每64B需要3.8ms左右。
你可以换单片机试试,
只有5K的话可能是firmware有问题。
我是只可爱的小猫咪,高枕无忧................................. QQ:2745071
liuwan
驱动小牛
驱动小牛
  • 注册日期2001-10-15
  • 最后登录2004-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-07-05 08:36
主要问题还是单片机的MCU瓶颈问题,这在GUIDE中有提到。
菜菜
liuyx
驱动牛犊
驱动牛犊
  • 注册日期2002-03-04
  • 最后登录2004-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-07-06 08:26
我想请问各位大虾,在发送数据时没有进入D12的发送中断是怎么回事啊?具体是这样的,我先给D12的缓存写了Inquery 的数据,然后往上发CSW数据,却没法进入发送中断了,不知道是什么原因,也不知道数据发送出去了没有?
游客

返回顶部