阅读:6038回复:29
BULK传输真的有希望达到1MByte/s!!!
PDIUSBD12+89C52
上次那个贴子太长了,我另外再起一个。 回去修改了一下D12的CLKOUT的输出,让它输出24MHz的时钟,我在BULK传输的时候每次都直接让它发送64个字节。经过同时优化windows device driver和firmware,结果传输16MByte的数据用了33秒!!!计算一下达到了496KByte/s。如果弄个可以运行50MHz的MCU,岂不是要加倍,达到992KByte/s? :) 当然,如果要实际的每次给D12写64byte的数据,速度就会慢许多,基本上会减半。但我发现,其实D12因为有double buffering的功能,可以每次向它写128bytes!而且,在driver里面直接把16Mbyte的数据分成64K,发给usbd,全部完成以后再一次性的返回给app,这样就得到了我上面说的数据了。 因此,我认为,只要有合适的MCU,再加上时序的调整,driver和app的配合,很有希望得到一个800~900k的传输速率。当然,这只是我的设想,还没有条件验证。哪位xd有条件试验的,可一定要告诉我结果啊!:D 另外,由于usb的传输和usbd.sys的速度也有很大关系,因此用一个速度快的PC和可以得到更快的传输。 |
|
最新喜欢:![]()
|
沙发#
发布于:2001-08-31 21:53
嘿嘿, 我说的没错吧。
我当时就试出 3xxK/s 了。 还没做什么优化。 |
|
板凳#
发布于:2001-08-31 23:15
请问一下,是否说的是全速的情况?
|
|
|
地板#
发布于:2001-09-01 10:39
[QUOTE]原本由 starmoon 发表
[B]嘿嘿, 我说的没错吧。 我当时就试出 3xxK/s 了。 还没做什么优化。 [/B][/QUOTE] 是啊是啊 |
|
|
地下室#
发布于:2001-09-01 10:40
[QUOTE]原本由 LitteSW 发表
[B]请问一下,是否说的是全速的情况? [/B][/QUOTE] 你这里的全速是指的什么? |
|
|
5楼#
发布于:2001-09-01 13:34
[QUOTE]原本由 rayyang2000 发表
[B] 你这里的全速是指的什么? [/B][/QUOTE] 理论速度12M。也就是高速传输。 |
|
|
6楼#
发布于:2001-09-01 19:13
[QUOTE]原本由 LitteSW 发表
[B][QUOTE]原本由 rayyang2000 发表 [B] 你这里的全速是指的什么? [/B][/QUOTE] 理论速度12M。也就是高速传输。 [/B][/QUOTE] 你说错了吧?High Speed是usb 2.0的概念, 有400M呢. D12是Full Speed,就是全速设备. |
|
|
7楼#
发布于:2001-09-01 19:35
SORRY。
记错了。 你们说的是全速设备吗?我的这款速度是998kbps。 |
|
|
8楼#
发布于:2001-09-02 17:18
好诱人的速度呀。有没有兄弟是用CYPRESS的芯片达到这么快的速度的?
|
|
9楼#
发布于:2001-09-02 20:25
我的设备就是用的EZ_USB,我同事说他做的设备双向速度是4Mbps.
|
|
|
10楼#
发布于:2001-09-03 16:04
[QUOTE]原本由 LitteSW 发表
[B]我的设备就是用的EZ_USB,我同事说他做的设备双向速度是4Mbps. [/B][/QUOTE] 这么拽?好羡慕啊! 一直也想弄出个这么快的设备,可是...咳! |
|
|
11楼#
发布于:2001-09-03 20:36
速度快有什么用?
现在驱动有问题,在处理超时时会引起系统崩溃!我快头疼死了。 |
|
|
12楼#
发布于:2001-09-04 09:00
超时是挺麻烦的。有时候一直不返回,如果硬把设备拔下,下次再插入就不枚举了。
|
|
|
13楼#
发布于:2001-09-04 12:15
最新消息,特大喜讯。
我的USB设备今天提速后测试结果为:单写速度达到4.5Mbps。 哈哈! |
|
|
14楼#
发布于:2001-09-06 09:16
[QUOTE]原本由 LitteSW 发表
[B]最新消息,特大喜讯。 我的USB设备今天提速后测试结果为:单写速度达到4.5Mbps。 哈哈! [/B][/QUOTE] 那就是576kbytes/s了?恭喜恭喜! |
|
|
15楼#
发布于:2001-09-06 12:31
现在双向传输是2.2Mbps。
|
|
|
16楼#
发布于:2001-09-07 08:35
目前我的速率只有200K字节/秒。(利用BULTTEST)
对于提高传输率我有几个想法: 1)EZ-USB芯片号称其时钟为 一个加强形8051,我想它实际工作的频率到底为多少。能通过程序提高它从而提高传输速度吗?如果能,如何提高? 2)EZ-USB芯片号称有一个双缓存和自动自增指针技术。我把BULKTEST的固件程序改写为双缓存,程序在控制面板中可以通过, 但接不上BULKTEST.EXE。请教一二。并且我想知道固件程序对速率的影响有多大。 3)驱动程序对数据的分配是否起很大的的作用? |
|
|
17楼#
发布于:2001-09-07 08:48
[QUOTE]原本由 fanwei7 发表
[B]目前我的速率只有200K字节/秒。(利用BULTTEST) 对于提高传输率我有几个想法: 1)EZ-USB芯片号称其时钟为 一个加强形8051,我想它实际工作的频率到底为多少。能通过程序提高它从而提高传输速度吗?如果能,如何提高? 2)EZ-USB芯片号称有一个双缓存和自动自增指针技术。我把BULKTEST的固件程序改写为双缓存,程序在控制面板中可以通过, 但接不上BULKTEST.EXE。请教一二。并且我想知道固件程序对速率的影响有多大。 3)驱动程序对数据的分配是否起很大的的作用? [/B][/QUOTE] 3. 你说的“数据的分配“是什么意思? |
|
|
18楼#
发布于:2001-09-07 09:37
我的意思是:将一个大文件分割成63K字节的文件是在应用程序实现好,还是在驱动程序实现好。如果是后者,大体如何实现?
|
|
|
19楼#
发布于:2001-09-07 12:49
[QUOTE]原本由 fanwei7 发表
[B]我的意思是:将一个大文件分割成63K字节的文件是在应用程序实现好,还是在驱动程序实现好。如果是后者,大体如何实现? [/B][/QUOTE] 应该是在kernel里面快一些。但如果占用内存太多的话,可能会出问题。 只要在build urb的时候,指向特定的一段buffer。 |
|
|
上一页
下一页