sd协议(中文版)
sd卡协议书

sd卡协议书SD卡协议书写1000字一、协议目的本协议的目的是为了规范SD卡的使用和管理,确保SD卡的稳定性、安全性和可靠性,提高SD卡的使用效率和数据传输速度,促进SD卡的广泛应用和开发。
二、协议范围本协议适用于所有使用以及管理SD卡的相关机构和个人,包括SD卡生产商、SD卡供应商、SD卡使用者等。
三、基本原则1. 合法合规:所有使用和管理SD卡的行为必须遵守国家相关法律法规和政策规定,不得违反道义和伦理原则;2. 公正公平:SD卡的分配和管理必须公正和公平,不得存在任何不当行为和偏袒现象;3. 安全可靠:SD卡的使用和管理必须确保数据安全和可靠性,不得有任何破坏数据和泄露数据的行为;4. 高效便捷:SD卡的使用和管理应该遵循高效和便捷原则,提高数据传输速度和操作效率;5. 技术先进:SD卡的使用和管理应该采用先进的技术手段,推动SD卡的研发和创新。
四、协议内容1. SD卡标准:所有SD卡的制造和生产必须符合国际标准,包括物理尺寸、电气特性、通信协议等方面;2. SD卡分配:SD卡的分配必须按照需求和使用规模进行合理分配,不得浪费资源和滥用权限;3. SD卡管理:SD卡的管理包括存储空间管理、文件管理和权限管理等方面,需要建立相应的管理机制和流程;4. SD卡使用:SD卡的使用必须符合标准和规范,不得进行非法操作和损害SD卡本身的行为;5. SD卡维护:SD卡的维护包括SD卡的清洁、数据备份、灾备措施和修复等方面,需要建立相应的维护计划和措施;6. SD卡安全:SD卡的安全是重要的,所有SD卡的使用和管理必须加强数据加密、访问控制和防病毒等安全措施;7. SD卡更新:当新的SD卡标准和技术出现时,需要及时更新SD卡的标准和方案,推动SD卡的技术迭代和智能化发展。
五、协议执行1. SD卡制造商、供应商和用户必须严格执行本协议,确保SD卡的使用和管理质量;2. 相关机构和部门应该加强协议的宣传和培训,提高SD卡的使用和管理水平;3. 对于违反本协议的行为,应该进行严肃处理和追责,保护SD卡的合法权益。
sdio接口协议中文版

sdio接口协议中文版SDIO接口协议中文版双方的基本信息:甲方:(以下简称“甲方”)地址:电话:传真:邮箱:乙方:(以下简称“乙方”)地址:电话:传真:邮箱:各方身份:甲方为SDIO接口提供方,拥有SDIO接口的所有权及相关技术和知识产权。
乙方为SDIO接口使用方,有权在甲方授权的范围内使用SDIO接口,并享有相应的使用权利。
各方权利:甲方权利:1.对SDIO接口进行任何形式的修改、升级、维修和改进;2.授权乙方在一定范围内使用SDIO接口,并提供必要的技术支持和服务;3.对乙方行使知识产权保护的权利。
乙方权利:1.在授权范围内使用SDIO接口;2.在甲方授权的范围内对SDIO接口进行修改和升级。
各方义务:甲方义务:1.提供SDIO接口及其相关技术和知识产权;2.授权乙方在一定范围内使用SDIO接口,并提供必要的技术支持和服务;3.保护SDIO接口及其相关技术和知识产权。
乙方义务:1.在授权范围内使用SDIO接口;2.保护SDIO接口及其相关技术和知识产权;3.按合同约定支付费用。
履行方式:SDIO接口使用方乙方向SDIO接口提供方甲方提出需求,甲方按照乙方的要求进行授权和授权限制,乙方遵守相关规定并按照合同约定支付费用。
期限:本协议期限为1年,期满后根据双方协商确定是否继续延续。
违约责任:任何一方违反本协议的规定,均应承担相应的违约责任。
需遵守中国相关法律法规:双方应遵守中国的法律法规,本协议的签署、履行和终止及与本协议有关的所有事项均应符合中国法律法规的规定。
其它:凡因本协议引起的一切争议均应协商解决,如果协商不成,应提交中国国际经济贸易仲裁委员会进行仲裁。
本协议的各项条款是符合法律要求的,如有需要,双方可书面签署补充协议。
sd协议3.0

