1 SD卡标准
新疆25选7走势 www.ve66b.cn
SD卡标准是SD卡协会针对可移动存储设备设计专利并授权的一种标准,主要用于制定卡的外形尺寸、电气接口和通信协议。
1.1 SD卡引脚功能
SD卡的外形如图1所示,引脚功能如表1所列。SD卡的引脚具有双重功能,既可工作在SD模式,也可工作在SPI模式。不同的模式下,引脚的功能不同。


SD模式多用于对SD卡读写速度要求较高的场合,SPI模式则是以牺牲读写速度换取更好的硬件接口兼容性。由于SPI协议是目前广泛流行的通信协议,大多数高性能单片机都配备了SPI硬件接口,硬件连接相对简单,因此,在对SD卡读写速度要求不高的情况下,采用SPI模式无疑是一个不错的选择。
1.2 SPI模式
SPI模式是一种简单的命令响应协议,主控制器发出命令后,SD卡针对不S同的命令返回对应的响应。
SD卡的命令列表都是以CMD和ACMD开头,分别指通用命令和专用命令,后面接命令的编号。例如,CMD17就是一个通用命令,用来读单块数据。
在SPI模式中,命令都是以如下的6字节形式发送的:

每帧命令都以“01”开头,然后是6位命令号和4字节的参数(高位在前,低位在后),最后是7位CRC校验和1位停止位“1”。
SD卡的每条命令都会返回对应的响应类型。在SPI模式下,共有3种响应类型:R1、R2和R3,分别占1、2和3个字节。这里仅列出了R1响应的格式,如表2所列。当出现表中所描述的状态时,相应的位置1。R2和R3的第1个字节格式与R1完全一样,详细内容请参考SD卡标准。

2 硬件设计
本设计选用Freescale公司的32位低功耗微控制器MCF51QE128,采用SPI模式实现与SD卡的接口。
由于MCF51QE128是一款低功耗的微控制器,工作电压的典型值为3.6 V,与SD卡的工作电压兼容,因而可以直接与SD卡连接,无需电平转换电路。这里选用的是MCF51 QE128的第2个SPI口,硬件连接如图2所示。

3 软件实现
软件部分主要实现MCF51QE128的初始化、底层SPI通信,以及SD卡的通用写命令、初始化和单块数据的读写等功能。
3.1 MCF51QE128的初始化
在与SD卡通信之前,首先需要配置MCF51QE128,并初始化SPI端口。代码如下:

3.2 底层SPI通信
底层的SPI通信是实现最终读写的关键。由于MCF51QE128自带SPI硬件接口,因此只需要读写SPI数据寄存器的值。这里自定了byte、word和dword三种数据类型,分别对应于8位、16位和32位数据。代码如下:


3.3 SD卡的通用写命令
由于SD卡的命令具有统一的格式,因此可以用一个通用的写命令函数来实现所有命令的发送。另外,考虑到多数命令的响应类型都是R1,这里的通用写命令函数所接收的响应类型默认为R1。函数代码如下:

3.4 SD卡的初始化
SD卡的初始化要遵循一定的步骤。首先将SPI时钟降低到400 kHz,等待至少74个时钟周期。接着拉低片选信号,并发送CMD0命令,对SD卡进行复位并使其进入SPI模式,这里需要正确的CRC校验,校验字节为0x95。若SD卡进入空闲状态(即接收响应为0x01时),则发送CMD1命令,激活卡的初始化过程,此时响应为0x00。然后设置块的长度,一般为512字节。最后将片选拉高并将SPI时钟设为最大值,以保证最大的读写速度。SD卡初始化过程如图3所示。

SD卡初始化代码如下:

3.5 SD卡单块数据读写
SPI模式支持单块和多块数据的读写操作,可通过发送相应的命令来实现。读单块数据的操作过程如图4所示。拉低片选后,首先由主控制器MCF51QE128发送读单块数据命令CMD17,然后等待SD卡的响应。当收到数据块开始标志0xfe后,开始从SD卡读取512字节的数据,最后读取2字节的CRC校验位。

读单块数据的函数代码如下:

写单块数据的操作过程与读操作类似,如图5所示。拉低片选后同样由主控制器MCF51QE128发送写单块数据命令CMD24,SD卡正确响应后发送数据块开始标志0xfe,接着发送512字节数据块和2字节CRC校验。

