fanwei7
驱动牛犊
驱动牛犊
  • 注册日期2001-06-26
  • 最后登录2002-03-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2742回复:16

如何利用EZ-USB开发板实现文件的块传输

楼主#
更多 发布于:2001-08-31 09:43
利用开发板可以很简单的实现一个数据块的传输。
但想请教高手:如何实现文件的块传输。即给出一个文件,USB实现传输。

最新喜欢:

brightfengbright...
共享的资源才能更快的提高
LitteSW
驱动中牛
驱动中牛
  • 注册日期2001-06-10
  • 最后登录2010-08-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-08-31 17:26
写一个驱动程序或直接用EZUSB.SYS。再做一个应用程序调用即可。

穿梭于都市高楼之间,总是孜孜不倦地追寻着自由,蓦然回首,去发现已陷入深深的枷锁之中
chendh
驱动牛犊
驱动牛犊
  • 注册日期2001-07-20
  • 最后登录2005-04-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-09-02 17:29
能不能给个应用程序的例子?
lvgx
驱动牛犊
驱动牛犊
  • 注册日期2001-05-27
  • 最后登录2018-05-30
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望100点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-09-03 09:23
  如果你得到了,请给我 也发一个。谢谢。
lvgx
sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-09-05 01:46
Ezusb有现成的代码,何必问别人要?控制面板程序就有个文件传输的按钮,读一读消息处理就OK了.
fanwei7
驱动牛犊
驱动牛犊
  • 注册日期2001-06-26
  • 最后登录2002-03-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-09-05 08:45
但只能传输64个字节
共享的资源才能更快的提高
sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-09-05 21:00
[QUOTE]原本由 fanwei7 发表
[B]但只能传输64个字节 [/B][/QUOTE]


例子是传64个,驱动允许WIN32程序每调用一次DeviceIoCtrol最多可以传64KB(怎么传并不需要你管理),你把文件分割成64KB大小的块,重复调用deviceioctrol直到文件尾就可以了.我已经做过,传8M文件大概要21s.用bulk传比较好.
给点分吧
fanwei7
驱动牛犊
驱动牛犊
  • 注册日期2001-06-26
  • 最后登录2002-03-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-09-05 21:41
如果给我一个例子。另有重谢。
不作商业用途
共享的资源才能更快的提高
fanwei7
驱动牛犊
驱动牛犊
  • 注册日期2001-06-26
  • 最后登录2002-03-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-09-05 21:46
如果给我一个例子。另有重谢。
不作商业用途
共享的资源才能更快的提高
sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-09-05 22:20
[QUOTE]原本由 fanwei7 发表
[B]如果给我一个例子。另有重谢。
不作商业用途 [/B][/QUOTE]

是商业用途也无所谓,只不过太简单了,既然64B能传下去,用我说的方法再大的文件也就能传下去,我用的也还是控制面板中的那些代码,只不过稍加修改就是了,老兄,不能太懒哦,麻烦你自己动手练练吧,能看得懂例子,就基本没有做不了的事.我这里是个新区,网没通,我也只能到网吧过瘾,所有的机器都是没有小驱的,想帮你都不行,见谅.
[sunkai 编辑于 2001-09-05 22:23]
fanwei7
驱动牛犊
驱动牛犊
  • 注册日期2001-06-26
  • 最后登录2002-03-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2001-09-06 10:22
感谢诸位的帮助和鞭策,目前我的速率只有200K字节/秒。(利用BULTTEST)

对于提高传输率我有几个想法:

1)EZ-USB芯片号称其时钟为 一个加强形8051,我想它实际工作的频率到底为多少。能通过程序提高它从而提高传输速度。

2)EZ-USB芯片号称有一个双缓存和自动自增指针技术。我把BULKTEST的固件程序改写为双缓存,程序在控制面板中可以通过,
但接不上BULKTEST.EXE。请教一二。并且我想知道固件程序对速率的影响有多大。

