目录
一、SD卡介绍
1.概述
2.SD模式
3.SD卡读取与写入(SPI模式)
二、?STM32F103完成对SD卡的数据读取
1.代码部分
2.U盘格式化
?3.电路连接
?4.具体实现
三、参考资料
一、SD卡介绍
1.概述
SD存储卡(Secure Digital Memory Card)是一种基于半导体快闪存储器的新一代高速存储设备。SD存储卡的技术是从MMC卡(MultiMedia Card)格式上发展而来,在兼容SD存储卡基础上发展了SDIO(SD Input/ Output)卡,此兼容性包括机械,电子,电力,信号和软件,通常将SD、SDIO卡俗称SD存储卡。
SD卡具有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性,它被广泛地应用于便携式装置上,例如数码相机、平板电脑和多媒体播放器等。
SD卡的结构能保证数字文件传送的安全性,也很容易重新格式化,所以有着广泛的应用领域。音乐、电影等多媒体文件都可以方便地保存到SD卡中。
SD卡作为一种新型的存储设备,具有以下特点:
●高存储容量,最常用的容量:8GB、16GB、32GB、128GB、256GB等。
●内置加密技术,适应基于SDMI协议的著作版权保护功能。
●高速数据传送;最大读写速率为100MB/s。
●体积轻小,便于携带,具有很强的抗冲击能力。
2.SD模式
驱动模式:
SD卡有两种驱动模式:SPI模式与SDIO模式。它们所使用的接口信号是不同的。在SPI模式下,只会用到SD卡的4根信号线,即CS、DI、SCLK与DO(分别是SD卡的片选、数据输入、时钟与数据输出)。
传输模式:
SD卡共支持三种传输模式:SPI模式(独立序列输入和序列输出),1位SD模式(独立指令和数据通道,独有的传输格式),4位SD模式(使用额外的针脚以及某些重新设置的针脚。支持四位宽的并行传输)
3.SD卡读取与写入(SPI模式)
?1、发送CMD17; 2、接收卡响应R1; 3、接收数据起始令牌0XFE; 4、接收数据; 5、接收2个字节的CRC,如果不使用CRC,这两个字节在读取后可以丢掉。 6、禁止片选之后,发多8个CLK; 以上就是一个典型的读取SD卡数据过程。
SD卡的写于读数据差不多,写数据通过CMD24来实现,具体过程如下: 1、发送CMD24; 2、接收卡响应R1; 3、发送写数据起始令牌0XFE; 4、发送数据; 5、发送2字节的伪CRC; 6、禁止片选之后,发多8个CLK; 以上就是一个典型的写SD卡过程。 ?
二、?STM32F103完成对SD卡的数据读取
1.代码部分
工程链接:https://pan.baidu.com/s/1c3bl54aSPyamkJ3ZqckmTg? 提取码:hz01
打开工程根据自己需求修改代码
?
?编译生成.hex文件
2.U盘格式化
在烧录之前先将SD卡格式化为FAT32文件模式
?3.电路连接
USB TO TTL | STM32F103C8T6 | 5v | 5v | GND | GND | RXD | A9 | TXD | A10 |
STM32F103C8T6 | SD卡 | 5v | VCC | GND | GND | A4 | CS | A5 | SCK | A6 | MISO | A7 | MOSI |
连接完毕后如下:(我这里用了两个USB TO TTL,其中一个用来给SD卡模块提供5v电源和接地)
?4.具体实现
把生成的hex文件烧录进芯片
打开串口调试助手?,打开串口(BOOT0置0,并按下RESET键)
前几次试验只显示mian,应该是因为连接不稳,需要确保连接稳定才能成功
?写入成功后,将SD卡插入电脑,打开生成的文件,如下
三、参考资料
SD卡_百度百科
|