大家好,又见面了,我是你们的朋友全栈君。
MMC/SD卡简单SPI模式驱动
1. SPI模式下CRC检验无效的。
2. 命令格式是6个字节,采用大端法进行数据传输。
3. 第一个是(命令号|0x40)。
4. 第2-5个是有些命令需要地址,用来设置地址的,而其他的可以任意填充。
5. 最后一个字节是CRC校验位,除了CMD0为95H外,其他可以任意填充。
6. 命令发送函数。
1).片选拉低。
2).发送六个字节命令。
3).再发送一8个时钟信号。
4).发送时钟信号,等待回复。
5).回复不是0xff,就可以。
6).根据时序可在发送8个时钟信号。
7).返回R1,即MMC的回复。
(完)
7. MMC卡初始化函数
1).SPI初始化。
2).发送74个时钟以上。
3).发送命令CMD0.
4).不断发送时钟信号等回复0x01.成功。
5).再不断发送命令CMD1,等回复0x00,成功则MMC卡初始化成功。
(完)
8.MMC卡读函数。
1).不断发送命令CMD17。
2).等待0x00,则成功。
3).再不断发送时钟信号,当收到0xfe时,说明可以读512字节数据,也可以通过命令设置读写数据长度。
4).读512字节数据。
5).发送CRC校验,2个字节,虽然校验无效,但一定要发送。
6).再发送时序8个时钟。
(完)
9.MMC卡写数据。
1).发送不断CMD24命令。
2).等待0x00回复。
3).成功回复,再发送至少8个时钟。
4).发送0xfe。
5).发送512字节写进去。
6).CRC校验位发送,2个字节。
7).发送时钟信号,获得回复xxx00101。
8).获得正常回复后,说明写成功。
9).等待总线释放,即回复为0xff,则总线不忙。
10).发送8时钟信号。
(完)
基于LPC2124芯片的MMC/SD卡SPI模式简单读写实验。
附加说明:MMC卡在SPI模式与SD卡的SPI模式是一样。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136867.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...