竭诚为您提供优质文档/双击可除sd协议3.0篇一:sdio协议简介sdio卡sdio卡是在sd内存卡接口的基础上发展起来的接口,sdio接口兼容以前的sd内存卡,并且可以连接sdio接口的设备,目前根据sdio协议的spec,sdio接口支持的设备总类有蓝牙,网卡,电视卡等。
sdio协议是由sd卡的协议演化升级而来的,很多地方保留了sd卡的读写协议,同时sdio协议又在sd卡协议之上添加了cmd52和cmd53命令。
由于这个,sdio和sd卡规范间的一个重要区别是增加了低速标准,低速卡的目标应用是以最小的硬件开始来支持低速i/o能力。
低速卡支持类似调制解调器,条形码扫描仪和gps接收器等应用。
高速卡支持网卡,电视卡还有“组合”卡等,组合卡指的是存储器+sdio。
sdio和sd卡的spec间的又一个重要区别是增加了低速标准。
sdio卡只需要spi和1位sd传输模式。
低速卡的目标应用是以最小的硬件开支来支持低速i/o能力,低速卡支持类似modem,条形扫描仪和gps接收器等应用。
对组合卡来说,全速和4bit操作对卡内存储器和sdio部分都是强制要求的。
在非组合卡的sdio设备里,其最高速度要只有达到25m,而组合卡的最高速度同sd卡的最高速度一样,要高于25m。
sdio总线sdio总线和usb总线类似,sdio总线也有两端,其中一端是主机(host)端,另一端是设备端(deVice),采用host-deVice这样的设计是为了简化deVice的设计,所有的通信都是由host端发出命令开始的。
在deVice端只要能解溪host的命令,就可以同host进行通信了。
sdio的host可以连接多个deVice,如下图所示:这个是同sd的总线一样的,其中有如下的几种信号1.clk信号:host给deVice的时钟信号.2.cmd信号:双向的信号,用于传送命令和反应。
3.dat0-dat3信号:四条用于传送的数据线。
SD卡SPI读写中文资料

7S P I模式本文是小弟自己翻译的(处女作哦~~~~~),难免有不妥之处,望交流指教!联系方式 QQ:286225453 Email:ioro55555@7.1介绍SPI模式SPI模式由二次传递协议组成,这个协议由Flash(基于SD卡)提供。
本模式是SD卡协议的子协议,目的是用SPI信道通讯。
SPI模式在SD卡上电后第一个复位指令(CMD0)执行后被选择,并且在接通电源时不能改变。
SPI标准定义7.2 SPI总线SD卡信道由指令和数据位(起始位和结束位)组成,SPI信道由字节定向。
每一个指令或数据块由8位的字节和CS标志构成。
类似SD卡协议, SPI通讯由指令、响应和数据组成。
全部的主机与SD卡之间的通信由主机控制。
主机执行每一跟CS标志为低的总线。
SPI模式与SD模式的响应特性有以下三方面不同∶1、被选择的卡始终对指令作出反应。
2、一个附加的(8BIT)响应产生。
3、在SD卡遇到数据检索问题时,它会作出错误反应,而不是像在SD模式中一样执行一次空操作。
除命令响应之外,每一个数据块在写操作期间会作出专门的信息响应标志反应发送给SD卡。
数据块可以大到一个扇区小到一个字节。
读/写操作由CSD(指令信号译码器)寄存器操作。
7.2.1模式选择SD卡在上电后自动SD模式。
如果CS标志在接受复位指令(CMD0)期间为低,它将进入SPI模式并且处于空闲状态。
如果SD卡识别到需要保持SD模式,它不会对指令作出任何反应并且保持在SD模式中。
如果需要SPI模式,SD卡将转到SPI模式并且进行SPI模式R1响应。
回到SD模式的必须重新上电。
在SPI 模式下,SD卡遵守部分协议系统。
支持SPI模式的SD卡指令始终有效。
7.2.2总线传送保护SPI模式每一个SD卡在总线上的数据传输由CRC(循环冗余码校验)保护。
在SPI模式, SD卡提供一种非保护模式(起动系统,建立可靠的数据联系来排除硬件或固件需要执行的CRC(循环冗余码校验)生成并且核验操作)。
SD卡协议描述

