摘要:1.2設(shè)計思想圖1顯示了本文中所使用的SD卡FAT文件系統(tǒng)通過MC9S12XSl28MAA進(jìn)行解析的軟硬件結(jié)構(gòu)體系。編譯鏈接軟件使用CodeWarrior5.O,硬件采用MC9S12XSl28MAA單片機(jī)與Kingston公司的MicroSD卡。代碼由4部分組成:用戶應(yīng)用部分(由用戶編寫控制,本文使用MC9S12XS128MAASCI串口模塊進(jìn)行信息調(diào)試),F(xiàn)AT文件系統(tǒng)讀取解析部分
圖1顯示了本文中所使用的SD卡FAT文件系統(tǒng)通過MC9S12XSl28MAA進(jìn)行解析的軟硬件結(jié)構(gòu)體系。編譯鏈接軟件使用CodeWarrior 5.O,硬件采用MC9S12XSl28MAA單片機(jī)與Kingston公司的Micro SD卡。代碼由4部分組成:用戶應(yīng)用部分(由用戶編寫控制,本文使用MC9S12XS128MAA SCI串口模塊進(jìn)行信息調(diào)試),F(xiàn)AT文件系統(tǒng)讀取解析部分,硬件控制部分(通過單片機(jī)SPI模塊與SD卡連接),以及單片機(jī)CPU的初始化部分。其中,SPI模塊與SD卡連接的硬件控制部分,以及FAT文件系統(tǒng)的讀取解析部分是本文的重點。
其中,Sd_SPI.h是關(guān)于SD卡讀取寫入部分的一些宏定義、常量和函數(shù)的聲明;Sd_SPI.c包括了通過SPI模塊讀寫SD卡的代碼;Fat.h是關(guān)于Fat文件系統(tǒng)解析的全局變量、宏定義以及函數(shù)聲明;Fat.c包括了Fat文件系統(tǒng)解析的代碼;SimpleFat.c是簡易讀取Fat文件系統(tǒng)信息的代碼;SimpleFat.h是其全局變量以及函數(shù)的聲明。
2 硬件設(shè)計
SD卡有2種操作模式:SD卡模式、SPI模式。SD卡模式允許通過4線高速總線傳輸,但由于大部分單片機(jī)無此接口模塊,故選擇SPI模式。HCSl2X系列單片機(jī)內(nèi)部都帶有此同步串行外部設(shè)備接口(Serial Peripheral Interface,SPI)。單片機(jī)可以通過SPI系統(tǒng)組成一個通信速率比SCI高的同步網(wǎng)絡(luò),故使用SPI模式可以把外設(shè)減少到最低。SPI模式相對于SD卡模式的缺點是損失了傳輸速度;但是目前的微處理器的處理速度越來越高,利用SPI模式大都能滿足工程需要。
HCSl2X單片機(jī)的全雙工8位SPI模塊有4個引腳,分別為主入從出引腳MISO、主入從出引腳MOSI、串行時鐘引腳SCK以及從機(jī)片選引腳SS。當(dāng)CS信號線為低電平時,主機(jī)開始所有的總線傳輸。數(shù)據(jù)從單片機(jī)的MOSI引腳同步輸入Micro SD卡的DA引腳,Micro SD卡返回數(shù)據(jù)由DO線同步輸入單片機(jī)的MISO引腳,數(shù)據(jù)在CLK信號的上升沿同步輸入和輸出。
3 軟件設(shè)計
3.1 HCSl2X總線時鐘超頻
MC9S12XSl28MAA默認(rèn)總線時鐘默認(rèn)同外接晶振相關(guān),但可以通過配置PLL鎖相環(huán)實現(xiàn)單片機(jī)總線超頻,從而加快SD卡讀取速率。實驗中可通過下列代碼將單片機(jī)總線頻率超頻到80MHz:
通信工程師備考資料免費(fèi)領(lǐng)取
去領(lǐng)取