首页> 中国专利> SD卡在SPI模式下传输自适应字节对齐的方法及电路

SD卡在SPI模式下传输自适应字节对齐的方法及电路

摘要

本发明公开了一种SD卡在SPI模式下传输自适应字节对齐的方法,SD卡在接受SD主机所发送的命令、响应和数据时并不考虑其信息包是否与片选信号按照字节对齐,而是根据命令、响应和数据信息包的起始位和特征值来判断何时开始接收。本发明还公开了一种实现所述方法的电路,包括:一命令包接收检测电路,一数据包接收检测电路,一或门,一片选信号计数器,一响应包发送控制电路,一数据包发送控制电路,一安全数码卡SD总线控制电路。本发明使SD卡能够自适应地与片选信号字节对齐,提高SD卡的兼容性。

著录项

  • 公开/公告号CN103631740A

    专利类型发明专利

  • 公开/公告日2014-03-12

    原文格式PDF

  • 申请/专利权人 上海华虹集成电路有限责任公司;

    申请/专利号CN201210305987.9

  • 发明设计人 牟晨杰;王永流;

    申请日2012-08-24

  • 分类号G06F13/38;H03K21/38;

  • 代理机构上海浦一知识产权代理有限公司;

  • 代理人戴广志

  • 地址 201203 上海市浦东新区碧波路572弄39号

  • 入库时间 2024-02-19 23:06:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-02-13

    授权

    授权

  • 2015-05-06

    实质审查的生效 IPC(主分类):G06F13/38 申请日:20120824

    实质审查的生效

  • 2014-03-12

    公开

    公开

说明书

技术领域

本发明涉及SD(安全数码卡Secure DigitalMemory Card)卡领域, 特别是涉及一种SD卡在SPI(Serial Peripheral Interface:串行外围设 备接口)模式下传输自适应字节对齐的方法。本发明还涉及一种用于实现 所述方法的硬件电路。

背景技术

SD卡被广泛应用于便携式设备的数据存储。SD卡通讯系统包括SD卡 (从属设备,用于接收命令、数据,并返回响应)和SD主机(主设备,用 于发起传输,发送命令、数据到SD总线)。根据SD协议规定,SD卡能够按 照SPI模式进行通讯。在SPI模式下,信息传输需要四根信号线,分别是:

CS,SD主机发送给SD卡的片选信号;

CLK,SD主机发送给SD卡的时钟信号;

DataIn,SD主机发送给SD卡的比特流信号,包括命令、写数据等;

DataOut,SD卡返还给SD主机的比特流信号,包括响应、状态字、读 数据等。

SD卡的SPI传输模式如图1所示,对于SD卡来说,DataIn信号为单 向输入信号,用来接收来自SD主机的命令、数据。其中,命令包为SD主 机发送给SD卡的命令,数据包为SD主机发送给SD卡的数据。DataOut信 号为单向输出信号,用来返回响应、读数据、循环冗余校验状态字给SD主 机。其中,响应包为SD卡返回给SD主机的响应,校验状态字和忙状态为 SD卡返回给SD主机的数据循环冗余校验状态字和忙状态。

具体传输过程为:SD主机发送命令给SD卡,SD卡接收到命令后返回 响应,并且根据该命令进行相应的操作。如果是写数据命令,SD主机在发 送命令并收到SD卡的响应之后,开始发送写数据,SD卡在接收完一个完整 的数据包(512个字节)之后返回一个循环冗余码校验状态字,以此来告诉 SD主机该数据包是否正确接收。如果是读数据命令,SD卡在接收到命令之 后先返回响应,然后发送读数据给SD主机。在读数据的最后部分为一个循 环冗余码,SD主机以此判断是否正确接收到了读数据。

SPI模式的一个重要特征是字节(8个时钟周期)对齐传输,就是说所 有在SD主机与SD卡之间传输的命令、响应、数据、循环冗余码校验状态 字等信息包都必须与片选信号按字节对齐(起始位对应的计数器值为0,结 束位对应的计数器值为7)。如图2所示,当片选信号拉低时,片选信号计 数器按时钟信号上升沿开始计数,只有在每8个时钟周期的起始位置,SD 卡才能够采样总线上的命令、数据,发送响应。DataIn信号线上收到命令 包的起始位(“1”比特低电平,“a”位置箭头所指位置)时,片选信号计 数器的值为0,并开始计数;当收到命令包结束位(“1”比特高电平,“b” 位置箭头所指位置)时,片选信号计数器的值为7,结束计数。可见,该命 令包(长度为48比特)是与片选信号以字节(8个时钟周期)的整数倍对 齐的。同样地,SD卡返回的响应、数据等传输包也是与片选信号以字节的 整数倍对齐的方式传输的。

