1、,1,2018/7/6,SD2.0标准研究,杨光敏 终端项目部,普天信息信息技术研究院,Potevio Institute of Technology,,,2,2018/7/6,问题答疑CMD6和CMD8的功能其它新增加的功能小结,目录,,3,2018/7/6,问题汇总一,问题:标准的存储卡读卡器不支持高容量卡。原因如下:CMD8命令的加入扩展了ACMD41的功能。如果卡对CMD8命令无响应,则主机应该将ACMD41命令中的HCS位设置成“0”。标准的SD卡会忽略HCS。如果HCS设置成“0”,则高容量SD卡永远不会进入“就绪”状态,会将忙状态位一直设置为“0”。,,4,2018/7/6,图例
2、,,5,2018/7/6,问题汇总二,1、普通标准的SD卡是2Gbyte(231 byte);高容量SD卡:(2GB32GB); 2、标准的SD卡的厚度为2.1mm,薄存储卡的厚度为1.4mm。 3、Type B的两个空间选择是用开关实现的。本版本中只是规定了TYPE A的规范,TYPE B的规范要将来规定。主机不需要判断卡的类型。4、速度等级定义class0:不限定速度等级,适合于任何SD卡;class2:=2MB/Sclass4:=4MB/Sclass6:=6MB/S高容量的SD卡高于class2(也包含class2) 定义速度等级是为了支持AV应用。Class 2为支持标准的TV图象质量
3、而定义,也就是说必须在2MB/S的速度及以上。Class 4为支持HD视频质量而定义,即要求速度在4MB/S及以上。更高等级的速度根据需要可以在将来再增加。,,6,2018/7/6,问题汇总三,问题:最大容量的计算问题.最大容量的计算由SD卡的CSD寄存器的一些参数决定。目前CSD寄存器有两个版本,如下图所示:,,7,2018/7/6,CSD version 1.0,,8,2018/7/6,原始公式,,9,2018/7/6,最大容量计算,Memory capacity=BLOCKNR*BLOCK_LEN其中:BLOCKNR=(C_SIZE+1)*MULT=(212-1+1)*MULTMULT=
4、2C_SIZE_MULT+2=27+2=29BLOCK_LEN=2READ_BL_LEN=210 对于2G最大容量的计算如下:Memory capacity=(212-1+1)* 29*210=231=2GB,,10,2018/7/6,CSD version 2.00,,11,2018/7/6,最大容量计算,Memory capacity=(C_SIZE+1)*512kbyte=222-6*219=235=32GB,,12,2018/7/6,寻址方式汇总,寻址方式普通容量的卡,以字节为单位;高容量的卡,以块为单位,一块大小为512byte,,13,2018/7/6,新增加的命令CMD8,增加新
5、的命令CMD8(SEND_IF_COND),用来验证SD卡的工作条件。卡通过分析CMD8命令参数来验证,主机通过分析CMD8的响应来验证.对于高容量SD卡,在发送ACMD41之前必须先发送CMD8。卡收到CMD8以后,就知道主机支持物理层协议2.00版,并且启动卡的新功能。对于低电压主机,在发送ACMD41以前必须发送CMD8。对于低电压主机,如果不发送CMD8,卡在收到ACMD41后就进入不激活状态。对于具有双重工作电压的卡,如果没有收到CMD8,则卡只能工作在高电压模式。CMD8响应类型为R7,如下表所示:,,14,2018/7/6,新增加的命令CMD6,CMD6用于切换或者扩展存储卡的功
6、能,它适用于1.10版本及以上版本,低版本中CMD6是保留命令。 CMD6只有在“传输”状态才能发送。一旦被选用,卡只有重新上电,才能进入默认状态。 CMD6的响应是R1格式,同时还有512位的状态信息通过数据线传输。从SD总线传输角度来看,这是一个标准的单块读传输模式,而且命令超时的时间是100ms,和读命令一样。如果CRC在数据线上传输错误,那么主机需要重新上电。 CMD6有两种应用模式: 模式0(验证模式):用来查询卡是否支持特定命令。 模式1(设置功能):用来切换卡的功能。,,15,2018/7/6,切换功能实现流程,,16,2018/7/6,切换功能的三种情况,,17,2018/7/
7、6,CMD6和其它命令的关系,在CMD6的通信过程中,只能传输CMD12和CMD13。但是建议主机在发送CMD6时,不要发送其它任何命令。如果主机没有接收到CMD6的有效数据,建议主机发送CMD0,进行重新初始化。举例: CMD6&CMD12案例1:如果卡还没有输出所有数据,主机发出CMD12命令,那么卡会终止CMD6的数据传输。此时卡状态不确定,发送CMD0进行重新启动是唯一的方法。案例2:如果卡数据发送完全,主机发出CMD12,则没有错误发生。建议在CMD6的通信过程中,主机不要发送CMD12.,,18,2018/7/6,高容量SD卡,高容量SD卡不支持写保护,对于写保护命令(CMD28,
8、CMD29和CMD30)无响应。 高容量SD卡固定块的长度为512byte;对于普通标准的SD卡,CMD16可以设定块的长度。,,19,2018/7/6,时钟控制,1、总线频率在任何时候都可以改变(最大不超过数据传输频率,卡认证阶段的频率要求必须满足) 2、ACMD41是一个例外,主机发送完ACMD41以后,接下来要进行下面其中之一的步骤,直到卡准备好:发送连续的时钟频率,范围在100K400KHZ之间。如果主机要停止时钟,必须在50ms的间隔内轮询ACMD41命令中的忙状态位。,,20,2018/7/6,总结,,21,2018/7/6,小结,对于我们制定标准可借鉴的地方有:(1) TypeA型只有一块高容量存储介质区;TypeB型有一块高容量存储介质区和普通容量存储介质区,可以通过开关进行选择;(2)定义卡支持的速度等级,不同速度等级的卡支持不同的功能需求;(3)命令CMD6预留了将卡功能进行扩展的参数。(4)命令CMD8用来判定卡的版本号(5)高容量存储卡以块为单位进行寻址(6)对协议不同版本的兼容方法,,22,2018/7/6,谢谢!,Your satisfaction is our success!Wish we cooperate the delectation!,您的满意就是我们的成功!祝愿我们合作愉快!,,