QJE
QJE
驱动小牛
驱动小牛
  • 注册日期2001-08-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望49点
  • 贡献值0点
  • 好评度44点
  • 原创分0分
  • 专家分0分
阅读:2900回复:25

在44B0和D12,今天实现了每秒1M字节的传输速度

楼主#
更多 发布于:2004-07-05 20:58
在S344B0和D12,今天实现了每秒1M字节的传输速度
最大传输字节数设置为1M字节
最大包字节数为64字节
实验证明非常可靠

我想这是比较理想的传输速度了




[编辑 -  7/5/04 by  QJE]

[编辑 -  7/6/04 by  QJE]
xulingfei
驱动牛犊
驱动牛犊
  • 注册日期2004-06-13
  • 最后登录2009-03-09
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-11 11:42
知道了!楼主说的中断是应用程序和驱动程序之间的中断吧!从上面留言看来楼主的驱动程序里面的读写函数不具备数据分发功能,您应该是在应用程序中来进行数据分发的控制的!
QJE
QJE
驱动小牛
驱动小牛
  • 注册日期2001-08-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望49点
  • 贡献值0点
  • 好评度44点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-11 09:14
顺便说一下,如果用单片机的话一般是不能跑到这个速度的。
QJE
QJE
驱动小牛
驱动小牛
  • 注册日期2001-08-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望49点
  • 贡献值0点
  • 好评度44点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-07-11 09:12
1.1的最大可以设为多少!


应该还可以上的,但是也不能太大,自己试一下就可以了。
QJE
QJE
驱动小牛
驱动小牛
  • 注册日期2001-08-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望49点
  • 贡献值0点
  • 好评度44点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-07-11 09:11
楼主说增加最大数据传输量,减少中断的次数,可以提高速度。

我想问一下,中断指是什么的中断,44B0的吗?D12的数据缓冲区不是只有128B,中断一次只能送64B吗!要传送一定量的数据,在44B0和D12之间的的中断应该是一定的吧!
在固件中您增加了延时,清问您在什么地方加的啊?

还有的就是,您将最大数据传输量设为1M,那你的电脑的USB驱动应该是2.0版本的驱动,主控器也是2.0的吧!
我的电脑的usb是1.1的,在做驱动时将管道最大数据传输量设为1M,然后装驱动的时候,电脑就提示BULK数据缓冲区过大溢出的提示。改为4096(电脑默认的)后就没有问题!


D12的缓冲区是两个64字节,但是我没用它的双缓冲,一直没用好。我这里的中断指的是每次传输的最大字节数,也就是我设置的1M字节,你设置的越小,你的协议开销越大。

我的主板是BX的,肯定是1.1的,你说的缓冲区过大溢出,至少我还没碰到,当然我也不能排除这种情况。

xulingfei
驱动牛犊
驱动牛犊
  • 注册日期2004-06-13
  • 最后登录2009-03-09
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-07-10 23:10
1.1的最大可以设为多少!
xulingfei
驱动牛犊
驱动牛犊
  • 注册日期2004-06-13
  • 最后登录2009-03-09
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-07-10 12:14
楼主说增加最大数据传输量,减少中断的次数,可以提高速度。

我想问一下,中断指是什么的中断,44B0的吗?D12的数据缓冲区不是只有128B,中断一次只能送64B吗!要传送一定量的数据,在44B0和D12之间的的中断应该是一定的吧!
在固件中您增加了延时,清问您在什么地方加的啊?

还有的就是,您将最大数据传输量设为1M,那你的电脑的USB驱动应该是2.0版本的驱动,主控器也是2.0的吧!
我的电脑的usb是1.1的,在做驱动时将管道最大数据传输量设为1M,然后装驱动的时候,电脑就提示BULK数据缓冲区过大溢出的提示。改为4096(电脑默认的)后就没有问题!
ldxepthnn
驱动牛犊
驱动牛犊
  • 注册日期2004-06-18
  • 最后登录2005-10-18
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-07-09 13:17
请问是用什么软件测试的?还是自己编程序测?