但是,目前市场上存在的很多SD主机并没有严格按照协议所规定的那 样,以与片选信号字节对齐的方式发送命令或者数据。如图3所示,当DataIn 信号线上收到命令包的起始位(“1”比特低电平,“c”位置箭头所指位置) 时,片选信号计数器的计数值为3;当收到命令的结束位(“1”比特高电平, “d”位置箭头所指位置)时,片选信号计数器的计数值为2;可见,该命令 包(长度为48比特)并没有与片选信号以字节(8个时钟周期)对齐的方 式传输。

这就导致了严格按照协议设计的SD卡无法正确接收此类SD主机发送 的信息包,从而无法正确地通讯。因而,该SD卡产品在兼容性上就会存在 较大的缺陷。

发明内容

本发明要解决的技术问题是提供一种SD卡在SPI模式下传输自适应字 节对齐的方法,使SD卡能够自适应地与片选信号字节对齐,提高SD卡的 兼容性;为此,本发明还有提供一种实现所述方法的电路。

为解决上述技术问题,本发明的SD卡在SPI模式下传输自适应字节对 齐的方法是采用如下技术方案实现的:SD卡在接受SD主机所发送的命令、 响应和数据时并不考虑其信息包是否与片选信号按照字节对齐(信息包起 始位对应的是片选信号计数器值为0),而是根据命令、响应和数据信息包 的起始位和特征值来判断何时开始接收。

SD卡返回响应、数据和校验状态字等信息包时,在3比特片选信号计 数器值为0时发送信息包的起始位,在该3比特片选信号计数器值为7时 发送结束位。即以与片选信号按字节对齐的方式返回信息包。

实现上述方法的电路,包括:

一命令包接收检测电路,其输入端与SD总线控制电路的输出端相连接, 用于接收SD主机发送的命令包,当检测到命令包结束位时,产生一个复位 信号,该复位信号的宽度为一个SD时钟周期;

一数据包接收检测电路,其输入端与SD总线控制电路的输出端相连接, 用于接收SD主机发送的数据包,当检测到数据包结束位时,产生一个复位 信号,该复位信号的宽度为一个SD时钟周期;

一或门,其一输入端与所述命令包接收检测电路的输出端相连接,另 一输入端与所述数据包接收检测电路的输出端相连接;

一片选信号计数器,为3比特,其计数输入端输入片选信号,时钟端 输入安全数码卡SD时钟信号,复位端与所述或门的输出端相连接;当所述 片选信号拉低时开始计数;当接收到命令和数据的结束位时,该片选信号 计数器被复位并且从0开始重新计数;当片选信号拉高时,该片选信号计 数器被复位并且停止计数;所述命令包接收检测电路和数据包接收检测电 路分别产生的两个复位信号经过或门控制,复位该片选信号计数器;

一响应包发送控制电路,其输入端与所述片选信号计数器的输出端相 连接;当需要返回响应时,检测该片选信号计数器的计数值,只有当计数 值为0时才开始发送响应包的起始位;

一数据包发送控制电路,其输入端与所述片选信号计数器的输出端相 连接;当需要返回数据时,先检测片选信号计数器的计数值,只有当计数 值为0时才开始发送数据包的起始位;

SD总线控制电路,其一输入端与所述响应包发送控制电路的输出端相 连接,另一输入端与所述数据包发送控制电路的输出端相连接,用来控制 SD四根传输总线的数据接收与发送。

本发明能使SD卡在SPI传输模式下,自适应地调整命令、响应以及数 据与片选信号按字节(8个SD时钟周期)对齐。当SD主机不遵循协议的规 定,按非字节对齐的方式发送命令、数据时,SD卡能够自适应地调整其对 齐方式,正确地接受非对齐的命令、数据,并且以对齐的方式正确地返回 响应、循环冗余校验状态字等信息包。降低了对SD主机的要求,适用于更 多不同类型的SD主机,提高了SD卡的兼容性,使产品更具市场竞争力。

附图说明

下面结合附图与具体实施方式对本发明作进一步详细的说明:

图1是SPI模式下的信息包传输方式示意图;

图2是命令包与片选信号对齐传输示意图;

图3是命令包与片选信号非对齐传输示意图;

图4是实现本发明方法的硬件实现电路一实施例原理框图;

图5是接收完命令包结束位时对计数器清零的波形图;

图6是字节对齐方式发送数据循环冗余校验状态字的波形图。

具体实施方式

