SD NAND的SD模式与SPI模式的初始化

最近很多客户朋友在询问我们CS创世 SD NAND能不能使用SPI接口,两者使用起来有何区别,下面为大家详细解答。

SD MODE:

CS创世 SD NAND支持SD模式和SPI模式,SD NAND默认为SD模式,上电后,其初始化过程如下:

1.配置时钟,0-400KHZ,设置工作模式

2.发送CMD0,使卡进入idle状态,该指令没有反馈

3.发送CMD8,如果有反应,那就是CRC值与发送的相同,说明该卡兼容SD2.0协议,同时还是获取SD的工作电压

4.发送CMD55+ACMD41,判断SD卡的上电是否正确,短响应成功说明该卡为SD卡(短响应第31位为1,说明为HC卡),否则发送CM0,有反应说明为MMC卡

5.发送CMD2验证SD卡是否正确接入,长响应(CID)

6.发送CMD3,读取SD卡的RCA(地址),短响应

7.发送CMD9,获取CSD寄存器来获取卡的相关信息

8.发送CMD7,使能SD卡

9.配置高速时钟,准备数据传输,一般为20M-25M

SPI MODE:

1.设置SPI时钟为低速0~400khz-------------SD卡初始化只能在低速模式下进行

2.发送至少74个周期的时钟信号-------------建议适当多发送一些(怕有些电路有延时)

3.发送SD卡命令CMD0-------------------------使在SD卡收到复位命令时,CS为有效电平(低电平),则SD卡切换到SPI模式,进入IDLE状态

4.发送CMD8(SD2.0)--------针对SD2.0进行鉴别同时读取后续4个字节返回值,判断其是否支持工作电压(例如:2.7~3.6v支持则为0x01aa)

5.发送CMD55+ACMD41(SD2.0)-----检测初始化是否完成

6.发送CMD58------------------------对SD2.0版本进一步确认SD卡型号(SDHC为扇区块寻址,普通SD卡为字节寻址)

7.发送CMD55+ACMD41(SD1.0)----------------检测返回值进行判断为SD1.0或MMC卡

8.发送CMD55+ACMD41(SD1.0)----------------检测初始化是否完成

9.发送CMD16-------------------------------------设置SD卡扇区大小(默认为512字节)

设置SPI时钟为高速,最大为25Mhz,初始化完成

SD模式与SPI模式的区别:

1.SD NAND默认为SD MODE,而进入SPI MODE必须在第一次上电的时候就要点复位

2.SD MODE 默认为单线输出date0,但是在高速模式下可以走四线,date0~date3;在SD NAND下走的SPI MODE ,只能走单线模式,其通信只有CS(片选)、CLK(时钟)、DI(输入)、DO(输出)

3.很多客户由于板子上只有SPI接口,所以用SPI MODE 能让客户减少设计上的压力,不过SD NAND使用SPI MODE只能走单线,相比于SD MODE 四线来说传输速度会慢。

4.接口连接:

以上为CS创世SD NAND 在SD MODE 和SPI MODE 使用时的初始化过程介绍, 目前CS创世 SD NAND在市面上广泛应用,在穿戴类的消费市场,以及航空航天、铁路交通、水利检测等工业领域都有应用,欢迎有兴趣的朋友来电咨询,我们竭诚为您服务。

相关推荐
奋斗的牛马1 小时前
FPGA—ZYNQ学习Helloward(二)
单片机·嵌入式硬件·学习·fpga开发
我先去打把游戏先5 小时前
ESP32学习笔记(基于IDF):ESP32连接MQTT服务器
服务器·笔记·单片机·嵌入式硬件·学习·esp32
CiLerLinux10 小时前
第一章 FreeRTOS简介
单片机·嵌入式硬件·物联网·gnu
沐欣工作室_lvyiyi11 小时前
基于单片机的智能灯光控制系统设计与实现(论文+源码)
stm32·单片机·嵌入式硬件·毕业设计·灯光控制
应用市场13 小时前
STM32电池管理系统(BMS):电量统计原理与实现
stm32·单片机·嵌入式硬件
cici1587413 小时前
基于STM32G4系列MCU的3kW数字LLC电源控制
stm32·单片机·嵌入式硬件
平凡灵感码头13 小时前
基于STM32的智能门锁系统 经典开局,先来个点灯
stm32·单片机·嵌入式硬件
可爱的鸡仔13 小时前
STM32------存储器映像
stm32·单片机·嵌入式硬件
清风66666614 小时前
基于单片机的自动换挡式高精度数字电压表设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
HXQ_晴天14 小时前
STM32中MX_TIM2_Init函数和HAL_TIM_Base_MspInit函数区别
stm32·单片机·嵌入式硬件