STM32
直播中

北冥有熊

9年用户 993经验值
擅长:131594
私信 关注
[问答]

STM32F103ZET6 CS信号无法拉高的原因?

mcu接到了 nand flash , mcu能够读到芯片的ID数据。 cs管脚通过5K电阻接到3.3伏,这个管脚我配置成普通GPIO模式,是可以拉高拉低的,这说明硬件连接没有问题。但是, cs信号,配成FSMC功能以后,读取ID,  读完之后应该拉高才对,为什么没有拉高?
请教高手解答一下。下面是我用分析仪抓取的波形.



回帖(1)

杨海清

2024-5-22 17:32:01
根据您提供的信息,我们可以分析以下几个可能的原因:

1. 配置问题:请确保您已经正确配置了FSMC(Flexible Static Memory Controller)以控制CS信号。检查您的FSMC初始化代码,确保CS信号被正确配置为输出模式,并且在读取NAND Flash ID后将其设置为高电平。

2. 时序问题:可能是FSMC的时序设置不正确,导致CS信号没有在预期的时间内拉高。请检查FSMC的时序设置,确保它们与NAND Flash的数据手册中的推荐值相匹配。

3. NAND Flash问题:虽然您提到MCU能够读取到NAND Flash的ID数据,但仍然有可能存在NAND Flash的问题。请检查NAND Flash是否正常工作,以及其CS引脚是否正常响应。

4. 软件问题:可能是您的软件代码存在问题,导致CS信号没有正确地被设置为高电平。请检查您的代码,确保在读取NAND Flash ID后,CS信号被正确地设置为高电平。

5. 硬件问题:虽然您提到硬件连接没有问题,但仍然有可能存在其他硬件问题。例如,FSMC和NAND Flash之间的连接可能存在问题,或者FSMC本身可能存在问题。请仔细检查硬件连接,并确保所有组件都正常工作。

为了解决这个问题,您可以尝试以下步骤:

1. 重新检查FSMC的初始化代码,确保CS信号被正确配置为输出模式,并在读取NAND Flash ID后将其设置为高电平。

2. 检查FSMC的时序设置,确保它们与NAND Flash的数据手册中的推荐值相匹配。

3. 使用逻辑分析仪或示波器检查CS信号的波形,以确定问题所在。

4. 如果可能,请尝试使用另一块NAND Flash,以排除NAND Flash本身的问题。

5. 如果问题仍然存在,请考虑寻求专业人士的帮助,以便更深入地检查硬件和软件问题。
举报

更多回帖

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