上周看了卡的识别模式后,现在看看卡的数据传输模式,这是最重要的模式,勿庸置疑。
因为一些卡可能有时钟限制,fpp必须保持在fod,直到CSD寄存器被host读取。
host发出SEND_CSD(CMD9)来得到一些卡的专用数据,比如block length等等。
CMD7可以将卡置在传输模式。
只有一个卡可以在一个时间内在这个状态。
如果一个之前的卡在这个状态,那么与host的连接将会释放,并且回到stand-by 模式,当CMD7被发出保留相关卡地址0x0000,所有的卡传输都回到stand-by 状态。
这个可以用来识别新插入卡,并且不会重置以及注册的卡。
以及有RCA的卡,不需要对识别命令相应。
*取消选择发生在一个特定的卡在重试CMD7的时候,发现RCA不匹配。
在另外一个卡和CMD线通用的时候,会自动发生。
因此,在SD卡系统中,系统需要负责做二选其一的事情。
-初始化后,通过公用CMD线工作,在这个情况下,取消选择会自动发生-有意识去取消选择,如果CMD线是分开的所有的数据通信在数据传输模式都是点对点的。
所有的命令都会有个在CMD线上的相应。
下面我们看下卡里的命令。
1 停止命令CMD12,能够忽略所有的读命令在任何时候,数据传输会中止,并且卡会返回到传输状态,读命令能够阻止块读CMD17,多块读CMD18,发送写保护CMD30,发送SCR ACMD51,和general命令在读模式中CMD56。
2 停止命令CMD12,能够中止所有的数据写命令在任何时候。
写命令必须在取消选择CMD7之前停止。
写命令被块写CMD24、CMD25,写CSD(CMD27),锁和解锁(CMD42),和在写模式的通用命令(CMD56)阻止。
3 当数据传输完成的时候,sd卡会在数据写状态。
之后如果写成功了,那么就去编程状态,如果失败了,就去传输状态。
4 如果block写操作被停止,并且block长度的crc是有效的,数据会被写入。
5 卡可以提供块写入的缓冲,下一个块可以在之前的块被写入的时候往卡里发送,如果所有的卡buffer都满了的话,sd卡就会在编程状态,DAT0线会被拉低6 没有buffer提供给写CSD,写保护,和擦除。
SD600系列通讯协议

SD600系列通讯协议参数读写操作格式与实例(以下数据全为16进制)一、03H读多个参数(最多连续读6项)Inquiry information frame format(发送帧): Address01HFunction03HStarting data address 00H 01HNumber of Data(Byte)00H 02HCRC CHK High95HCRC CHK Low CBH此段数据分析:01H为变频器地址03H为读功能码0001H为起始地址类同控制面板的F0.01项0002H为读菜单的项数,及F0.01和F0.02两项95CBH为16位CRC效验码Response information frame format(返回帧): Address01HFunction03HDataNum*204HData1[2Byte]00H 00HData2[2Byte]00H 00HCRC CHK High FAHCRC CHK Low33H此段数据分析:01H为变频器地址03H为读功能码04H为是读取项*2的积0000H为读取F0.01项的数据0000H为读取F0.02项的数据FA33H为16位CRC校验码实例:名称帧格式读取F0.01和F0.02两项的数据发送帧:01H03H0001H0002H95CBH返回帧:01H03H04H0000H0000H FA33H读取F2.01项的数据发送帧:01H03H0201H0001H D472H 返回帧:01H03H02H0064H B9AFH读取d-00项的监控参数发送帧:01H03H0D00H0001H86A6H 返回帧:01H03H02H1388H B512H二、06H单独写一个参数Inquiry information frame format(发送帧):Address01HFunction06HStarting data address 20H 00HData(2Byte)00H 01HCRC CHK Low43HCRC CHK High CAH此段数据分析:01H为变频器地址06H为写功能码2000H为控制命令地址0001H为正转命令43A1H为16位CRC效验码Response information frame format(返回帧):Address01HFunction06HStarting data address 20H 00HNumber of Data(Byte)00H 01HCRC CHK High43HCRC CHK Low CAH此段数据分析:如果设置正确,返回相同的输入数据实例:名称帧格式正转发送帧:01H06H2000H0001H43CAH 返回帧:01H06H2000H0001H43CAH反转发送帧:01H06H2000H0009H420CH 返回帧:01H06H2000H0009H420CH停机发送帧:01H06H2000H0003H C20BH 返回帧:01H06H2000H0003H C20BH自由停机发送帧:01H06H2000H0004H83C9H 返回帧:01H06H2000H0004H83C9H复位发送帧:01H06H2000H0010H43CAH 返回帧:01H06H2000H0010H43CAH正转点动发送帧:01H06H2000H0002H03CBH 返回帧:01H06H2000H0002H03CBH反转点动发送帧:01H06H2000H000AH020DH 返回帧:01H06H2000H000AH020DH设置F4.00项的参数为5发送帧:01H06H0400H0005H48F9H 返回帧:01H06H0400H0005H48F9HMODBUS给定频率为40HZ 发送帧:01H06H2001H0FA0H D642H 返回帧:01H06H2001H0FA0H D642H寄存器地址说明:寄存器功能地址控制命令输入0x2000监控参数读取0x0D00~0x0D13 MODBUS频率设定0x2001参数设置0x0000~0x0A08注意:1、上述所举例子中,变频器的地址都选择01,是为了便于说明;变频器为从机时,地址在1~31范围内设置,如果改变了帧格式中任意一个数据,则校验码也要重新计算,可以在网上下载CRC16位校验码计算工具。
sd卡协议分析

