探灵笔记游戏下载
 
 
  欄目搜索
 
 
 
 

基于嵌入式系統的多媒體存儲卡接口設計

更新日期:2008-03-03  作者:  來源:光學精密機械網(ChinaOptic.Com.Cn)收集整理

來源:國外電子元器件 作者:高美珍


摘要:嵌入式系統由于本身存儲容量的限制,急需擴展外存,多媒體卡(MMC)就是解決外存擴展的一個很好的方案。多媒體卡在多媒體領域廣泛用作外部存儲介質,但是大多數微處理器(MCU)并沒有專門的多媒體卡控制器,多媒體卡的串行外設模式給了不具有多媒體卡控制器而需要讀寫多媒體卡的微處理器另一種選擇,串行外設接口協議是廣泛支持的總線協議,它通過串行外設接口總線與多媒體卡相連。本文介紹了MMC卡的工作原理和多媒體卡的串行外設接口協議(SPI)模式,給出了微處理器與MMC卡的接口電路、程序流程圖及部分程序代碼。


關鍵詞:嵌入式系統;多媒體卡;串行外設接口協議;MMC接口


1 MMC(多媒體卡)簡介
MMC卡(Multimedia Card)是由美國SanDisk公司和德國西門子公司在1997年共同開發研制的一種多功能、體積小巧而容量大的快閃存儲卡。1998年1月十四家公司聯合成立了MMC協會(Multi-Media Card Association簡稱MMCA)。MMC卡的發展目標主要是針對移動電話、數碼相機、數碼攝像機、MP3音樂、PDA、電子書、玩具等產品。MMC卡在一定程度上改善了CF卡讀寫速度較慢的缺點,并且體積輕巧,抗沖擊性強,可反復讀寫30萬次左右。MMC卡4.0標準提供了更寬的數據帶寬和更快的傳輸速率,并支持雙電壓操作模式。MMC存儲卡還具備存儲區糾錯能力和低功耗特性,如果在5 ms內沒有接收到命令控制字,MMC卡會自動轉入休眠狀態,MMC卡同時還支持熱插拔。
MMC存儲卡可以分為MMC和SPI兩種工作模式,MMC模式是MMC卡的標準默認模式,具有MMC的全部特性。而SPI模式則是MMC存儲卡可選的第二種模式,這個模式是MMC協議的一個子集,主要用于只需要小數量的卡和低數據傳輸率的系統,這個模式可以把設計成本減到最小,但性能不如MMC工作模式。


2 MMC的結構及工作原理
2.1 MMC卡的引腳及功能
MMC卡通常設計為一種低成本的數據平臺和通訊介質,目前MMC存儲卡的容量可達2 GB。它的接口設計非常簡單:MMC卡采用7針的接口(如圖1所示),低成本的串行總線時鐘頻率可達20MHz,MMC的工作電壓為2.7 V~3.6 V,寫/讀電流只有27 mA和23 mA。它的讀寫模式包括流式、多塊和單塊。最小的數據傳送是以塊為單位的,缺省的塊大小為512字節。



MMC讀寫接口機可在MMC和SPI兩種通信協議下工作,MMC是MMCA協會開發的高性能三線制通信協議,即圖l中的CMD、CLK和DAT三根線,可尋址64 000張MMC卡,單個物理尋址可疊放30張卡,支持順序讀/寫、單/多數據塊讀/寫操作,MMC工作模式是MMC卡默認的通信協議。SPI協議作為MMC卡的可選協議,工作效率不及MMC協議,但SPI協議簡單易用、兼容性好、便于嵌入式系統連接使用。表1是MMC卡使用SPI協議時的引腳定義。



2.2 MMC卡的內部邏輯結構及功能
MMC卡的內部邏輯結構可分為四部分:MMC/SPI通信協議接口、單芯片控制器、數據閃存模塊、控制線和數據線。MMC/SPI接口實現與主控制器的通信;單芯片控制器完成接口協議、數據存儲檢索、糾錯碼算法、故障判斷處理、電源管理和時鐘控制等功能;數據閃存模塊可以實現整個存儲區空間的單字節訪問;控制線和數據線可以實現單芯片控制器與數據閃存模塊的訪問。
2.3 MMC/SPI通信協議
MMC卡上電后,以默認方式進入MMC協議模式,如果要轉入SPI協議模式,還需要進行協議模式切換。如果要從SPI協議模式轉入MMC協議模式,則只能切斷電源后重新通電,本設計采用SPI通信協議。
2.4 MMC卡的文件系統
MMC卡的文件格式定義并不包括在系統規范內,不過為了提高資料的交換性,還是定義了三種基本的文件系統,其中除了不帶分區的DOS-FAT文件系統和類似硬盤帶分區的文件系統外,開發者還可以定義自己獨特的文件系統。這些定義同樣使得MMC卡具有廣泛的操作平臺(如DOS、Windows系統)支持性。


