專利名稱:自適應(yīng)sd存儲(chǔ)卡的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種存儲(chǔ)卡,特別是指一種能根據(jù)主機(jī)自動(dòng)調(diào)整為相應(yīng)版本的自適應(yīng)SD存儲(chǔ)卡。
背景技術(shù):
以SD2.0規(guī)范和SD1.1/SD1.0規(guī)范為數(shù)據(jù)傳輸標(biāo)準(zhǔn)的SD存儲(chǔ)卡,近年來(lái)廣泛應(yīng)用于數(shù)碼相機(jī)、手機(jī)、PDA、MP3/MP4播放器等消費(fèi)電子類產(chǎn)品中,發(fā)展非常迅速。
SD2.0規(guī)范和SD1.1/SD1.0規(guī)范所規(guī)定的SD存儲(chǔ)卡有兩種,標(biāo)準(zhǔn)容量(Standard Capacity)SD存儲(chǔ)卡和高容量(High Capacity)SD存儲(chǔ)卡。標(biāo)準(zhǔn)容量的SD存儲(chǔ)卡在SD1.1/SD1.0規(guī)范中定義,支持標(biāo)準(zhǔn)方式的讀寫;高容量的存儲(chǔ)卡在SD2.0規(guī)范中定義,支持高容量方式的讀寫。
SD2.0規(guī)范和SD1.1/SD1.0規(guī)范中規(guī)定主機(jī)和存儲(chǔ)卡之間的通訊通過(guò)命令(Command,簡(jiǎn)稱CMD)和響應(yīng)(Response,簡(jiǎn)稱R)來(lái)完成。主機(jī)通過(guò)CMD訪問(wèn)存儲(chǔ)卡,存儲(chǔ)卡通過(guò)相應(yīng)的響應(yīng)反饋主機(jī)。
符合SD2.0規(guī)范和SD1.1/SD1.0規(guī)范的主機(jī)發(fā)送的CMD具有一個(gè)固定的碼長(zhǎng)度為48比特,CMD的格式如下表
每個(gè)CMD都以一個(gè)開(kāi)始比特開(kāi)始,以一個(gè)結(jié)束比特結(jié)束,以Bit47到Bit0來(lái)表示CMD從開(kāi)始比特到結(jié)束比特的48個(gè)比特,對(duì)于CMD的每個(gè)比特位解釋如下Bit47為開(kāi)始比特(Start Bit),這一位總為‘0’;Bit46為傳輸方向比特(Transmit Bit),在CMD中,這一位總為‘1’,表示數(shù)據(jù)的傳送方向是主機(jī)向卡傳送;Bit45到Bit40為CMD的索引(Index)。如CMD8,這6個(gè)比特即為6’b001000;Bit39到Bit8為CMD的參數(shù)(Argument),每個(gè)CMD對(duì)這32個(gè)比特各有定義;Bit7到Bit1為7比特的CRC(Cyclic Redundancy Code)校驗(yàn)碼;Bit0為結(jié)束比特(End Bit),這一位總為‘1’。
SD2.0規(guī)范和SD1.1/SD1.0規(guī)范中規(guī)定內(nèi)存訪問(wèn)命令(Memory AccessCMD),如讀、寫、擦除等CMD的Argument表示數(shù)據(jù)地址(Data Address)。
在標(biāo)準(zhǔn)容量的讀寫方式中,CMD的Argument所表示的數(shù)據(jù)地址以1字節(jié)(Byte)為單位,32個(gè)比特位最多可表示232字節(jié),即4G字節(jié),所以標(biāo)準(zhǔn)容量的讀寫方式最多可支持4G字節(jié)的卡。SD2.0規(guī)范和SD1.1/SD1.0規(guī)范中規(guī)定標(biāo)準(zhǔn)容量的卡支持到2G字節(jié)。
在高容量的讀寫方式中,CMD的Argument所表示的數(shù)據(jù)地址以512字節(jié)為單位,這樣32個(gè)比特位最多可表示232×512字節(jié),即2T字節(jié),所以高容量的讀寫方式最多可支持2T字節(jié)的卡。SD2.0規(guī)范中規(guī)定高容量卡支持到32G字節(jié)。
鑒于上述原因,高容量存儲(chǔ)卡和標(biāo)準(zhǔn)容量存儲(chǔ)卡因?qū)MD的Argument的解釋不同,所以這兩種存儲(chǔ)卡對(duì)主機(jī)的可用性也不同,如圖1所示,高容量卡和SD1.x的主機(jī)之間的通訊是不成立的,也就是說(shuō),低容量存儲(chǔ)卡能被同時(shí)支持高容量和標(biāo)準(zhǔn)容量?jī)煞N讀寫方式的SD2.0的主機(jī)正確讀寫,但高容量存儲(chǔ)卡卻不能被只支持標(biāo)準(zhǔn)容量讀寫方式的SD1.x的主機(jī)讀寫。
發(fā)明內(nèi)容
本發(fā)明提供了一種可根據(jù)主機(jī)的讀寫方式自動(dòng)調(diào)整的自適應(yīng)SD存儲(chǔ)卡,該SD存儲(chǔ)卡既能同時(shí)支持SD2.0規(guī)范和SD1.1/SD1.0規(guī)范,也能同時(shí)支持SD規(guī)范主機(jī)的兩種讀寫方式高容量讀寫方式和標(biāo)準(zhǔn)容量讀寫方式。
本發(fā)明的自適應(yīng)存儲(chǔ)卡可在主機(jī)對(duì)卡的識(shí)別過(guò)程中根據(jù)不同規(guī)范的主機(jī)作出相應(yīng)的調(diào)整在SD1.1/SD1.0規(guī)范的主機(jī)平臺(tái),卡啟用SD1.1的參數(shù)設(shè)置,支持SD1.1/SD1.0規(guī)范,支持SD1.1/SD1.0規(guī)范的主機(jī)用標(biāo)準(zhǔn)方式對(duì)其進(jìn)行讀寫訪問(wèn);在SD2.0規(guī)范的主機(jī)平臺(tái),卡啟用SD2.0的參數(shù)設(shè)置,支持SD2.0規(guī)范,卡根據(jù)主機(jī)自動(dòng)調(diào)整為相應(yīng)的卡。若主機(jī)支持高容量讀寫方式,卡相應(yīng)調(diào)整為高容量卡,支持主機(jī)用高容量方式對(duì)其進(jìn)行讀寫訪問(wèn);若主機(jī)不支持高容量,卡相應(yīng)調(diào)整為標(biāo)準(zhǔn)容量卡,支持主機(jī)用標(biāo)準(zhǔn)方式對(duì)其進(jìn)行讀寫訪問(wèn)。
一種自適應(yīng)SD存儲(chǔ)卡,包括SD界面單元、控制器和存儲(chǔ)模塊,SD界面單元一端用于與外界主機(jī)連接,另一端連接控制器,控制器與存儲(chǔ)模塊通過(guò)總線連接,所述的控制器具有自適應(yīng)功能,其自適應(yīng)過(guò)程包括以下步驟(1)上電后,等待主機(jī)發(fā)送有效的CMD0;(2)判斷接收的CMD0是否為有效,若是,則繼續(xù)等待主機(jī)發(fā)送有效的ACMD41或有效的CMD8;(3)判斷接收的是否為有效的ACMD41,若是,則返回Response R3,啟用SD1.1的參數(shù)設(shè)置,使卡作為SD1.1卡處理,調(diào)整存儲(chǔ)卡為標(biāo)準(zhǔn)容量卡,采用標(biāo)準(zhǔn)容量讀寫方式解釋其后主機(jī)發(fā)送的內(nèi)存訪問(wèn)命令,即把內(nèi)存訪問(wèn)命令的Argument所表示的數(shù)據(jù)地址解釋為以1字節(jié)為單位;(4)若判斷接收到的為有效的CMD8,則返回Response R7;(5)繼續(xù)等待主機(jī)發(fā)送有效的ACMD41;(6)判斷接收的是否為有效的ACMD41,若是,則判斷ACMD41中包含的HCS比特位;(7)若ACMD41中包含的HCS比特位為‘1’,則返回包含CCS比特位為‘1’的Response R3,啟用SD2.0的參數(shù)設(shè)置,使卡作為SD2.0卡處理,調(diào)整卡為高容量卡,用高容量讀寫方式解釋其后主機(jī)發(fā)送的內(nèi)存訪問(wèn)命令,即把內(nèi)存訪問(wèn)命令的Argument所表示的數(shù)據(jù)地址解釋為以512字節(jié)為單位;(8)若ACMD41中包含的HCS比特位不為‘1’,則返回包含CCS比特位為‘0’的Response R3,啟用SD2.0的參數(shù)設(shè)置,使卡作為SD2.0卡處理,調(diào)整卡為標(biāo)準(zhǔn)容量卡,用標(biāo)準(zhǔn)容量讀寫方式解釋其后主機(jī)發(fā)送的內(nèi)存訪問(wèn)命令,即把內(nèi)存訪問(wèn)命令的Argument所表示的數(shù)據(jù)地址解釋為以1字節(jié)為單位。
所述的SD界面單元可采用SD界面連接器或金手指。
所述的存儲(chǔ)模塊可采用一個(gè)或多個(gè)存儲(chǔ)器件。
所述的存儲(chǔ)器件可采用可擦寫、非易失的半導(dǎo)體存儲(chǔ)器件。
本發(fā)明具有以下特性1.在SD1.x的主機(jī)平臺(tái),支持SD1.x規(guī)范,存儲(chǔ)卡自動(dòng)調(diào)整為標(biāo)準(zhǔn)容量卡,SD1.x的主機(jī)可以用標(biāo)準(zhǔn)方式對(duì)其進(jìn)行讀寫訪問(wèn),即內(nèi)存訪問(wèn)命令的Argument所表示的數(shù)據(jù)地址將被解釋為以1字節(jié)為單位。
2.在SD2.0的主機(jī)平臺(tái),支持SD2.0規(guī)范,存儲(chǔ)卡根據(jù)主機(jī)自動(dòng)調(diào)整為相應(yīng)的卡如果主機(jī)支持高容量,存儲(chǔ)卡相應(yīng)調(diào)整為高容量卡,內(nèi)存訪問(wèn)命令的Argument所表示的數(shù)據(jù)地址被解釋為以512字節(jié)為單位;反之,若主機(jī)不支持高容量,存儲(chǔ)卡相應(yīng)調(diào)整為標(biāo)準(zhǔn)容量卡,內(nèi)存訪問(wèn)命令的Argument所表示的數(shù)據(jù)地址被解釋為以1字節(jié)為單位。
3.具有符合SD2.0規(guī)范和SD1.1/SD1.0規(guī)范的外形特征和接口信號(hào)定義。
本發(fā)明解決了普通SD2.0高容量存儲(chǔ)卡不能夠被SD1.0/SD1.1主機(jī)正確讀寫的問(wèn)題。
圖1為主機(jī)-普通卡的可用性示意圖;圖2為主機(jī)-自適應(yīng)存儲(chǔ)卡的可用性示意圖;圖3為本發(fā)明的結(jié)構(gòu)示意框圖;圖4為本發(fā)明的自適應(yīng)過(guò)程流程圖。
具體實(shí)施例方式
如圖2所示,本發(fā)明的自適應(yīng)SD存儲(chǔ)卡和SD1.x的主機(jī)之間是可用的,即自適應(yīng)SD存儲(chǔ)卡既能被同時(shí)支持高容量和標(biāo)準(zhǔn)容量?jī)煞N讀寫方式的SD2.0的主機(jī)正確讀寫,也能被只支持標(biāo)準(zhǔn)容量讀寫方式的SD1.x的主機(jī)正確讀寫。
如圖3所示,一種自適應(yīng)SD存儲(chǔ)卡,包括SD界面單元1、控制器2和存儲(chǔ)模塊3,SD界面單元1一端用于與外界主機(jī)連接,另一端連接控制器2,控制器2與存儲(chǔ)模塊3通過(guò)FLASH訪問(wèn)總線連接。
SD界面單元1可采用SD界面連接器或金手指。
控制器2和SD界面單元1一起,完成存儲(chǔ)卡的自適應(yīng)過(guò)程、數(shù)據(jù)的傳送和配置、狀態(tài)的報(bào)告、SD的界面功能及其兼容性,同時(shí)也完成對(duì)存儲(chǔ)模塊3的操作,如讀、寫、擦和備份等的命令,可以但不限于是一個(gè)單芯片的集成電路;存儲(chǔ)模塊3可采用一個(gè)或多個(gè)可擦寫、非易失的半導(dǎo)體存儲(chǔ)器件,如閃存器件(Flash Memory),電可擦寫只讀存儲(chǔ)器(EEPROM)等。
控制器2具有自適應(yīng)功能,如圖4所示,其自適應(yīng)過(guò)程包括以下步驟(1)將本發(fā)明的自適應(yīng)存儲(chǔ)卡插入主機(jī),存儲(chǔ)卡上電后,等待主機(jī)發(fā)送有效的CMD0;(2)判斷接收的CMD0是否為有效。若是,則繼續(xù)等待主機(jī)發(fā)送有效的ACMD41或有效的CMD8;(3)判斷接收的是否為有效的ACMD41。若是,則返回Response R3,啟用SD1.1的參數(shù)設(shè)置,使卡作為SD1.1卡處理,調(diào)整存儲(chǔ)卡為標(biāo)準(zhǔn)容量卡,采用標(biāo)準(zhǔn)容量讀寫方式解釋其后主機(jī)發(fā)送的內(nèi)存訪問(wèn)命令,即把內(nèi)存訪問(wèn)命令的Argument所表示的數(shù)據(jù)地址解釋為以1字節(jié)為單位;(4)若判斷接收到的為有效的CMD8,則回Response R7;(5)繼續(xù)等待主機(jī)發(fā)送有效的ACMD41;(6)判斷接收的是否為有效的ACMD41,若是則判斷ACMD41中包含的HCS比特位;(7)若ACMD41中包含的HCS比特位為‘1’,則回包含CCS比特位為‘1’的Response R3,啟用SD2.0的參數(shù)設(shè)置,使卡為SD2.0卡,調(diào)整卡為高容量卡,用高容量讀寫方式解釋其后主機(jī)發(fā)送的內(nèi)存訪問(wèn)命令,即把內(nèi)存訪問(wèn)命令的Argument所表示的數(shù)據(jù)地址解釋為以512字節(jié)為單位;(8)若ACMD41中包含的HCS比特位不為‘1’,則回包含CCS比特位為‘0’的Response R3,啟用SD2.0的參數(shù)設(shè)置,使卡為SD2.0卡,調(diào)整卡為標(biāo)準(zhǔn)容量卡,用標(biāo)準(zhǔn)容量讀寫方式解釋其后主機(jī)發(fā)送的內(nèi)存訪問(wèn)命令,即把內(nèi)存訪問(wèn)命令的Argument所表示的數(shù)據(jù)地址解釋為以1字節(jié)為單位。
權(quán)利要求
1.一種自適應(yīng)SD存儲(chǔ)卡,包括SD界面單元(1)、控制器(2)和存儲(chǔ)模塊(3),SD界面單元(1)一端用于與外界主機(jī)連接,另一端連接控制器(2),控制器(2)與存儲(chǔ)模塊(3)通過(guò)總線連接,其特征在于所述的存儲(chǔ)卡具有自適應(yīng)功能,其自適應(yīng)過(guò)程包括以下步驟(1)上電后,等待主機(jī)發(fā)送有效的CMD0;(2)判斷接收的CMD0是否為有效,若是,則繼續(xù)等待主機(jī)發(fā)送有效的ACMD41或有效的CMD8;(3)判斷接收的是否為有效的ACMD41,若是,則回Response R3,啟用SD1.1的參數(shù)設(shè)置,使卡作為SD1.1卡處理,調(diào)整存儲(chǔ)卡為標(biāo)準(zhǔn)容量卡,采用標(biāo)準(zhǔn)容量讀寫方式解釋其后主機(jī)發(fā)送的內(nèi)存訪問(wèn)命令,即把內(nèi)存訪問(wèn)命令的Argument所表示的數(shù)據(jù)地址解釋為以1字節(jié)為單位;(4)若判斷接收到的為有效的CMD8,則返回Response R7;(5)繼續(xù)等待主機(jī)發(fā)送有效的ACMD41;(6)判斷接收的是否為有效的ACMD41,若是,則判斷ACMD41中包含的HCS比特位;(7)若ACMD41中包含的HCS比特位為‘1’,則返回包含CCS比特位為‘1’的Response R3,啟用SD2.0的參數(shù)設(shè)置,使卡成為SD2.0卡,調(diào)整卡為高容量卡,用高容量讀寫方式解釋其后主機(jī)發(fā)送的內(nèi)存訪問(wèn)命令,即把內(nèi)存訪問(wèn)命令的Argument所表示的數(shù)據(jù)地址解釋為以512字節(jié)為單位;(8)若ACMD41中包含的HCS比特位不為‘1’,則返回包含CCS比特位為‘0’的Response R3,啟用SD2.0的參數(shù)設(shè)置,使卡成為SD2.0卡,調(diào)整卡為標(biāo)準(zhǔn)容量卡,用標(biāo)準(zhǔn)容量讀寫方式解釋其后主機(jī)發(fā)送的內(nèi)存訪問(wèn)命令,即把內(nèi)存訪問(wèn)命令的Argument所表示的數(shù)據(jù)地址解釋為以1字節(jié)為單位。
2.如權(quán)利要求1所述存儲(chǔ)卡,其特征在于所述的SD界面單元(1)可采用SD界面連接器或金手指。
3.如權(quán)利要求1所述存儲(chǔ)卡,其特征在于所述的存儲(chǔ)模塊(3)可采用一個(gè)或多個(gè)存儲(chǔ)器件。
4.如權(quán)利要求3所述存儲(chǔ)卡,其特征在于所述的存儲(chǔ)器件可采用可擦寫、非易失的半導(dǎo)體存儲(chǔ)器件。
全文摘要
本發(fā)明公開(kāi)了一種自適應(yīng)SD存儲(chǔ)卡,包括SD界面單元、控制器和存儲(chǔ)模塊,SD界面單元一端用于與外界主機(jī)連接,另一端連接控制器;控制器與存儲(chǔ)模塊通過(guò)總線連接,控制器具有自適應(yīng)功能。本發(fā)明的存儲(chǔ)卡能根據(jù)主機(jī)自動(dòng)調(diào)整為相應(yīng)版本,可同時(shí)支持SD2.0規(guī)范和SD1.1/SD1.0規(guī)范,能同時(shí)支持SD規(guī)范中的兩種讀寫方式高容量讀寫方式和標(biāo)準(zhǔn)容量讀寫方式,解決了普通SD2.0高容量存儲(chǔ)卡不能夠被SD1.0/SD1.1主機(jī)正確讀寫的問(wèn)題。
文檔編號(hào)G06F3/06GK1804779SQ200610049198
公開(kāi)日2006年7月19日 申請(qǐng)日期2006年1月20日 優(yōu)先權(quán)日2006年1月20日
發(fā)明者駱建軍, 楚傳仁 申請(qǐng)人:駱建軍, 楚傳仁