写入数据后,SD卡会发送1字节的数据响应来反馈数据写入的情况,其格式如图6所示。当数据正确写入SD卡后,数据响应为0x05。最后读数据总线,写数据忙时等待,直到总线为高电平。

写单块数据的函数代码如下:


结 语
SD卡是目前广泛应用的可擦除的大容量存储设备,其接口设计可作为各类嵌入式系统中存储单元的一般解决方案。本文结合SD卡标准的相关技术,基于MCF51QE128微控制器完成了硬件接口和底层通信软件的设计。在此基础上,可进一步构建文件系统,实现对存储数据更有效的管理。
相关推荐
LOCK_O/LOCK_I:在操作过程中,仲裁器可能会提前将总线占用权收回并分配给其他主设备从而打断...
发表于 2018-07-10 08:26
?
87次阅读
发表于 2018-07-04 16:01
?
137次阅读
AVR单片机USART通信接口的原理和使用
发表于 2018-07-04 10:51
?
134次阅读
发表于 2018-07-04 08:14
?
35次阅读
发表于 2018-07-03 09:08
?
186次阅读
CC2420是直接扩频DSSS(Direct Sequence Spread Spectrum)收发...
发表于 2018-07-02 09:03
?
49次阅读
如今,在功率密度增大、器件小型化、?;ひ蠹笆弊既肪?、防范等级提高等一系列看似矛盾的综合要求下,...
发表于 2018-06-30 07:45
?
203次阅读
ADI近日宣布推出一款可实现新一代智能电子化学传感器的新型传感器接口IC。ADuCM355精密模拟微...
发表于 2018-06-28 10:42
?
1688次阅读
主从设备间可以实现全双工通信,SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的...
发表于 2018-06-26 08:43
?
373次阅读
Spansion HyperBus 接口极大地提高读取性能并减少引脚数量和空间,帮助嵌入式设计工程师...
发表于 2018-06-25 17:22
?
180次阅读
和PCIe一样,SATA也有独立的发送和接收通道,但与PCIe工作模式不一样:同一时间,只有一条道可...
发表于 2018-06-25 10:54
?
372次阅读
发表于 2018-06-25 09:25
?
230次阅读
由于232是点对点的通信,不能实现多机之间互相通信,而485就可以实现多机通信,因此,越来越被多数工...
发表于 2018-06-25 09:00
?
166次阅读
发表于 2018-06-25 07:22
?
332次阅读
发表于 2018-06-22 09:35
?
310次阅读
发表于 2018-06-22 04:39
?
22次阅读
发表于 2018-06-22 03:18
?
36次阅读
发表于 2018-06-22 00:30
?
49次阅读
发表于 2018-06-21 02:36
?
19次阅读
未来世界是一个智能的世界,我们会遇到众多的smart device。万物互联时代,这个“互联”的关键...
发表于 2018-06-20 11:05
?
470次阅读
本文详细介绍了AWorks中开发设备驱动的一般方法?;谡庑┩ㄓ玫姆椒?,用户可以尝试独立开发一些设备...
发表于 2018-06-20 09:58
?
646次阅读
结合在实际系统设计中,??橛肫灯渌缱幽?榻行畔⒒チ?,不同类型的接口电路实例,提供出来和大家一起...
发表于 2018-06-20 09:02
?
540次阅读
一般小间距产品单个箱体只有3-4个模组高,而现在的接收卡一般有12组输出,利用多开模式可以把箱体的模...
发表于 2018-06-18 17:42
?
355次阅读
RL78/G13 开发板做的SD卡+彩屏显示测试,在SD卡里面存一些图片的bin文件然后通过读SD卡...
发表于 2018-06-15 00:01
?
157次阅读
RS-485的电气特性:逻辑“1”以两线间的电压差为+(2-6)V表示;逻辑“0”以两线间的电压差为...
发表于 2018-06-14 15:36
?
668次阅读
ARM最新处理器Cortext-M3体系结构与接口编程
发表于 2018-06-14 00:32
?
493次阅读
ARM最新处理器Cortext-M3体系结构与接口编程
发表于 2018-06-14 00:04
?
461次阅读
ARM最新处理器Cortext-M3体系结构与接口编程
发表于 2018-06-14 00:01
?
481次阅读
由上图可知,Spec只定义了TX通道和RX通道中接收端Setup时间和Hold时间。很明显,即该Sp...
发表于 2018-06-13 15:46
?
573次阅读
什么是AGP?AGP插 槽标准 AGP是Accelerated Graphics Port(图形加速...
发表于 2018-06-08 07:35
?
188次阅读
华硕解释说,典型挖矿主板在外接显卡的时候,都需要经过PCI-E x1、USB 3.0、SATA等各种...
发表于 2018-06-07 14:55
?
205次阅读
本视频概略性地介绍了Microchip模拟和接口产品的分类 。
发表于 2018-06-07 13:46
?
223次阅读
Microchip模拟与接口产品
发表于 2018-06-07 03:46
?
276次阅读
本视频将向您介绍Microchip全新的5V CAN-LIN入门工具包。该开发板装有全新的 dsPI...
发表于 2018-06-07 03:46
?
358次阅读
Struix?,新的传感器接口方案,为便携式医疗设备制造商提供所需的设计灵活性以创建独特的应用,同时...
发表于 2018-06-06 13:46
?
235次阅读
本视频介绍演示了Microchip 模拟和接口类别,包括热管理、运放、电机驱动、电源管理、混合信号、...
发表于 2018-06-06 13:46
?
340次阅读
4~20mA 是许多工业设施中的一种常用和广泛部署的传感器接口。从一个有线检测网络转换至凌力尔特的 ...
发表于 2018-06-06 13:46
?
391次阅读
本视频介绍演示了Microchip 模拟和接口类别,包括热管理、运放、电机驱动、电源管理、混合信号、...
发表于 2018-06-06 05:45
?
287次阅读
本视频介绍演示了Microchip 模拟和接口类别,包括热管理、运放、电机驱动、电源管理、混合信号、...
发表于 2018-06-06 02:45
?
512次阅读
本视频介绍了PIC16F157X产品系列的主要特性,包括多个16位PWM、集成模拟,以及用于串行、L...
发表于 2018-06-06 02:45
?
320次阅读
根据对IPhone 5各组件成本的研究发现,Lightning的ASP指数(平均销售价格)相较IPh...
发表于 2018-06-05 07:35
?
92次阅读
视频中所示为通过隔离CAN总线对机械臂进行触摸屏控制??刂破靼灏ˋDM3053信号与功率隔离CAN...
发表于 2018-06-04 13:47
?
228次阅读
在数据采集系统中隔离具有 SPI 接口的高分辨率高速 SAR ADC 会是一项挑战。同类竞争数字隔离...
发表于 2018-06-04 13:47
?
462次阅读
CPRI接口在传输用户界面定义了物理层layer1和数据链路层layer2两层协议。在物理层中,将上...
发表于 2018-06-04 03:55
?
99次阅读
本文将重点介绍各种标准接口,并揭示它们对不同嵌入式芯片厂商的区别所在。了解基本接口可帮助设计人员优先...
发表于 2018-06-04 03:38
?
386次阅读
随着数据宽带网络的迅猛发展,需要不断提高系统设备的业务容量。目前的趋势是采用高速串行通信技术,即采用...
发表于 2018-06-04 01:08
?
80次阅读
对于任何成功的RF设计,接收机和发射机内各级的接口是最重要的事情之一。如果电路各级之间的连接不当,谐...
发表于 2018-06-03 01:47
?
275次阅读
PEX6-COP是一个灵活的FPGA协处理器卡。它是带有FMC 输入输出??椴⑶壹闪薞irtex6...
发表于 2018-06-01 05:09
?
139次阅读
RS485总线标准是工业中(考勤,监控,数据采集系统)使用非常广泛的双向、平衡传输标准接口,支持多点...
发表于 2018-06-01 04:30
?
1023次阅读
熟悉IC设计业者表示,USB-PD控制芯片应用已经越来越广泛,USB Type-C由于具有正反都可插...
发表于 2018-05-31 09:07
?
166次阅读
要想满足USB Type-C和Quick Charge这两个标准,就需要一款能够根据用电设备的要求进...
发表于 2018-05-31 04:27
?
230次阅读
软件架构(software architecture)就是软件的基本结构。 合适的架构是软件成功的最...
发表于 2018-05-30 02:51
?
188次阅读
iOS和android 要不断开发新版本,很多服务端开发都是在以前接口的逻辑上进行修改。新的APP和...
发表于 2018-05-29 01:31
?
283次阅读
它的学名叫做“二分量视频接口”,俗称S端子,传输距离短 15米。S-Video连接规格是由日本人开发...
发表于 2018-05-28 08:41
?
682次阅读
据了解,这样一个智能化的云端应用开发运维平台可以做到自动化编程开发,运维管理和监控测试,为云端应用开...
发表于 2018-05-24 15:26
?
1061次阅读
AWorks对常用的硬件设备(LED、按键、蜂鸣器、数码管等等)进行了抽象,分别为每一类设备提供了通...
发表于 2018-05-24 09:44
?
1408次阅读
BIOS和操作系统兼容:SSD上电加载后,主机BIOS开始自检,会作为第一层软件和SSD进行交互:第...
发表于 2018-05-24 07:18
?
368次阅读
Altium Content团队很高兴地宣布,最新Infineon库现已发布。 4000多个Infi...
发表于 2018-05-24 07:17
?
317次阅读
本文首先介绍了华为PTN设备的相关概念,其次介绍了华为ptn910特点及接口类单板参数说明,最后介绍...
发表于 2018-05-23 09:43
?
719次阅读
MII,RMII,GMII接口详细解释 概述: MII (Media Independent Int...
发表于 2018-05-18 13:51
?
258次阅读
RJ45接口定义,平行线及交叉线的基础知识,Ethernet简介 IEEE 802标准给出了局域网(...
发表于 2018-05-18 13:42
?
423次阅读
而SPI方式采用4线制,使用CS、CLK、DataIn、DataOut进行数据通信。SD方式时的数据...
发表于 2018-05-18 08:46
?
818次阅读
本文首先介绍了RS232管脚定义与接口标准,其次介绍了两款RS232接口电路图,最后介绍了判断RS2...
发表于 2018-05-17 15:11
?
1527次阅读
大家好,又到了每日学习的时候了。今天我们来聊一聊总线接口。 一、I2C总线 I2C总线是PHLIPS...
发表于 2018-05-17 09:30
?
1344次阅读
现在的单片机有相当一部分还不支持SDIO,比如MSP430(据我所知,如果有支持的型号了还请及时告诉...
发表于 2018-05-14 02:31
?
591次阅读
USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可...
发表于 2018-05-11 16:12
?
434次阅读
方向盘转角传感器的输出为正交编码脉冲。正交编码脉冲包含两个脉冲序列,有变化的频率和四分之一周期(90...
发表于 2018-05-10 14:01
?
229次阅读
由于现代人们对于移动设备数据传输需求的提升,东芝M303 microSDXC UHS-I存储卡数据传...
发表于 2018-04-26 16:47
?
1803次阅读
手机与AUX接口连接,就可以把手机声音通过汽车音响外放,不紧可以用免提打电话用,还可以听手机上面的M...
发表于 2018-04-25 08:51
?
5007次阅读
随着人们生活水平的提高,很多家庭已经有了私家车。如果车上只有aux接口没有usb接口,想用优盘听歌,...
发表于 2018-04-24 10:31
?
4467次阅读
aux接口,就模拟音源设备的输入接口,一般是输入的单端信号(左、右声道),以区别数字输入的(opt—...
发表于 2018-04-24 10:10
?
793次阅读
本文首先介绍了端口的概念、分类及作用,其次介绍了接口的概念与显示器接口的类型,最后介绍了端口和接口区...
发表于 2018-04-23 16:54
?
1050次阅读
本文首先介绍了HDMI接口定义和分类,其次阐述了HDMI接口的针脚定义,最后介绍了VGA接口概念与V...
发表于 2018-04-23 16:37
?
1748次阅读
本文首先介绍了VGA接口原理和VGA功能用途,其次介绍了DVI接口的优点及DVI接口的标准,最后阐述...
发表于 2018-04-23 16:00
?
1460次阅读
本文首先介绍了HDMI接口的类型,其次介绍了使用HDMI接口的好处,最后介绍了HDMI接口的优势及适...
发表于 2018-04-23 10:52
?
818次阅读
本文首先介绍了HDMI的概念,其次介绍了HDMI接口四个特性与HDMI标识方法,最后介绍了HDMI接...
发表于 2018-04-23 10:17
?
1955次阅读
本文首先介绍了DP接口的概念与优势,其次介绍了HDMI优势与选购技巧,最后阐述了DP接口和HDMI的...
发表于 2018-04-23 09:19
?
1014次阅读
由于RS-485是从RS-422基础上发展而来的,所以RS-485许多电气规定与RS-422相仿。如...
发表于 2018-04-19 08:45
?
1128次阅读
本文开始介绍了rs485特点和RS485参数指标,其次阐述了rs485接口详解,最后分析了RS485...
发表于 2018-04-18 11:24
?
2276次阅读
PCIExpress总线是新一代的I/O局部总线标准,是取代PCI总线的革命性总线架构。PCI总线...
发表于 2018-04-11 16:00
?
223次阅读
SD模式多用于对SD卡读写速度要求较高的场合,SPI模式则是以牺牲读写速度换取更好的硬件接口兼容性。...
发表于 2018-04-08 11:48
?
163次阅读
X项目原CI系统由项目自行搭建,随着项目规模越来越大,现有系统呈现出诸多不便之处,为解决这些问题,项...
发表于 2018-04-05 18:14
?
671次阅读
随着微电子技术和计算机技术的发展,嵌入式技术得到广阔的发展,已成为现代工业控制、通信类和消费类产品发...
发表于 2018-04-01 11:58
?
705次阅读
由上述数据流向可见:连接两计算机COM口的数据线两头都是母头,且内部引脚进行了交叉。数据线连接的结果...
发表于 2018-03-30 16:13
?
1745次阅读
μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务小型的嵌入式操作系统,...
发表于 2018-03-30 14:15
?
148次阅读
多数的串行总线都基于主从结构,如果总线中包含了时钟信号线,那么,该时钟信号就由主机提供,而如果还包含...
发表于 2018-03-30 14:04
?
249次阅读
可以采用低速的双积分式A/D芯片,如ICL7135(国产型号5G7135)是4又1/2位,分辨率为1...
发表于 2018-03-27 10:30
?
225次阅读
电气连接点 一个特殊的EtherCAT特性使得所有通信同时通过内部I/O端子总线进行路由,然而,由...
发表于 2018-03-27 08:12
?
271次阅读
计算机语言分类有很多,如C、C++、C#、Java、Php、Python等等,她们有各自的特性及擅长...
发表于 2018-03-26 18:47
?
1730次阅读
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些...
发表于 2018-03-26 17:44
?
1580次阅读
接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其...
发表于 2018-03-26 17:32
?
1049次阅读
本文主要介绍了sata接口分几种_sata接口分类。SATA是SerialATA的缩写,即串行ATA...
发表于 2018-03-26 13:51
?
813次阅读
对于实时性强,并且信息交换量大的系统,只有采用并行通信方式,才能满足系统功能的要求。本节就实际应用的...
发表于 2018-03-24 10:22
?
276次阅读
硬盘接口结构主要分I/O 控制层和逻辑映射层。其中I/O 控制层包括与ARM 的物理接口, 实现对硬...
发表于 2018-03-24 10:16
?
219次阅读
X24128有三种封装形式:14-SOIC、16-SOIC和8-PDIP。VCC、Vss:为电源的正...
发表于 2018-03-23 14:47
?
210次阅读
东芝N502 SD卡可支持数码相机、数码摄像机的4K/8K视频录制及高速连拍
发表于 2018-03-19 14:55
?
395次阅读
PLC系统的通信接口应包括串行和并行通信接口(RS2232C/422A/423/485)、RIO通信...
发表于 2018-03-14 16:03
?
1581次阅读
本文开始阐述了type-c是什么接口以及Type-C的特点,其次说明了Type-C外观特点及主要功能...
发表于 2018-03-09 16:43
?
21112次阅读
由于局域网中的任意两台工作站相互访问时,网络连接速度都很缓慢,根据这一现象,笔者估计局域网网络中可能...
发表于 2018-03-06 11:49
?
1564次阅读
小形状系数可插拔双密度 (SFP-DD) 多源协议 (MSA) 集团非常高兴的宣布发布 SFP-DD...
发表于 2018-02-28 16:54
?
7241次阅读
评论