永久免费a级在线视频,亚洲v日本,国产精品福利一区二区,午夜免费福利,国产精品网址在线观看,中国一级毛片在线视频,亚洲成人黄

兩種基于FPGA的軟件濾波方法

來源:網(wǎng)絡(luò)

點(diǎn)擊:807

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞: FPGA,軟件濾波,集成電路

      隨著數(shù)字電子技術(shù)的發(fā)展,數(shù)字電路已由早期的分立元件逐漸發(fā)展成集成電路,對電路設(shè)計(jì)的要求越來越高。尤其是可編程邏輯器件的出現(xiàn),使得以硬件為載體、以計(jì)算機(jī)軟件為開發(fā)環(huán)境的現(xiàn)代數(shù)字系統(tǒng)的設(shè)計(jì)方法日趨成熟??删幊踢壿嬈骷O(shè)計(jì)靈活、功能強(qiáng)大、可在線修改、效率高等優(yōu)點(diǎn)深受廣大電子設(shè)計(jì)人員青睞。目前,大多數(shù)現(xiàn)場可編程邏輯陣列(  FPGA) 芯片是電壓敏感型芯片,基于可重構(gòu)CMOS-SRAM  單元結(jié)構(gòu),數(shù)據(jù)具有易失性,工作在低電壓狀態(tài),易受干擾,尤其在工控、軍用場合,外界電磁環(huán)境惡劣,電路耦合、空間輻射的雜波脈沖均會對FPGA  工作的穩(wěn)定性產(chǎn)生影響。

      干擾脈沖和毛刺信號是影響FPGA  穩(wěn)定工作的主要因素,為了保證輸入信號每變化一次,電路只做出一次正確的響應(yīng),必須對輸入信號進(jìn)行濾波處理。要實(shí)現(xiàn)信號濾波可以采用硬件濾波和軟件濾波兩種方法。與硬件濾波相比,軟件濾波不需要硬件電路的支持,從而可以減少元器件的使用,降低成本,更重要的是軟件濾波更易于修改,所以常采用軟件濾波的方法來實(shí)現(xiàn)電路中的信號濾波問題。通過VHDL  語言編程實(shí)現(xiàn)信號濾波功能,介紹了延時(shí)濾波法和判決濾波法,并通過實(shí)驗(yàn)證明了上述兩種濾波方法的可靠性。

      1 延時(shí)濾波

      延時(shí)濾波法的濾波原理是對輸入信號的脈沖寬度進(jìn)行鑒別,對那些與真實(shí)信號的寬度相差很大的干擾信號進(jìn)行有效的抑制。具體的實(shí)現(xiàn)流程為在檢測到輸入信號的狀態(tài)發(fā)生變化后,延時(shí)一段時(shí)間T,脈沖寬度小于延時(shí)時(shí)間T  的輸入信號被認(rèn)為是干擾信號,將其濾除; 脈沖寬度大于延時(shí)時(shí)間T  的輸入信號則被認(rèn)為是真實(shí)信號,將其輸出。針對不同脈沖寬度的干擾信號,可以通過設(shè)置不同的參數(shù)來實(shí)現(xiàn)相應(yīng)的信號延時(shí),從而達(dá)到有效濾波的目的。

      1. 1 延時(shí)時(shí)間T 的確定

      延時(shí)時(shí)間T 取決干擾信號的脈沖寬度T’。延時(shí)時(shí)間T 太短( T < T’) ,濾波不完整,脈沖寬度大于T 的干擾信號仍然會造成電路的誤動作;  延時(shí)時(shí)間T 太長( T>>T’) ,會造成資源的浪費(fèi),降低電路的工作效率。

      這里以某型號的扭子開關(guān)輸入信號為例來介紹如何確定延時(shí)時(shí)間T。由于扭子開關(guān)的機(jī)械觸點(diǎn)存在彈性作用,當(dāng)撥動開關(guān)時(shí),都不可避免地要在觸點(diǎn)閉合及斷開的瞬間產(chǎn)生一連串的抖動。為了能夠更準(zhǔn)確地估測撥動開關(guān)時(shí)產(chǎn)生的干擾脈沖寬度T‘,可以用示波器對開關(guān)信號進(jìn)行多次測量,經(jīng)測量發(fā)現(xiàn)這種扭子開關(guān)信號的抖動時(shí)間不會超過1.  5ms。圖1 為沒有經(jīng)過濾波處理的開關(guān)信號波形。

      圖1 中,橫坐標(biāo)表示時(shí)間,每格代表50 μs,縱坐標(biāo)表示電壓,每格表示1  V。從圖中可以明顯看出,在開關(guān)信號達(dá)到穩(wěn)定狀態(tài)之前,有一連串的抖動,抖動時(shí)間不到1. 5 ms。這里根據(jù)實(shí)際情況,確定延時(shí)時(shí)間T = 2 ms。

      1. 2 延時(shí)濾波程序設(shè)計(jì)

      延時(shí)濾波程序采用一個(gè)計(jì)數(shù)器來實(shí)現(xiàn),計(jì)數(shù)器的模值N 取決于延時(shí)時(shí)間T 和采樣時(shí)鐘CLK 的周期TCLK。若計(jì)數(shù)器的初始值為0 時(shí),則N = T  /TCLK -1。圖2 為編寫延時(shí)濾波程序的流程圖。

      兩種基于FPGA的軟件濾波方法

    圖1 未經(jīng)過濾波處理的開關(guān)信號

      兩種基于FPGA的軟件濾波方法

    圖2 延遲濾波程序流程圖

      當(dāng)檢測到開關(guān)信號的狀態(tài)發(fā)生變化時(shí)( 這里以由‘0’變到‘1’為例) ,計(jì)數(shù)器開始計(jì)時(shí),當(dāng)計(jì)數(shù)器的計(jì)數(shù)值計(jì)到N  時(shí),如果開關(guān)信號仍保持為變化之后的狀態(tài)‘1’,則輸出‘1’,否則,認(rèn)為這是一個(gè)干擾脈沖,將其濾除。

      當(dāng)采樣時(shí)鐘的頻率為5 kHz 時(shí),TCLK = 0. 2 ms,要實(shí)現(xiàn)2 ms 的延時(shí)時(shí)間,若計(jì)數(shù)器初始值為0,那么計(jì)數(shù)器模值N =  9。具體的VHDL 語言程序進(jìn)程如下:

      兩種基于FPGA的軟件濾波方法

      兩種基于FPGA的軟件濾波方法

    1. 3 延時(shí)濾波程序仿真

      分別將開關(guān)信號din 設(shè)置成理想信號和抖動信號,利用QuartusⅡ8. 0 軟件進(jìn)行仿真,圖3 和圖4  分別為理想信號和抖動信號的延時(shí)濾波仿真波形圖。

      兩種基于FPGA的軟件濾波方法

      圖3 理想開關(guān)信號延時(shí)濾波仿真波形

      兩種基于FPGA的軟件濾波方法

      圖4 抖動開關(guān)信號延時(shí)濾波仿真波形

      圖中clk 為采樣時(shí)鐘,glrn 為復(fù)位信號,din 為開關(guān)輸入信號,dout  為延時(shí)濾波輸出信號。從圖3可以看出,從開關(guān)信號發(fā)生變化到輸出發(fā)生變化的時(shí)間延時(shí)為2 ms,從圖4  中可以看出,此延時(shí)濾波程序有效消除了扭子開關(guān)的抖動干擾,驗(yàn)證了其理論可行性。

      1. 4 延時(shí)濾波程序?qū)嶋H驗(yàn)證

      為了驗(yàn)證此延時(shí)濾波程序的實(shí)際濾波效果,將其下載到Xilinx 公司的Spartan3 系列FPGA 芯片XC3S400  中,用示波器多次測量經(jīng)過濾波后的開關(guān)信號,得到圖5 所示的輸出信號波形。圖5 中,橫坐標(biāo)表示時(shí)間,每格代表10 μs,縱坐標(biāo)表示電壓,每格表示1 V。從圖5  可以看出,經(jīng)過濾波后的開關(guān)信號不再有抖動現(xiàn)象,此延時(shí)濾波程序的實(shí)際可靠性得到驗(yàn)證。

      兩種基于FPGA的軟件濾波方法

      圖5 延時(shí)濾波后的輸出信號波形

      1. 5 延時(shí)濾波程序資源占用率

      在電子電路的設(shè)計(jì)中,F(xiàn)PGA 的資源占用率是我們應(yīng)該考慮的一個(gè)重要問題。如果FPGA 的資源占用率太大,會加重FPGA  的負(fù)擔(dān),影響整個(gè)電路的運(yùn)行速度。表1 為延時(shí)濾波程序在XC3S400 芯片中的資源占用情況。

      兩種基于FPGA的軟件濾波方法

    表1 延時(shí)濾波程序的資源占用情況

      1. 6 延時(shí)濾波的特點(diǎn)

      延時(shí)濾波比較適合對脈沖寬度已知的干擾信號進(jìn)行濾波,這樣可以更準(zhǔn)確地確定延時(shí)時(shí)間,既不會因?yàn)檠訒r(shí)時(shí)間太短而導(dǎo)致濾波不理想,又不會因?yàn)檠訒r(shí)時(shí)間過長而導(dǎo)致資源浪費(fèi)。而且,延時(shí)程序不僅可以有效地消除開關(guān)類信號的抖動,還可以濾去干擾、噪音等其他尖峰波,抗干擾強(qiáng),可靠性高。

      如果電路中存在多路輸入信號時(shí),當(dāng)檢測到任意一路輸入信號狀態(tài)發(fā)生變化時(shí)即執(zhí)行延時(shí)程序,在執(zhí)行延時(shí)程序的過程中將檢測不到其他輸入狀態(tài)的變化,所以能夠識別的動作間隔不可能小于延時(shí)時(shí)間T,特別是當(dāng)多路輸入信號的狀態(tài)集中在短時(shí)間內(nèi)變化時(shí),電路的性能會嚴(yán)重下降。并且,由于頻繁執(zhí)行延時(shí)程序,會影響系統(tǒng)的效率和實(shí)時(shí)性。

      2 判決濾波

      判決濾波是一種基于概率統(tǒng)計(jì)的濾波方法。在采樣時(shí)鐘CLK 的控制下,每隔時(shí)間t 對開關(guān)信號進(jìn)行一次采樣,并對時(shí)間T0內(nèi)采集到的n 個(gè)采樣值進(jìn)行判斷( n  = T0 /t) ,如果這n 個(gè)采樣值中高電平‘1’的個(gè)數(shù)百分比大于X,則輸出高電平; 相反,如果低電平‘0’的個(gè)數(shù)百分比大于X,則輸出低電平。

      采用一個(gè)n 位寄存器來實(shí)現(xiàn)判決濾波,寄存器各個(gè)位的值依次為采樣得到的n 個(gè)采樣值。寄存器的模型如圖6 所示。

      兩種基于FPGA的軟件濾波方法

      圖6 寄存器模型

      在圖6 中,n 個(gè)格子分別代表寄存器的n 個(gè)位,寄存器左側(cè)的數(shù)據(jù)為已經(jīng)處理過的數(shù)據(jù),寄存器內(nèi)的n  個(gè)數(shù)據(jù)為正在處理的數(shù)據(jù),寄存器右側(cè)的數(shù)據(jù)為即將處理的數(shù)據(jù)。每過一個(gè)采樣時(shí)間間隔t,數(shù)據(jù)依次向高位滑動一位,最低位賦值為輸入信號當(dāng)前的狀態(tài)值。

      如上述過程,寄存器內(nèi)的數(shù)據(jù)在不斷地更新,數(shù)據(jù)每滑動一次,即對n  個(gè)采樣值進(jìn)行一次判斷,從而達(dá)到濾波的目的。由于干擾脈沖的隨機(jī)性,采到高電平和低電平的概率是相等的,所以,作為判斷依據(jù)的百分比X  不能小于50%。在實(shí)際應(yīng)用中,為了使濾波更可靠,X 的取值一般都大于50%。

      2. 1 判決濾波程序設(shè)計(jì)

      本設(shè)計(jì)采用一個(gè)9 位寄存器( n = 9) ,每次判斷時(shí)只要‘1’的個(gè)數(shù)大于或等于5,則濾波輸出‘1’,否則輸出‘0’( X = 5 /9) 。圖7  為判決濾波程序的流程圖。

      兩種基于FPGA的軟件濾波方法

      圖7 判決濾波程序流程圖

      主要的程序進(jìn)程如下:

      兩種基于FPGA的軟件濾波方法

      2. 2 判決濾波程序仿真

      同樣以開關(guān)信號為例,在QuartusⅡ8. 0 軟件中仿真來驗(yàn)證結(jié)果。圖8 和圖9  分別為對理想開關(guān)信號和抖動開關(guān)信號進(jìn)行判決濾波的仿真波形圖。

      兩種基于FPGA的軟件濾波方法

      圖8 理想開關(guān)信號判決濾波仿真波形

      兩種基于FPGA的軟件濾波方法

      圖9 抖動開關(guān)信號判決濾波仿真波形

      仿真結(jié)果顯示,此判決濾波程序也可以實(shí)現(xiàn)濾波目的。對比圖4 和圖9  可以發(fā)現(xiàn),對相同的抖動脈沖進(jìn)行濾波,雖然兩種濾波方法都能有效濾除抖動,但是濾波效果是不同的,判決濾波的實(shí)時(shí)性比較好。

      2. 3 判決濾波程序?qū)嶋H驗(yàn)證

      將此判決濾波程序同樣下載到XC3S400 芯片中去,用示波器多次測量,得到濾波后的開關(guān)輸出信號波形如圖10 所示。

      兩種基于FPGA的軟件濾波方法

      圖10 判決濾波后的輸出信號波形

      圖10 中,橫坐標(biāo)表示時(shí)間,每格代表5 μs,縱坐標(biāo)表示電壓,每格表示1  V。從圖中可以看出,開關(guān)信號中的抖動脈沖已被完全濾除,證明此判決濾波程序是實(shí)際可行的。

      2. 4 判決濾波的特點(diǎn)

      判決濾波既可以用來對開關(guān)信號這類抖動時(shí)間已知的信號進(jìn)行濾波,也可以對脈寬很窄的干擾信號進(jìn)行濾波。在高速電路中,系統(tǒng)晶振常常在幾十兆赫茲左右,時(shí)鐘寬度單位達(dá)到納秒級,這可以使判決濾波的采樣時(shí)間間隔t  達(dá)到納秒級,即寄存器的各個(gè)位可在幾十納秒內(nèi)重新賦值,從而達(dá)到消除窄脈沖干擾信號的目的。

      2. 5 判決濾波程序的資源占用率

      判決濾波程序在XC3S400 芯片中的資源占用情況如表2 所示。

      兩種基于FPGA的軟件濾波方法

    表2 判決濾波程序的資源占用情況

      對比表1 顯示的數(shù)據(jù)來看,兩種濾波方法的資源占用率都比較小,相對延時(shí)濾波程序而言判決濾波程序的資源占用率稍大一些。

      3 結(jié)論

      實(shí)驗(yàn)證明延時(shí)濾波和判決濾波均能達(dá)到很好的濾波效果,在電路的設(shè)計(jì)過程中,可以根據(jù)干擾信號的類型選擇合適的濾波方法。在實(shí)時(shí)性要求不是很高、干擾信號脈沖寬度可估測的電路中,可以采用延時(shí)濾波法,既節(jié)省資源又能有效濾除干擾信號;  在實(shí)時(shí)性要求比較高、運(yùn)行速度比較快、干擾信號脈沖寬度很窄的電路中,可以采用判決濾波法,既能有效濾波又能保證電路的效率。

    (審核編輯: 智匯張瑜)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請聯(lián)系我們刪除。