CN102103887B - Sd卡发布卡片上电状态位的方法及硬件电路 - Google Patents
Sd卡发布卡片上电状态位的方法及硬件电路 Download PDFInfo
- Publication number
- CN102103887B CN102103887B CN200910202006.6A CN200910202006A CN102103887B CN 102103887 B CN102103887 B CN 102103887B CN 200910202006 A CN200910202006 A CN 200910202006A CN 102103887 B CN102103887 B CN 102103887B
- Authority
- CN
- China
- Prior art keywords
- circuit
- card
- card power
- ocr
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明公开了一种SD卡发布卡片上电状态位的方法,硬件电路接收到命令后,对卡片上电状态位进行锁存后再发布,软件在切换SD卡状态机之前查询锁存寄存器。本发明还公开了一种用于实现所述方法的硬件电路,包括:命令接收电路,负责接收来自SD主机的命令;锁存控制电路,将卡片上电状态位锁存到寄存器;应答发送电路,将命令的应答返回给SD主机;同步电路,用于处理跨时钟域信号;寄存器访问电路,用于软件对寄存器的读写操作。本发明能够使卡片上电状态位正确发布,SD卡状态机正确切换,初始化认证过程正常完成。
Description
技术领域
本发明涉及半导体快闪记忆器领域,特别是涉及一种SD(SecureDigital Memory Card安全数码)卡初始化认证过程中发布卡片上电状态位的方法。本发明还涉及一种用于实现所述方法的硬件电路。
背景技术
SD卡是一种基于半导体非易失性闪速存储器(flash)的新一代记忆设备,它被广泛应用于便携式装置上,例如手机、数码相机、数码摄像机、个人数码助理(PDA)和多媒体播放器等。SD卡由日本的松下、东芝及美国的SanDisk公司于1999年8月共同开发研制,具有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性等优点。
SD卡通讯系统的拓扑结构为主从式,SD卡作为从设备,受控于SD主机。SD卡通讯过程中的数据流有三种含义:命令、应答和数据。SD主机通过命令告知SD卡行为,SD卡通过应答将自身状态告知SD主机,SD主机通过数据线与SD卡进行数据交互。
SD卡工作在SD模式时,内部状态机有10种状态,它们分别是:Inactive State(不活动状态)、Idle State(空闲状态)、Ready State(准备好状态)、Identification State(识别状态)、Stand-by State(待命状态)、Transfer State(传输状态)、Sending-data State(发送数据状态)、Receive-data State(接收数据状态)、Programming State(编程状态)、Disconnect State(断开状态)。在软硬件配合的SD卡架构中,状态机由软件切换。按照SD协议,这些状态与几十个命令相对应,某一个状态下,只有约定的命令才是有效的;对于某一个命令,也只有SD卡处于一个或者几个约定状态时才是有效的。对于无效的命令,SD卡不作应答。
SD卡在工作时,上电后SD主机首先对SD卡进行初始化认证。在初始化认证过程中,SD主机会向SD卡发送ACMD41命令,然后SD卡将内部OCR寄存器的内容通过应答反馈给SD主机。OCR(Operation ConditionRegister操作条件寄存器)寄存器的位宽为32位;其中,最高位OCR[31]为卡片上电状态位(Card power up status bit),该位为0,表示SD卡还没有完成上电工作,该位为1,表示SD卡已完成上电工作,该位上电默认值为0。SD主机发送完ACMD41命令后,如果返回应答中的卡片上电状态位为0,SD主机会重复发送ACMD41,直到返回应答中的卡片上电状态位为1,SD主机才会发送其它命令。在初始化认证过程中,ACMD41命令对应的SD卡状态是Idle State(空闲状态),该命令通过后,SD主机与SD卡的状态机均切换到Ready State(准备好状态)。
目前,SD卡有两种设计实现架构,分别是硬件架构和软硬件配合架构。在软硬件配合的架构中,已知的SD卡发布卡片上电状态位的方式是:软件在处理ACMD41时,与硬件没有信息交互,仅根据程序的执行情况设置卡片上电状态位OCR[31],当上电程序执行完毕后,软件将OCR[31]设置为1,并将SD卡的状态机切换至Ready State;否则,OCR[31]仍为0,SD卡的状态机仍为Idle State。这样的做法存在如下风险:由于应答的发送是串行的(OCR[31]最先发送,OCR[0]最后发送),很可能是硬件将OCR[31](值为0)送出后,软件才将OCR[31]置1,随后便将SD卡的状态机切换至Ready State;而SD主机见到的OCR[31]值为0,接下来还要再发送ACMD41,此时SD卡的状态机已切换至Ready State,SD卡会将ACMD41判断为非法命令,SD卡不作应答,从而导致初始化认证过程失败。
目前的方案只是存在风险,不一定都会出问题,这是因为:按照SD协议,从收到ACMD41命令到SD卡返回OCR[31],间隔13个SD clock(时钟周期)。SD协议中规定,SD卡初始化认证过程中,SD主机提供的SD clock最快频率为400k;而SD卡的CPU工作频率往往较高(例如100M),软件执行速度较快,在处理ACMD41时,SD卡将OCR[31]发送出去之前,软件一般能够完成对OCR[31]的设置,所以没有出现上述问题。但是,目前市场上的SD主机并不都是严格按照SD协议来设计的,有的SD主机在初始化认证过程中的频率要远高于400k,如果CPU的工作频率又不太高,软件执行速度不够快,那么上述风险发生的概率将大大增加。
发明内容
本发明要解决的技术问题是提供一种SD卡发布卡片上电状态位的方法,能够使卡片上电状态位正确发布,SD卡状态机正确切换,初始化认证过程正常完成;为此,本发明还要提供一种用于实现所述方法的硬件电路。
为解决上述技术问题,本发明的SD卡发布卡片上电状态位的方法是采用如下技术方案实现的:设置一位寄存器,硬件电路收到SD主机发布的ACMD41命令后,将SD卡的卡片上电状态位OCR[31]锁存到该寄存器,硬件电路通过应答发布的卡片上电状态位是该寄存器的值;软件在处理ACMD41时,根据程序的执行情况设置卡片上电状态位OCR[31],当上电程序执行完毕后,软件将OCR[31]设置为1,然后查询该寄存器的值,如果为1,则将SD卡的状态机切换至Ready State,如果为0,SD卡的状态机仍为Idle State。
所述用于实现所述方法的硬件电路的技术方案参见具体实施方式部分的描述。
本发明在SD卡初始化认证过程中采用软硬件配合的方法,硬件接收到命令后,对卡片上电状态位通过寄存器进行锁存后再发布,软件在切换SD卡状态机之前查询被锁存的寄存器;这样就消除了因卡片上电状态位发布延迟而导致的初始化认证过程失败的风险。不管SD主机在初始化认证过程中是否严格按照SD协议设置频率,也不必关心软件执行速度是否足够快,均能够使卡片上电状态位正确发布,SD卡状态机正确切换,初始化认证过程正常完成。有利于增强SD卡产品的兼容性、工作的稳定性,减少对软件执行速度的依赖性。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
附图是在本发明的方法中采用的硬件电路一实施例结构框图。
具体实施方式
在本发明的方法中采用的硬件电路一实施例结构框图如图所示,包括:
命令接收电路,负责接收来自SD主机发布的命令。
第二同步电路,与所述命令接收电路连接,负责将外部SD时钟域的信号同步到内部时钟域。
锁存控制电路,与第二同步电路及锁存寄存器连接,接收OCR寄存器的卡片上电状态位OCR[31]信号,并将卡片上电状态位OCR[31]信号传送到锁存寄存器。
锁存寄存器,与锁存控制电路、第一同步电路连接,用于锁存卡片上电状态位OCR[31]。
第一同步电路,与锁存寄存器、应答发送控制电路连接,负责将内部时钟域的信号同步到外部SD时钟域。
应答发送控制电路,将命令的应答返回给SD主机。
寄存器访问电路,用于软件对所述锁存寄存器的读写操作。
跨时钟域信号由第一同步电路和第二同步电路处理。
结合附图所示,命令接收电路收到来自SD主机的ACMD41命令后,锁存控制电路将卡片上电状态位OCR[31]锁存到锁存寄存器。应答发送控制电路发布的卡片上电状态位OCR[31]是锁存寄存器的值。软件在处理ACMD41命令时,根据程序的执行情况设置卡片上电状态位OCR[31];当上电程序执行完毕后,软件将卡片上电状态位OCR[31]设置为1,然后查询锁存寄存器的值,如果为1,说明硬件电路发布给SD主机的卡片上电状态位OCR[31]为1,软件将SD卡的状态机切换至Ready State;如果为0,说明硬件电路发布给SD主机韵卡片上电状态位OCR[31]为0,SD卡的状态机仍为Idle State。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (3)
1.一种SD卡发布卡片上电状态位的方法,其特征在于:设置一位锁存寄存器,硬件电路收到SD主机发布的ACMD41命令后,将SD卡的卡片上电状态位OCR[31]锁存到该锁存寄存器,硬件电路通过应答发布的卡片上电状态位是该锁存寄存器的值;软件在处理ACMD41命令时,根据程序的执行情况设置卡片上电状态位OCR[31],当上电程序执行完毕后,软件将OCR[31]设置为1,然后查询该锁存寄存器的值,如果为1,则将SD卡的状态机切换至准备好状态,如果为0,SD卡的状态机仍为空闲状态。
2.一种用于实现权利要求1所述方法的硬件电路,其特征在于,包括:
命令接收电路,负责接收来自SD主机发布的命令;
第二同步电路,与所述命令接收电路连接,负责将外部SD时钟域的信号同步到内部时钟域;
锁存控制电路,与第二同步电路及锁存寄存器连接,接收OCR寄存器的卡片上电状态位OCR[31]信号,并将卡片上电状态位OCR[31]信号传送到锁存寄存器;
锁存寄存器,与锁存控制电路、第一同步电路连接,用于锁存卡片上电状态位OCR[31];
第一同步电路,与锁存寄存器、应答发送控制电路连接,负责将内部时钟域的信号同步到外部SD时钟域;
应答发送控制电路,将命令的应答返回给SD主机;
寄存器访问电路,用于软件对所述锁存寄存器的读写操作;
跨时钟域信号由第一同步电路和第二同步电路处理。
3.如权利要求2所述的硬件电路,其特征在于:命令接收电路收到来自SD主机的ACMD41命令后,锁存控制电路将卡片上电状态位OCR[31]锁存到锁存寄存器;应答发送控制电路发布的卡片上电状态位OCR[31]是锁存寄存器的值;软件在处理ACMD41命令时,根据程序的执行情况设置卡片上电状态位OCR[31];当上电程序执行完毕后,软件将卡片上电状态位OCR[31]设置为1,然后查询锁存寄存器的值,如果为1,说明硬件电路发布给SD主机的卡片上电状态位OCR[31]为1,软件将SD卡的状态机切换至准备好状态;如果为0,说明硬件电路发布给SD主机的卡片上电状态位OCR[31]为0,SD卡的状态机仍为空闲状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910202006.6A CN102103887B (zh) | 2009-12-21 | 2009-12-21 | Sd卡发布卡片上电状态位的方法及硬件电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910202006.6A CN102103887B (zh) | 2009-12-21 | 2009-12-21 | Sd卡发布卡片上电状态位的方法及硬件电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102103887A CN102103887A (zh) | 2011-06-22 |
CN102103887B true CN102103887B (zh) | 2014-01-01 |
Family
ID=44156589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910202006.6A Active CN102103887B (zh) | 2009-12-21 | 2009-12-21 | Sd卡发布卡片上电状态位的方法及硬件电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102103887B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631614B (zh) * | 2012-08-24 | 2017-12-19 | 上海华虹集成电路有限责任公司 | 处理sd卡上电初始化过程的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1766912A (zh) * | 2005-09-13 | 2006-05-03 | 北京中星微电子有限公司 | 一种初始化存储卡的方法 |
CN1804780A (zh) * | 2006-01-25 | 2006-07-19 | 骆建军 | 兼容sd和mmc标准的自适应存储卡 |
CN101261668A (zh) * | 2008-04-17 | 2008-09-10 | 普天信息技术研究院有限公司 | 一种移动存储卡访问超时保护方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100725981B1 (ko) * | 2005-08-01 | 2007-06-08 | 삼성전자주식회사 | 멀티-인터페이스 컨트롤러, 상기 멀티-인터페이스컨트롤러를 구비하는 메모리 카드, 및 인터페이스 설정방법 |
JP2009026296A (ja) * | 2007-06-21 | 2009-02-05 | Toshiba Corp | 電子デバイス、メモリデバイス、ホスト装置 |
-
2009
- 2009-12-21 CN CN200910202006.6A patent/CN102103887B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1766912A (zh) * | 2005-09-13 | 2006-05-03 | 北京中星微电子有限公司 | 一种初始化存储卡的方法 |
CN1804780A (zh) * | 2006-01-25 | 2006-07-19 | 骆建军 | 兼容sd和mmc标准的自适应存储卡 |
CN101261668A (zh) * | 2008-04-17 | 2008-09-10 | 普天信息技术研究院有限公司 | 一种移动存储卡访问超时保护方法 |
Non-Patent Citations (2)
Title |
---|
《SPI模式下SD卡驱动的设计与实现》;田茂等;《现代电子技术》;20090715(第14期);第195-199页 * |
田茂等.《SPI模式下SD卡驱动的设计与实现》.《现代电子技术》.2009,(第14期),第195-199页. |
Also Published As
Publication number | Publication date |
---|---|
CN102103887A (zh) | 2011-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102096647B (zh) | 多芯片存储器系统和相关的数据传送方法 | |
KR101911059B1 (ko) | Ufs 인터페이스의 테스트 방법 및 이의 테스트 방법으로 테스트를 수행하는 메모리 장치 | |
US9461927B2 (en) | Method, device, and system for delaying packets during a network-triggered wake of a computing device | |
US8423703B2 (en) | Data transfer in memory card system | |
CN102609741B (zh) | 一种移动设备及其内、外部存储卡间数据交换的方法 | |
WO2012042008A1 (en) | Method, apparatus and system for verifying data | |
WO2008121566A1 (en) | Memory card hidden command protocol | |
CN101859283A (zh) | 一种内置射频识别rfid加密的固态硬盘的控制方法 | |
EP2291748A2 (en) | Maintenance of exo-file system metadata on removable storage device | |
CN101645780B (zh) | 一种poe系统断电上电后恢复配置的方法及装置 | |
KR20130132780A (ko) | 근거리 무선 통신 환경에서 개인 건강 데이터를 통신하는 방법 및 시스템 | |
US20150035655A1 (en) | Memory card and data storage method | |
CN101673220B (zh) | 一种提高双界面sim卡工作并行度的方法 | |
JP4991878B2 (ja) | Cpu/論理暗号化両用のスマートカード及びそのデータ同期方法 | |
CN102103887B (zh) | Sd卡发布卡片上电状态位的方法及硬件电路 | |
US9792467B2 (en) | Wireless card reader and method for storing data | |
CN105069384A (zh) | 一种分体式二代身份证读卡系统及实现方法 | |
CN103389923B (zh) | 随机存储器访问总线ecc校验装置 | |
CN111143898B (zh) | 可插拔存储器装置数据保护方法 | |
US20150052264A1 (en) | Wireless expansion card and method for data storage | |
CN101777979B (zh) | 一种智能密钥设备的工作方法和系统 | |
CN105117179A (zh) | 一种主机与存储设备数据交互的方法及存储控制器 | |
JPH06303222A (ja) | デジタルデータ伝送方法 | |
CN101739115A (zh) | 精简型计算机主机及精简型计算机主机唤醒方法 | |
US8972625B2 (en) | Electronic apparatus and host determination method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |