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