3)驱动程序对数据的分配是否起很大的的作用?

请各位高手指点,给分毫不吝惜。
共享的资源才能更快的提高
mich
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2005-02-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2001-09-06 21:47
:2)EZ-USB芯片号称有一个双缓存和自动自增指针技术。我把BULKTEST的固件程序改写为双缓存,程序在控制面板中可以通过,
但接不上BULKTEST.EXE。请教一二。并且我想知道固件程序对速率的影响有多大。

我也觉得BULKTEST.EXE的固件下载不大对头,
用它下的HEX和控制面板下的不一样,看那个资料只有简单的说明
IOCTL_Ezusb_ANCHOR_DOWNLOAD不知怎么用?
sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2001-09-07 19:09
[QUOTE]原本由 fanwei7 发表
[B]感谢诸位的帮助和鞭策,目前我的速率只有200K字节/秒。(利用BULTTEST)

对于提高传输率我有几个想法:

1)EZ-USB芯片号称其时钟为 一个加强形8051,我想它实际工作的频率到底为多少。能通过程序提高它从而提高传输速度。

2)EZ-USB芯片号称有一个双缓存和自动自增指针技术。我把BULKTEST的固件程序改写为双缓存,程序在控制面板中可以通过,
但接不上BULKTEST.EXE。请教一二。并且我想知道固件程序对速率的影响有多大。

3)驱动程序对数据的分配是否起很大的的作用?

请各位高手指点,给分毫不吝惜。 [/B][/QUOTE]

fan兄:不知道你看过那篇ezusb bulk transfer perferance note的文档,BULK传输固件的框架(除了再枚举部分)已经在这篇中讲齐了.
2,pairing endpoint & autopoint能提高访问缓存的速度,尤其是autopoint在高速读写数据总线和内部FIFO时优势明显,连不上主机程序跟这两个优化设置应该无关吧?怎么来量化影响我也不知道,起码编程要简洁一些,指令少了,速度自然就高了些.
fanwei7
驱动牛犊
驱动牛犊
  • 注册日期2001-06-26
  • 最后登录2002-03-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2001-09-13 09:39
做试验时,我发现如果一次传送的数据超过64K,好像就截取剩下得数据进行传输。

 不知我理解是否正确
共享的资源才能更快的提高
fanwei7
驱动牛犊
驱动牛犊
  • 注册日期2001-06-26
  • 最后登录2002-03-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2001-09-13 11:06
我对BHLKTEST得固件代码进行改写:

void ISR_Ep7out(void) interrupt 0
{
   // Arm the OUT so it can receive the next packet
   OUT7BC = 0;

   // clear the IRQ
EZUSB_IRQ_CLEAR();
OUT07IRQ = bmEP7;
}

去掉了数据转存得程序。

然后利用BULKTEST.EXE进行测试,速度立刻上去了:800K字节/秒。

看来中断服务程序占用了很长得时间。

如果能把在中断程序中执行得程序放到别处,是否会有提高?

希望高手共同讨论

^_^
共享的资源才能更快的提高
fanwei7
驱动牛犊
驱动牛犊
  • 注册日期2001-06-26
  • 最后登录2002-03-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2001-09-14 14:06
那位高手能给我讲一下:USB应用程序,驱动程序,固件在传输数据时如何实现,

最好能结合双缓存技术。
共享的资源才能更快的提高
sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2001-09-14 18:00
[QUOTE]原本由 mich 发表
[B我也觉得BULKTEST.EXE的固件下载不大对头,
用它下的HEX和控制面板下的不一样,看那个资料只有简单的说明
IOCTL_Ezusb_ANCHOR_DOWNLOAD不知怎么用? [/B][/QUOTE]

前不久我向cypress的技术支持提问时,提到过这个问题,他说最新的安装CD已经做了修改,还很主动地寄了一张过来,需要就去申请吧.usbapp@cypress.com.
游客

返回顶部