所述SD卡在SPI模式下传输自适应字节对齐的方法采用一个“3”比 特的片选信号计数器,当片选信号拉低(即片选信号有效)时,该片选信 号计数器开始计数;当片选信号拉高(即片选信号无效)时,该片选信号 计数器被复位并且停止计数。SD卡在接收命令、数据时并不要求它们与计 数器值以字节严格对齐,只是根据命令、数据的起始位、特征值以及比特 长度来判断是否开始接收。

在接收到命令、数据的结束位时,对所述片选信号计数器进行清零, 使其从零开始继续重新计数。SD卡在返回响应、数据、校验状态字时,在 片选信号计数器值为0时,才发送返回信息包的起始位。在所述片选计数 器值为7时,正好发送完信息包的结束位。也就是说无论SD主机发送的信 息包是否与片选信号按字节对齐,SD卡都把它们正确接收下来;当SD卡返 回信息包时,严格遵守信息包与片选信号按字节对齐的规定。

参见图4所示,实现所述SD卡在SPI模式下传输自适应字节对齐的方 法的硬件电路,包括:

一命令包接收检测电路,其输入端与SD总线控制电路的输出端相连接, 用于接收SD主机发送的命令包,当检测到命令包结束位时,产生一个复位 信号复位所述片选信号计数器,该复位信号的宽度为一个SD时钟周期。

一数据包接收检测电路,其输入端与SD总线控制电路的输出端相连接, 用于接收SD主机发送的数据包,当检测到数据包结束位时,产生一个复位 信号复位所述片选信号计数器,该复位信号的宽度为一个安全数码卡SD时 钟周期。

一或门,其一输入端与所述命令包接收检测电路的输出端相连接,另 一输入端与所述数据包接收检测电路的输出端相连接。

一片选信号计数器,为3比特,其计数输入端EN输入片选信号CS,时 钟端CK输入SD时钟信号,复位端R与所述或门的输出端相连接;当所述 片选信号拉低时开始计数;当接收到命令和数据的结束位时,该片选信号 计数器被复位并且从0开始重新计数;当片选信号拉高时,该片选信号计 数器被复位并且停止计数;所述命令包接收检测电路和数据包接收检测电 路分别产生的两个复位信号经过或门控制,复位该片选信号计数器。

一响应包发送控制电路,其输入端与所述片选信号计数器的输出端相 连接;当需要返回响应时,检测该片选信号计数器的计数值,只有当计数 值为0时才开始发送响应包的起始位;也就是说响应包与片选信号严格按 照字节对齐。

一数据包发送控制电路,其输入端与所述片选信号计数器的输出端相 连接;当需要返回数据时,先检测片选信号计数器的计数值,只有当计数 值为0时才开始发送数据包的起始位;也就是说数据包与片选信号严格按 照字节对齐。

SD总线控制电路,其一输入端与所述响应包发送控制电路的输出端相 连接,另一输入端与所述数据包发送控制电路的输出端相连接,用来控制 SD四根传输总线的数据接收与发送。

本发明在原SD卡产品基本架构不变的前提下,以较小的硬件改动,使 得SD卡能够自适应地处理字节对齐传输,解决了非对齐情况下传输包的正 确传输。

SD主机拉低片选信号后开始发送命令、数据包后,SD卡片信号选计数 器在片选信号拉低时开始计数;命令、数据接收检测电路分别判断出何时 为命令、数据的起始位,开始接收命令数据;何时为命令、数据的结束位; 当收到结束位时,所述命令包接收检测电路和数据包接收检测电路分别发 出复位信号,该复位信号清零片选信号计数器(参见图5中“e”位置箭头 所指位置),使其从0开始重新计数。

当SD卡需要返回响应、数据、循环冗余码校验状态字时,在片选计数 器值为0的时候发送上述信息包的起始位(参见图6,其中“f”位置箭头 所指位置为循环冗余码校验状态字起始位),在片选计数器值为7的时候发 送上述信息包的结束位(参见图6,其中“g”位置箭头所指位置为循环冗 余码校验状态字结束位),使其与片选信号符合字节(8个SD时钟周期)对 齐的要求。图6中“h”位置箭头所指位置为SD卡处于忙状态,DataOut信 号被拉低。

综上所述,片选信号计数器在接收到命令、数据的结束位时被复位并 开始重新计数。当返回响应、读数据、循环冗余码校验状态字时,严格按 照与片选信号字节对齐的规定发送。这样,从SD主机所发送的命令、数据 的结束位开始,一直到SD卡返回的信息包的结束位为止,这期间所有的信 息包都是以与片选信号字节对齐的方式传输的。这样,SD卡就具有自适应 的能力,能够调节SD总线上传输的信息包的对齐方式,达到了设计目的。

以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些 并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术 人员还可做出许多变形和改进,这些也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号