SD卡协议中文精编
SD卡协议中文精编
Document number:WTT-LKK-GBB-08921-EIGG-22986
一概述
1. SD总线模式下
CLK:时钟信号
CMD:双向命令和响应信号
DAT0-3:双向数据信号
VDD,VSS:电源和地信号
SD模式下允许有一个主机, 多个从机(即多个卡), 主机可以给从机分别地址. 主机发
命令有些命令是发送给指定的从机,有些命令可以以广播形式发送.
SD模式下可以选择总线宽度, 即选用几根DAT信号线,
可以在主机初始化后设置.
2. SD总线协议
SD模式下的命令和数据流都有一个开始位和结束位.
>命令: 是在CMD上传输的用于启动一个操作的比特流. 由主机发往从机, 可以是点对点也可以是广播的.
>响应: 是在CMD上传输的用于之前命令回答的比特流. 由从机发往主机.
>数据: 是在DAT上传输的比特流, 双向传输.
无响应模式 无数据模式
多块读操作模式
多块写操作模式
命令格式
响应格式
数据格式
SD卡上电后会自动初始化,通过给卡发送CMD0也可以复位卡.
二.SD卡命令描述.
1.广播命令:
给所有卡都发送, 某些命令需要响应.
2.点对点命令
给指定地址的卡发送, 需要响应.
SD卡系统有两种工作模式:
1. 卡识别模式.
主机上电复位后即处于此模式,它会在总线上等待卡.
卡复位后也处于此模式, 直到SEND_RCA(CMD3)命令到来.
2. 数据传输模式.
卡收到SEND_RCA(CMD3)命令后即进入此模式. 主机识别到卡后也进入此模式.
卡状态和工作模式对照表
1. 卡识别模式.
此模式下主机复位总线所有的卡, 验证工作电压, 询问卡的地址. 这个模式下所有数据的传输都是只通过CMD线来
完成.
1) 卡的复位.
当卡上电或收到GO_IDLE_STATE (CMD0)命令后, 卡即进入Idle State状态. 此时卡将其RCA设为0, 相关寄存器设为传输稳定的最优模式.
2) 工作电压验证
每个卡的最高和最低工作电压存储在OCR. 只有当电压比配时, CID和CSD的数据才能正常传输给主机.
SD_SEND_OP_COND (ACMD41)命令用来判断卡的工作电压是否符合, 如果不符合的话, 卡应该放弃总线操作, 进入Inactive State状态. 在发送SD_SEND_OP_COND (ACMD41)命令前记得要首先发送APP_CMD (CMD55).
卡的状态变换图.
ACMD41命令响应中的BUSY位也用于卡表示其还没准备好, 主机此时应重发ACMD41命令,直到卡准备好.
主机在这个阶段的ACMD41中不允许改变工作电压, 如果确实想改变的话, 应该先发送CMD0, 然后再发送改变后的ACMD41.
GO_INACTIVE_STATE (CMD15)命令用于使指定地址的卡进入Inactive State模式.
3) 卡识别过程.
ALL_SEND_CID (CMD2)命令用于获取卡的CID信息, 如果卡处于Ready State, 它就会在CMD线上传送它的CID信息,
然后进入Identification State模式. 紧接着发送CMD3
(SEND_RELATIVE_ADDR)命令, 用于设置卡新的地址. 卡收到新的地址后进入Stand-by State模式.
2. 数据传输模式.
数据传输模式下卡的状态转变图
进入数据传输模式后, 主机先不停的发送SEND_CSD
(CMD9)命令获取卡的CSD信息.
SET_DSR (CMD4)用于设置卡的DSR寄存器, 包括数据总线宽度, 总线上卡的数目, 总线频率, 当设置成功后,
卡的工作频率也随之改变. 此步操作是可选的.
CMD7命令用于使指定地址的卡进入传输模式, 任何指定时刻只能有一个卡处于传输模式.
传输模式下所有的数据传输都是点对点的, 并且所有有地址的命令都需要有响应.
.所有读命令都可以由CMD12命令停止,之后卡进入Transfer State. 读命令包括单块读(CMD17), 多块读(CMD18), 发送写保护(CMD30), 发送scr(ACMD51)和读模式一般命令(CMD56).
.所有写命令都可以由CMD12命令停止. 写命令包括单块读(CMD24), 多块读(CMD25), 写CID(CMD26), 写CSD(CMD27),锁和解锁命令(CMD42)和写模式一般命令(CMD56).
.当写命令传输完成后, 卡进入Programming State(传输成功)或Transfer State(传输失败)
.如果一个卡写操作被停止,但其前面数据的CRC和块长度正确, 数据还是会被写入.
.卡要提供写缓冲, 如果写缓冲已满并且卡处于Programming State, DAT0保持低BUSY.
.写CID,CSD, 写保护, 擦除命令没有缓冲, 当这些命令没完时, 不应发送其他的数据传输命令.
.参数设置命令在卡被编程时是不允许发送的, 这些命令包括设置块长度(CMD16), 擦除块起始(CMD32)和擦除块结束(CMD33).
.当卡正编程时读命令是禁止的.
.用CMD7使另一个卡进入Transfer State不会终止当前卡的编程和擦除, 当前卡会进入Disconnect State并且释放DAT线.
. Disconnect State模式的卡可通过CMD7重新被选中,此时卡进入Programming State并且使能busy信号.
. CMD0或CMD15会终止卡的编程操作, 造成数据混乱,
此操作应禁止.
1) 总线宽度选择命令
ACMD6命令用于选择总线宽度, 此命令只有在Transfer
State有效. 应在CMD7命令后使用.
2) 块读命令
块是数据传输的最小单位, 在CSD (READ_BL_LEN)中定义,
SD卡为固定的512B.
每个块传输的后面都跟着一个CRC校验.
CMD17(READ_SINGLE_BLOCK)用于传输单个块,传输完之后,卡进入Transfer State. CMD18 (READ_MULTIPLE_BLOCK)
用于多个块的传输,直到收到一个CMD12命令.
3) 块写命令
与块读命令类似, 每个块传输的后面都跟着一个CRC校验.卡写数据时会进行CRC校验.
多块写比重复的单块写更能提高效率.
如果CSD中的WRITE_BLK_MISALIGN没设置, 并且发送的数据不是块对齐的, 卡会设置状态寄存器中的ADDRESS_ERROR位,并且进入Receive-data-State状态等待停止命令.此时写操作也会停止, 并且卡会设置其的WP_VIOLATION位.
如果写缓冲满的话, 卡会停止接受WRITE_BLOCK命令.
此时主机应发送SEND_STATUS (CMD13)命令, 卡返回数据的READY_FOR_DATA位标志卡是否准备好接受新的数据.
在多块写操作中通过事先发送ACMD23命令可提高写速度.
ACMD23用于定义接下来要写数据的块的数目. 每次多块写操作后, 这个值又被设为默认的1.
ACMD22会使卡返回写成功的块数目.
4) 擦除命令
擦除命令的顺序是:
ERASE_WR_BLK_START(CMD32),ERASE_WR_BLK_END(CMD33)and ERASE (CMD38).
如果(CMD38或(CMD32, 33)接收到出错信息, 卡会设置状
态寄存器中的ERASE_SEQ_ERROR 位并且重新等待新的命令时序.
如果接收到时序错误命令, 卡会设置其ERASE_RESET位并且重新等待新的命令时序.
5) 写保护管理
三种机制:
-.写保护物理开关
-.卡内部写保护
通过设置CSD中的WP_GRP_ENABLE位和WP_GRP_SIZE位,
SET_WRITE_PROT和CLR_WRITE_PROT命令用来设置和清除保护机制.
-. 密码保护.
三. 时钟控制
如果主机要发送1K的数据, 但是主机缓冲区只有512B,
那么主机可以在发送完前512B后, 可以先停止时钟, 然后把后512B填充入缓冲区, 再启动时钟, 这样卡并不会检测要两次发送之间的间隔, 认为其是一次完整的数据发送过程.
四 CRC校验
CRC7用于所有的命令, 除R3以外的响应, 以及CID和CSD寄存器.
CRC16用于数据块的校验
五. 错误类型.
1. CRC错误和命令非法错误
命令的CRC校验出错, 卡设置其状态寄存器的COM_CRC_ERROR位.
非法命令错误, 卡设置其状态寄存器的ILLEGAL_COMMAND位.非法命令包括:不支持的命令,未定义的命令以及当前状态不支持的命令.
2. 读,写和擦除超时.
卡应该在指定的时间内完成一个命令或返回移动的错误信息. 如果在指定的超时时间内主机收不到响应, 应认为卡停止工作, 应重新复位卡.
六 命令
1. 命令类型:
- bc不需要响应的广播命令.
- bcr需要响应的广播命令. 每个卡都会独立的接收命令和发送响应.
- ac点对点命令, DAT线上没数据
- adtc点对点命令, DAT线上有数据
SD卡的结构原理和基本读写操作方式
SD卡的结构原理和基本读写操作方式
摘要:本文首先介绍了SD Memory Card ( Secure D ig ita l
MemoryCard)的基本结构和原理,着重对SD 卡的命令字和操作流程进行介绍。接着研究了三星32位嵌入式处理器S3C2410与SD 卡硬件接口电路及其对SD卡的基本读写操作方式。
1 引言
SD卡( Secure DigitalMemory Card)是一种基于Flash的新一代存储器,它着重数据存储的安全、容量和性能,是许多便携式电子产品如数码相机、手提电话, PDA 等理想的外部存储介质。
2 SD的基本概念
2. 1 SD的通信协议
SD卡系统可以在两种通信协议下工作: SD协议和SP I协议。用户可以在硬件初始化时自由选择SD卡系统的通信协议。对于特定的硬件电路,用户只需使用一种通信协议即可。
本文根据笔者的硬件,仅讨论最常用的SD协议。
2. 2 SD数据传输方式
SD支持两种数据传输方式: 1 - bit方式(标准总线)和4- bit方式(宽总线) 。在1 - bit方式下,数据仅仅在数据线0(DAT[ 0 ] ) 上传输。在4 - bit方式下, 数据在4 根数据线(DAT[ 3: 0 ] )上同时传输。在4 - bit数据传输方式下,最高的数据传输速率可达100Mb / sec。表1列出了在两种方式下SD接口信号的定义。
上电后, 缺省状态下系统工作于1 - bit方式。在SD卡处于传输状态时,
用户可以自由地更改为1 - bit或4 - bit方式。
2. 3 SD 通信原理
SD总线是一个星型的总线结构,系统中允许有一个主控器,最多可达十个从设备( SD卡) 。在系统初始化时,主控器分别为每一个设备分配一个设备地址,此后主控器就可以根据此设备地址独立操作该设备。
SD总线通信是基于命令和数据位流的,每一个数据流都包括一个起始位和一个结束位。
tf卡通信协议
1 14 竭诚为您提供优质文档/双击可除
tf卡通信协议
篇一:sd卡和tF卡简介
sd卡和tF卡简介
tF卡
全名:transFlash,原名microsdcard。
由摩托罗拉与sandisk共同研发,在20xx年推出。是一种超小型卡(11*15*1mm),约为sd卡的1/4,可以算目前最小的储存卡了。tF卡可经sd卡转换器后,当sd卡使用。利用适配器可以在使用sd作为存储介质的设备上使用。transFlash主要是为照相手机拍摄大幅图像以及能够下载较大的视频片段而开发研制的。transFlash卡可以用来储存个人数据,例如数字照片、mp3、游戏及用于手机的应用和个人数据等,还内设置版权保护管理系统,让下载的音乐、影像及游戏受保护;未来推出的新型transFlash还备有加密功能,保护个人数据、财政纪录及健康医疗文件。体积小巧的transFlash让制造商无须顾虑电话体积即可采用此设
2 14 计,而另一项弹性运用是可以让供货商在交货前随时按客户不同需求做替换,这个优点是嵌入式闪存所没有的。
tF卡引脚定义:
tF卡(sd模式):1-data2,2-data3,3-cmd,4-vdd,5-clk,6-vss,7-data0,8-data1tF卡(spi模式):1-rsv,2-cs,3-di,4-vdd,5-sclk,6-vss,7-do,8-rsv
sd卡(securedigitalmemorycard)
安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助理(外语缩写pda)和多媒体播放器等。sd卡是一种基于半导体闪存工艺的存储卡,1999年由日本松下主导概念,参与者东芝和美国sandisk公司进行实质研发而完成。2000年这几家公司发起成立了sd协会(securedigitalassociation简称sda),阵容强大,吸引了大量厂商参加。其中包括ibm,microsoft,motorola,nec、samsung等。在这些领导厂商的推动下,sd卡已成为目前消费数码设备中应用最广泛的一种存储卡。sd卡具有大容量、高性能、安全等多种特点的多功能存储卡,它比mmc卡多了一个进行数据著作权保护的暗号认证功能(sdmi规格),读写速度比mmc卡要快4倍,达2m/秒。
SD卡知识点
SD卡
1. SD卡 class2、class4、class6 ,class10怎么区分?
答:Class 2:能满足观看普通MPEG4 MPEG2 的电影、SDTV、数码摄像机拍摄;
Class 4:可以流畅播放高清电视(HDTV),数码相机连拍等需求;
Class 6:满足单反相机连拍和专业设备的使用要求;
Class10: 满足专业摄影设备
2. SD卡的结构(几种)?
答:1.单独SD卡:pcba板+flash芯片+主控芯片+外壳+贴纸+包装(小白盒、吸塑)
2.TF卡加转接卡:TF卡+转接卡+贴纸+包装(小白盒、吸塑)
Inand:闪迪推出的一种嵌入式闪存芯片
3.(速度)SD卡的基本指标?
答:Class 2 :2MB/s
Class 4:4-5MB/s
Class 6: 6MB/s
Class10: 写速10MB/S以上,读速25MB/S
GPS读速一般不低于10MB/S, 高清数码相机写速8MB/S以上
4.金手指的厚度?
答:渡金:3μm,5μm,7μm,9μm;渡镍:160μm
5. 目前市面上的SD卡品牌有多少种?
答:Sandisk(闪迪) kingston(金士顿) panasonic(松下) kingmax(胜创)
Sony(索尼) Transcend(创见) Adata(威刚) apacer(宇瞻)Toshiba (东芝)
6. SD卡常见质量问题?
答:卡片过热、金手指脱落、外壳破裂、识别不到卡。
7.SD卡flash有多少种品牌?
答:三星(SANSUNG)、现代(HY)、英特尔(Intel)、镁光、东芝(Toshiba)
ST. Sandisk
8. 生产SD卡目前流行的方案?
答: SMI、安国、兴邦、建荣,威雅
9. 电流可分哪种电流?
答:静态、写入、读取
10. 怎么样匹配SD卡,才是最优化组合?
半导体协议分类
半导体协议分类
半导体协议是指在半导体器件之间进行数据传输时所遵循的规则和约定。根据不同的传输方式和应用场景,半导体协议可以分为多个分类。本文将对常见的几种半导体协议进行介绍和分类。
一、通用协议
通用协议是指广泛应用于各种半导体器件之间的协议。其中最常见的是I2C(Inter-Integrated Circuit)协议和SPI(Serial
Peripheral Interface)协议。
1. I2C协议
I2C协议是一种串行通信协议,广泛应用于各种数字集成电路之间的数据传输。它使用两根线路进行数据传输,即SDA线和SCL线。其中,SDA线用于传输数据,而SCL线用于传输时钟信号。I2C协议具有简单、灵活、可扩展的特点,适用于连接多个设备的复杂系统。
2. SPI协议
SPI协议也是一种串行通信协议,用于在微控制器和外围设备之间传输数据。SPI协议需要使用四根线路,包括一个主设备和一个或多个从设备。主设备通过控制时钟信号和数据线来与从设备进行通信。SPI协议具有高速传输、灵活性强的特点,适用于对传输速度要求较高的应用场景。
二、存储协议
存储协议是指用于半导体存储器之间进行数据传输的协议。其中最常见的是SD卡协议和eMMC协议。
1. SD卡协议
SD卡协议是一种用于存储数据的协议,广泛应用于数码相机、移动电话等设备中。SD卡协议定义了卡片的物理接口和命令传输规范,支持高速数据传输和数据保护功能。SD卡协议的优点是易于使用和广泛兼容性,适用于大容量存储和高速数据传输的需求。
2. eMMC协议
eMMC协议是一种嵌入式多媒体卡的协议,常用于手机、平板电脑等设备中。eMMC协议定义了存储芯片和主控芯片之间的接口和通信规范,支持高速数据传输和可靠性保证。eMMC协议具有体积小、功耗低、存储容量大的特点,适用于对存储性能和体积要求较高的应用场景。
三、通信协议
通信协议是指用于半导体通信器件之间进行数据传输的协议。其中最常见的是CAN(Controller Area Network)协议和LIN(Local
SD卡物理层规范简化版
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:38730925
第 1 页 共 21 页 SD存储卡规范
第一部分:物理层规范V1.01的简化版本
1.概述.................................................................................................................. 2
2.系统特性.......................................................................................................... 2
3.SD存储卡的系统概念 ................................................................................... 3
3.1 总线拓扑结构......................................................................................... 4
3.2 总线协议................................................................................................. 6
3.3 SD存储卡的引脚与寄存器 ................................................................ 10
3.4 与多媒体卡兼容................................................................................... 11
SD卡手册——精选推荐
1 SD卡Secure Digital Card基于FLASH存储单元的卡它是专为安全性高、容量大、高
性能目的设计的。 SD框图如图1-1所示 图 1-1 SD卡不但有大容量存储单元还集成
有智能控制器来实现接口协议管理、安全性能、版权保护盒ECC校验等。 特点 高达2GB容量、SD卡协议兼容、SPI模式控制、版权保护、密码保护 SD卡通讯方式 SD 6线通讯clk、cmd、D0—3 数据出错保护传送 单块、多块数据传送 SPI 3线串行总
线clk、DI、DO 可选的非数据保护传送 单块、多块数据传送 读写次数性能 SD卡
数据读次数不受限无限次 每扇区写100000次 SD Mode: SD模式下多卡的识别SD卡
模式是单主机多从机模式clk和power线共用识别过程如下主机分别使能各个卡自己的cmd线各个卡的CID寄存器是事先编程好的它是一个用在卡识别过程中唯一数字
主机能使用READ_CID命令读取CID寄存器的值主机只能读而不能写。 内部上拉的DAT3脚可以用来进行卡插入的侦测在数据传输过程中可以将上拉电阻断开使用
ACMD42。 Card Status存储在一个32bit的寄存器中它被当做命令应答的数据区来发
送它包含卡当前的状态及上一个命令的完成代码可以通过SEND_STATUS命令读取。 SD_Status存储在512bit的寄存器中当发送命令SD_STATUSACMD13时它被当
做一块数据块来发送。 存储空间阵列分区如图1-2所示 数据传输的基本单元式byte
面向块的命令 2 Block块大小就是发送块传输命令时传输的数据字节数大小可变也
可以固定块的大小及编程存储在CSD寄存器中。 图 1-2 一次擦除单元的粒度一般
与面向块命令不同 Sector这是和擦除命令有关的单元每个设备扇区的大小事固定的扇区的大小信息存储在CSD寄存器中。 具有写保护的卡 WP Group拥有独立写保
护的最小单元Its size is the number of groups which will be write protected by one bit每
sdio协议
sdio协议
SDIO协议。
SDIO(Secure Digital Input Output)是一种用于SD卡的扩展接口标准,它允许SD卡在不仅可以存储数据的同时,还可以进行输入输出操作。SDIO协议在嵌入式系统和移动设备中得到广泛应用,为设备提供了更多的功能和灵活性。
SDIO协议的设计初衷是为了使SD卡能够支持更多的功能,比如无线通信、音频、视频、GPS等。通过SDIO接口,SD卡可以像一个外部设备一样与主控制器进行通信,这为设备的功能扩展提供了便利。
SDIO协议在硬件接口上与SD卡的物理接口兼容,但在软件接口上有所不同。SDIO协议定义了一套命令和数据传输的规范,使得SD卡可以通过SDIO接口进行数据的输入输出操作。这些命令包括初始化、读写数据、中断处理等,通过这些命令,主控制器可以与SDIO设备进行通信,并实现各种功能。
在SDIO协议中,数据的传输是通过SDIO总线进行的。SDIO总线包括一个时钟信号线和一个数据信号线,通过这两根信号线,SDIO设备可以与主控制器进行同步通信。在数据传输过程中,主控制器通过时钟信号线控制数据的传输速度,而数据信号线则用于传输实际的数据。
SDIO协议还定义了一套中断处理机制,通过中断,SDIO设备可以向主控制器发出各种事件通知,比如数据传输完成、错误发生等。这样,主控制器就可以及时处理这些事件,保证数据传输的可靠性和稳定性。
总的来说,SDIO协议为SD卡的功能扩展提供了良好的支持,使得SD卡不仅可以作为存储介质使用,还可以作为外部设备与主控制器进行通信。在嵌入式系统和移动设备中,SDIO协议为设备的功能扩展提供了便利,为用户带来了更好的使用体验。 综上所述,SDIO协议是一种用于SD卡的扩展接口标准,它为SD卡的功能扩展提供了良好的支持,使得SD卡可以在嵌入式系统和移动设备中发挥更大的作用。随着移动设备和嵌入式系统的不断发展,SDIO协议必将发挥越来越重要的作用,为设备的功能扩展和性能提升提供更多可能性。
v2.0版SD卡协议中命令CMD8的使用详解
V2.0版SD卡在SPI模式下使用CMD8的操作
使用STM32学习板操作SD卡时,遇到了初始化中检测SD卡类型的问题,查看学习板带的源程序发现使用了CMD8命令进行判断SD卡的类型,在网上查了好久查不到有关SDV2.0中CMD8命令的详细描述,于是自己看了英文版的SDV2.0协议(2006),找出了CMD8命令的章节,翻译了一下,然后加上一些自己的理解,构成了这篇说明。
首先简单说一下SD卡的初始化过程,这个过程很多文章都有叙述,此处简单摘自其他文章如下:
(1).首先延时74CLK,然后发送CMD0命令,得到返回值0X01;
(2).然后进入卡类型检验。为了检验卡的类型,首先发送只有V2.0版的SD卡才具有的命令CMD8,然后检测返回值:
返回值若是0X01,则表示此卡为V2.0卡,然后再发送循环命令CMD55+ACMD41,直到返回0x00,确定SD2.0卡初始化成功;然后再发送CMD58命令,接收返回的OCR寄存器的数据,其中第31位用于判断V2.0的卡是否为SDHC类型。
若返回值不为0X01,则进一步判断是V1.0卡还是MMC卡:先发送循环命令CMD55+ACMD41进行复位,如果复位不成功则考虑是MMC卡,如果复位成功,则为V1.0卡。在复位不成功的情况下,再使用CMD1进行复位,如果复位成功,则表明是MMC卡,如果复位不成功,则表示是无法识别的卡。
从上面的初始化过程可以看出主要涉及到4个特殊的命令:CMD8、CMD55、CMD41、CMD58。对于CMD55和CMD41的讲解,有很多文章都有,不多解释,此复位命令的返回值和CMD1的返回值相同,成功复位时返回0X00;对于CMD58,其命令码格式是标准格式,其中数据填充0即可,CRC也可省略,只要最后加上停止位‘1’即可,不作详解;其返回值为R3类型,首先接收到一个字节应该为0X00,表示SD卡响应命令成功,然后接收4字节的OCR寄存器值;OCR寄存器的第30位(CCS)指示了卡的类型是否为SDHC,此位为1则为SDHC,为0则为SDSC;
sd协议基本概念 -回复
sd协议基本概念 -回复
什么是SD协议?
SD协议(Secure Digital Protocol)是一种用于存储设备的通信协议,主要用于SD卡和相关设备之间的数据传输和控制。SD协议定义了存储设备的物理接口和传输协议,以确保数据的安全和可靠性。SD协议具有广泛的应用范围,包括数字相机、手机、平板电脑等便携式设备。
SD协议基本结构
SD协议由多个层次构成,每个层次负责不同的功能。下面将逐步介绍SD协议的基本结构。
1. 物理层(Physical Layer)
物理层是SD协议的最底层,负责定义SD卡的物理接口和信号传输方式。SD卡通常采用9针接口,其中7针用于数据传输,另外的两针用于电源和地线。物理层规定了每个针脚的具体功能和信号的电压范围。
2. 数据链路层(Data Link Layer)
数据链路层负责将物理层发送的bit流进行错误检测和纠正,并将数据分割成固定大小的数据块。数据链路层还负责管理数据传输的流程控制和读写操作的顺序。
3. 逻辑层(Logical Layer)
逻辑层是SD协议的核心,它定义了对存储设备的文件系统和数据访问方法。逻辑层将存储设备划分为多个逻辑单元,每个逻辑单元称为一个“逻辑块”。逻辑层负责管理逻辑块的分配、索引和访问权限等。
4. 文件系统层(File System Layer) 文件系统层负责管理存储设备上的文件和目录。它定义了文件的存储格式、目录的组织结构和文件的访问权限等。文件系统层通常采用FAT(文件分配表)或exFAT(扩展文件分配表)格式。
SD协议的操作流程
SD协议的操作流程包括初始化、读写数据和关闭等多个步骤。下面将逐个步骤详细介绍。
1. 初始化(Initialization)
在使用SD卡之前,需要对SD卡进行初始化。初始化包括发送命令和参数,建立与SD卡的连接,并进行资源的分配和配置。初始化的目的是为了确保存储设备能够正常工作。
2. 读取数据(Read Data)
SD卡初始化流程
SD卡初始化流程
SD卡SDIO接⼝读写流程(SD2.0协议)
⼀、简述SD卡(Secure Digital Memory Card)是⼀种基于半导体快闪记忆器的新⼀代记忆设备,SD卡具有⼤容量、⾼性能、读写速度快、安全等多种特点,它被⼴泛地于便携式装置上使⽤。SD存储卡的技术是从MMC卡格式上发展⽽来,在兼容SD存储卡基础上发展了SDIO( SD Input/ Output)卡,此兼容性包括机械,电⼦,电⼒,信号和软件,通常将SD、SDIO卡俗称SD存储卡。
SD卡作为⼀种新型的存储设备,具有以下特点:
●⾼存储容量,最常⽤的容量:8GB、16GB、32GB、128GB、256GB等。
●内置加密技术,适应基于SDMI协议的著作版权保护功能。
●⾼速数据传送;最⼤读写速率为100MB/s。
●体积轻⼩,便于携带,具有很强的抗冲击能⼒。
随着技术的发展,SD卡演变出了体积⼤⼤缩⼩的Mini SD卡和Micro SD卡,其中MicroSD卡是⽬前应⽤最为⼴泛的SD卡,特别是在⼿机、MP3\MP4、相机中。本⽂是对对SDIO接⼝的SD卡的初始化及数据读写中设置到的问题进⾏讲解。主要包括SD 卡通讯接⼝、命令及应答格式、初始化配置流程、数据读写流程等⽅⾯内容的讲解,具体包括以下内容:SD卡通讯接⼝:SDIO接⼝和SPI接⼝
SD卡命令格式:命令及应答类型、格式、字段含义
SD卡初始化流程:命令发送流程、命令含义
SD卡数据读写:数据传输格式、命令含义
⼆、SD卡通讯接⼝Micro SD卡具有8个引脚结构如图1所⽰。
图1 Micro SD卡接⼝Micro SD卡⽀持SPI和SDIO两种⼯作模式,两种模式下引脚的功能是不同的,SDIO 和SPI模式下的引脚功能如表1所⽰。
表1 SD卡接⼝引脚功能
在SDIO模式下,采⽤4根数据线,并且命令及其应答接收使⽤单独的CMD线;在SPI 模式下,数据线输⼊和数据输出都只有⼀根数据线;因此,相对具有DTA0-DTA4 四根数据线的SDIO模式,SPI模式在牺牲了⼀定通讯速度,但是提⾼了兼容性,使⼀些不具有SDIO 接⼝的微处理能够通过SPI进⾏SD卡数据的读写。SDIO和SPI两种模式下,使⽤的命令⼤致相同,但是在⼀些细节上有所不同,具体细节可参考SDIO或者SD协议⼿册。
