新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機的SD卡FAT文件系統讀寫設計

        基于單片機的SD卡FAT文件系統讀寫設計

        作者: 時間:2011-11-18 來源:網絡 收藏

        隨著信息技術的飛速發展,高容量存儲芯片日益向大容量小體積發展,其中以 為突出代表。由日本松下、東芝及美國SanDisk公司于1999年8月共同開發研制。大小猶如一張郵票的SD卡,重量只有2 g,卻擁有高記憶容量、快速數據傳輸率、極大的移動靈
        活性以及很好的安全性。通過單片機處理SD卡信息,可以將信息化嵌入式產業向更小體積發展。考慮到穩定性與讀取速度,研究中采用了Fr-eescale公司的16位單片機MC9S12XSl28MAA。為了進一步滿足嵌入式研究的實時調試與應用需要,把SD卡的讀取以及FATl6文件系統的讀取寫入移植到此單片機中,使開發應用有更好的擴展性。本文首次把FATl6文件系統的讀取移植到上,并通過進行SD卡的讀寫,取得了良好的效果。

        1 研究平臺和設計思想
        1.1 平臺介紹
        ①MCS9S12XSl28MAA:Freescale公司16位單片機HCSl2X家族中的一員,相比于其他,去除了XGATE協處理器,大大降低了成本。此單片機內嵌了許多資源,包括128KB Flash、4 KB EEPROM、16 KBROM以及多種通信接口。
        SD卡:采用SD架構設計而成,尺寸幾乎只有一片指甲蓋大小,由摩托羅拉公司與SanDisk公司共同研發,是一種超小型卡(11 mm×15 mm×1 ram),約為SD卡的1/4。它支持3種傳輸模式,SPI模式(獨立序列輸入和序列輸出),1位SD模式(獨立指令和數據通道,獨有的
        傳輸格式),以及4位SD模式(使用額外的引腳以及某些重新設置的引腳,支持4位寬的并行傳輸)。
        ③CodeWarrior:Freescale公司開發的編程環境。本文使用的CodeWarrior Special 5.0 For S12(X)是專門針對HCSl2X單片機開發的,可以進行程序的編輯、編譯、鏈接和在線調試等多項功能,支持在C語言中嵌入匯編語言。
        ④移植條件:對于本文中的SD卡讀取與寫入,用戶的單片機推薦使用HCSl2X系列,也可使用HCSl2系列,但總線超頻會不穩定,從而影響SD卡讀寫速率以及穩定性。
        1.2 設計思想
        圖1顯示了本文中所使用的SD卡通過MC9S12XSl28MAA進行解析的軟硬件結構體系。編譯鏈接軟件使用CodeWarrior 5.O,硬件采用MC9S12XSl28MAA單片機與Kingston公司的 SD卡。代碼由4部分組成:用戶應用部分(由用戶編寫控制,本文使用MC9S12XS128MAA SCI串口模塊進行信息調試),讀取解析部分,硬件控制部分(通過單片機與SD卡連接),以及單片機CPU的初始化部分。其中,與SD卡連接的硬件控制部分,以及的讀取解析部分是本文的重點。

        a.JPG
        其中,Sd_SPI.h是關于SD卡讀取寫入部分的一些宏定義、常量和函數的聲明;Sd_SPI.c包括了通過SPI模塊讀寫SD卡的代碼;Fat.h是關于Fat文件系統解析的全局變量、宏定義以及函數聲明;Fat.c包括了Fat文件系統解析的代碼;SimpleFat.c是簡易讀取Fat文件系統信息的代碼;SimpleFat.h是其全局變量以及函數的聲明。

        51單片機相關文章:51單片機教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        晶振相關文章:晶振原理
        鎖相環相關文章:鎖相環原理

        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 三门峡市| 安阳市| 武平县| 云和县| 宿迁市| 金平| 罗平县| 响水县| 襄城县| 呼玛县| 濉溪县| 五莲县| 湛江市| 连州市| 开平市| 南宁市| 青阳县| 荥阳市| 瓮安县| 都昌县| 海丰县| 东台市| 舟山市| 广平县| 图木舒克市| 南部县| 旌德县| 景泰县| 郁南县| 永清县| 昌宁县| 尚志市| 小金县| 盐山县| 田阳县| 察雅县| 四子王旗| 鄱阳县| 琼海市| 贡觉县| 梁河县|