slgirl
驱动牛犊
驱动牛犊
  • 注册日期2002-10-05
  • 最后登录2002-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2310回复:22

关于BULK传输的基本问题。。。请指导一下。

楼主#
更多 发布于:2002-10-22 09:14
AN2131使用BULK传输时,片内有7个BULK_IN端口,每个端口的缓存为64Byte。USB1.1协议上说,BULK传输时候每帧(1ms)最多19个BULK传输包,也就是19×64B=1216B,传输速率达到1.216MBytes/s.但是AN2131只有7个BULK_IN端口,每个端口缓存只有64Bytes。如何才能实现在一帧中传输19个BULK包?我对这些基础不太清楚。请指导一下,谢谢!!

最新喜欢:

jipeifengjipeif...
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-22 09:56
当然不光是IN端点了,还有7个OUT端点,一共14个包。但是要实现19个的话,我想这应该是理论值了,实际上不太可能。
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
slgirl
驱动牛犊
驱动牛犊
  • 注册日期2002-10-05
  • 最后登录2002-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-22 10:20
那岂不是BULK稳定单向传输到PC机器的速度不太高?7个BULK_IN端口,7×64B/帧=448KB/秒。
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-22 10:31
能达到500K已经很不错了。
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
slgirl
驱动牛犊
驱动牛犊
  • 注册日期2002-10-05
  • 最后登录2002-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-22 14:58
我的PC主应用程序如何实现每毫秒(帧)读操作一次。只能开一个主线程,别的线程不能开,不然的话,线程切换需要几十毫秒,如果没来得及发送读操作,AN2131中的BULK_IN端口中的缓存随时会更新,我的数据还没有读上来。
BULK_IN端口太少了,如何实现 四个通道×50K Samples/s 16位的实时采样?是不是不能实现?我难住了。。
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-10-22 15:03
把缓冲区弄大一点,就是PACKETSCOUNT大一点就是了。
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
chenpin
驱动牛犊
驱动牛犊
  • 注册日期2001-10-11
  • 最后登录2002-10-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-10-22 15:18
是主机的缓冲还是端口的缓冲?哪儿设置。。不要介意。每个BULK_IN端口不是只有最大64B的缓存么?发送是,每一帧(1ms)统一发送么?还是我的基础不好,请指导以下~,谢谢!
小品
slgirl
驱动牛犊
驱动牛犊
  • 注册日期2002-10-05
  • 最后登录2002-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-10-22 15:27
缓冲区?laicq你是指端口缓冲么?最大只有64个字节。
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-10-22 15:29
在主机端的缓冲区,参看《EZ-USB General Purpose Driver Specification》中IOCTL_EZUSB_BULK_READ函数。
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
slgirl
驱动牛犊
驱动牛犊
  • 注册日期2002-10-05
  • 最后登录2002-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-10-22 15:49
你是指nOutBufferSize么?是不是一开始请求的nOutBufferSize大于64Bytes( 小于64KByte),端口会继续准备数据,并传输。直到达到nOutBufferSize。我理解的对么?
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-10-22 16:01
应该是这样的。你可以自己编一个固件程序来测试一下。
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
newdm
驱动牛犊
驱动牛犊
  • 注册日期2002-07-23
  • 最后登录2004-04-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-10-24 15:13
好像不是小于64Kbyte都可以
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-10-24 15:25
TO newdm:
愿听高见。
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
newdm
驱动牛犊
驱动牛犊
  • 注册日期2002-07-23
  • 最后登录2004-04-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-10-24 15:42
我正在试,结果是这样使用cypress开发包自带的\"ez-usb control panel\"每次读取128,192,1024,甚至32768都没问题(其他一些非8的整数倍的好像不行),可是使用“IOCTL_EZUSB_BULK_READ”读1024以上的都不行,我使用他们的那个例子程序“bulktest”改的,把写去掉了只用读,固件用的是“EzBulk_asm\",它的2ep持续向上发送数据
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-10-24 16:05
它的bulktest例子的传输结果应该不错呀!
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
newdm
驱动牛犊
驱动牛犊
  • 注册日期2002-07-23
  • 最后登录2004-04-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-10-24 16:09
我的测试结果就是这样
你可以试一试看
我现在正在找原因
newdm
驱动牛犊
驱动牛犊
  • 注册日期2002-07-23
  • 最后登录2004-04-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-10-24 16:23
我找到原因了
是我忘了改缓存的大小了,不好意思,确实是64k以下均可 :D
newdm
驱动牛犊
驱动牛犊
  • 注册日期2002-07-23
  • 最后登录2004-04-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-10-24 16:31
还有刚才测试了一下,一个管道光读速率竟然有1M字节/s!!有这种可能吗??
bbear
驱动小牛
驱动小牛
  • 注册日期2002-08-20
  • 最后登录2009-04-16
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-10-24 17:21
还有刚才测试了一下,一个管道光读速率竟然有1M字节/s!!有这种可能吗??


有可能, MAX 12Mb, 扣掉效率, 好一
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-10-24 17:27
解决就好,理论速度还要快!
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
上一页
游客

返回顶部