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在市面上广泛应用,在穿戴类的消费市场,以及航空航天、铁路交通、水利检测等工业领域都有应用,欢迎有兴趣的朋友来电咨询,我们竭诚为您服务。

相关推荐
Lester_11015 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元5 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133975 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315205 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
PM老周5 天前
2026年软硬件一体化项目管理软件怎么选?多款工具对比测评
java·安全·硬件工程·团队开发·个人开发
Alaso_shuang5 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
脚后跟5 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程
2501_918126915 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
星马梦缘5 天前
驱动层开发——蜂鸣器驱动
stm32·单片机·嵌入式硬件·hal·驱动
小刘爱玩单片机5 天前
【stm32简单外设篇】- 测速传感器模块(光电)
c语言·stm32·单片机·嵌入式硬件