新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種基于FPGA分布式算法的濾波器設計實現(xiàn)

一種基于FPGA分布式算法的濾波器設計實現(xiàn)

作者: 時間:2010-10-27 來源:網絡 收藏

  利用Verilog硬件描述語言設計本系統(tǒng)軟件,系統(tǒng)主要分為以下4個部分。包括頂層文件、A/D采樣、算法實現(xiàn)和D/A轉換。系統(tǒng)總體結構如圖2所示。

系統(tǒng)總體結構

  由于頻率為100 MHz,采用的DAC0809轉換頻率必須小于1 MHz,所以在頂層文件對系統(tǒng)時鐘進行200分頻,提供外圍所需時鐘。然后對各模塊進行例化,使之成為完整的系統(tǒng)。

  對A/D采樣輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復位。下降沿時啟動A/D轉換,之后EOC輸出信號變低,指示轉換正在進行。直到完成A/D轉換,EOC變?yōu)楦唠娖?,指示A/D轉換結束,結果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當OE輸入高電平時,輸出三態(tài)門打開,轉換結果的數(shù)字量輸出到數(shù)據(jù)總線上。CLK為時鐘輸入信號線。由頂層文件的分頻時鐘提供500 kHz時鐘,對信號進行采集。

  算法主體的實現(xiàn)主要由以下幾個部分組成:數(shù)據(jù)接收存儲、數(shù)據(jù)選擇器、2個存儲器、加法和控制部分。

  數(shù)據(jù)接收是在每個時鐘下降沿時檢測轉換完成信號,如果完成,則存入對應的存儲器中,對于N階的系統(tǒng),就需要存儲N個數(shù)據(jù)等待處理。然后利用數(shù)據(jù)選擇器依次選擇各個數(shù)據(jù),對數(shù)據(jù)的每一位進行檢測和提取,組成算法中所需要的數(shù)據(jù)。在控制信號的作用下利用累加器對數(shù)據(jù)疊加、移位處理即可實現(xiàn)。

  最后,向DAC0832的數(shù)據(jù)輸入口(D10~D17)輸送數(shù)據(jù)。提供DAC0832數(shù)據(jù)鎖存允許控制信號ILE,高電平有效。提供DAC0832控制信號(CS:片選信號;Xfer:數(shù)據(jù)傳輸控制信號;WRl、WR2:DAC寄存器寫選通信號),低電平有效。

  3 仿真實驗、工況信號測試實驗

  基于低通FIR選用xilinx公司的virrex-Ⅱpro器件,在isel0.1下進行設計。利用modelsim 6.5對進行仿真。系統(tǒng)采用頻率為500 kHz的分頻時鐘,在中產生一個高頻方波和一個低頻鋸齒波信號,并對兩個信號進行疊加。疊加后的信號作為輸入,對應圖中DIN,經過系統(tǒng)處理后輸出結果對應圖中RESULT,仿真結果如圖3所示。

仿真結果



評論


相關推薦

技術專區(qū)

關閉