STM32F407 MCU使用SD NAND 不断电初始化失效解决方案单片机解密
在嵌入式系统领域,单片机解密STM32F407微控制器单元(MCU)与SD NAND的结合提供了强大的存储解决方案。然而,不断电初始化失效问题可能会导致系统稳定性和数据完整性受损。我们将STM32F407与SD NAND集成时可能遇到的初始化问题,并提供专业的解决方案。
从图中看问题:
1,MISO(主输入从输出):MISO信号是SD卡的响应信号没出来。在初始化过程中,SD卡在MISO线上发送特定的响应码。检查不到响应码。
2,片选信号(CS),片选信号应该在初始化过程中正确地拉低。检查CS信号没有在正确的时间点被拉低,以激活SD卡。
解问题方法:
1,在SD卡上电后,先向SD卡发送至少74个时钟周期,以完成SD卡的自身检查和初始化,进入IDLE状态。CS和MOSI引脚必须保持高电平
2,在发送CMD0命令(0x40)复位SD卡时,需要拉低CS信号
3,发送完CMD0命令后,等待SD卡返回响应数据,然后等待8个时钟周期再拉高CS信号
4,在后续的CMD8、CMD55和ACMD41命令中,每次发送命令前都需要拉低CS信号,单片机解密命令发送完成后等待响应数据,然后等待8个时钟周期再拉高CS信号.
5,CS信号应该在以下时间点拉低:
发送CMD0命令前。
发送CMD8命令前。
发送CMD55命令前。
发送ACMD41命令前。
发送CMD24写操作命令前。
发送CMD17读操作命令前
SD卡不能一直读写状态的条件下操作:
错开SD卡读写时间,MCU再做复位,软件时序修改SD卡停止读写完后,MCU再做复位操作。