• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 消費電子 > 設計應用 > MMC在便攜式數據采集系統中的應用

    MMC在便攜式數據采集系統中的應用

    作者: 時間:2008-07-09 來源:網絡 收藏

    目前比較常見的及處理是功能完備的微機。這種雖然能較快地分析和處理監測到的信號,但往往只能在固定的位置使用,在野外和移動的情況下則顯得十分笨重和不便。特別是野外作業,往往需要長時間地采集、記錄海量數據,需要體積小、重量輕、存儲容量大的及處理儀器。近幾年,隨著非易失存儲技術的發展以及處理器(如嵌入式系統和DSP)性能的不斷提高,使信號采集存儲系統的耗電量和體積不斷減小,滿足了的要求,但其讀寫速度不及。多媒體卡(Multimedia Card)是由美國SANDISK公司和德國西門子公司在1997年共同開發研制的一種多功能、體積小、容量大的快閃存儲卡。的發展目標主要是針對移動電話、數碼相機、數碼攝像機、MP3音樂、PDA、電子書、玩具等產品。
    MMC在一定程度上改善了CF卡讀寫速度較慢的缺點,并且其體積輕巧、抗沖擊性強、可反復讀寫30萬次左右。MMC4.0的標準提供了更寬的數據帶寬和更快的傳輸速率,并支持雙電壓操作模式。MMC還具備存儲區糾錯能力和低功耗特性,如果5ms內沒接收到系統控制命令字,MMC則會自動轉入休眠狀態,同時它還支持熱拔插操作。由此可見,將MMC于大容量數據采集系統是一種很好的選擇。
    1 MMC的結構及工作原理[1]
    1.1 MMC的管腳及功能

    MMC常被設計為一種低成本的數據平臺和通訊介質,其存儲容量可達2GB。MMC的接口設計非常簡單,如圖1所示。它采用7針接口,低成本的串行總線,時鐘頻率可達20MHz。MMC的操作電壓為2.7~3.6V,讀/寫電流也只有23mA和27mA。MMC最小數據傳送單位是塊,塊的大小缺省值定義為512B。MMC的讀寫模式包括流式模式、多塊模式和單塊模式等。


    MMC讀寫接口可在MMC協議和SPI兩種通信協議下工作。MMC協議是MMCA協會開發的高性能三線制通信協議,可尋址64 000張MMC多媒體卡,支持順序讀/寫操作、單/多數據塊讀/寫操作。表1是MMC使用SPI協議時的管腳定義。


    1.2 MMC的內部邏輯結構及功能
    MMC的內部邏輯結構可分為四部分:SPI/MMC通信協議接口、單芯片控制器、數據閃存模塊、控制線和數據線。SPI/MMC接口實現與主控制器的通信,單芯片控制器完成接口協議、數據存儲檢索、糾錯碼算法、故障判斷處理、電源管理和時鐘控制等功能。數據閃存模塊實現整個存儲區空間的單字節訪問,控制線和數據線實現單芯片控制器與數據閃存模塊的訪問及數據傳輸。
    1.3 SPI/MMC通信協議
    MMC協議是MMC默認的通信協議,SPI協議作為MMC協議的一個子集,是MMC協議的可選協議。其工作效率雖然不及MMC協議強大,但是SPI協議簡單易用、兼容性好、便于和單片機連接使用,且可以把設計費用減到最小。SPI協議主要于MMC需要數量不大并且數據傳輸率要求不太高的系統。
    MMC通電后,會以默認方式進入MMC協議模式;如果要轉入SPI協議模式,則需要進行相應的協議模式切換;如果要從SPI協議模式轉入MMC協議模式,只要切斷電源后重新通電,系統即能以默認方式進入。本設計采用SPI通信協議模式。
    1.4 MMC的文件系統
    MMC的文件格式定義并不包括在系統規范內。為了提高資料的互換性,MMC定義了三種基本的文件系統,其中除了不帶分區的DOS-FAT文件系統和類似硬盤帶分區的文件系統外,開發者還可以定義自己獨特的文件系統。這些定義使得MMC同樣具有廣泛的操作系統平臺(如DOS系統、Windows系統及Linux系統等)支持。
    2 MMC的SPI協議
    2.1 SPI接口及通信模式
    SPI接口是一種通用同步串行接口總線,用來同外部設備進行通信,字長為8位。SPI接口利用CLK、DataIn、 DataOut三線進行數據的讀寫操作。其中,CLK為時鐘信號,由外部控制器提供;DataIn和DataOut為數據輸入和輸出線。是MMC的片選信號線,在整個SPI操作過程中,必須始終保持低電平有效。
    2.2 MMC命令的CRC校驗
    為了確保數據存儲的準確性,MMC在數據處理時均采用CRC校驗字。MMC的CRC校驗分為CRC7和CRC16兩種。CRC7幾乎適合于MMC的所有命令(只是應答信號格式為R3的除外),CRC7的算法表達式為:G(x)=x7+x3+1。而CRC16用于數據塊傳輸模式的保護處理,它的算法表達式為:G(x)=x16+x12+x5+1。
    2.3 MMC命令的應答信號格式
    所有MMC的命令字長度均為6個字節,傳輸從高位開始,且包含一個CRC校驗字。命令字的格式如表2所示。


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


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


    R3格式應答信號的長度為5個字節,用于答復卡內OCR寄存器,R3的首字節同R1,其余4字節為OCR寄存器的內容。
    R1b格式應答信號包括兩部分:R1格式部分和Busy格式可選附加部分。
    3 MMC的命令
    MMC的命令字共分為10個命令組,SPI協議模式支持其中的6個命令組,可以實現MMC系統的基本設定、數據塊讀、數據塊寫、擦除、寫保護和MMC鎖定等功能。以堆棧的檢查管理命令CIM_CHECK_STACK為例,它是命令組中基本設定命令之一。它主要通過命令SEND_CSD(CMD9)讀取MMC的信息,然后與進入系統堆棧表的接口卡的信息進行對比。如果不是上一張卡,再判定是否超時和超出卡的限定數量,從而確定該卡是否已進入系統。堆棧的檢查管理命令流程圖如圖2所示。


    4 MMC與嵌入式系統芯片組成的大容量數據采集器的接口
    4.1 MMC與嵌入式芯片的硬件接口設計

    圖3是MMC與嵌入式系統芯片PIC16F73B的硬件接口。圖中,FM24CL64為緩存芯片,采用Port C的硬件SPI接口對MMC卡進行讀寫操作[2][3]


    4.2 MMC與嵌入式芯片的軟件接口設計
    MMC與嵌入式芯片接口的部分軟件流程如圖4所示。


    在訪問MMC存儲單元前,需要首先設定訪問塊的長度,系統默認訪問塊的長度為512字節,通過寫緩存芯片FM24CL64完成。當寫入的數據達到512個字節時即轉入MMC主存,故讀寫長度不需要再重新設定。MMC格式化為FAT文件系統結構后,數據以文件的形式保存,這樣可方便上位機對MMC主存的讀取。以下是嵌入式系統對MMC卡寫文件的部分程序代碼:
    Void file_write(DIR_tag *file_tag,char*){
    U16 j.offset=file_tag.StartCluster*2;
    Mmc_read_block(sdc,fat1_addr+offset/512,mmc-buffer);
    Mmc_buffer[offset%512]=0xff;
    Mmc_buffer[offset%512+1]=0xff;
    Mmc_write_block (sdc,fat1_addr+offset/512,mmc_buffer);
    Mmc_write_block (sdc,fat2_addr+offset/512,mmc_buffer);
    For (j=0;jMmc_write_block(sdc,519+(file_tag.StartCluster-2),mmc_buffer);
    }
    采用嵌入式系統芯片PIC16F73B與MMC搭建信號采集的硬件平臺,僅使用很少的外部邏輯電路。整個系統可以采用3.3V單一低電壓供電,供電電路非常簡單。在系統軟件實現上,可以采用交替式雙緩存機制,將采集到的數據先存入數據緩沖區(圖3中的FM24CL64)中。當數據緩沖區寫滿時發出溢出中斷,再對MMC進行突發式寫操作。當寫操作完畢后可以發送命令,使MMC立即進入休眠狀態,將功耗降至最低。這樣在數據采集系統工作的大部分時間內,MMC處于休眠狀態,工作電流很低。該系統適于野外(如地質、石油等部門)的數據采集與存儲工作,數據文件可以在Windows環境下用讀卡器讀取,方便了數據的進一步分析和處理,且具有低功耗、攜帶方便、性能價格比高等特點。
    參考文獻
    [1] Multimedia card product manual rev 5.1[S].SANDISKCORPORATION,2002.
    [2] 孫方,顏國正,王文興.Multimedia Card及其與單片機接口[J].單片機與嵌入式系統,2004,(6).
    [3] 李學海.PIC單片機實用教程[M].北京:北京航空航天大學出版社,2002.
    [4] 張凱,姜熙君,陳 磊等.MMC的文件系統及其實現方法[J].單片機與嵌入式系統應用,2006,(5).



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 无极县| 深州市| 阿瓦提县| 虹口区| 博客| 西乡县| 扎兰屯市| 竹山县| 西畴县| 崇州市| 琼海市| 秦皇岛市| 佳木斯市| 海盐县| 内乡县| 商城县| 灵川县| 德保县| 巫溪县| 盱眙县| 涟水县| 浏阳市| 阳城县| 闽侯县| 敦煌市| 都昌县| 勃利县| 上栗县| 龙游县| 石河子市| 赞皇县| 霍城县| 玉门市| 阳信县| 崇礼县| 班戈县| 延津县| 温泉县| 南木林县| 耿马| 洪洞县|