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