新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于System ACE的DSP文件系統(tǒng)設(shè)計(jì)

基于System ACE的DSP文件系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2010-10-09 來源:網(wǎng)絡(luò) 收藏

  4 對(duì)CF卡的讀寫操作

  4.1 對(duì)CF卡讀寫的硬件電路

  通過在MPU端口處連接來實(shí)現(xiàn)DSP對(duì)CF卡的讀寫,圖2為DSP讀寫CF卡的示意圖,圖3為硬件連接圖。


  4.2 DSP對(duì)CF卡讀寫的軟件流程

  圖4為DSP讀寫CF卡數(shù)據(jù)的軟件流程。首先,DSP通過MPU端口訪問CF卡前必須獲得CF卡鎖,否則進(jìn)入等待直到CF卡處于空閑狀態(tài)或者強(qiáng)制獲得CF卡鎖。其次,CF卡數(shù)據(jù)的讀寫是以扇區(qū)為單位的。1個(gè)扇區(qū)可以分為若干個(gè)sector,每個(gè)sector的大小固定為512字節(jié),每個(gè)sector又可分為16個(gè)buffer。若已知CF卡的容量就可以通過計(jì)算來設(shè)置LBA、sector變量以及buffer變量。最后,對(duì)buffer進(jìn)行讀寫,讀寫結(jié)束后釋放CF卡鎖。


  4.3 程序設(shè)計(jì)

  可以通過以下函數(shù)來實(shí)現(xiàn)DSP對(duì)CF卡的讀寫。

  ◆獲得CF卡鎖:Uint32 get_CF_lock(void);

  ◆檢測(cè)CF卡當(dāng)前狀態(tài):Uint32 check_CF_ready (void);

  ◆檢測(cè)buffer是否準(zhǔn)備就緒:Uint32 wait_buffer_ready(void);

  ◆讀CF卡數(shù)據(jù):Uint32 read_data_from_CF(Uint8*p_data,Uint32 LBA,Uint16 Sector Count);

  ◆向CF卡寫數(shù)據(jù):Uint32 write_data_to_CF(Uint8*p_data,Uint32 LBA,Uint16 Sector_Count);

  ◆復(fù)位:void reset(void)。

  結(jié) 語

  本文實(shí)現(xiàn)了DSP通過System ACE對(duì)CF卡進(jìn)行數(shù)據(jù)存儲(chǔ)管理,充分利用了SystemACE技術(shù)的系統(tǒng)內(nèi)配置方案,突破了傳統(tǒng)的多FPGA應(yīng)用環(huán)境。

  CF卡作為存儲(chǔ)介質(zhì)具有容量大、接口簡(jiǎn)單、體積小、價(jià)格低廉和可靠性較高等特點(diǎn),結(jié)合FAT16文件系統(tǒng),可以很方便地存儲(chǔ)和回放數(shù)據(jù)。



上一頁 1 2 3 下一頁

關(guān)鍵詞: DSP

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