sdMmc目录第一章 SD卡系统概念 3§1.1 SD卡概述 3§1.2 SD卡的系统特征 3§1.3 SD卡的系统概念 4§1.4 SD卡的总线传输 6§1.5 SD卡的引脚 10§1.6 SD卡主要寄存器介绍 12§1.7 SD卡子系统结构 14第二章 SD卡初始化及状态转换 16§2.1SD卡状态及初始化过程 16§2.2SD卡数据传输过程 181.SD卡基础1.SD卡概述SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制,同时三个公司联合成立了SD协会,并制定SD卡相关的协议标准。
SD卡协议主要包括物理层协议、SD卡控制器设计手册、SDIO卡手册三部分。
其中SDIO指的是安全数字输入输出卡(Secure Digital Input and Output Card),是在SD标准上定义了一种外设接口,通过SD的I/O接脚来连接外围设备,并且通过SD上的 I/O数据接位与这些外围设备进行数据传输。
相关的一些设备为:GPS、相机、Wi-Fi、调频广播、条形码读卡器、蓝牙等。
SDIO本质上是一种接口,通过该接口可以连接一些其他功能的设备而非仅仅是存储设备。
1.2 SD卡的系统特征(SD物理层协议v2.0)∙针对移动和固定应用;∙存储容量:标准容量SD存储卡:最高2G高容量SD存储卡:2G以上(在该规范版本中,最高32G)∙电压范围:高电压SD存储卡—操作电压范围:2.7~3.6V双电压SD存储卡—操作电压范围:低电压范围(T.B.D)和2.7~3.6V∙分为只读卡和读/写卡;∙默认模式:时钟频率可在0~25MHz间变化,高达12.5MB/s 的接口速度(使用4条并行数据线) ;∙高速模式:时钟频率可在0~50MHz间变化,高达25MB/s 的接口速度(使用4条并行数据线) ;∙支持高速,电子商务和将来功能的转换功能命令;∙存储域错误纠正;∙读操作期间移去卡,内容不损坏;∙内容保护机制—符合SDMI标准的最高安全性;∙卡的密码保护(CMD42 - LOCK_UNLOCK);∙机械开关的写保护特性;∙内嵌的写保护特性(永久或暂时) ;∙卡检测(插入/移去) ;∙应用特定命令;∙舒适的擦除机制∙通信通道协议属性;∙SD存储卡外形尺寸:标准尺寸SD存储卡(32*24*2.1mm) 。
SD卡的SPI模式(中文)

