任家峪 孫蓓蓓
摘要:傳統(tǒng)的DSP處理器在進(jìn)行信號(hào)處理的時(shí)候,會(huì)花費(fèi)較多的成本,造成較大的系統(tǒng)功耗,需要應(yīng)用現(xiàn)場可編程門陣列(FPGA)完成DSP任務(wù)。基于此,本文從FPGA的結(jié)構(gòu)特點(diǎn)出發(fā),分析了基于FPGA的智能儀表信號(hào)處理,F(xiàn)PGA能夠提升復(fù)數(shù)乘法、數(shù)字濾波器以及傅里葉變換的信號(hào)處理能力,使信號(hào)處理設(shè)備具有更優(yōu)異的性能,成本與系統(tǒng)功耗有顯著的降低。
關(guān)鍵詞:FPGA;智能儀表;信號(hào)處理
中圖分類號(hào):TP216 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2018)02-0073-02
基于FPGA的信號(hào)處理設(shè)備獲得了廣泛的應(yīng)用,大量的FPGA產(chǎn)品應(yīng)用于智能儀表中,比如,路由器、無線基站以及調(diào)制器等。FPGA具備較強(qiáng)的靈活性,能夠幫助技術(shù)人員開發(fā)出多樣化的產(chǎn)品,還能夠自動(dòng)進(jìn)行重配置,以此滿足不同協(xié)議的需求。因此,對(duì)于基于FPGA下智能儀表信號(hào)處理的分析是很有必要的。
1 FPGA概述
FPGA是指現(xiàn)場可編程門陣列,是除了CPLD以外,另一種用于大規(guī)模可編程邏輯的PLD器件,主要通過基于SRAM的LUT邏輯形式結(jié)構(gòu),通過SRAM形成一個(gè)邏輯函數(shù)發(fā)生器。具體而言,F(xiàn)PGA包括以下結(jié)構(gòu):
第一,邏輯單元。在FPGA結(jié)構(gòu)中,邏輯單元屬于最小的單元,能夠?qū)崿F(xiàn)FPGA的邏輯功能。每個(gè)邏輯單元都由四個(gè)輸入的LUT、一個(gè)可編程觸發(fā)器、進(jìn)位鏈以及級(jí)聯(lián)鏈組成。其中,LUT是函數(shù)發(fā)生器,可以實(shí)現(xiàn)四個(gè)輸入一個(gè)輸出的所有邏輯函數(shù);可編程觸發(fā)器能夠設(shè)置成為D觸發(fā)器、T觸發(fā)器、JK觸發(fā)器或者SR觸發(fā)器這四種;進(jìn)位鏈能夠?yàn)楦咚儆?jì)算器以及加法器的應(yīng)用提供支持;級(jí)聯(lián)鏈能夠保障多輸入邏輯函數(shù)的有效計(jì)算。
第二,邏輯陣列。在FPGA結(jié)構(gòu)中,邏輯陣列由八個(gè)邏輯單元、邏輯陣列的控制信號(hào)以及局部互連組成。邏輯陣列形成的“粗粒度”結(jié)構(gòu),能夠?qū)崿F(xiàn)EDA的布線以及布局,有效提升各個(gè)器件的性能。
第三,快速通道。在FPGA結(jié)構(gòu)中,快速通道主要用于連接邏輯單元和I/O引腳,通過水平走向與垂直走向形成連續(xù)式布線通道。這種布線通道能夠準(zhǔn)確預(yù)測設(shè)計(jì)復(fù)雜器件的延時(shí)性能。與此同時(shí),有些FPGA結(jié)構(gòu)會(huì)應(yīng)用分段式連線通道,這種通道的邏輯布線工作更為簡單,但是延時(shí)性能的預(yù)測結(jié)果得不到保障。
第四,嵌入式陣列塊。在FPGA結(jié)構(gòu)中,嵌入式陣列塊是指輸入口和輸出口位置安裝有寄存器的RAM塊,包括多個(gè)嵌入式RAM單元。如果需要應(yīng)用到存儲(chǔ)器相關(guān)功能的時(shí)候,嵌入式陣列塊能夠提供2048個(gè)位,每一個(gè)LAB均具有獨(dú)立的結(jié)構(gòu),共同進(jìn)行信號(hào)的輸入和控制。與此同時(shí),嵌入式陣列塊不僅可以形成RAM、FIFO以及ROM等功能塊,還可以進(jìn)行計(jì)算器、DSP以及乘法器等多種復(fù)雜邏輯的計(jì)算,在計(jì)算的過程中,每個(gè)嵌入式陣列塊可以提供一百到六百個(gè)等效門[1]。
2 基于FPGA下智能儀表信號(hào)處理
2.1 復(fù)數(shù)乘法在信號(hào)處理中的應(yīng)用
復(fù)數(shù)運(yùn)算能夠用于多種智能儀表的信號(hào)處理,能夠體現(xiàn)出智能儀表信號(hào)處理設(shè)備的性能,特別是復(fù)數(shù)乘法,可以體現(xiàn)出智能儀表信號(hào)處理中的復(fù)數(shù)運(yùn)算能力。對(duì)于智能儀表而言,與DSP-24類似的元器件會(huì)在100ns內(nèi)進(jìn)行24×24位復(fù)數(shù)乘積,兩個(gè)操作數(shù)的虛實(shí)部全都是24位精度,復(fù)數(shù)乘積算法需要進(jìn)行四次實(shí)數(shù)乘法、一次加法以及一次減法。通常來說,一個(gè)滿精度的24×24實(shí)數(shù)乘法器會(huì)占用348個(gè)邏輯片,將四次實(shí)數(shù)乘法計(jì)算的結(jié)果進(jìn)行加法與減法,共需要48個(gè)邏輯片,由此可以計(jì)算出,復(fù)數(shù)乘法共需要4×348+48=1440個(gè)邏輯片,大約為Virtex XCV1000 FPGA提供資源的12%。FPGA不僅可以為復(fù)數(shù)乘法提供實(shí)現(xiàn)其算法功能的邏輯結(jié)構(gòu),還會(huì)為復(fù)數(shù)乘法提供足夠的I/O帶寬,分為片上數(shù)據(jù)傳輸帶寬、片下數(shù)據(jù)傳輸帶寬以及算術(shù)單元等多種部件間的數(shù)據(jù)傳輸帶寬。
一般來說,軟件信號(hào)處理器執(zhí)行復(fù)數(shù)乘法的效率非常高,250MHz的DSP芯片會(huì)在每個(gè)時(shí)鐘周期內(nèi)實(shí)施兩次16×16的復(fù)數(shù)乘法運(yùn)算,也就是說,每2ns就會(huì)出現(xiàn)一個(gè)新的乘積。而FPGA的性能要更加優(yōu)異,基于FPGA下智能儀表信號(hào)處理能夠支持160MHz的頻率,每1.56ns就能夠出現(xiàn)一個(gè)新的乘積[2]。
2.2 數(shù)字濾波器在信號(hào)處理中的應(yīng)用
作為信號(hào)處理器的基本構(gòu)件,F(xiàn)IR濾波器的實(shí)現(xiàn)主要通過信號(hào)處理芯片來實(shí)現(xiàn)。根據(jù)目前的研究狀況,基于FPGA的硬件系統(tǒng),能夠提升濾波器的信號(hào)處理能力,由此開發(fā)出FPGA多速率濾波器。該設(shè)備主要通過分布式算法得出多相十進(jìn)制編碼器,各個(gè)多相分段都能夠看做是獨(dú)立的DA過程,并行運(yùn)行,共同形成一個(gè)能夠支持特高輸入采樣率的多速率濾波器。其中,多相差值器主要通過并行MAC方法或者分布式算法來解決不同的問題。對(duì)于數(shù)字接收機(jī)而言,信號(hào)與載波的同步和自動(dòng)增益的有效控制全部都需要控制回路來實(shí)現(xiàn),而多相差值器能夠在回路中進(jìn)行信號(hào)采樣相位的調(diào)整,并據(jù)此驅(qū)動(dòng)差值器的跟蹤回路。雖然多相差值器能夠支持多個(gè)相位,但是僅有幾個(gè)分段部分能夠運(yùn)行,需要依靠預(yù)置MAC的方法,將濾波器需要的系數(shù)集導(dǎo)入到一個(gè)或者多個(gè)MAC中,為內(nèi)積的計(jì)算提供便利。
除此之外,還可以通過CIC方法實(shí)現(xiàn)FPGA多速率濾波器的運(yùn)轉(zhuǎn),因?yàn)镃IC方法需要通過寄存器、加法器以及減法器進(jìn)行算法的運(yùn)算,F(xiàn)PGA能夠在這些算法運(yùn)算方面具有較高的效率。
2.3 傅里葉變換在信號(hào)處理中的應(yīng)用
和FIR濾波器相同,離散傅里葉變換在信號(hào)處理器中的應(yīng)用也較為廣泛,離散傅里葉變換主要通過快速傅里葉變換來完成。在智能儀表中,快速傅里葉變換能夠提取信號(hào)傳輸信道的特點(diǎn),實(shí)現(xiàn)帶寬資源的最大化利用。通常來說,在OFDM中,快速傅里葉變換算法能夠作為發(fā)送端的調(diào)制器,也能夠作為接收端的解調(diào)器。在應(yīng)用快速傅里葉變換算法的時(shí)候,DSP會(huì)在66μs對(duì)16位精度復(fù)數(shù)采樣進(jìn)行1次1024點(diǎn)的復(fù)數(shù)快速傅里葉變換算法。在某種特定的情況下,還會(huì)增加9μs進(jìn)行位反向置換。但是基于FPGA,同樣的快速傅里葉變換算法能夠在41μs內(nèi)實(shí)現(xiàn)復(fù)數(shù)計(jì)算以及位反向置換。
在進(jìn)行FPGA DSP與其他DSP比較的時(shí)候,I/O帶寬是非常重要的參數(shù)。對(duì)于FPGA而言,除了專用的引腳之外,大部分引腳都能夠?yàn)橛脩羲?,這種功能使得FPGA在進(jìn)行信號(hào)處理時(shí),I/O帶寬具備十分優(yōu)異的性能,使信號(hào)并行處效率更高?;贔PGA,智能儀表中存在獨(dú)立的輸入存儲(chǔ)模塊、工作存儲(chǔ)模塊以及結(jié)果緩存模塊,能夠保障I/O和傅里葉變換運(yùn)算同時(shí)進(jìn)行。由此可以看出,在41μs的時(shí)間內(nèi),涵蓋了信號(hào)輸入、信號(hào)處理以及信號(hào)輸出。因此,基于FPGA,使用快速傅里葉變換算法進(jìn)行信號(hào)處理,能夠真正實(shí)現(xiàn)并行處理,提高了智能儀表信號(hào)處理的效率與準(zhǔn)確度[3]。
3 結(jié)語
綜上所述,基于FPGA的信號(hào)處理設(shè)備能夠提升信號(hào)處理的效率與準(zhǔn)確率,需要進(jìn)行推廣應(yīng)用。分析可得,通過對(duì)基于FPGA下智能儀表信號(hào)處理的分析可知,技術(shù)人員在應(yīng)用復(fù)數(shù)乘法、FIR濾波器以及傅里葉變換進(jìn)行智能儀表信號(hào)處理的時(shí)候,可以應(yīng)用現(xiàn)場可編程門陣列,提升信號(hào)處理的效率,保障信號(hào)處理的準(zhǔn)確率。本文的然就仍舊存在不足之處,僅供參考。
參考文獻(xiàn)
[1]王志杰.智能儀表遠(yuǎn)程通信信號(hào)中斷故障處理[J].設(shè)備管理與維修,2016,(01):45-46.
[2]王曉燕,秦海鵬,丁啟勝.傳感信號(hào)檢測與智能儀表一體化實(shí)驗(yàn)裝置研制[J].實(shí)驗(yàn)技術(shù)與管理,2014,31(03):66-69+78.
[3]邵聯(lián)合,曲衛(wèi)冬.基于AVR單片機(jī)的智能儀表信號(hào)采集與顯示系統(tǒng)設(shè)計(jì)[J].儀器儀表用戶,2010,17(04):48-50.