MMC卡的文件系統(tǒng)及其實(shí)現(xiàn)方法
發(fā)布時(shí)間:2008/5/27 0:00:00 訪問次數(shù):565
    
    
    來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 作者:揚(yáng)州大學(xué) 張凱 姜熙君 陳磊 金振成
    
    摘要 介紹一種基于單片機(jī)的mmc上文件系統(tǒng)的實(shí)現(xiàn)方法。通過單片機(jī)對mmc卡底層的操作,可以方便地實(shí)現(xiàn)mmc卡上文件(或目錄)的創(chuàng)建、讀寫、刪除等操作。文件可以在windows下使用讀卡器訪問。
    
    關(guān)鍵詞 mmc/sd卡 fat單片機(jī) 文件系統(tǒng)
    
    引 言
    多媒體卡mmc(multimedia card)是由美國sandisk公司和德國simens公司于1997年共同開發(fā)推出的一種多功能存儲卡。內(nèi)置控制電路,可以使用在手機(jī)、數(shù)碼相機(jī)、mp3、pda等多種數(shù)字設(shè)備上,可反復(fù)記錄30萬次。現(xiàn)在市場上的主流容量有128 mb~2 gb。
    文中首先介紹單片機(jī)對spi協(xié)議下的mmc卡的底層讀寫操作,然后分析mmc卡文件系統(tǒng)的結(jié)構(gòu),最后詳細(xì)說明mmc卡文件的創(chuàng)建、讀寫、刪除等操作。該方法可應(yīng)用到與windows有交互的嵌入式系統(tǒng)中,便于文件的統(tǒng)一管理。
    
    1 單片機(jī)與mmc卡的接口
    1.1 單片機(jī)與mmc卡的接口電路
    接口電路采用的是philips公司的增強(qiáng)型lpc93x系列單片機(jī)。它除了比普通的8051有更快的指令執(zhí)行周期外,還提供多種在片的硬件接口功能,如uart、spi、i2c等,因此用lpc93x的spi接口實(shí)現(xiàn)單片機(jī)與mmc卡的互連。
    mmc卡有7個(gè)引腳,支持兩種串行數(shù)據(jù)傳輸協(xié)議,即mmc(multimedia card)模式和spi(serial peripheralinterface)模式。在spi模式中,通過4條信號線完成數(shù)據(jù)的傳輸。這4條信號線分別是時(shí)鐘spiclk、數(shù)據(jù)輸入miso、數(shù)據(jù)輸出mosi和片選ss#。
    lpc93x單片機(jī)與mmc卡的接口電路如圖l所示。
    
    
    1.2 mmc卡底層讀寫原理
    mmc卡讀寫操作都是基于命令的,通過向mmc卡發(fā)送樞直的命令并讀取樞直的響應(yīng)來實(shí)現(xiàn)對mmc卡的控制。在對mmc卡讀寫之前,首先要進(jìn)行初始化操作。這是確保mmc卡能在spi模式下進(jìn)行正常數(shù)據(jù)讀寫的前提。需要注意的是,在發(fā)送使mmc卡空閑命令cmd0之前至少等待74個(gè)時(shí)鐘,確保mmc卡進(jìn)入spi模式。
    初始化完戚之后,如果使用默認(rèn)的塊讀寫長度(512字節(jié)),就可進(jìn)行mmc卡的讀寫。當(dāng)然,也可用cmd16來設(shè)置。mmc卡的塊讀取長度,可以是1~512字節(jié)之間的任意值。但是對mmc的寫過程則要求塊長度必須為512字節(jié)。無論是mmc卡的讀還是寫,都要求在讀寫命令發(fā)送后有數(shù)據(jù)起始令牌feh,數(shù)據(jù)傳輸結(jié)束之后有2個(gè)字節(jié)的循環(huán)冗余編碼crc(cyclic redundancy codes)。
    
    2 mmc卡文件系統(tǒng)的結(jié)構(gòu)分析
    要使寫入mmc卡的數(shù)據(jù)在windows下訪問,需要在mmc卡上創(chuàng)建windows支持的fatl6文件系統(tǒng)。mmc卡上的fatl6文件系統(tǒng)的結(jié)構(gòu)包含分區(qū)引導(dǎo)記錄、文件分配表、文件目錄表以及數(shù)據(jù)區(qū)4個(gè)部分。
    分區(qū)引導(dǎo)記錄通常包含4塊內(nèi)容;
    ①bios參數(shù)記錄塊bpb(bips parameter block);
    ②磁盤標(biāo)志記錄表;
    ③分區(qū)引導(dǎo)記錄代碼區(qū);
    ④結(jié)束標(biāo)志55aa。
    bpb表從扇區(qū)字節(jié)位移0bh開始,共占25字節(jié)。表1是從mmc卡的首扇區(qū)中讀出的bpb表的內(nèi)容。
    
    
    在分區(qū)引導(dǎo)記錄之后是fat(file allocation table,文件分配表)區(qū)。fatl6的文件系統(tǒng)中有兩份完全相同的文件分配表fatl和fat2,每份fat表占用空間的大小可從bpb表中查得。
    文件在磁盤上以簇為單位存儲,但是同一個(gè)文件的數(shù)據(jù)并不一定完整地存放在磁盤的一個(gè)連續(xù)的區(qū)域內(nèi),往往會分成若干簇,fat表就是記錄文件存儲中簇與簇之問連接信息的,這就是文件的鏈?zhǔn)酱鎯Αatl6以2個(gè)字節(jié)(即16位)表示1個(gè)簇,起始2個(gè)字為f8ffh、ffffh,后面的ffffh表示終止,0000h表示未使用。
    緊接在fat表之后的是文件目錄表fdt,固定占32個(gè)扇區(qū),每個(gè)扇區(qū)可以容納16個(gè)登記項(xiàng),每個(gè)登記項(xiàng)的長度是32字節(jié)。
    文
    
    
    來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 作者:揚(yáng)州大學(xué) 張凱 姜熙君 陳磊 金振成
    
    摘要 介紹一種基于單片機(jī)的mmc上文件系統(tǒng)的實(shí)現(xiàn)方法。通過單片機(jī)對mmc卡底層的操作,可以方便地實(shí)現(xiàn)mmc卡上文件(或目錄)的創(chuàng)建、讀寫、刪除等操作。文件可以在windows下使用讀卡器訪問。
    
    關(guān)鍵詞 mmc/sd卡 fat單片機(jī) 文件系統(tǒng)
    
    引 言
    多媒體卡mmc(multimedia card)是由美國sandisk公司和德國simens公司于1997年共同開發(fā)推出的一種多功能存儲卡。內(nèi)置控制電路,可以使用在手機(jī)、數(shù)碼相機(jī)、mp3、pda等多種數(shù)字設(shè)備上,可反復(fù)記錄30萬次。現(xiàn)在市場上的主流容量有128 mb~2 gb。
    文中首先介紹單片機(jī)對spi協(xié)議下的mmc卡的底層讀寫操作,然后分析mmc卡文件系統(tǒng)的結(jié)構(gòu),最后詳細(xì)說明mmc卡文件的創(chuàng)建、讀寫、刪除等操作。該方法可應(yīng)用到與windows有交互的嵌入式系統(tǒng)中,便于文件的統(tǒng)一管理。
    
    1 單片機(jī)與mmc卡的接口
    1.1 單片機(jī)與mmc卡的接口電路
    接口電路采用的是philips公司的增強(qiáng)型lpc93x系列單片機(jī)。它除了比普通的8051有更快的指令執(zhí)行周期外,還提供多種在片的硬件接口功能,如uart、spi、i2c等,因此用lpc93x的spi接口實(shí)現(xiàn)單片機(jī)與mmc卡的互連。
    mmc卡有7個(gè)引腳,支持兩種串行數(shù)據(jù)傳輸協(xié)議,即mmc(multimedia card)模式和spi(serial peripheralinterface)模式。在spi模式中,通過4條信號線完成數(shù)據(jù)的傳輸。這4條信號線分別是時(shí)鐘spiclk、數(shù)據(jù)輸入miso、數(shù)據(jù)輸出mosi和片選ss#。
    lpc93x單片機(jī)與mmc卡的接口電路如圖l所示。
    
    
    1.2 mmc卡底層讀寫原理
    mmc卡讀寫操作都是基于命令的,通過向mmc卡發(fā)送樞直的命令并讀取樞直的響應(yīng)來實(shí)現(xiàn)對mmc卡的控制。在對mmc卡讀寫之前,首先要進(jìn)行初始化操作。這是確保mmc卡能在spi模式下進(jìn)行正常數(shù)據(jù)讀寫的前提。需要注意的是,在發(fā)送使mmc卡空閑命令cmd0之前至少等待74個(gè)時(shí)鐘,確保mmc卡進(jìn)入spi模式。
    初始化完戚之后,如果使用默認(rèn)的塊讀寫長度(512字節(jié)),就可進(jìn)行mmc卡的讀寫。當(dāng)然,也可用cmd16來設(shè)置。mmc卡的塊讀取長度,可以是1~512字節(jié)之間的任意值。但是對mmc的寫過程則要求塊長度必須為512字節(jié)。無論是mmc卡的讀還是寫,都要求在讀寫命令發(fā)送后有數(shù)據(jù)起始令牌feh,數(shù)據(jù)傳輸結(jié)束之后有2個(gè)字節(jié)的循環(huán)冗余編碼crc(cyclic redundancy codes)。
    
    2 mmc卡文件系統(tǒng)的結(jié)構(gòu)分析
    要使寫入mmc卡的數(shù)據(jù)在windows下訪問,需要在mmc卡上創(chuàng)建windows支持的fatl6文件系統(tǒng)。mmc卡上的fatl6文件系統(tǒng)的結(jié)構(gòu)包含分區(qū)引導(dǎo)記錄、文件分配表、文件目錄表以及數(shù)據(jù)區(qū)4個(gè)部分。
    分區(qū)引導(dǎo)記錄通常包含4塊內(nèi)容;
    ①bios參數(shù)記錄塊bpb(bips parameter block);
    ②磁盤標(biāo)志記錄表;
    ③分區(qū)引導(dǎo)記錄代碼區(qū);
    ④結(jié)束標(biāo)志55aa。
    bpb表從扇區(qū)字節(jié)位移0bh開始,共占25字節(jié)。表1是從mmc卡的首扇區(qū)中讀出的bpb表的內(nèi)容。
    
    
    在分區(qū)引導(dǎo)記錄之后是fat(file allocation table,文件分配表)區(qū)。fatl6的文件系統(tǒng)中有兩份完全相同的文件分配表fatl和fat2,每份fat表占用空間的大小可從bpb表中查得。
    文件在磁盤上以簇為單位存儲,但是同一個(gè)文件的數(shù)據(jù)并不一定完整地存放在磁盤的一個(gè)連續(xù)的區(qū)域內(nèi),往往會分成若干簇,fat表就是記錄文件存儲中簇與簇之問連接信息的,這就是文件的鏈?zhǔn)酱鎯Αatl6以2個(gè)字節(jié)(即16位)表示1個(gè)簇,起始2個(gè)字為f8ffh、ffffh,后面的ffffh表示終止,0000h表示未使用。
    緊接在fat表之后的是文件目錄表fdt,固定占32個(gè)扇區(qū),每個(gè)扇區(qū)可以容納16個(gè)登記項(xiàng),每個(gè)登記項(xiàng)的長度是32字節(jié)。
    文
上一篇:基于MSP430FW427的無磁水表設(shè)計(jì)
上一篇:二次電池大觀
熱門點(diǎn)擊
- 51單片機(jī)定時(shí)器實(shí)驗(yàn)
- 單片機(jī)C51串口中斷接收和發(fā)送測試
- 用單片機(jī)制作通用型電視遙控器
- 51單片機(jī)的串行口擴(kuò)展方法
- 24C04在2051系統(tǒng)中的使用
- 大家一起來學(xué)單片機(jī):LED花樣燈
- 帶ADC、PWM和比較器的單片機(jī)-EM78P
- 基于AVR的VGA顯示和激光打印系統(tǒng)
- 無觸點(diǎn)云臺鏡頭通訊控制電路的設(shè)計(jì)
- 51單片機(jī)串-并轉(zhuǎn)換實(shí)驗(yàn)
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究