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

有人用D12吗,速度多少?

楼主#
更多 发布于:2002-08-23 19:57
我用的是周立功公司提供的Smart套件,固件、驱动和应用程序都是周立功公司提供的,速度很低,利用他们提供的软硬件,可以实现最大速度32k,平均速度只有10k左右。

我的通信协议如下:
  下位机:每n毫秒通过端口2发送64字节,同时通过端口1发送4字节,第一个字节为“s”
  上位机:开一个线程监视端口1,当输入第一个字节为“s”时,接受标志位bReceive置为1。在开一个线程监视端口2,当bReceive为1时,读端口2数据,做相应处理,并把bReceive设为0。

我觉得这样应该可以实现高速的传输,但实际上速度最大也只有10kbyte/s,一旦下位机发送速度加快,上位机不能收到所有数据。

大家觉得是什么问题?下位机发应该是不会出错的,难道是上位机速度不够?不可能吧

各位救救我啊,还有半个月就要交差了。

 

  
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-25 21:27
问题多多!不管driver还是firmware都有提高的空间。晶振频率可以通过设置D12来改变,最高可以到48MHz。

但是,有一点,如果你的driver每次只向USBD发送一个64bytes的URB,速度永远也不会快到哪里去。如果你的协议非常不幸的是这种方式,那就只好忍受这个速度了。

所以,如果可能,还是把这个URB传输的数据尽量做的大一点,如果同时有读和写,32k比较好。但在某些98系统下,会出现问题。多做一些试验,找到一个合适的数值。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
charlie22
驱动牛犊
驱动牛犊
  • 注册日期2002-08-05
  • 最后登录2007-11-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-25 18:18
哪位大哥有开发好的驱动,可不可以给小弟一份啊。
//bow


 :)
ysfc51
驱动牛犊
驱动牛犊
  • 注册日期2001-10-01
  • 最后登录2009-12-27
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-08-25 16:05
当然不能改!只能提高MCU的频率.这样提高的速度实际上也有限.
关键还是要改良你的firmwave和驱动.
千山千幅画 一步一重天
lgasj
驱动中牛
驱动中牛
  • 注册日期2002-07-12
  • 最后登录2006-01-23
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-08-25 10:25
D12的6M晶振能改吗?
xugy5867
驱动牛犊
驱动牛犊
  • 注册日期2002-07-03
  • 最后登录2018-05-29
  • 粉丝1
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2002-08-24 22:04
周立功网站上有一个专门说明这个问题的文章,说是改晶振能提高速度,我没试过,文章附后
charlie22
驱动牛犊
驱动牛犊
  • 注册日期2002-08-05
  • 最后登录2007-11-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-08-24 12:44
很多人都已经是几百k了,我也不知道为什么我得这么慢,可能是驱动的问题吧。要学的东西太多了,一下子也来不及。看来是没有捷径可走了
xugy5867
驱动牛犊
驱动牛犊
  • 注册日期2002-07-03
  • 最后登录2018-05-29
  • 粉丝1
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2002-08-24 12:00
我的测试结果就是20k bytes/s
charlie22
驱动牛犊
驱动牛犊
  • 注册日期2002-08-05
  • 最后登录2007-11-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-08-24 09:19
怎么没人愿意回答呀!
charlie22
驱动牛犊
驱动牛犊
  • 注册日期2002-08-05
  • 最后登录2007-11-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-08-23 20:49
faint!
我还以为有答案了呢

上位机就是PC,下位机就是你自己开发的板子,通过串口或USB口等方法连接到PC上的系统!
use_id
驱动中牛
驱动中牛
  • 注册日期2002-03-11
  • 最后登录2006-01-07
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-08-23 20:03
我来up一下,顺便问个问题。

什么叫“下位机”,“上位机”?我经常听到和看到这两个名词,也有所悟,就不知道怎么来描述。
游客

返回顶部