摘要:本文介紹了基于FPGA的前端信號(hào)采樣系統(tǒng)設(shè)計(jì)。采用zynq7020款FPGA設(shè)計(jì)一個(gè)采樣系統(tǒng),利用Verilog語(yǔ)言設(shè)計(jì)狀態(tài)機(jī)來(lái)實(shí)現(xiàn)對(duì)高速AD轉(zhuǎn)換的控制,同時(shí)通過(guò)底層連線控制時(shí)序邏輯。由于FPGA器件的特性是對(duì)于高速信號(hào)處理具有處理快、準(zhǔn)確度高的特點(diǎn),可以實(shí)現(xiàn)高速工作,因此在近些年的高速通信領(lǐng)域受到青睞。同時(shí)在信號(hào)處理中的基本調(diào)制、解調(diào)、倍頻、FFT轉(zhuǎn)換等流程在FPGA中通過(guò)數(shù)字處理方法簡(jiǎn)化了外圍電路的設(shè)計(jì)。比如我們普通DDS信號(hào)的處理,由于信號(hào)的頻率一般都是兆級(jí),為了保證信號(hào)在傳輸過(guò)程中的不失真性,AD采樣要達(dá)到高速采樣的要求。
關(guān)鍵詞:高頻通信;FPGA;有限狀態(tài)機(jī)
引言
FPGA是近年來(lái)廣泛應(yīng)用的超大規(guī)模、超高速的可編程邏輯器件,由于其具有高集成度、高速、在線系統(tǒng)可編程等優(yōu)點(diǎn),為數(shù)字系統(tǒng)的設(shè)計(jì)帶來(lái)了突破性變革,大大推動(dòng)了數(shù)字系統(tǒng)設(shè)計(jì)的單片化、自動(dòng)化,提高了單片數(shù)字系統(tǒng)的設(shè)計(jì)周期、設(shè)計(jì)靈活性和可靠性。在超高速信號(hào)處理和實(shí)時(shí)測(cè)控方面有非常廣泛的應(yīng)用。
1 信號(hào)采樣的通信系統(tǒng)的組成
本系統(tǒng)硬件電路包括FPGA、AD轉(zhuǎn)換電路,軟件設(shè)計(jì)包括FFT、調(diào)制混頻器。由于采樣信號(hào)中要考慮到小信號(hào)調(diào)理過(guò)程,所以需要設(shè)計(jì)信號(hào)的放大和濾波電路。系統(tǒng)組成部分如圖1所示:
用狀態(tài)機(jī)來(lái)實(shí)現(xiàn)對(duì)高速AD的控制,這樣電路實(shí)現(xiàn)比較簡(jiǎn)單,可以實(shí)現(xiàn)多個(gè)通道同時(shí)對(duì)信號(hào)采集。同時(shí)采用FIFO模塊,讓數(shù)字?jǐn)?shù)據(jù)先存到隊(duì)列中,一邊往隊(duì)列中寫數(shù)據(jù),一邊從隊(duì)列中讀數(shù)據(jù),這樣就對(duì)數(shù)字?jǐn)?shù)據(jù)起了一個(gè)高速緩存的作用,更加快了整個(gè)系統(tǒng)的運(yùn)行速度。狀態(tài)機(jī)容易構(gòu)成性能良好的同步時(shí)序邏輯模塊,F(xiàn)IFO隊(duì)列的讀寫操作只需要一個(gè)周期就可以完成,起到高速緩存的作用,這樣更加快了整個(gè)系統(tǒng)的運(yùn)行速度,更加有效地利用FPGA芯片的資源。
2 單元電路的設(shè)計(jì)
2.1 有源濾波器的設(shè)計(jì)
有源濾波器的設(shè)計(jì),就是根據(jù)所給定的指標(biāo)要求,確定濾波器的階數(shù)n,選擇具的電路形式,算出電路中各元件的具體數(shù)值,安裝電路和調(diào)試,使設(shè)計(jì)的濾波器滿足指標(biāo)要求,有源帶通濾波電路分成兩個(gè)部分,高通部分和低通部分,圖2是高通濾波器,圖3是低通濾波器。
音頻信號(hào)經(jīng)過(guò)音頻放大電路放大后就進(jìn)入了上圖的電路。經(jīng)過(guò)20HZ-20KHZ的帶通濾波電路進(jìn)行濾波。
2.2 FPGA部分
2.2.1通道選取模塊
通過(guò)CNT[0]到CNT[2]來(lái)選擇相應(yīng)的通道,CD4051的輸出就是最后要進(jìn)行AD采樣的音頻信號(hào)。例如:若CNT[0]CNT[1]CNT[2]=“000”,則選擇第一通道音頻信號(hào)進(jìn)行AD采樣。這個(gè)部分實(shí)現(xiàn)的重點(diǎn)是對(duì)數(shù)字鎖存信號(hào)記數(shù),計(jì)數(shù)器的輸出作為CD4051的通道選擇地址。
2.2.2 FIFO模塊
本設(shè)計(jì)是FPGA直接控制高速信號(hào)采集,在完成對(duì)一個(gè)周期的采樣后,將數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器中,然后從存儲(chǔ)器中讀出數(shù)據(jù)并進(jìn)行FFT的轉(zhuǎn)換。相比于其他存儲(chǔ)單元,F(xiàn)IFO更適合與用做高速AD采樣的數(shù)據(jù)存儲(chǔ)器,因?yàn)镕IFO的寫入時(shí)間只有一個(gè)時(shí)鐘周期,因此決定使用LPM_FIFO作為采樣存儲(chǔ)器。在MAX+PlusⅡ中,進(jìn)入LPM元件定制器界面,按照電路需要設(shè)計(jì)各個(gè)參數(shù),最后完成FIFO的設(shè)計(jì),通過(guò)調(diào)用生成的圖形來(lái)調(diào)用FIFO隊(duì)列模塊。
2.2.3 FFT模塊
在計(jì)算交流信號(hào)幅度的時(shí)候,可以使用傅里葉變換(DFT),而快速傅里葉變化,在求整個(gè)頻譜的情況下使用較少的變量,更少的計(jì)算過(guò)程。對(duì)于摸個(gè)特定的諧波幅度的求解,DFT與FFT一致,沒(méi)差別。FPGA中的FFT設(shè)計(jì)直接調(diào)用IP核計(jì)算,將高8位和低8位分別輸出實(shí)部和虛部即可,F(xiàn)PGA的高速運(yùn)算能力可以快速完成FFT并且輸出需要結(jié)果。
2.2.4 調(diào)制模塊
設(shè)計(jì)調(diào)制模塊需要借助于matlab進(jìn)行調(diào)制參數(shù)的相關(guān)設(shè)計(jì),然后調(diào)用FPGA中的調(diào)制IP核即可完成任務(wù)。需要注意的是在設(shè)計(jì)過(guò)程中需要找到合理的調(diào)制范圍,載波信號(hào)的過(guò)高過(guò)低均會(huì)影響到調(diào)制效果,同時(shí)從使用性的角度考慮要注意與接收端的解調(diào)模塊做到相匹配的關(guān)系。
3 結(jié)束語(yǔ)
本次設(shè)計(jì)采用FPGA實(shí)現(xiàn)采樣系統(tǒng),從而系統(tǒng)具有高速、穩(wěn)定、低功耗等特點(diǎn),模擬信號(hào)經(jīng)放大器放大后,進(jìn)入濾波器進(jìn)行濾波,濾掉高頻干擾信號(hào)和低頻干擾信號(hào)的干擾,然后進(jìn)入AD9280進(jìn)行AD采樣,采樣后的16位數(shù)據(jù)通過(guò)一個(gè)FIFO隊(duì)列存儲(chǔ),并進(jìn)行了FFT運(yùn)算和AM過(guò)程,最后通過(guò)串口將相關(guān)信號(hào)進(jìn)行發(fā)送。本系統(tǒng)基本達(dá)到了預(yù)期的設(shè)計(jì),前端采樣處理對(duì)于后續(xù)的數(shù)據(jù)控制十分重要,特別是在控制系統(tǒng)上的應(yīng)用,通過(guò)把模擬信號(hào)采集到微機(jī)或者控制部分,根據(jù)采集的數(shù)據(jù)來(lái)對(duì)系統(tǒng)進(jìn)行相應(yīng)的控制,本次設(shè)計(jì)充分利用了FPGA的高速特性將數(shù)據(jù)量大的FFT計(jì)算放入FPGA中,充分利用了其資源配置。
參考文獻(xiàn):
[1]張亦華.數(shù)字電路EDA入門—VHDL程序?qū)嵗痆M].北京:北京郵電大學(xué)出版社,2003.3
[2]李洋.EDA技術(shù)實(shí)用教程[M].北京:機(jī)械工業(yè)出版社,2004.7
[3]肖蕙蕙.傅曉林.數(shù)字電子技術(shù)基礎(chǔ)[M].重慶:重慶大學(xué)出版社,2002.10
[4]張凱.VHDL實(shí)例剖析[M].北京:國(guó)防工業(yè)出版社,2004.1
[5]姜立東.VHDL語(yǔ)言程序設(shè)計(jì)及應(yīng)用(第2版)[M].北京:北京郵電大學(xué)出版社,2004.6
作者簡(jiǎn)介:楊浩然,2000年2月19日,男,甘肅天水,本科生,專業(yè)電子科學(xué)與技術(shù)。