新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ATmega128L單片機的Micro SD卡讀寫

ATmega128L單片機的Micro SD卡讀寫

作者: 時間:2016-12-02 來源:網(wǎng)絡 收藏


文件分配表系統(tǒng)的分區(qū)應該有以下幾部分:

①保留區(qū),F(xiàn)AT32稱這個區(qū)域為引導扇區(qū)(bootsec-tOr)。它是操作系統(tǒng)可以直接訪問的第一個扇區(qū),主要包括與引導操作系統(tǒng)有關的引導參數(shù)和引導程序,還有就是與FAT文件系統(tǒng)有關的BPB參數(shù)(Bios ParameterBlock)。

②文件分配表,記錄磁盤上簇的分配情況,在條件允許的情況下,通常都會把文件分配表全部讀到內存中去。

③根目錄區(qū),記錄根目錄的信息。文件和目錄數(shù)據(jù)區(qū),是各種文件數(shù)據(jù)的實際存放區(qū)域。

一個文件管理系統(tǒng)的工作過程主要有三步:第一步是讀取MBR區(qū),主要是讀DPT表,了解存儲設備分區(qū)情況。第二步,讀取BPB信息,確定FAT文件系統(tǒng)的各種基本參數(shù)。第三步,顯示當前目錄位置。文件系統(tǒng)的實現(xiàn),就是把對應的文件目錄操作拆成相應的扇區(qū)讀寫命令就可以了。因此,應該在FAT初始化的時候將讀寫扇區(qū)函數(shù)指針指向Micro SD卡的讀寫函數(shù):



2.4 FAT32文件系統(tǒng)應用接口函數(shù)的實現(xiàn)

FAT32文件系統(tǒng)向應用層提供的接口有:FAT_FindFreeCluster(),查找空簇;FAT_ModifyFAT(),修改FAT 項;FAT_OpenDir(),打開目錄;FAT_MkDir(),建目錄;FAT_RmI)ir(),刪除目錄;FAT_Rename(),重命名;FAT_Create(),創(chuàng)建文件;FAT_Open(),打開文件;FAT_write(),寫文件;FAT_Read(),讀文件;FAT_Close(),關閉打開文件;FAT_Delete(),刪除文件。下面對文件的打開、讀/寫和刪除函數(shù)接口作詳細介紹。

2.4.1 文件的打開

在該文件系統(tǒng)中,要讀/寫一個文件必須先打開它,這里通過調用函數(shù)FAT_Open()實現(xiàn),文件的打開可以用只讀、只寫、讀寫的方式打開。其中,以只讀的方式打開文件時,如果文件不存在,則打開文件錯誤;以只寫的方式打開文件,如果文件存在,則文件先被刪除然后再建立這個文件;以讀寫的方式打開文件與只寫方式不同,若文件存在,則不會被刪除而是直接打開,否則就和只寫方式一樣。下面以只寫方式打開文件為例:

首先,函數(shù)要查找空閑的打開文件登記項,如果沒有找到則不能打開文件,如果找到則記錄。然后,獲取文件的內部名稱及所在目錄的首簇號,判斷目錄是否存在。最后,獲?。篎DT登記項,判斷是否為目錄,刪除文件,添加FDT表項,修改打開文件的信息登記項,返回句柄。文件以只寫方式打開文件的流程如圖4所示。



2.4.2 文件的讀/寫

SD卡上文件都是以簇為單位存取的。讀SD卡上的文件,首先要在FAT初始化之前對SD卡初始化,將FAT中讀寫一個扇區(qū)指向SD卡中讀寫扇區(qū)函數(shù),然后獲取文件所在邏輯盤的信息,計算數(shù)據(jù)所在扇區(qū),讀取扇區(qū)中的數(shù)據(jù),最后調整文件指針。



2.4.3 文件的刪除

刪除文件時,不涉及數(shù)據(jù)區(qū)的操作,只須在文件的目錄登記項上作一個刪除標記,并把文件在FAT表中所占用的簇標記為“空簇”。



結語

本設計將Micro SD卡的存儲方式應用到電腦橫機控制系統(tǒng)中,簡化了花型文件數(shù)據(jù)存儲設計,減小了系統(tǒng)的尺寸,提高了系統(tǒng)的可靠性,使得花型文件的讀出和存取簡單易行,裁剪了FAT32實現(xiàn)了嵌入式文件系統(tǒng),提高了系統(tǒng)的存儲能力。采用ATmegal28L高性能單片機的串行外設接口SPI,滿足訪問Micro SD卡的功能要求,加快了整個系統(tǒng)的設計進程。實踐證明,該文件系統(tǒng)讀取Mi—cro SD卡上花型文件的速度滿足該控制系統(tǒng)的要求。該嵌入式文件系統(tǒng)只需對底層驅動進行簡單修改就可移植到CF卡、閃存等其他的存儲介質上。

參考文獻

1. 陳冬云 ATmega128 單片機原理與開發(fā)指導 2006
2. 段勇 基于MSP430單片機的SD卡讀寫 2007(9)
3. 張洪濤.莫文承.李兵兵 基于 SPI協(xié)議的SD卡讀寫機制與實現(xiàn)方法 [期刊論文] -電子元器件應用2008(3)
4. 鄧劍.楊曉非.廖俊卿 FAT 文件系統(tǒng)原理及實現(xiàn) [期刊論文] -計算機與數(shù)字工程2005(9)
5. 左源.劉新寧.師超 一種SD卡控制器的硬件實現(xiàn) [期刊論文] -電子器件2007(2)

上一頁 1 2 下一頁

評論


技術專區(qū)

關閉