USB MSC接口只支持单个数据包收发,速度很慢,请问有相关的说明或例程吗?
每次只能操作一个Block,通过USB读写SD卡写速度300-500KB/s,读速度1.2-1.5MB/s
USB MSC接口只支持单个数据包收发,速度很慢,请问有相关的说明或例程吗?
每次只能操作一个Block,通过USB读写SD卡写速度300-500KB/s,读速度1.2-1.5MB/s
您好,
您可以使用RAM作为缓冲区,接收64包数据后,使用多块一并写入SD卡提升读写速度
沁恒出的MCU中RAM普遍比较小,性能这么强的MCU为啥RAM这么小?
您好,
片内RAM足以满足绝大多数的应用场景,实际测试使用RAM缓存128包数据后,通过多块写的方式,可以使品牌TF卡写入速度接近极限(仅针对测试卡),缩小缓存大小至64包,读写速度略有降低
感谢你的回复,
我使用的是32KB RAM的MCU,使用高速USB的单包收发的API,USB的一包数据对应的是SD卡(SDIO)的一个块,开源框架里面也是按照你说的那样实现的。但是这里的包还有块大小都是512Bytes,没法做成你说的这么大缓存,或则说我对你所说的包理解有偏差?
您好,
留个邮箱吧,我发个程序给你。
您好,
非常感谢,下面是我的邮箱:
个人信息保护,已隐藏
你好,暂未收到邮件,麻烦了。
您好,
例程已发送,如果还有问题可以直接通过邮件与我联系。
MCU的RAM为32KB,因此不能添加很大的缓存。参考技术人员给的缓存方案,调整了一下缓存大小,大约16KB(或则更小)。USB的存取速度得到很大提高,现在测试USB存取速度都在7MB/s左右吧,非常感谢技术人员的支持。
@TECH_li 我们也做了ch32v307读写TF卡的USB产品,采用64K数据包缓存,DMA模式,USB端测得写入速度到7MB/S就再也无法向上提升了,读取速度最大测得20MB/S。用的U3等级的TF卡,理论写入速度是可以到30MB/S,为什么写入性能还达不到一半?
前面看您回复“实际测试使用RAM缓存128包数据后,通过多块写的方式,可以使品牌TF卡写入速度接近极限”这个性能具体是多少呢?是不是我们代码的性能还有提升空间?有例程也请发给我们参考一下。邮箱:个人信息保护,已隐藏。谢谢!
您好,
邮件已发送,注意查收
您好,
如果您需要CH32V307VCT6芯片,使用高速USB实现SD卡读卡器功能,麻烦发送邮件至lbw@wch.cn获取。请简要说明产品功能并附上您的联系方式及公司名称,谢谢。
为了能够更快的看到并解决您的问题,以下所有需要测试程序的帖子不再回复。如您在开发中遇到了相关问题,也可通过邮件和我联系。