2024年6月5日发(作者:侍静枫)
3.20
SD卡实验
很多单片机系统都需要大容量存储设备,以存储数据。目前常用的有U
盘,FLASH芯片,
SD
卡等。他们各有优点,综合比较,最适合单片机系统的莫过于SD卡了,它不仅容量可以做
到很大(32Gb以上),而且支持SPI接口,方便移动,有几种体积的尺寸可供选择(标准的SD
卡尺寸,以及
TF
卡尺寸),能满足不同应用的要求。只需要4
个IO
口,就可以外扩一个最大
达32GB
以上的外部存储器,容量选择尺度很大,更换也很方便,而且方便移动,编程也比较
简单,是单片机大容量外部存储器的首选。
ALIENTKE MiniSTM3开发板就带有SD卡接口,利用STM32自带的SPI接口,最大通信
速度可达18Mbps,每秒可传输数据2M字节以上,对于一般应用足够了。本节将向大家介绍,
如何在ALIENTEK MiniSTM32开发板上读取SD卡。本节分为如下几个部分:
3.20.1 SD
卡简介
3.20.2 硬件设计
3.20.3 软件设计
3.20.4 下载与测试
295
3.20.1 SD
卡简介
SD卡(Secure Digital Memory Card)中文翻译为安全数码卡,是一种基于半导体快
闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助
理(PDA)和多媒体播放器等。SD
卡由日本松下、东芝及美国
SanDisk公司于1999年
8月
共同开发研制。大小犹如一张邮票的SD
记忆卡,重量只有2
克,但却拥有高记忆容量、快
速数据传输率、极大的移动灵活性以及很好的安全性。
SD卡一般支持2种操作模式:
1,SD
卡模式;
2,SPI模式;
主机可以选择以上任意一种模式同SD
卡通信,SD卡模式允许4
线的高速数据传输。
SPI
模式允许简单的通过
SPI
接口来和SD
卡通信,这种模式同
SD
卡模式相比就是丧失了
速度。
SD卡的引脚排序如下图所示:
图3.20.1.1 SD
卡引脚排序图
SD卡引脚功能描述如下表所示:
表3.20.1.1 SD卡引脚功能表
SD卡只能使用
3.3V
的IO电平,所以,MCU一定要能够支持
3.3V
的IO
端口输出。
注意:在SPI模式下,CS/MOSI/MISO/CLK都需要加
10~100K左右的上拉电阻。
SD卡要进入
SPI模式很简单,就是在SD卡收到复位命令(CMD0)时,CS为有效电
平(低电平)则
SPI
模式被启用。不过在发送
CMD0
之前,要发送>74
个时钟,这是因为
SD卡内部有个供电电压上升时间,大概为64个CLK,剩下的10个CLK
用于SD卡同步,
之后才能开始CMD0的操作,在卡初始化的时候,CLK时钟最大不能超过400Khz!。
ALENTEK MiniSTM32开发板使用的是SPI模式来读写SD卡,下面我们就重点介绍一
下SD卡在
SPI模式下的相关操作。
首先介绍SPI模式下几个重要的操作命令,如下表所示:
296
2024年6月5日发(作者:侍静枫)
3.20
SD卡实验
很多单片机系统都需要大容量存储设备,以存储数据。目前常用的有U
盘,FLASH芯片,
SD
卡等。他们各有优点,综合比较,最适合单片机系统的莫过于SD卡了,它不仅容量可以做
到很大(32Gb以上),而且支持SPI接口,方便移动,有几种体积的尺寸可供选择(标准的SD
卡尺寸,以及
TF
卡尺寸),能满足不同应用的要求。只需要4
个IO
口,就可以外扩一个最大
达32GB
以上的外部存储器,容量选择尺度很大,更换也很方便,而且方便移动,编程也比较
简单,是单片机大容量外部存储器的首选。
ALIENTKE MiniSTM3开发板就带有SD卡接口,利用STM32自带的SPI接口,最大通信
速度可达18Mbps,每秒可传输数据2M字节以上,对于一般应用足够了。本节将向大家介绍,
如何在ALIENTEK MiniSTM32开发板上读取SD卡。本节分为如下几个部分:
3.20.1 SD
卡简介
3.20.2 硬件设计
3.20.3 软件设计
3.20.4 下载与测试
295
3.20.1 SD
卡简介
SD卡(Secure Digital Memory Card)中文翻译为安全数码卡,是一种基于半导体快
闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助
理(PDA)和多媒体播放器等。SD
卡由日本松下、东芝及美国
SanDisk公司于1999年
8月
共同开发研制。大小犹如一张邮票的SD
记忆卡,重量只有2
克,但却拥有高记忆容量、快
速数据传输率、极大的移动灵活性以及很好的安全性。
SD卡一般支持2种操作模式:
1,SD
卡模式;
2,SPI模式;
主机可以选择以上任意一种模式同SD
卡通信,SD卡模式允许4
线的高速数据传输。
SPI
模式允许简单的通过
SPI
接口来和SD
卡通信,这种模式同
SD
卡模式相比就是丧失了
速度。
SD卡的引脚排序如下图所示:
图3.20.1.1 SD
卡引脚排序图
SD卡引脚功能描述如下表所示:
表3.20.1.1 SD卡引脚功能表
SD卡只能使用
3.3V
的IO电平,所以,MCU一定要能够支持
3.3V
的IO
端口输出。
注意:在SPI模式下,CS/MOSI/MISO/CLK都需要加
10~100K左右的上拉电阻。
SD卡要进入
SPI模式很简单,就是在SD卡收到复位命令(CMD0)时,CS为有效电
平(低电平)则
SPI
模式被启用。不过在发送
CMD0
之前,要发送>74
个时钟,这是因为
SD卡内部有个供电电压上升时间,大概为64个CLK,剩下的10个CLK
用于SD卡同步,
之后才能开始CMD0的操作,在卡初始化的时候,CLK时钟最大不能超过400Khz!。
ALENTEK MiniSTM32开发板使用的是SPI模式来读写SD卡,下面我们就重点介绍一
下SD卡在
SPI模式下的相关操作。
首先介绍SPI模式下几个重要的操作命令,如下表所示:
296