新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > FatFS的水動力實驗數(shù)據(jù)存儲系統(tǒng)設計

FatFS的水動力實驗數(shù)據(jù)存儲系統(tǒng)設計

作者: 時間:2013-04-23 來源:網(wǎng)絡 收藏

DRESULT disk_write(BYTE drv,BYTE *buff,DWORDsector,BYTE count)為寫扇區(qū)函數(shù)。與disk_read相似,其功能是向導入扇區(qū)的數(shù)據(jù)。*buff用于保存將要寫入的數(shù)據(jù),sector是待寫入扇區(qū)的起始扇區(qū)數(shù),count是需要寫入的扇區(qū)數(shù)。在寫數(shù)據(jù)接口函數(shù)基礎上編寫,如果執(zhí)行無誤,則返回0值;否則,返回非0值。
DRESULT disk_ioctl(BYTE drv,BYTE ctrl,void*buff)為存儲介質控制函數(shù)。ctrl是控制代碼,*buff用于保存或接收需要控制的數(shù)據(jù)。用戶在此函數(shù)添加自己需要的功能代碼,例如獲得存儲介質的容量、扇區(qū)數(shù)等。如果不執(zhí)行任何功能,則直接返回0值。
DWORD disk_fattime為實時時鐘函數(shù)。該函數(shù)將讀取的實時鐘信息保存在一個32位無符號整數(shù)中,并將其作為函數(shù)的返回值。時鐘信息的具體分布如圖9所示。

本文引用地址:http://butianyuan.cn/article/148053.htm

h.JPG


4.3 裁減與配置
提供了豐富的庫函數(shù),可以實現(xiàn)創(chuàng)建、讀取文件夾,創(chuàng)建、讀寫文件,移動文件指針,使用者可以根據(jù)自己的需求設置相應的宏,對FatFS進行裁減,僅保留需要的功能函數(shù),從而精簡文件系統(tǒng)的內(nèi)存開銷。FatFS還需要加入對應的語言包,cc936支持的是簡體中文。FatFS提供的函數(shù)與宏的對應關系如圖10所示。

i.JPG


使用FatFS向文件中寫入或讀取字符串,需要使用類似C語言fprintf()的格式化輸入功能時,將_USE_STRFUNC設置為2,_USE_READONLY設置為1即可。

5 FatFS文件系統(tǒng)的使用和系統(tǒng)應用
FatFS文件系統(tǒng)中涉及2個基本的數(shù)據(jù)結構:文件系統(tǒng)(磁盤)的數(shù)據(jù)結構FatFS和文件的數(shù)據(jù)結構FIL。這兩個結構是FatFS軟件主要的RAM開銷,F(xiàn)atFS數(shù)據(jù)結構中有針對磁盤的512字節(jié)讀寫緩存,F(xiàn)IL則有針對每個文件的緩存。而采用Tiny—FatFS配置則不會開設文件讀寫緩存,節(jié)約RAM。本設計中,開啟Tiny—FatFS配置比關閉共節(jié)約了未初始化的數(shù)據(jù)段(ZI—data)4 096個字節(jié)。
依次使用f_mount、f_open、f_read/f_write、f_close可以完成基本的讀寫。FatFS允許對同一文件同時讀寫,或者打開幾個文件進行讀寫。f_write和f_printf可以分別實現(xiàn)對文件大塊數(shù)據(jù)和字符串類型的數(shù)據(jù)寫入功能。后者可以對寫入的數(shù)據(jù)進行一些格式轉換,包括數(shù)據(jù)類型、數(shù)據(jù)長度和有無符號等。
在水動力的實驗中,采用本系統(tǒng)記錄數(shù)據(jù)。系統(tǒng)主頻工作在72 MHz,采用2 GB的Micro,每次記錄的文件長度為2 308 KB,即時長為65 s。文件名稱為數(shù)據(jù)記錄的當前時刻。在一組實驗結束后,通過USB口與上位機連接,即可對存儲的數(shù)據(jù)文件進行操作。在上位機端,文
件讀寫的速度達到了200 KB/s。從測試結果上可以看出,數(shù)據(jù)儲存接口正確,速度令人滿意,完全適合嵌入式系統(tǒng)的需求,可以作為通用型數(shù)據(jù)記錄系統(tǒng)。

結語
本系統(tǒng)采用的內(nèi)部集成SDIO接口,并且ST公司提供了完善的庫函數(shù),通過相應的函數(shù)就可以方便地實現(xiàn)對SD卡的讀寫,簡化了硬件的開發(fā)過程。具備USB接口使得該系統(tǒng)大大增強了通用性和兼容性。同時,獨立于硬件平臺的FatFS文件系統(tǒng)可以方便地移植到嵌入式系統(tǒng)中,用戶只需要對負責底層硬件接口的diskio.c進行修改,即可完成移植,并使用FatFS提供的豐富且易于使用的各種接口函數(shù)。該系統(tǒng)具有體積小、存儲數(shù)據(jù)靈活和通用性強的優(yōu)點。用戶既可以直接通過USB接口將該系統(tǒng)識別為U盤進行數(shù)據(jù)讀寫和分析,也可以取出MicroSD卡在讀卡器上讀寫數(shù)據(jù)。將該系統(tǒng)拓展應用在嵌入式系統(tǒng)應用中,具有良好的前景。

晶振相關文章:晶振原理

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