MC9S12UF32的嵌入式文件系統數據存儲模塊
摘要:隨著(zhù)嵌入式技術(shù)的發(fā)展,越來(lái)越多的系統需要具備大容量數據存儲、傳輸和分析的功能,對于數據靈活性和通用性的要求也隨之提高。本文基于MC9S12UF32設計了一款使用FAT文件系統對數據進(jìn)行管理的數據存儲模塊。詳細介紹了該模塊的軟、硬件構架,并給出了開(kāi)放源代碼的文件系統FatFs軟件包的移植與使用方法。
關(guān)鍵詞:MC9S12UF32;FatFS;FAT文件系統
引言
隨著(zhù)信息技術(shù)的發(fā)展,嵌入式系統簡(jiǎn)單地對存儲介質(zhì)按地址、字節進(jìn)行讀寫(xiě)的方式已經(jīng)不能滿(mǎn)足實(shí)際應用的需求,利用文件系統對存儲介質(zhì)進(jìn)行管理成為嵌入式系統的一個(gè)發(fā)展方向。雖然目前存在很多版本的文件系統,但windows的廣泛應用使得FAT文件系統仍然是最通用的文件系統之一。本文中基于MC9S12UF32單片機,結合開(kāi)源文件系統FatFS,設計實(shí)現了使用FAT文件系統的大容量數據存儲模塊。
1 系統結構
數據存儲系統框架如圖1所示。該數據存儲模塊以Freescale公司的MC9S12UF32為核心,串行通信接口SCI接收到的數據可以直接通過(guò)單片機以FAT文件的形式存儲在micro SD卡中。用戶(hù)程序可以通過(guò)編程控制單片機,直接對micro SD卡中的任意文件進(jìn)行讀寫(xiě),實(shí)現存儲數據。由于實(shí)現了FAT文件系統,用戶(hù)也可以通過(guò)單片機內置的USB接口將本數據模塊識別為U盤(pán),用PC機進(jìn)行讀寫(xiě)操作。此外,模塊中的SD卡也可以取出,使用標準的讀卡器可在任何PC機上讀出。
2 硬件結構及底層函數的編寫(xiě)
本文所介紹的數據存儲插件由MC9S12UF32、DSl2887實(shí)時(shí)鐘模塊、micro SD卡、串行通信接口以及USB接口5部分組成。實(shí)時(shí)時(shí)鐘,可以為數據存儲模塊的文件系統提供正確的時(shí)間戳信息,在精簡(jiǎn)的系統設計中,這個(gè)部分則可以省略。
2.1 MC9S12UF32單片機
Freescale公司生產(chǎn)的這款16位單片機具有3.5 KBRAM和32 KB Flash EEPROM。它最大的特點(diǎn)在于擁有USB2.O接口、ATA5接口以及SD/MMC、SmartMedia、MemoryStick等多種存儲卡接口。本文所介紹的數據存儲插件采用MC9S12UF32單片機內部集成的SD主控制器模塊(SDHC)實(shí)現micro SD卡的底層讀寫(xiě)。
(1)SDHC模塊
SDl.O規范協(xié)議中定義了對SD卡的兩種訪(fǎng)問(wèn)模式:SD模式和SPI模式。使用SDHC(Secured Digital cardHost Controller)模塊對SD卡讀寫(xiě)采用了SD模式。該模塊將SD總線(xiàn)轉換為MC9S12UF32內部的IPBus總線(xiàn)或者IQUE總線(xiàn),使用者只需要對SDHC模塊相關(guān)的寄存器進(jìn)行配置,就可以實(shí)現向SD卡發(fā)送各種命令和讀寫(xiě)數據的功能。SD卡與SDHC的連接如圖2所示。
評論