<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

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

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


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

            圖4為DSP讀寫CF卡數(shù)據(jù)的軟件流程。首先,DSP通過(guò)MPU端口訪問(wèn)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卡的容量就可以通過(guò)計(jì)算來(lái)設(shè)置LBA、sector變量以及buffer變量。最后,對(duì)buffer進(jìn)行讀寫,讀寫結(jié)束后釋放CF卡鎖。


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

            可以通過(guò)以下函數(shù)來(lái)實(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é) 語(yǔ)

            本文實(shí)現(xiàn)了DSP通過(guò)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ù)。



          上一頁(yè) 1 2 3 下一頁(yè)

          關(guān)鍵詞: DSP

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();