專利名稱:通過gpio接口外接雙存儲卡的方法及移動終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種移動終端外接雙存儲卡技術(shù),尤其涉及一種通過GPI0接口外接 雙存儲卡的方法及移動終端。
背景技術(shù):
隨著消費(fèi)市場的逐步成熟和消費(fèi)者對于手機(jī)功能要求的提高,普通手機(jī)單純的簡 單通訊功能已不再滿足消費(fèi)者的需要,消費(fèi)者需要更加智慧化、人性化的技術(shù)來滿足日漸 提高的商務(wù)生活和現(xiàn)代生活上的應(yīng)用。多媒體功能的加入,讓手機(jī)在功能、加值服務(wù)等方面 有了更大的突破,同時也更加受到用戶的歡迎,這也使得多功能手機(jī)在競爭中取勝,從而躋 身主流市場。對手機(jī)來說,日趨增大的數(shù)據(jù)量對其的存儲能力提出了更高的要求,外接存儲 卡隨即應(yīng)運(yùn)而生,通過這種小巧易攜帶易更換的數(shù)據(jù)存儲設(shè)備,能夠有效的控制成本,對中 低端移動通訊設(shè)備來說是個不小的改進(jìn)?,F(xiàn)有技術(shù)中,應(yīng)用在手機(jī)中擴(kuò)展存儲的方法,其一,使用手機(jī)系統(tǒng)中自帶的具有SD 卡協(xié)議的端口外接存儲卡,其二,通過在系統(tǒng)中增加協(xié)處理器,由協(xié)處理器對外接存儲卡的 讀寫進(jìn)行控制;其三,利用SPI協(xié)議通過GPI0接口對外接存儲卡進(jìn)行讀寫控制。以上現(xiàn)有技術(shù)至少包含以下缺點(diǎn)用手機(jī)系統(tǒng)中自帶的具有SD卡協(xié)議的端口外接存儲卡,占用系統(tǒng)本身的資源,而 且在很多手機(jī)系統(tǒng)中的功能都需要使用能夠識別SD協(xié)議的端口,例如無線網(wǎng)絡(luò)連接等,接 入雙存儲卡必然導(dǎo)致了其他功能的不可用;增加專用于控制外接存儲卡的協(xié)處理器就提高 了整個手機(jī)系統(tǒng)的成本;利用SPI協(xié)議的外接存儲卡數(shù)據(jù)存儲速度慢,當(dāng)使用高容量卡存 取大量數(shù)據(jù)的時候非常耗時。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種成本低、存儲速度快、能接入多個存儲卡的通過GPI0接 口外接雙存儲卡的方法及移動終端。本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的本發(fā)明的通過GPI0接口外接雙存儲卡的方法,包括含有至少5個GPI0接口的存 儲卡接口控制系統(tǒng),該系統(tǒng)連接至少兩個存儲卡,所述存儲卡支持SD卡協(xié)議并具有命令線 CMD、時鐘線CLK和至少一條數(shù)據(jù)線,所述存儲卡接口控制系統(tǒng)通過GPI0接口外接雙存儲卡 的方法通過以下方式實(shí)現(xiàn)所述存儲卡接口控制系統(tǒng)上的5個GPI0接口分別連接于第一存儲卡的命令線、第 一存儲卡的時鐘線、第二存儲卡的命令線、第二存儲卡的時鐘線,以及被第一和第二存儲卡 復(fù)用的數(shù)據(jù)線。本發(fā)明的移動終端,其較佳的具體實(shí)施方式
是,該移動終端的存儲卡接口控制系 統(tǒng)通過上述的通過GPI0接口外接雙存儲卡的方法與至少兩個存儲卡連接。由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明所述的通過GPI0接口外接雙存儲卡的方法及移動終端,通過在存儲卡接口控制系統(tǒng)中增加具有多個GPIO端口的存儲卡接口控制系統(tǒng),并對其中的GPIO端口進(jìn)行復(fù)用,有效提高了 GPIO端口的使用效率;雙存儲 卡的接入能夠有效提升手機(jī)等移動終端的數(shù)據(jù)存儲容量,節(jié)省其內(nèi)置的硬盤容量,而且,目 前市面上存儲卡的種類越來越多,價格也非常便宜,用更換便捷體積小巧的存儲卡代替內(nèi) 置硬盤在成本,用戶體驗(yàn),數(shù)據(jù)容量上都得到有效的提升。
圖1是本發(fā)明一種通過GPIO接口外接雙存儲卡的方法使用4線數(shù)據(jù)傳輸模式的 結(jié)構(gòu)示意圖;圖2是本發(fā)明一種通過GPIO接口外接雙存儲卡的方法使用1線數(shù)據(jù)傳輸模式的 結(jié)構(gòu)示意圖;圖3是本發(fā)明實(shí)施例的雙存儲卡初始化卡操作流程圖;圖4是本發(fā)明實(shí)施例的雙存儲卡讀取卡內(nèi)數(shù)據(jù)操作流程圖;圖5是本發(fā)明實(shí)施例的雙存儲卡寫入數(shù)據(jù)操作流程圖;圖6是本發(fā)明實(shí)施例的雙存儲卡擦除卡內(nèi)數(shù)據(jù)操作流程圖。
具體實(shí)施例方式本發(fā)明的通過GPIO接口外接雙存儲卡的方法,其較佳的具體實(shí)施方式
如圖1、圖2 所示所示包括含有至少5個GPIO接口的存儲卡接口控制系統(tǒng),該系統(tǒng)連接至少兩個存儲 卡,所述存儲卡支持SD卡協(xié)議并具有命令線CMD、時鐘線CLK和至少一條數(shù)據(jù)線,所述存儲 卡接口控制系統(tǒng)通過GPIO接口外接雙存儲卡的方法通過以下方式實(shí)現(xiàn)所述存儲卡接口控制系統(tǒng)上的5個GPIO接口分別連接于第一存儲卡的命令線、第 一存儲卡的時鐘線、第二存儲卡的命令線、第二存儲卡的時鐘線,以及被第一和第二存儲卡 復(fù)用的數(shù)據(jù)線。在所述存儲卡接口控制系統(tǒng)內(nèi)部通過包含SD卡協(xié)議參數(shù)的寄存器分別將與第一 存儲卡的命令線連接的第一 GPIO接口、與第二存儲卡的命令線連接的第三GPIO接口、與第 一和第二存儲卡連接的數(shù)據(jù)線設(shè)置為雙向模式,將與第一存儲卡的時鐘線連接的第二 GPIO 接口、與第二存儲卡的時鐘線連接的第四GPIO接口設(shè)置為輸出模式。在所述存儲卡接口控制系統(tǒng)檢測到有存儲卡連接時,系統(tǒng)內(nèi)部通過向寄存器寫入 要接入的存儲卡編號,該存儲卡通過命令線和時鐘線進(jìn)行初始化,并占用被復(fù)用的數(shù)據(jù)線, 進(jìn)行數(shù)據(jù)讀取及寫入。所述存儲卡接口控制系統(tǒng)上的另外3個GPIO接口分別連接于被第一和第二存儲 卡復(fù)用的另外3條數(shù)據(jù)線;在所述存儲卡進(jìn)行初始化時,只使用1條數(shù)據(jù)線,在進(jìn)行數(shù)據(jù)讀取和寫入時,使用 1條或4條數(shù)據(jù)線。所述存儲卡包括以下一種或多種SD卡、MMC卡、Micro SD卡。本發(fā)明的移動終端,其較佳的具體實(shí)施方式
是,該移動終端的存儲卡接口控制系 統(tǒng)通過上述的通過GPIO接口外接雙存儲卡的方法與至少兩個存儲卡連接。
該移動終端包括以下至少一種手機(jī)、掌上電腦、游戲機(jī)、媒體播放器。也可以是其它的便攜式信息終端。本發(fā)明通過在存儲卡接口控制系統(tǒng)中增加具有多個GPIO端口的存儲卡接口控制 系統(tǒng),并對其中的GPIO端口進(jìn)行復(fù)用,有效提高了 GPIO端口的使用效率;雙存儲卡的接入 能夠有效提升手機(jī)等移動終端的數(shù)據(jù)存儲容量,節(jié)省其內(nèi)置的硬盤容量,而且,目前市面上 存儲卡的種類越來越多,價格也非常便宜,用更換便捷體積小巧的存儲卡代替內(nèi)置硬盤在 成本,用戶體驗(yàn),數(shù)據(jù)容量上都得到有效的提升。雙存儲卡需要占用數(shù)量很多的輸入輸出口,本發(fā)明的方法能夠避免使用手機(jī)系統(tǒng) 自帶的GPIO端口,利于手機(jī)集成更多的功能。存儲卡接口控制系統(tǒng)代替了原本獨(dú)立的存儲 卡控制處理器,降低成本,能夠大規(guī)模應(yīng)用于中低端手機(jī)。而使用SD卡協(xié)議作為數(shù)據(jù)傳輸 協(xié)議,不僅提升了數(shù)據(jù)傳輸?shù)乃俾剩渌邆涞?線數(shù)據(jù)傳輸模式和4線數(shù)據(jù)傳輸模式使用 在不同的存儲卡接口控制系統(tǒng)上時可以根據(jù)GPIO端口數(shù)量的不同,進(jìn)行改變。將GPIO端 口進(jìn)行復(fù)用,能夠節(jié)省對端口的占用,并提高端口的使用效率。將存儲卡的數(shù)據(jù)線復(fù)用,首 先考慮到了在同一系統(tǒng)內(nèi)對兩存儲卡同時進(jìn)行存取的現(xiàn)實(shí)意義不大,每卡擁有獨(dú)立的數(shù)據(jù) 線是對資源不必要的浪費(fèi),尤其在存儲卡時用4線傳輸模式時,僅一張存儲卡就至少需要 占用6個GPIO端口。以下結(jié)合附圖,對本發(fā)明的較佳實(shí)施例加以詳細(xì)說明。具體實(shí)施例一,如圖1所示該方法可應(yīng)用于便攜式移動信息終端,以手機(jī)系統(tǒng)為例,其含有包括至少5個 GPIO接口的存儲卡接口控制系統(tǒng),支持SD卡協(xié)議并具有命令線CMD,時鐘線CLK,和至少一 條數(shù)據(jù)線的存儲卡,通過存儲卡接口控制系統(tǒng)上的GPIO接口外接兩個或兩個以上存儲卡。 存儲卡接口控制系統(tǒng)與上位機(jī)相連,接受來自上位機(jī)的命令;或與手機(jī)系統(tǒng)的多媒體協(xié)處 理器相連,接受來自協(xié)處理器的命令。GPIO端口與存儲卡相連,并對相應(yīng)的端口進(jìn)行復(fù)用, 以實(shí)現(xiàn)端口利用最大化。通過存儲卡接口控制和GPIO端口復(fù)用,能夠?qū)崿F(xiàn)原本需要手機(jī)系 統(tǒng)并占用手機(jī)自身GPIO端口才能完成的功能,即擴(kuò)大了應(yīng)用范圍同時降低成本。本發(fā)明中存儲卡接口控制系統(tǒng)上的5個GPIO接口分別連接于第一存儲卡的命令 線CMDl,第一存儲卡的時鐘線CLKl,第二存儲卡的命令線CMD2,第二存儲卡的時鐘線CLK2, 以及被第一和第二存儲卡復(fù)用的數(shù)據(jù)線DO。由于每個存儲卡都需要有獨(dú)立的控制線,所以 雖然從理論上時鐘線和命令線在與GPIO端口連接時也可被復(fù)用,但為了保持系統(tǒng)的穩(wěn)定 性和出于讀取速度的考慮,一般對時鐘線和命令線不予復(fù)用,只對數(shù)據(jù)線復(fù)用。在實(shí)際雙 存儲卡系統(tǒng)中,兩張卡的存取模式多為錯時存取,即在同一時間內(nèi),只對一張卡進(jìn)行數(shù)據(jù)流 入或流出的操作,對兩卡同時進(jìn)行數(shù)據(jù)存取的情況很少出現(xiàn)。因此使用獨(dú)立的數(shù)據(jù)線是對 GPIO端口資源的浪費(fèi),對其進(jìn)行復(fù)用,即不會影響傳輸速率,同時降低成本。在存儲卡接口控制系統(tǒng)內(nèi)部通過包含SD卡協(xié)議參數(shù)的寄存器將分別與第一存 儲卡的命令線CMDl連接的第一 GPIO接口,與第二存儲卡的命令線CMD2連接的第三GPIO 接口,以及與第一和第二存儲卡連接的數(shù)據(jù)線設(shè)置為雙向模式,將與第一存儲卡的時鐘線 CLKl連接的第二 GPIO接口和與第二存儲卡的時鐘線CLK2連接的第四GPIO接口設(shè)置為輸 出模式。對端口輸入輸出模式的控制由與存儲卡接口控制系統(tǒng)連接的上位機(jī),或與存儲卡 接口控制系統(tǒng)連接的多媒體協(xié)處理器進(jìn)行控制。
在存儲卡接口控制系統(tǒng)檢測到有存儲卡連接時,系統(tǒng)內(nèi)部通過寫入要接入的存儲卡卡號,該存儲卡通過命令線和時鐘線進(jìn)行初始化,并占用被復(fù)用的數(shù)據(jù)線,進(jìn)行數(shù)據(jù)讀取 及寫入。通過寫入存儲卡卡號,本發(fā)明可以實(shí)現(xiàn)單存儲卡接入控制,和雙存儲卡接入控制。 如0號卡和1號卡,當(dāng)上位機(jī)或多媒體協(xié)處理器寫入其中某一卡號時,另一卡不進(jìn)行任何操 作,即可實(shí)現(xiàn)單存儲卡接入控制。若兩卡卡號均被寫入,則對兩卡均進(jìn)行初始化,并進(jìn)一步 操作。如圖3所示,初始化操作步驟流程是在初始化過程中,首先寫入存儲卡卡號,0或1,表示將對0號卡或1號卡進(jìn)行初 始化,控制存儲卡進(jìn)入空閑狀態(tài),通過命令線寫入SD卡協(xié)議規(guī)定的相應(yīng)命令,控制判斷存 儲卡協(xié)議類型及存儲卡類型,存儲卡卡進(jìn)入認(rèn)證狀態(tài)。命令控制為存儲卡分配相關(guān)卡地址 (RCA),并進(jìn)入等待狀態(tài),并讀取存儲卡容量信息以及相關(guān)信息。存儲卡在此時就進(jìn)入數(shù)據(jù) 據(jù)傳輸狀態(tài),可以對其進(jìn)行數(shù)據(jù)流入和流出的操作。存儲卡在初始化配置時使用時鐘頻率, 與在進(jìn)入數(shù)據(jù)傳輸狀態(tài)后需使用的時鐘頻率不同,因此需要設(shè)置時鐘,數(shù)據(jù)塊長度,和數(shù)據(jù) 傳輸總線的寬度,既設(shè)置數(shù)據(jù)傳輸使用1線模式或4線模式。一般在初始化過程中對兩卡 都進(jìn)行初始化,如出現(xiàn)其中一卡沒有插入,或出現(xiàn)錯誤,導(dǎo)致初始化未能成功,對出錯位置 進(jìn)行標(biāo)記不再進(jìn)行任何操作,并對未出錯卡進(jìn)行二次初始化,并進(jìn)入單存儲卡模式。如圖4所示,存儲卡讀操作步驟流程是在對存儲卡進(jìn)行讀操作時,寫入存儲卡卡號,根據(jù)初始化的標(biāo)記對出錯卡不與任 何操作,設(shè)置一次讀取數(shù)據(jù)塊長度,命令線向存儲卡寫入命令控制從SD卡讀出數(shù)據(jù),讀取 存儲卡接口控制系統(tǒng)中的中斷狀態(tài)寄存器為判斷讀操作進(jìn)程,直至讀取數(shù)據(jù)結(jié)束。如圖5、圖6所示,分別為存儲卡寫操作步驟流程和擦除操作步驟流程在對存儲卡進(jìn)行寫入操作時,與初始化及讀操作相同,首先寫入存儲卡卡號,根據(jù) 初始化的標(biāo)記對出錯卡不與任何操作,設(shè)置一次寫入數(shù)據(jù)塊長度,并計(jì)算即將寫入的數(shù)據(jù) 需要占用多少個塊。擦除存儲卡上將被占用的塊,默認(rèn)在對存儲卡進(jìn)行些操作之前均進(jìn)行 擦除操作。命令線向存儲卡輸入命令控制設(shè)置擦除的起始地址和擦除的結(jié)束地址,并控制 開始擦除。讀取存儲卡接口控制系統(tǒng)中的中斷狀態(tài)寄存器為判斷擦除操作進(jìn)程,直至擦除 操作結(jié)束。擦除結(jié)束后,可向SD卡中寫入數(shù)據(jù),直到判斷出已經(jīng)寫完最后一個數(shù)據(jù)塊。讀 取存儲卡接口控制系統(tǒng)中的中斷狀態(tài)寄存器判斷寫入操作進(jìn)程,寫入操作結(jié)束。被第一和第二存儲卡復(fù)用的數(shù)據(jù)線可以為1條或4條,也可以是其它數(shù)量的數(shù)據(jù) 線。在上述的圖1所示的具體實(shí)施例一中,被第一和第二存儲卡復(fù)用的數(shù)據(jù)線為4條。在存儲卡進(jìn)行初始化時,可以只使用1條數(shù)據(jù)線,在進(jìn)行數(shù)據(jù)讀取和寫入時,可使 用1條或4條數(shù)據(jù)線。具體實(shí)施例二,如圖2所示是1線數(shù)據(jù)傳輸模式結(jié)構(gòu)圖,其連接方式與4線模式的連接方式相似,僅僅是減少 了 3條復(fù)用的數(shù)據(jù)線。在實(shí)際的測試過程中表明,1線數(shù)據(jù)傳輸和4線數(shù)據(jù)傳輸同樣的數(shù)據(jù) 量所用的時間并無明顯的差別,因?yàn)樵趯Υ鎯ㄟM(jìn)行存取任務(wù)時,大量的時間需要用在命 令傳輸和與上位機(jī)或多媒體協(xié)處理器進(jìn)行交互上。因此,當(dāng)應(yīng)用在某些可預(yù)見到的對數(shù)據(jù) 傳輸時間要求并不精確的設(shè)備上時,可使用1線數(shù)據(jù)傳輸,這種方法能夠節(jié)省GPIO端口占 用,將剩余的端口用以實(shí)現(xiàn)其他的功能,如接入圖像傳感器或鍵盤按鍵等。
本發(fā)明所述方法中的存儲卡包括但不限于SD卡,MMC卡,MicroSD卡,還包括其他 能夠支持SD卡協(xié)議的存儲卡。這些存儲卡與存儲卡接口控制系統(tǒng)的GPIO端口連接方式均 與本發(fā)明所述方法相同。以上所述,表明本發(fā)明的通過GPIO借口外接雙存儲卡的方法能夠避免使用手機(jī) 系統(tǒng)自帶的GPIO端口,利于手機(jī)集成更多的功能。存儲卡接口控制系統(tǒng)代替了原本獨(dú)立的 存儲卡控制處理器,降低成本,能夠大規(guī)模應(yīng)用于中低端手機(jī)。將GPIO端口進(jìn)行復(fù)用,能夠 節(jié)省對端口的占用,并提高端口的使用效率。這種方法和系統(tǒng)可廣泛應(yīng)用于需要擴(kuò)展容量, 增強(qiáng)數(shù)據(jù)存儲設(shè)備易更換性的便攜式設(shè)備。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種通過GPIO接口外接雙存儲卡的方法,包括含有至少5個GPIO接口的存儲卡接口控制系統(tǒng),該系統(tǒng)連接至少兩個存儲卡,所述存儲卡支持SD卡協(xié)議并具有命令線CMD、時鐘線CLK和至少一條數(shù)據(jù)線,其特征在于,所述存儲卡接口控制系統(tǒng)通過GPIO接口外接雙存儲卡的方法通過以下方式實(shí)現(xiàn)所述存儲卡接口控制系統(tǒng)上的5個GPIO接口分別連接于第一存儲卡的命令線、第一存儲卡的時鐘線、第二存儲卡的命令線、第二存儲卡的時鐘線,以及被第一和第二存儲卡復(fù)用的數(shù)據(jù)線。
2.根據(jù)權(quán)利要求1所述的一種通過GPIO接口外接雙存儲卡的方法,其特征在于,在所 述存儲卡接口控制系統(tǒng)內(nèi)部通過包含SD卡協(xié)議參數(shù)的寄存器分別將與第一存儲卡的命令 線連接的第一 GPIO接口、與第二存儲卡的命令線連接的第三GPIO接口、與第一和第二存儲 卡連接的數(shù)據(jù)線設(shè)置為雙向模式,將與第一存儲卡的時鐘線連接的第二 GPIO接口、與第二 存儲卡的時鐘線連接的第四GPIO接口設(shè)置為輸出模式。
3.根據(jù)權(quán)利要求2所述的一種通過GPIO接口外接雙存儲卡的方法,其特征在于,在所述存儲卡接口控制系統(tǒng)檢測到有存儲卡連接時,系統(tǒng)內(nèi)部通過向寄存器寫入要接 入的存儲卡編號,該存儲卡通過命令線和時鐘線進(jìn)行初始化,并占用被復(fù)用的數(shù)據(jù)線,進(jìn)行 數(shù)據(jù)讀取及寫入。
4.根據(jù)權(quán)利要求3所述的通過GPIO接口外接雙存儲卡的方法,其特征在于,所述存儲 卡接口控制系統(tǒng)上的另外3個GPIO接口分別連接于被第一和第二存儲卡復(fù)用的另外3條 數(shù)據(jù)線;在所述存儲卡進(jìn)行初始化時,只使用1條數(shù)據(jù)線,在進(jìn)行數(shù)據(jù)讀取和寫入時,使用1條 或4條數(shù)據(jù)線。
5.根據(jù)權(quán)利要求4所述的通過GPIO接口外接雙存儲卡的方法,其特征在于,所述存儲 卡包括以下一種或多種SD卡、MMC卡、Micro SD卡。
6.一種移動終端,其特征在于,該移動終端的存儲卡接口控制系統(tǒng)通過權(quán)利要求1至5 任一項(xiàng)所述的通過GPIO接口外接雙存儲卡的方法與至少兩個存儲卡連接。
7.根據(jù)權(quán)利要求6所述的移動終端,其特征在于,該移動終端包括以下至少一種手 機(jī)、掌上電腦、游戲機(jī)、媒體播放器。
全文摘要
本發(fā)明公開了一種通過GPIO接口外接雙存儲卡的方法及移動終端,包括含有至少5個GPIO接口的存儲卡接口控制系統(tǒng),該系統(tǒng)連接至少兩個存儲卡,存儲卡支持SD卡協(xié)議并具有命令線CMD、時鐘線CLK和至少一條數(shù)據(jù)線,存儲卡接口控制系統(tǒng)通過GPIO接口外接雙存儲卡的方法通過以下方式實(shí)現(xiàn)存儲卡接口控制系統(tǒng)上的5個GPIO接口分別連接于第一存儲卡的命令線、第一存儲卡的時鐘線、第二存儲卡的命令線、第二存儲卡的時鐘線,以及被第一和第二存儲卡復(fù)用的數(shù)據(jù)線。能有效提高了GPIO端口的使用效率,能夠有效提升手機(jī)等移動終端的數(shù)據(jù)存儲容量,節(jié)省其內(nèi)置的硬盤容量。
文檔編號G06F13/16GK101853228SQ20101017816
公開日2010年10月6日 申請日期2010年5月17日 優(yōu)先權(quán)日2010年5月17日
發(fā)明者劉志碧, 唐冕, 程杰 申請人:北京思比科微電子技術(shù)股份有限公司