找回密码
 立即注册
查看: 306|回复: 8

USB MSC怎么让速度快起来

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:154
  • 最近打卡:2025-04-30 08:40:57
已绑定手机

15

主题

630

回帖

730

积分

高级会员

积分
730
发表于 2025-1-16 10:24:32 来自手机 | 显示全部楼层
不懂,蹲一手结果
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2025-1-16 12:45:26 | 显示全部楼层
你改成外部 FLASH
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2025-1-16 15:04:07 | 显示全部楼层
用单芯片, 估计快不了(没哪么大缓冲 RAM)

点评

写内部FLASH, 无法执行程序,同一块FLASH  详情 回复 发表于 2025-1-16 16:12
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2025-1-16 16:12:08 | 显示全部楼层
LAO*** 发表于 2025-1-16 15:04
用单芯片, 估计快不了(没哪么大缓冲 RAM)

写内部FLASH时, 无法执行程序,同一块FLASH

点评

楼主的优盘, 不是外接 FLASH 吗? stc8h8k64u 只有 64KB FLASH , 扣除 程序占用, 剩下内部 FLASH 不足 64k , 如写满不足1秒. 楼主说"64KB每秒太难以接受了", 那一定是外扩大容量 FLASH , 需配合 大容量 RAM 才  详情 回复 发表于 2025-1-16 16:47
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2025-1-16 16:47:26 | 显示全部楼层
神*** 发表于 2025-1-16 16:12
写内部FLASH时, 无法执行程序,同一块FLASH

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

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2025-1-16 23:26:47 | 显示全部楼层
LAO*** 发表于 2025-1-16 16:47
楼主的优盘, 不是外接 FLASH 吗?
stc8h8k64u 只有 64KB  FLASH  ,  扣除 程序占用, 剩下内部 FLASH 不足 ...

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2025-1-17 04:44:27 | 显示全部楼层
上次我提问过,  USB 模块共有 1280 字节的 FIFO, 是独立的 高速 RAM缓冲? 还是占用片内 XRAM(普速) 1280字节 作为 FIFO?
官方始终没有答复.
现在, 依你的测试结果, 我估计 USB 模块的 1280 字节 FIFO, 是借用片内 XRAM(普速) 作为 FIFO, 和 CPU 分时共享, 所以速度上不去.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2025-1-17 17:22:49 来自手机 | 显示全部楼层
同样芯片,跑USBCDC就能跑的很快啊,传输速度能到几百KB/s呢。
所以我感觉远不是硬件上的局限,是USBMSC内部哪里的设定决定的。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:47 , Processed in 0.127826 second(s), 98 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表