專利名稱:對sd卡接口進行控制的裝置的制作方法
技術(shù)領(lǐng)域:
本實用新型涉及一種接口控制的裝置,尤其涉及到對SD卡的接口進行控制的裝置。
背景技術(shù):
隨著科技的迅速發(fā)展,消費電子設備中對非易失性存儲卡的需求越來越大。非易失性存儲卡包括CF卡,SD(Secure Digital)卡,MMC卡,記憶棒(Memory Stick)等。由于SD卡具有體積小,容量大,速度快,成本相對便宜的特點,因此被廣泛地應用于手機,數(shù)碼相機,PDA等消費電子設備中。另外,由于SD卡在物理尺寸,管腳分布及通信協(xié)議都基本與MMC卡兼容,使得MMC卡的控制接口同樣可以實現(xiàn)對SD卡的控制,從而極大地擴展了SD卡的使用范圍。為了保證不同廠家設計生產(chǎn)的SD卡之間的兼容性,國際上專門成立了SD卡標準組織,負責為SD卡制造和應用制定統(tǒng)一的標準,標準包括SD卡的通信協(xié)議,管腳分布,電氣特性等。設備應用商只要根據(jù)SD卡的標準設計應用程序,就可以保證對市場上各種品牌的SD卡的兼容性。
而目前市場上的SD卡接口控制裝置較少,而且功能上也有較大的局限性,由于SD卡的設計本身也處于快速發(fā)展之中,目前的SD卡接口控制裝置無法在保證一定的靈活性的前提下同時適應大量,復雜的數(shù)據(jù)傳輸環(huán)境。
發(fā)明內(nèi)容
因此,本實用新型的目的是設計一種符合SD卡標準,能在主控系統(tǒng)的控制下完成對SD卡的操作,并具備很強的兼容性使得可以方便地在不同平臺上移植的SD卡接口控制裝置。
本實用新型給出了一種對SD卡接口進行控制的裝置,其被連接在主控系統(tǒng)和SD卡之間,并且能夠與主控系統(tǒng)和SD卡之間進行雙向的數(shù)據(jù)傳輸,含有SD卡控制模塊,負責整個SD卡接口控制裝置的控制;DMA控制模塊,負責DMA傳輸?shù)目刂疲籗D卡命令產(chǎn)生及應答接收模塊,負責處理SD卡的命令和應答,和SD卡數(shù)據(jù)發(fā)送及接收模塊,負責處理SD卡的數(shù)據(jù),其中,SD卡控制模塊,SD卡命令產(chǎn)生及應答接收模塊和SD卡數(shù)據(jù)發(fā)送及接收模塊之間都相互通過數(shù)據(jù)連線進行雙向的數(shù)據(jù)傳輸,并且SD卡控制模塊和DMA控制模塊通過數(shù)據(jù)連接線進行雙向的數(shù)據(jù)傳輸。
本實用新型還存在如下的一些改進,SD卡控制模塊根據(jù)主控系統(tǒng)的指令管理SD卡命令產(chǎn)生及應答接收模塊和SD卡數(shù)據(jù)發(fā)送及接收模塊,來完成對SD卡的控制和數(shù)據(jù)傳輸。
SD卡控制模塊實現(xiàn)所有的命令索引、應答分析以及對發(fā)送和接收數(shù)據(jù)通道的控制。
SD卡命令產(chǎn)生及應答接收模塊只是產(chǎn)生符合SD卡物理層標準的數(shù)據(jù)格式并完成CRC(循環(huán)冗余碼校驗)校驗;在接收應答時,SD卡命令產(chǎn)生應答接收模塊只是根據(jù)SD卡物理層標準的規(guī)定接收SD卡所產(chǎn)生的應答,同時進行CRC校驗,并不進行應答的分析。
SD卡數(shù)據(jù)發(fā)送及接收模塊在SD卡控制模塊的控制下,將來自SD卡控制模塊的數(shù)據(jù)根據(jù)SD卡物理層標準進行打包并發(fā)送給SD卡,并且將來自SD卡的數(shù)據(jù)進行分析,提取其中有效數(shù)據(jù)并發(fā)送給SD卡控制模塊。
該控制裝置還連接有需要與SD進行數(shù)據(jù)通信的其他客戶。
主控系統(tǒng)將將相應命令的索引,命令參數(shù)及應答長度的信息傳送給SD卡接口控制裝置,SD卡接口控制裝置將其轉(zhuǎn)換為符合SD卡物理層標準規(guī)定的SD卡命令格式并送給SD卡,同時SD卡接口控制裝置根據(jù)主控系統(tǒng)所配置的應答長度接收SD卡所產(chǎn)生的應答信號,并將應答送給主控系統(tǒng)進行分析。
在本實用新型的SD卡接口控制裝置中,由于采用了前面所說的結(jié)構(gòu),使得控制SD卡物理通信的模塊與根據(jù)主控系統(tǒng)要求設計的SD卡控制模塊分離開來,這樣,本實用新型只需根據(jù)主控系統(tǒng)的需要對SD卡控制模塊進行相應修改,而無需改動SD卡命令產(chǎn)生及應答接收模塊和SD卡數(shù)據(jù)發(fā)送及接收模塊,就可以使本實用新型的SD卡接口模塊方便地移植到其他不同的系統(tǒng)中。
附圖描述通過附圖以及相應的描述可以更加清晰地了解本實用新型的詳細內(nèi)容。
圖1示出了現(xiàn)有技術(shù)SD卡命令與應答信號的流程;圖2示出了現(xiàn)有技術(shù)SD卡讀寫數(shù)據(jù)的流程;圖3示出了現(xiàn)有技術(shù)SD卡命令的語法結(jié)構(gòu);圖4示出了現(xiàn)有技術(shù)SD卡應答信號的語法結(jié)構(gòu);圖5示出了現(xiàn)有技術(shù)SD卡數(shù)據(jù)塊的語法結(jié)構(gòu);圖6示出了現(xiàn)有技術(shù)SD卡初始化階段的狀態(tài)轉(zhuǎn)移圖;圖7示出了現(xiàn)有技術(shù)SD卡數(shù)據(jù)傳輸階段的狀態(tài)轉(zhuǎn)移圖;圖8示出了本實用新型的SD卡接口控制裝置。
具體實施方式
附圖1-5顯示了SD卡的物理層通信協(xié)議的結(jié)構(gòu)。附圖5-6顯示了SD卡物理層通信協(xié)議中規(guī)定的SD卡狀態(tài)。SD卡物理層標準定義了SD卡物理層的通信協(xié)議,它規(guī)定SD卡的管腳定義如下
CLKSD卡的工作時鐘命令SD卡的命令及應答,雙向信號。
DAT0-DAT3SD卡的數(shù)據(jù)總線,雙向信號。
VDD,VSS1 VSS2SD卡的電源和地。
SD卡的工作過程可分為初始化階段和數(shù)據(jù)傳輸階段,在初始化階段,SD卡控制器通過命令管腳將初始化命令傳送給SD卡,如果SD卡處于正常的工作狀態(tài),它將產(chǎn)生相應的應答信號通過命令管腳傳送給SD卡控制器。經(jīng)過一系列的初始化命令后,如果SD卡的應答準確無誤的話,則進入數(shù)據(jù)傳輸階段。在這個階段,數(shù)據(jù)將以塊的形式通過數(shù)據(jù)總線傳輸,數(shù)據(jù)總線的寬度可以是1位,也可以是4位,塊的大小可以配置,每次可以傳輸一個塊,也可以傳輸多個塊。
由圖1-6中本實用新型可以看到,SD卡在初始化階段主要進行SD卡的識別與初始化工作,在這一過程中的命令與應答信號比較多,情況比較復雜,而且由于SD卡目前也處于迅速發(fā)展階段,在初始化階段的一些控制可能還會增加一些功能,因此如果由SD卡接口控制裝置來完成這一階段的工作,正如市場上的一些其他的SD卡接口控制裝置所設計的一樣,則會造成硬件過于復雜,而且還很難適應未來的需要。另外由于SD卡的命令與應答信號的語法格式是相對固定的,因此本實用新型可以將初始化階段的工作由主控系統(tǒng)來控制,SD卡接口控制裝置只完成相應的硬件操作(具體過程本實用新型將在后面描述)。這樣帶來的優(yōu)點是靈活性較強,缺點是執(zhí)行的效率較低,時間很慢,但考慮到SD卡初始化階段大都只是在SD卡插入時執(zhí)行一次,這時系統(tǒng)最需要的是穩(wěn)定而不是速度,因此執(zhí)行速度慢所帶來的開銷可以忽略不計;而在數(shù)據(jù)傳輸階段,由于本實用新型的SD卡接口控制裝置只定位于數(shù)據(jù)讀寫工作,此時SD卡已經(jīng)初始化完畢,因此命令與應答信號相對比較固定,而這時執(zhí)行的效率是系統(tǒng)所最需要的,也是評價SD卡接口性能的最重要的參數(shù),因此這一階段的工作完全由SD卡接口獨立完成,這樣數(shù)據(jù)傳輸階段主要工作在一種類似DMA(直接存儲器存取direct memory access)的方式,主控系統(tǒng)不參與,只有在傳輸結(jié)束或傳輸中出現(xiàn)無法解決的錯誤時才產(chǎn)生中斷給主控系統(tǒng),以保證系統(tǒng)的性能。
SD卡的標準包括SD卡物理層的標準,音頻方面的標準,文件系統(tǒng)標準及SD卡加密標準等。其中,物理層的標準是最基本的標準,所有的SD卡都必須支持其物理層標準。因此,本實用新型提出了一種基于SD卡物理層標準的接口控制結(jié)構(gòu),使得主控系統(tǒng)可以通過這個接口簡單迅速地對SD卡進行控制和訪問,完成對SD卡內(nèi)的數(shù)據(jù)進行存取的基本功能。同時,由于其結(jié)構(gòu)的合理性,使得它可以在基本不需要主控系統(tǒng)干預的前提下完成數(shù)據(jù)傳輸,并只需簡單的修改就可以使其在不同的主控系統(tǒng)之間移植。
本實用新型的SD卡接口控制裝置如圖8所示SD卡接口控制裝置按功能劃分為四個模塊SD卡控制負責整個SD卡接口控制裝置的控制,DMA控制負責DMA傳輸?shù)目刂?,SD卡命令產(chǎn)生及應答接收負責處理SD卡的命令和應答,SD卡數(shù)據(jù)發(fā)送及接收負責處理SD卡的數(shù)據(jù)。系統(tǒng)中還包括主控系統(tǒng),需要與SD卡進行數(shù)據(jù)通信的其他客戶,SD卡。在初始化階段,SD卡接口控制模塊主要完成SD卡的初始化功能,這一功能是在主控系統(tǒng)控制之下完成的。根據(jù)圖1,圖3,圖4的介紹,本實用新型可以發(fā)現(xiàn)SD卡的命令及應答信號的語法結(jié)構(gòu)是相對固定的,所區(qū)別的只是命令索引,命令參數(shù),應答長度,而這些參數(shù)的長度都是固定的,因此主控系統(tǒng)要想將某一命令傳遞給SD卡,只需將相應命令的索引,命令參數(shù)及應答長度的信息傳送給SD卡接口控制裝置,SD卡接口控制裝置將其轉(zhuǎn)換為符合SD卡物理層標準規(guī)定的SD卡命令格式并送給SD卡,同時SD卡接口控制裝置根據(jù)主控系統(tǒng)所配置的應答長度接收SD卡所產(chǎn)生的應答信號,并將應答送給主控系統(tǒng)進行分析。這樣就完成了一次命令的處理。在實際運用過程中,SD卡控制根據(jù)主控系統(tǒng)所配置的參數(shù)信息控制SD卡命令產(chǎn)生及應答接收,并接收相應的應答送給主控系統(tǒng)。這樣做的好處是SD卡命令產(chǎn)生及應答接收模塊的功能相對固定,如果需要對SD卡接口控制裝置的功能進行升級,只需升級SD卡控制即可。這樣,根據(jù)圖6所示,經(jīng)過一系列的命令處理,如果SD卡的應答正確的話,則完成SD卡初始化階段的處理,進入數(shù)據(jù)傳輸階段。正常工作情況下,SD卡基本處于數(shù)據(jù)傳輸階段,隨時可以進行數(shù)據(jù)的傳輸。根據(jù)圖7,本實用新型可以看到SD卡數(shù)據(jù)傳輸階段的命令及狀態(tài)轉(zhuǎn)移,在數(shù)據(jù)傳輸階段,主要涉及到的命令相對較少,包括單塊數(shù)據(jù)讀命令,單塊數(shù)據(jù)寫命令,多塊數(shù)據(jù)讀命令,多塊數(shù)據(jù)寫命令及停止數(shù)據(jù)傳輸命令,這些命令的應答信號也是相對固定的。如前面所述,為了提高系統(tǒng)的性能,這些命令的發(fā)送及應答分析由SD卡接口控制裝置獨立處理,此時SD卡接口控制裝置工作在一種類似DMA的方式。根據(jù)圖2,圖5,圖7的介紹,進行一次數(shù)據(jù)傳輸需要的參數(shù)包括,數(shù)據(jù)傳輸?shù)姆较?,?shù)據(jù)在SD卡中存放的物理地址,所傳輸數(shù)據(jù)塊的個數(shù)。當系統(tǒng)中某個模塊需要與SD卡進行通信時,首先將上述信息傳輸給DMA控制,DMA控制經(jīng)過一定的處理后,如果確認SD卡目前處于空閑狀態(tài),則向SD卡控制發(fā)出數(shù)據(jù)傳輸申請,SD卡控制根據(jù)DMA控制參數(shù)將相應的命令與應答參數(shù)傳送給SD卡命令發(fā)送及應答接收,當命令及應答處理結(jié)束后,如果應答正確無誤,則通知DMA控制,可以進行數(shù)據(jù)傳輸。DMA控制將需要進行通信的模塊與SD卡通過SD卡數(shù)據(jù)發(fā)送及接收連接起來,開始數(shù)據(jù)傳輸,直至此次數(shù)據(jù)傳輸結(jié)束,再發(fā)送數(shù)據(jù)傳輸信號給SD卡控制,控制SD卡命令發(fā)送及應答產(chǎn)生停止數(shù)據(jù)傳輸命令,當應答信號正確無誤時,則表明此次數(shù)據(jù)傳輸成功,可以進行下一次DMA傳輸。如果其中任何一個環(huán)節(jié)出了錯誤,為了提高效率,則由DMA控制自動重新開始當前數(shù)據(jù)傳輸,直到達到一定數(shù)量的錯誤限制后,才產(chǎn)生中斷給主控系統(tǒng)。在這一過程中,DMA控制主要負責有關(guān)DMA的處理,SD卡控制主要負責根據(jù)DMA控制的指令來控制相應命令的發(fā)送及應答的接收,SD卡命令發(fā)送及應答接收主要負責產(chǎn)生符合物理層標準的命令及將SD卡的應答傳輸給SD卡控制,SD卡數(shù)據(jù)發(fā)送及接收主要負責SD卡數(shù)據(jù)的通信。
綜上所述,本實用新型所描述的SD卡接口控制裝置主要有兩方面的優(yōu)點。一方面,SD卡接口控制裝置由模塊化的控制結(jié)構(gòu)組成,不同的模塊完成不同的功能,這樣當SD卡接口控制裝置移植到其他系統(tǒng)中時,如果現(xiàn)有功能不能滿足要求,需要對SD卡接口進行修改,本實用新型只需修改相應的功能模塊即可,而實際上,由于SD卡命令發(fā)送及應答接收,SD卡數(shù)據(jù)發(fā)送及接收只與SD卡物理層通信協(xié)議有關(guān),與具體的應用無關(guān),因此這兩個模塊基本無需修改,最大限度地減小了以后升級的工作量。另一方面,任何接口的設計目標是靈活性強,同時占用主控系統(tǒng)資源盡量少。在本實用新型的結(jié)構(gòu)中,初始化階段由于主控系統(tǒng)的資源不是很緊張,因此對SD卡的操作完全由主控系統(tǒng)控制完成,保證了足夠的靈活性。而在數(shù)據(jù)傳輸階段,為了保證足夠的數(shù)據(jù)傳輸速度并盡量不干擾主控系統(tǒng),在這段時間的操作基本是由SD卡接口控制完成,既保證了數(shù)據(jù)的傳輸速度,又保證了系統(tǒng)的性能。
權(quán)利要求1.一種對SD卡接口進行控制的裝置,其被連接在主控系統(tǒng)和SD卡之間,并且能夠與主控系統(tǒng)和SD卡之間進行雙向的數(shù)據(jù)傳輸,其特征在于,含有SD卡控制模塊,負責整個SD卡接口控制裝置的控制,用于根據(jù)主控系統(tǒng)的指令管理SD卡命令產(chǎn)生及應答接收模塊和SD卡數(shù)據(jù)發(fā)送及接收模塊,來完成對SD卡的控制和數(shù)據(jù)傳輸;DMA控制模塊,負責DMA傳輸?shù)目刂疲籗D卡命令產(chǎn)生及應答接收模塊,負責處理SD卡的命令和應答,和SD卡數(shù)據(jù)發(fā)送及接收模塊,負責處理SD卡的數(shù)據(jù),用于在SD卡控制模塊的控制下,將來自SD卡控制模塊的數(shù)據(jù)根據(jù)SD卡物理層標準進行打包并發(fā)送給SD卡,并且將來自SD卡的數(shù)據(jù)進行分析,提取其中有效數(shù)據(jù)并發(fā)送給SD卡控制模塊;其中,SD卡控制模塊,SD卡命令產(chǎn)生及應答接收模塊和SD卡數(shù)據(jù)發(fā)送及接收模塊之間都相互通過數(shù)據(jù)連線進行雙向的數(shù)據(jù)傳輸,并且SD卡控制模塊和DMA控制模塊通過數(shù)據(jù)連接線進行雙向的數(shù)據(jù)傳輸。
2.如權(quán)利要求1所述的控制裝置,其特征在于,該控制裝置還連接有需要與SD進行數(shù)據(jù)通信的其他客戶。
專利摘要一種對SD卡接口進行控制的裝置,其被連接在主控系統(tǒng)和SD卡之間,含有SD卡控制模塊,負責整個SD卡接口控制裝置的控制;DMA控制模塊,負責DMA傳輸?shù)目刂?;SD卡命令產(chǎn)生及應答接收模塊,負責處理SD卡的命令和應答,和SD卡數(shù)據(jù)發(fā)送及接收模塊,負責處理SD卡的數(shù)據(jù),其中,SD卡控制模塊,SD卡命令產(chǎn)生及應答接收模塊和SD卡數(shù)據(jù)發(fā)送及接收模塊之間都相互通過數(shù)據(jù)連線進行雙向的數(shù)據(jù)傳輸,并且SD卡控制模塊和DMA控制模塊通過數(shù)據(jù)連接線進行雙向的數(shù)據(jù)傳輸。這樣,本實用新型只需根據(jù)主控系統(tǒng)的需要對SD卡控制模塊進行相應修改,而無需改動SD卡命令產(chǎn)生及應答接收模塊和SD卡數(shù)據(jù)發(fā)送及接收模塊,就可以使本實用新型的SD卡接口模塊方便地移植到其他不同的系統(tǒng)中。
文檔編號G06F13/20GK2869991SQ200420122258
公開日2007年2月14日 申請日期2004年12月31日 優(yōu)先權(quán)日2004年12月31日
發(fā)明者劉健, 楊柱 申請人:北京中星微電子有限公司