我用了BUS HOUND真的有点不知要从那个属性窗口中读出数据才是,在DELTA 中读出的是什么值啊?看了英文说明还是似懂非懂啊!懂指教!
I LOVE DEVELOP!
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-07-09 12:49
哦,这样啊,没做过D12,只是根据协议上的内容作出的判断,
看来还是实践出真知呀 :D
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-07-09 11:46
呵呵,楼主确定是1M字节/s,不是1Mbit/s?
按照USB协议的规定,全速的极限速度是1M字节/s多一点,这是数据在USB电缆上的传输速率,但是加上固件程序、驱动程序和应用程序的软件损耗,实际速率要低于这个数很多才对。

  个人意见,欢迎批评指正 :)

是Byte吧,44b0应该可以做到的。我用过好多全速的都有这个速度
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-07-09 10:33
呵呵,楼主确定是1M字节/s,不是1Mbit/s?
按照USB协议的规定,全速的极限速度是1M字节/s多一点,这是数据在USB电缆上的传输速率,但是加上固件程序、驱动程序和应用程序的软件损耗,实际速率要低于这个数很多才对。

  个人意见,欢迎批评指正 :)
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-07-09 08:56
[quote]请教楼主,你的44b0跑操作系统吗?如果是linux的,能否share一下。


呵呵,他不是用作HOST的,怎么你也为速度困扰吗 [/quote]
呵呵,没有。我有块2410板子跑linux,做host没问题,但缺少device的驱动例子,想收集一下资料。
QJE
QJE
驱动小牛
驱动小牛
  • 注册日期2001-08-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望49点
  • 贡献值0点
  • 好评度44点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-07-08 23:31
我在传输数据时刚开始也只能达到几十K字节每秒,后来发现在设置最大传输字节数很有讲究,设置小了肯定很慢,要想速度快,必须做到中断次数少,每次传输数据大才可以。因此我把最大传输字节数设置为1M字节,但在固件程序中也加了延时,不然肯定丢数据。
jiangyiyong
驱动大牛
驱动大牛
  • 注册日期2002-11-28
  • 最后登录2004-08-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2004-07-08 17:11
请教楼主,你的44b0跑操作系统吗?如果是linux的,能否share一下。


呵呵,他不是用作HOST的,怎么你也为速度困扰吗
我来自中国 抵制日货
ldxepthnn
驱动牛犊
驱动牛犊
  • 注册日期2004-06-18
  • 最后登录2005-10-18
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-07-08 15:10
楼主,你有用到DMA吗?
没用到DMA如能这么快那确实是^^^^^^^^铁!
I LOVE DEVELOP!
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2004-07-08 15:09
[quote]请教楼主,你的44b0跑操作系统吗?如果是linux的,能否share一下。


没跑任何操作系统,直接上电运行USB程序。 [/quote]
哦,但是44b0x光用usb太浪费了吧。
ldxepthnn
驱动牛犊
驱动牛犊
  • 注册日期2004-06-18
  • 最后登录2005-10-18
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2004-07-08 15:08
楼主好历害!
我现在用周立功的程序怎么都突不出50K.
不过我现在还在用的是51.没有用到ARM,不过我们计划用AVR.
如有可能,能共享一下你的程序吗?或把固件程序部分说得清楚点,小弟感激不尽啊!
在固件中可以改的不是很多!你是改哪一部分啊?
I LOVE DEVELOP!
tomjin
驱动牛犊
驱动牛犊
  • 注册日期2002-12-16
  • 最后登录2006-03-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2004-07-08 15:01
开发驱动,我认为不是件容易的事情

楼主说的在固件代码中有所作为
愿问其祥!!!
xulingfei
驱动牛犊
驱动牛犊
  • 注册日期2004-06-13
  • 最后登录2009-03-09
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2004-07-08 09:46
现在我也在用D12,周立功的驱动和应用程序确实不行。速度快了,数据就有误。我也想重写驱动和应用程序,但固件里面我现在还没有遇见问题。楼主说影响速度的在固件里面,能不能将你遇到的问题说一下!不胜感激!
QJE
QJE
驱动小牛
驱动小牛
  • 注册日期2001-08-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望49点
  • 贡献值0点
  • 好评度44点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2004-07-07 21:57
请教楼主,你的44b0跑操作系统吗?如果是linux的,能否share一下。


没跑任何操作系统,直接上电运行USB程序。
上一页
游客

返回顶部