STM32
直播中

王英

7年用户 1333经验值
私信 关注
[问答]

STM32H743做了个文件系统和模拟U盘,写入速度大概是300KB/S,读的速度很不稳定是为什么?

使用了STM32H743芯片外加一个1G的NAND FLASH ,做了个文件系统和模拟U盘,功能可以实现。写入速度大概是300KB/S,读的速度很不稳定。
现在想把U盘的性能优化一下,检查了CubeMX的设置选项,其中开启了IP DMA功能之后,电脑就无法识别出U盘来了。想请教下,有没有人接触过类似的问题。

回帖(2)

李洪斌

2024-4-28 10:34:27
你的PCB走线 布线 数据线等长与否,都会影响速率,影响传输速率的不只只有软件,跟硬件也有很大的关系,特变是高速电路,模拟电路这边差别会很大
举报

杨秀英

2024-4-28 17:22:10
根据您提供的信息,您的STM32H743芯片与1G NAND FLASH组成的模拟U盘在写入速度上表现良好,但在读速度上存在不稳定现象。同时,您尝试开启IP DMA功能后,电脑无法识别U盘。为了解决这些问题,我们可以从以下几个方面进行分析和优化:

1. NAND FLASH性能:首先,检查NAND FLASH的性能是否符合您的要求。不同型号的NAND FLASH在读写速度上可能存在差异。如果可能,尝试更换一个性能更好的NAND FLASH。

2. 文件系统优化:检查您使用的文件系统是否适合您的应用场景。有些文件系统在读取速度上可能表现不佳。您可以尝试使用不同的文件系统,如FAT32、exFAT等,看是否能提高读取速度。

3. 缓存机制:考虑在您的系统中引入缓存机制。通过将频繁访问的数据存储在缓存中,可以减少对NAND FLASH的访问次数,从而提高读取速度。

4. DMA配置:关于您提到的IP DMA功能导致电脑无法识别U盘的问题,可能是由于DMA配置不当导致的。建议您仔细检查CubeMX中的DMA设置,确保其正确配置。此外,您还可以查阅STM32H743的官方文档,了解如何正确配置DMA。

5. USB协议栈:检查您使用的USB协议栈是否稳定。不稳定的协议栈可能导致电脑无法正确识别U盘。您可以尝试使用其他USB协议栈,或者更新现有协议栈到最新版本。

6. 硬件连接:检查NAND FLASH与STM32H743之间的硬件连接是否正确。不良的硬件连接可能导致数据传输不稳定,从而影响读取速度。

7. 软件调试:使用调试工具(如ST-LINK)对您的程序进行调试,查看在读取过程中是否存在性能瓶颈。通过优化代码,可以提高读取速度。

8. 电源稳定性:确保您的系统电源稳定。不稳定的电源可能会影响NAND FLASH的性能,从而导致读取速度不稳定。

通过以上几个方面的检查和优化,您应该能够找到影响读取速度的原因,并采取相应的措施进行改进。希望这些建议对您有所帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分