SD NAND芯片的初始化过程通常遵循SD卡协议,初始通信的波特率(时钟频率)较低,以确保可靠性。在SD卡协议中,初始化过程的时钟频率通常设置为400 kHz。以下是初始化过程的概要:
供电后等待:给SD NAND芯片供电,等待至少1 ms以确保其内部稳定。
发送复位命令(CMD0):通过SPI接口或SD总线发送CMD0命令,使SD卡进入Idle状态。
发送初始化命令(CMD1或ACMD41):通过CMD1(MMC卡)或ACMD41(SD卡)命令进行初始化,等待卡响应。
检查响应:如果卡响应,则初始化成功,可以进行进一步配置。如果未响应,可能需要重复发送初始化命令,直到成功为止。
设置波特率:初始化成功后,可以将时钟频率提高到更高的值,通常是25 MHz或更高,具体取决于SD卡和主控芯片的支持情况。
总结来说,SD NAND芯片的初始化过程通常以400 kHz的低速进行,以确保可靠性。一旦初始化完成,可以提高通信速度,以满足实际应用的需求。
if(SDCardInfo.CardType==STD_CAPACITY_SD_CARD_V1_1||SDCardInfo.CardType==STD_CAPACITY_SD_CARD_V2_0)
{
clkdiv=SDMMC_TRANSFER_CLK_DIV+4; //V1.1/V2.0卡,设置最高200/[2*(4+4)]=12.5Mhz
}else clkdiv=SDMMC_TRANSFER_CLK_DIV; //SDHC等其他卡,设置最高200/(2*4)=25Mhz
SDMMC_Clock_Set(clkdiv); //设置时钟频率,SDMMC时钟计算公式:SDMMC_CK时钟=sdmmc_ker_ck/[clkdiv+2];其中,sdmmc_ker_ck一般为200Mhz
}
上一篇:SDNAND读取ID方法
下一篇:贴片式TF卡与插拔式TF卡区别