_NCY_ 发表于 2025-1-15 23:34:18

USB MSC怎么让速度快起来

stc8h8k64u的USB速度在MSC模拟优盘的官方程序里没体现出来啊
40MHZ,USB CDC都能跑到几百KB每秒,但MSC怎么还是64KB每秒慢悠悠的?!
以前在论坛里问过,得知MSC模拟优盘这个程序里的通信是1ms一笔事务,一次传输64字节,所以才有了这个64K每秒
那该怎么改改,让它快点呢(本人没接触过USB和 MSC底层协议,但希望有大佬能说说明白,怎么改改传输速率)
毕竟作为一个优盘,64KB每秒太难以接受了

wlhet 发表于 2025-1-16 10:24:32

不懂,蹲一手结果

神农鼎 发表于 2025-1-16 12:45:26

你改成外部 FLASH

LAOXU 发表于 2025-1-16 15:04:07

用单芯片, 估计快不了(没哪么大缓冲 RAM)

神农鼎 发表于 2025-1-16 16:12:08

LAOXU 发表于 2025-1-16 15:04
用单芯片, 估计快不了(没哪么大缓冲 RAM)
写内部FLASH时, 无法执行程序,同一块FLASH

LAOXU 发表于 2025-1-16 16:47:26

神农鼎 发表于 2025-1-16 16:12
写内部FLASH时, 无法执行程序,同一块FLASH

楼主的优盘, 不是外接 FLASH 吗?
stc8h8k64u 只有 64KBFLASH,扣除 程序占用, 剩下内部 FLASH 不足 64k ,如写满不足1秒.
楼主说"64KB每秒太难以接受了", 那一定是外扩大容量 FLASH,需配合 大容量 RAM 才行.
USB --> RAM,RAM 通过 DMA 自动写 外扩 FLASH , 因写 外扩 FLASH 速度有限, 故缓冲区 RAM的容量, 间接决定了写 FLASH 的速度 ,

_NCY_ 发表于 2025-1-16 23:26:47

LAOXU 发表于 2025-1-16 16:47
楼主的优盘, 不是外接 FLASH 吗?
stc8h8k64u 只有 64KBFLASH,扣除 程序占用, 剩下内部 FLASH 不足 ...

用的是8M Spi Flash
一开始我也以为是受Flash写入速度限制,但实验了一下应该不是。
我尝试了用16位并口LCD的显存(抽象的操作,手头没SRAM了)当储存器。
并口屏的GRAM直接写入速能跑到1MB/s呢(空刷320*240 rgb565 @7fps),但套上USBMSC连电脑,写入速度测试依然是稳稳的64KB每秒。

LAOXU 发表于 2025-1-17 04:44:27

上次我提问过,USB 模块共有 1280 字节的 FIFO, 是独立的 高速 RAM缓冲? 还是占用片内 XRAM(普速) 1280字节 作为 FIFO?
官方始终没有答复.
现在, 依你的测试结果, 我估计 USB 模块的 1280 字节 FIFO, 是借用片内 XRAM(普速) 作为 FIFO, 和 CPU 分时共享, 所以速度上不去.

_NCY_ 发表于 2025-1-17 17:22:49

同样芯片,跑USBCDC就能跑的很快啊,传输速度能到几百KB/s呢。
所以我感觉远不是硬件上的局限,是USBMSC内部哪里的设定决定的。
页: [1]
查看完整版本: USB MSC怎么让速度快起来