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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于異步FIFO和PLL的雷達數(shù)據(jù)采集系統(tǒng)

          基于異步FIFO和PLL的雷達數(shù)據(jù)采集系統(tǒng)

          作者: 時間:2010-10-25 來源:網(wǎng)絡 收藏

            3 基于FPGA實現(xiàn)設計

            是在兩個相互獨立的時鐘域下,數(shù)據(jù)在一個時鐘域寫入FIFO而在另一個時鐘域又從該FIFO中將數(shù)據(jù)讀出。通常被用來將數(shù)據(jù)從一個時鐘域安全地傳送到另一個時鐘域。FIFO可作為A/D轉換器件和DSP間的橋梁。使用FIFO作為輸入緩沖,由A/D轉換器件把采樣轉換的值同步寫入FIFO,每寫入一塊數(shù)據(jù)便向DSP發(fā)出一個信號,以提醒DSP從FIFO中讀取數(shù)據(jù)塊。這樣比單次讀的效率要高的多,不會有數(shù)據(jù)丟失,且僅占用少量的系統(tǒng)資源。設計一個異步FIFO,讀寫使能由不同的時鐘激勵控制輸入和輸出數(shù)據(jù),空/滿標志既用來防止數(shù)據(jù)的上溢和下溢,也作為寫入/讀出控制邏輯的輸入信號,用來控制A/D數(shù)據(jù)采樣過程和對DSP數(shù)據(jù)的傳輸。當FIFO輸出滿標志時,寫入控制邏輯停止A/D采樣,等待滿標志無效時恢復數(shù)據(jù)采樣。從而防止數(shù)據(jù)丟失。當FIFO輸出空標志時,讀出控制邏輯停止DSP的數(shù)據(jù)讀取,等待空標志無效時恢復數(shù)據(jù)讀取。圖1中FPGA內的寫入/讀出控制邏輯使用有限狀態(tài)機設計,有限狀態(tài)機能有效的進行讀寫時序控制,根據(jù)A/D和處理器的時序控制原理畫出狀態(tài)轉移圖,進行編程設定。

            FIFO的參數(shù)指標直接影響數(shù)據(jù)采集速度。首先,F(xiàn)IFO的讀寫速度要足夠快,其工作頻率至少要大于等于A/D轉換器件的采樣率,才能充分發(fā)揮A/D轉換器件的高采樣率并保證無數(shù)據(jù)丟失。其次,F(xiàn)IFO的存儲容量要適宜,容量過大會造成資源浪費,容量過小會造成溢出或數(shù)據(jù)采集速度過慢。系統(tǒng)FIFO采用EP3C120實現(xiàn)。由FPGA實現(xiàn)異步FIFO時,可方便的根據(jù)A/D轉換器的采樣精度和DSP數(shù)據(jù)寬度設計FIFO的輸人數(shù)據(jù)寬度和輸出數(shù)據(jù)寬度,且采用設計后,可方便的調整FIFO寫入端和讀出端的時鐘頻率,使FIFO設計的高速緩存具有一定的通用性。異步FIFO是在QuartusⅡ開發(fā)環(huán)境下利用其IP核設計的,該設計的異步FIFO可支持高達256位的數(shù)據(jù)寬度;支持存儲的最大深度可達131 072words,同時支持空滿標志位。表1給出系統(tǒng)在不同存儲深度時消耗FPGA片內資源的情況??梢姡槍Σ煌臄?shù)據(jù)采集需求,可利用Ahera公司提供的參數(shù)化的IP核方便的選擇FIFO的數(shù)據(jù)位寬度及存儲深度,避免資源浪費。

            考慮到前端A/D轉換速度快,精度為8位,后端DSP的處理位數(shù)一般可做到32位,為提高系統(tǒng)實時性,采用輸入數(shù)據(jù)寬度為8位,輸出寬度為32位的雙時鐘FIFO,如圖2所示。

            圖3為對FIFO仿真的結果。雙時鐘FIFO輸入為8位、輸出為32位,且FIFO兩端的讀寫時鐘頻率不同。

            分析系統(tǒng)的吞吐率:由于A/D數(shù)據(jù)輸入端口的速度固定,數(shù)據(jù)按采樣頻率輸入FIFO,因此輸入數(shù)據(jù)的時間是不變的,而DSP一次訪問可取走4個有效數(shù)據(jù),大大增加DSP讀取數(shù)據(jù)的吞吐率,提高系統(tǒng)實時處理能力。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();