3 MMC(多媒體卡)的SPI協議
3.1 SPI通信協議模式及接口簡介
SPI是一個高速同步串行輸入/輸出端口或同步串行外圍接口,是一種通用同步串行接口總線,字長為8位,主要用于與各種外圍器件進行通訊。SPI接口很容易與許多廠家的各種外圍器件直接相連,這些外圍器件可以是簡單的TTL移位寄存器、復雜的LCD顯示驅動器或A/D轉換子系統。還可應用于嵌入式系統、MCU與外部移位寄存器、D/A轉換器、A/D轉換器、串行EEPROM、LED顯示驅動器等外部設備之間的通信接口擴展。SPI接口有主、從兩種工作模式,在多主機系統中,SPI還可用于不同MCU之間的通訊。SPI接口的傳送速率可編程,其內部有125個可編程的波特率,接收或發送操作均可通過中斷或查詢方式來進行。整個工作狀態要通過設置其內部的幾個控制寄存器來完成,如:
(1)SPICCR:SPI配置控制寄存器。
(2)SPICTL:SPI操作控制寄存器。
(3)SPISTS:SPI狀態寄存器。
(4)SPlBRR:SPI波特率寄存器。
(5)SPIRXEMU:SPI仿真緩沖寄存器。
(6)SPIRXBUF:SPI串行輸入緩沖寄存器。
(7)SPITXBUF:SPI串行發送緩沖寄存器。
(8)SPIDAT:SPI串行數據寄存器。
(9)SPIPRI:SPI優先級控制。
如圖2和表1所示,SPI接口利用CLK、DataIn、DataOut三線進行數據的讀寫操作,其中,CLK為時鐘信號,由外部控制器提供,DataIn和DataOut為數據輸入和輸出線,CS是MMC卡的片選信號線,在整個SPI操作過程中,CS必須保持低電平有效。



3.2 MMC卡命令的CRC校驗
MMC卡在數據處理時為了確保數據存儲的準確性,均采用了CRC校驗字,MMC卡的CRC校驗分為兩種:CRC7和CRCl6。CRC7適合于MMC卡的所有命令,只有應答信號格式為R3的除外,它的算法表達式為:G(x)=x7+x3+1。CRCl6用于數據塊傳輸模式的保護處理,它的算法表達式為:G(x)=x16+x12+x5+1 。
3.3 MMC卡的命令及答復信號
所有MMC卡的命令字長度為6個字節,傳輸從高位開始,且包含一個CRC校驗字,命令字的格式如表2所示。



3.3.1 MMC卡的命令
MMC卡的命令字共分為10個命令組,每組由多個命令字組成。SPI協議模式下支持其中的6個命令組,可實現基本設定、數據塊讀、數據塊寫、擦除、寫保護和MMC卡鎖定等功能。以堆棧的檢查管理命令CIM_CHECK_STACK為例,它是命令組中的基本設定命令之一,主要是通過命令SEND_CSD(CMD9)來讀取MMC卡的信息后,與進入系統中堆棧表的接口卡信息對比,如果不是上一張卡,再判定是否超時和超出卡的數量,從而確定該卡是否已進入系統。堆棧的檢查管理命令流程圖如圖3所示。



3.3.2 MMC卡的應答信號格式
對于MMC卡的命令,MMC卡有多種應答信號格式,其應答信號的傳輸也是從高位開始,在SPI協議模式下,有5種應答信號格式:即Rl、R2、R3、Busy和Rlb。
接收到每個命令字后,MMC卡都會發送一個格式為R1的應答信號(除卡狀態查詢命令字CMDl3外),此應答信號為1字節,最高位為O,其他位為錯誤標志,如表3所示。



Busy格式應答信號的長度為多個字節,各位均為0時,表示卡正忙,如果存在非O位,表明MMC卡已經準備好接受下一個命令。
R2格式應答信號的長度為2個字節,用于答復卡狀態查詢命令字CMDl3,首字節同R1,第2字節表示的是錯誤類型,如表4所示。



R3格式應答信號的長度為5個字節,用于答復卡內OCR寄存器,R3的首字節同Rl,其余4字節為OCR寄存器的內容。
Rlb格式應答信號包括兩部分,Rl格式部分和Busy格式可選附加部分。


4 MMC與嵌入式系統的接口
4.1 硬件設計
圖2是MMC卡與嵌入式系統芯片的硬件接口,圖中可增加一個片外存儲器作緩存芯片,采用Port C的硬件SPI接口對MMC卡進行讀寫操作,對MMC卡的文件系統進行讀寫操作可參閱參考文獻[4]。



4.2 軟件設計
訪問MMC卡存儲單元前,需要設定訪問塊的長度,默認的長度為512個字節,系統通過寫緩存儲芯片,當寫入的數據達到512個字節后即轉入主存MMC,故讀寫長度不再設定。MMC格式化為FAT文件系統的結構后,數據以文件的形式保存,這樣方便上位機對主存MMC的讀取。
MMC接口的部分軟件設計流程如圖4所示。


SPI模式支持單數據塊和多數據塊的寫命令,以下的程序為單數據塊寫子程序的部分代碼:



5 結束語
和CompactFlash一樣,MMC也是把存儲單元和控制器一同做到了卡上,智能的控制器使得MMC保證了較好的兼容性和靈活性。實際上所有的MMC是向上兼容的,而且能保證與以后出現的新規格的產品兼容。Sanyo和Fujitsu聯合推出了Secure MMC,這種新的MMC采用了Hitachi的SuperHRISC微處理器內核,能高速執行與安全相關的操作(如加密解密等),具有很強的版權保護功能,Secure MMC也是向上兼容的,可以插入MMC插槽中使用,這種卡配合應用Hitachi、Sanyo和Fujitsu開發的UDAC-MB(universal distribution with accesscontrol-media base)版權保護技術,可以用于提供基于移動電話的音樂發行服務,且具有低功耗、攜帶方便、性能價格比高等特點。

 etyjtykjuy
 
探灵笔记游戏下载