STM32
直播中

小麦地

11年用户 1545经验值
私信 关注
[问答]

STM32H7读外部SRAM首次成功,之后保持不变是为什么?

STM32H743  读外部SRAM 芯片,首次读成功后,无法再次读取新的数据,使用示波器对STM32H7引脚进行测量,发现无波形输出。调试过程中,在程序中打个断点,就每次可以正常读取。

回帖(2)

蔡烁坚

2024-3-27 14:35:03
不知你是否对外部SRAM所对应的存储空间做了MPU配置,比如将其配置成DEVICE。如果没有配置,不妨配置后验证下。不保证一定是这个原因。说不定是其它硬件及电源的原因。
举报

kasdlak

2024-3-27 16:34:26
可能有几个原因导致无法连续读取新的数据:

1. 时钟配置问题:确认外部SRAM和STM32H7的时钟配置是否正确匹配。外部SRAM可能需要单独的时钟配置,确保时钟频率和时序满足SRAM芯片的要求。

2. 片选信号问题:确认STM32H7的片选信号是否正确控制SRAM芯片的读取操作。如果片选信号没有正确产生或保持在SRAM操作期间,将导致无法读取新的数据。

3. 总线竞争问题:如果同时使用了其他外设或DMA进行数据传输,可能导致总线竞争问题。确保在读取期间没有其他设备正在使用总线,以确保读取操作顺利进行。

4. 初始化问题:确认在每次读取新的数据之前是否进行正确的初始化。SRAM芯片可能需要在每次读取操作之前进行一些初始化设置,例如写入地址、使能读取等。

5. 软件问题:检查软件代码是否正确,确保逻辑正确性。可能需要仔细检查读取操作的代码以查找潜在的错误或问题。

如果在程序中设置断点后可以正常读取,有可能是由于断点导致操作所用时间延长,以至于有足够的时间让总线信号稳定下来。此时可以检查读取操作期间产生的各个时序是否满足要求,并尝试增加读取操作的延时或等待时间,确保信号稳定后再进行读取操作。
举报

更多回帖

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