7.2.3 读数据 SPI支持单块读和多块读操作(在SD存储卡协议中的CMD17 OR CMD18)。当接收一个有效的读命令后卡将在一个在SET_BLOCK_LEN(CMD16)定义 了长度的数据令牌之后,用一个响应令牌作出回复。(参考Figure41)
Figure41 单块读操作
一个有效的数据块被添加了一个16位CRC,此CRC由CCITT标准多项式X16+X12+X5+1生成。 能被READ_BL_LEN给出的最大的块的的长度大CSD中定义了。如果片块被允许,块长度可以是1~MAX块大小之间的任何长度。否则,数据读的有 效块长度只是在READ_BL_LEN中给出的值。 起始地址可以是在卡的有效地址范围内的任何字节地址。但是,每一个块,必须包含入一个单一的物理卡扇区中。 如发生一个可修复错误,卡不会传输任何数据,而是发送一个特定的数据错误令牌到主机。
7.2.7 复位序列 SD卡需要一个定义了的复位序列。上电复位或CMD0之后,卡进入了空闲模式。在这个模式中,合法的主机命令只有CMD1、ACMD41、CMD58。 在SPI模式下,CMD1和ACMD41都有同样的行为。
/bbs/view_4_3477.html(第 3/8 页)2010-9-4 下午 22:05:51
请参考英文原版。
7.2.10 卡片 锁定/解锁
请参考英文原版。
7.2版。
7.2.12 版权保护命令
请参考英文原版。
7.3 SPI模式事务包
7.3.1 命令令牌 1、命令格式 所有的SD存储卡命令都是6字节长。命令的传输总是以相应的命令代码字的左边位开始。所有的命令由CRC保护。命令的参数由以下表给出。 2、命令集 如SD模式一样,SPI命令分成几个集合。每一个集合支持一类的功能。在这两种通信模式下,SD存储卡都支持同组的可选命令集。 3、命令详细说明 下表给出了一个SPI模式总线命令集的详细说明.响应在7。3。2中定义了。表57列出了所有SD存储卡命令。SPI 模式的“YES”表示此命令在SPI模式下 被支持。由于这此限制,CSD中此命令集描述仍有效。如果一个命令不需要参数argument,此域的值应该设为零。被保留的命令在SD 模式中也是被 保留。命令的二进制代码通过记忆标志来定义。举一个例子,command index域的内容是二进制的“000000”(CMD0)和“100111”(CMD39)。 Table57:命令和argument
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一概述 1. SD总线模式下 CLK:时钟信号 CMD:双向命令和响应信号 DAT0-3:双向数据信号 VDD,VSS:电源和地信号 SD模式下允许有一个主机, 多个从机(即多个卡), 主机可以给从机分别地址. 主机发 命令有些命令是发送给指定的从机,有些命令可以以广播形式发送. SD模式下可以选择总线宽度, 即选用几根DAT信号线, 可以在主机初始化后设置. 2. SD总线协议 SD模式下的命令和数据流都有一个开始位和结束位. >命令: 是在CMD上传输的用于启动一个操作的比特流. 由主机发往从机, 可以是点对点也可以是广播的. >响应: 是在CMD上传输的用于之前命令回答的比特流. 由从机发往主机. >数据: 是在DAT上传输的比特流, 双向传输.
无响应模式 无数据模式
多块读操作模式 多块写操作模式 命令格式 响应格式
数据格式 SD卡上电后会自动初始化,通过给卡发送D0也可以复位卡. CM 二.S卡命令描述. , 某些命令需要响应. 发送, 需要响应. 卡系统有两种工作模式: 处于此模式,它会在总线上等待卡. 卡复位后也处于此模式, 直到SEND3)命令后即进入此模式. 主机识别到卡后也进入此模式. D1.广播命令: 给所有卡都发送2.点对点命令 给指定地址的卡 SD1. 卡识别模式. 主机上电复位后即_RCA(CMD3)命令到来. 2. 数据传输模式. 卡收到SEND_RCA(CMD
卡状态和工作模式对照表 卡识别模式. 总线所有的卡, 验证工作电压, 询问卡的地址. 这个模式下所有数据的传
GO_IDLE_STATE (CMD0)命令后, 卡即进入Idle State状态. 此时卡将其R
工作电压存储在OCR. 只有当电压比配时, CID和CSD的数据才能正常传COND (ACMD41)命令用来判断卡的工作电压是否符合, 如果不符合的话, 卡应该
1.此模式下主机复位输都是只通过CMD线来完成. 1) 卡的复位. 当卡上电或收到CA设为0, 相关寄存器设为传输稳定的最优模式. 2) 工作电压验证 每个卡的最高和最低输给主机. SD_SEND_OP_放弃总线操作, 进入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校验 1.CRC7 CRC7用于所有的命令, 除R3以外的响应, 以及CID和CSD寄存器. 2.CRC16 CRC16用于数据块的校验
五. 错误类型. 1. CRC错误和命令非法错误 命令的CRC校验出错, 卡设置其状态寄存器的COM_CRC_ERROR位. 非法命令错误, 卡设置其状态寄存器的ILLEGAL_COMMAND位.非法命令包括:不支持的命令,未定义的命令以及当前状态不支持的命令. 2. 读,写和擦除超时. 卡应该在指定的时间内完成一个命令或返回移动的错误信息. 如果在指定的超时时间内主机收不到响应, 应认为卡停止工作, 应重新复位卡.
六 命令 1. 命令类型: - bc不需要响应的广播命令. - bcr需要响应的广播命令. 每个卡都会独立的接收命令和发送响应. - ac点对点命令, DAT线上没数据 - adtc点对点命令, DAT线上有数据
所有命令均遵守上图中的格式, 总共48位. 首先是1个起始位0, 接着是1个方向位(主机发送位1), 6个命令位( 0-63 ), 32位参数(有些命令需要), CRC7位校验, 1个停止位.
2.卡命令根据不同的类型分成了不同的Class, 见下表,其中Class0,2,4,5,8是每个卡都必须支持的命令, 不同的卡所支持的命令保存在CSD中.