1.引言
我们现在处在信息时代里,数码相机,笔记本电脑等电子设备都已进入千家万户。而这些都离不开存储设备。存储设备在从选数管,到打孔卡、硒鼓、光盘、软盘、磁带、固态硬盘等的变迁中,有一位成员脱颖而出——它就是SD卡。SD卡以大容量,低功耗,小巧轻便,热插拔,价格便宜等特点,在如今的移动存储中占有重要的地位,比如现在的笔记本电脑、数码相机、mp4等数码产品,都无一例外的带有SD卡读卡器接口,方便用户使用。
今天我们就以广州致远电子出品的逻辑分析仪系列产品LAB7504为例,介绍其在SD卡设计中的应用。
2.SD卡简介
SD卡共支持三种传输模式:SPI模式(独立序列输入和序列输出),1位SD模式(独立指令和数据通道,独有的传输格式),4位SD模式(支持四位宽的并行传输)。表1介绍了数据率与模式的关系。
SD模式的总线拓扑结构为:
一个主机(如微控制器)、多个从机(卡)和同步的星形拓扑结构。
所有卡共用时钟CLK、电源和地信号。而命令线(CMD)和数据线(DAT0~DAT3)则是卡的专用线,即每张卡都独立拥有这些信号线。表2介绍了SD模式下的信号功能。
在SPI模式下,主机使用SPI总线访问卡,微控制器在卡上电后的第1个复位命令就可以选择卡进入SD模式或SP I模式,但在卡上电期间,它们之间的通信模式不能更改为SD模式。
表3介绍了SPI模式下的信号功能。
3. 解码分析
SD卡的协议比较复杂,并且模式也比较多,每个模式里面的命令,响应行为,数据令牌的CRC等也很复杂,如果在设计中,需要让研发人员对一个个逻辑电平进行解析,那效率是实在太低了,并且也容易出错,广州致远电子有限公司出品的LAB7504逻辑分析仪带有SD卡SPI模式,以及SD模式的插件解码工具,可以轻松的帮助工程师快速直观的分析SD卡总线上的命令以及数据等信息。下面分别介绍下两种模式的解码插件。
SD模式
分别点击逻辑分析仪上位机【工具】、【插件管理器】,选择“S D卡S D模式协议分析”。弹出S D_SDMODE设置对话框。按照采集SD卡的实际情况填写总线设置选项,本次采集的总线设置如图1所示(截掉颜色设置与显示设置)。
参数设置简介
CLK:选择要解码数据的时钟信号,代表协议中的CLK时钟信号。
块长:输入多块传输过程中的块的数目。在读写数据块的过程中,有多块读写命令,用户需要设置多块读写时候块的数目,在块长中输入相应的数字。
CLK频率:输入时钟频率。时钟频率是指时钟信号传输的频率,根据时钟信号的传输而设置。
宽总线:选择是否宽总线传输。
即是否选择4位SD模式,单总线即1位SD模式。
CMD总线设置:设置命令总线参数。
DATA总线设置:设置数据总线参数。
帧颜色设置:设置解码后包中各个帧的显示颜色。
包颜色设置:设置解码后包的显示颜色。
显示方式:设置解码后数据的显示方式,分别为十六进制,十进制和字符格式。
下面看看通过插件解码后的结果。如图2所示,将解码后的信号放大,可以看到开始位:START;传输位:ToCar d;命令:READ_MULTIPLE_BLOCK等信息(这里还有命令参数,CRC校验,结束位等信息没有显示出来)。
如图3所示,数据总线解码后的结果,其中红色框中是数据起始标志。
SPI模式
分别点击逻辑分析仪上位机【工具】、【插件管理器】,选择“SD卡SPI模式协议分析”。弹出SD_SPI设置对话框。按照采集SD卡的实际情况填写总线设置选项,本次采集的总线设置如图4所示(截去颜色设置与显示设置)。
参数设置简介
CS:选择片选信号线,代表协议中的CS片选信号。
CLK:选择要解码数据的时钟信号,代表协议中的CLK时钟信号。
块长:输入多块传输过程中的块的数目。
CLK频率:输入CLK信号的时钟频率。
SPI模式:选择SPI解码的模式,从第一个或者是第二个脉冲开始,上升沿或者下降沿采样。
DataIn总线:设置协议中的输入总线信息。
DataOut总线:设置协议中的输出总线信息。
帧颜色设置:设置解码后包中各个帧的显示颜色。
包颜色设置:设置解码后包的显示颜色。
显示方式:设置解码后数据的显示方式,分别为十六进制,十进制和字符格式。
由于篇幅限制,在这里对SPI模式的解码就不做过多的描述,对软件解码后的指令以及数据的查看方式,与SD模式下的操作是类似的,这些读者可以在实际应用的时候自己操作体验。
这里给出观察开始传输命令的截图,如图5所示,错误!未找到引用源。起始,命令的信息一目了然。
4. 总结
使用广州致远电子有限公司出品的逻辑分析仪软件所带的SD卡分析插件功能,可以帮助工程师离开单一的逻辑信号的分析,快速直观的对传输过程的命令数据进行分析,快速的发现问题所在,提高工程师的工作效率。同时,LAB7504提供了出色的采样速率和存储容量,可以很容易发现通信信号间的时序问题,帮助工程师最快的发现并解决当前问题和潜在的时序隐患。