基于NiosII處理器的通用AD IP核的設(shè)計與實現(xiàn)
2.2 FIR濾波器模塊的設(shè)計
在實際應(yīng)用的數(shù)據(jù)采集系統(tǒng)中,往往需要對外界模擬輸入信號進行濾波,以提取信號中有用的信息。在本設(shè)計中這部分的功能是由FIR濾波器模塊來完成的。FIR濾波器模塊采用Altera公司提供的FIR IP核來實現(xiàn),通過Simulink軟件中的DSP Builder工具對其進行仿真并最終可以生成底層HDL代碼。由于TLC549的最高采樣頻率為40 kHz,本文設(shè)計了一個低通濾波器,它的采樣頻率為40 kHz,3 dB截止頻率為100 Hz。在Simulink軟件中建立的FIR IP核的仿真模型如圖4所示。本文引用地址:http://m.butianyuan.cn/article/151966.htm
圖4中nco_v8_0模塊和nco_v8_1模塊是2個數(shù)控振蕩器,分別用于產(chǎn)生100 Hz和1 kHz的正弦信號,signal add模塊是并行加法器,它將兩路正弦信號進行疊加并將和信號輸出。fir_compiler_v8_0模塊是FIR IP核,它將signal add模塊輸出的和信號作為輸入,并將數(shù)字濾波的結(jié)果輸出到示波器進行顯示。仿真結(jié)果如圖5和圖6所示。
由圖5可以看出:第1路是頻率為100 Hz的正弦信號,第2路是頻率為1 kHz的正弦信號,第3路是前兩路信號的疊加。圖6中顯示的是經(jīng)過數(shù)字濾波后的波形,可以看出只有100 Hz的頻率分量存在,1 kHz的信號被濾除了,從而完成了對FIR IP核的功能驗證。通過圖4中的Signal Compiler工具可以完成該FIR IP核的底層HDL代碼的生成。
FIR濾波器模塊采用Altera公司提供的FIR IP核來實現(xiàn),具有高性能、可配置、可重用等特點。設(shè)計者只需根據(jù)整個系統(tǒng)的需求以及所選用AD芯片的采樣速率等參數(shù)確定濾波器的類型與系數(shù),并對該IP核進行參數(shù)化、實例化,即可完成針對該款AD芯片的FIR濾波器模塊的設(shè)計。因此這部分的設(shè)計對于不同的AD芯片是相對獨立的,具有很好的通用性。
2.3 FIFO緩存模塊的設(shè)計
為了連續(xù)和正確地采集數(shù)據(jù),實現(xiàn)無縫緩沖,本設(shè)計利用了FIFO做數(shù)據(jù)緩存。由于TLC549是8位的AD芯片,故本設(shè)計采用1個512×8 bit 的FIFO來存儲采樣的數(shù)據(jù)。當(dāng)FIFO中的數(shù)據(jù)存滿時,它會向Nios II CPU產(chǎn)生一個中斷信號。頂層應(yīng)用程序可以通過中斷服務(wù)程序?qū)IFO中的數(shù)據(jù)讀到內(nèi)存中進行處理。這樣既不會造成數(shù)據(jù)的丟失,同時可以保證CPU較高的效率,很好地解決了上述的速度不匹配的問題。
FIFO緩存模塊的設(shè)計對于不同的AD芯片是相對獨立的,設(shè)計者只需根據(jù)所選用AD芯片的精度、采樣速率、時鐘速率等參數(shù)確定FIFO緩存的位寬和深度,并對FIFO進行參數(shù)化、實例化,即可完成針對該款A(yù)D芯片的FIFO緩存模塊的設(shè)計,因此具有很好的通用性。
評論