基于System ACE的DSP文件系統(tǒng)設計
4 DSP對CF卡的讀寫操作
4.1 DSP對CF卡讀寫的硬件電路
通過在MPU端口處連接DSP來實現(xiàn)DSP對CF卡的讀寫,圖2為DSP讀寫CF卡的示意圖,圖3為硬件連接圖。
4.2 DSP對CF卡讀寫的軟件流程
圖4為DSP讀寫CF卡數(shù)據的軟件流程。首先,DSP通過MPU端口訪問CF卡前必須獲得CF卡鎖,否則進入等待直到CF卡處于空閑狀態(tài)或者強制獲得CF卡鎖。其次,CF卡數(shù)據的讀寫是以扇區(qū)為單位的。1個扇區(qū)可以分為若干個sector,每個sector的大小固定為512字節(jié),每個sector又可分為16個buffer。若已知CF卡的容量就可以通過計算來設置LBA、sector變量以及buffer變量。最后,對buffer進行讀寫,讀寫結束后釋放CF卡鎖。
4.3 程序設計
可以通過以下函數(shù)來實現(xiàn)DSP對CF卡的讀寫。
◆獲得CF卡鎖:Uint32 get_CF_lock(void);
◆檢測CF卡當前狀態(tài):Uint32 check_CF_ready (void);
◆檢測buffer是否準備就緒:Uint32 wait_buffer_ready(void);
◆讀CF卡數(shù)據:Uint32 read_data_from_CF(Uint8*p_data,Uint32 LBA,Uint16 Sector Count);
◆向CF卡寫數(shù)據:Uint32 write_data_to_CF(Uint8*p_data,Uint32 LBA,Uint16 Sector_Count);
◆復位:void reset(void)。
結 語
本文實現(xiàn)了DSP通過System ACE對CF卡進行數(shù)據存儲管理,充分利用了SystemACE技術的系統(tǒng)內配置方案,突破了傳統(tǒng)的多FPGA應用環(huán)境。
CF卡作為存儲介質具有容量大、接口簡單、體積小、價格低廉和可靠性較高等特點,結合FAT16文件系統(tǒng),可以很方便地存儲和回放數(shù)據。
評論