采用FPGA實現(xiàn)音頻模數(shù)轉(zhuǎn)換器
摘 要 簡要分析sigma—deIta(∑一△)架構(gòu)模數(shù)轉(zhuǎn)換器(ADC)原理,提出一種基于FPGA內(nèi)部LVDS(Low Voltage Differential Signaling)接收器的音頻ADC架構(gòu),并給出在FPGA上的實現(xiàn)結(jié)果。在FPGA內(nèi)部實現(xiàn)音頻ADC,具有擴(kuò)展方便靈活,實現(xiàn)簡單,集成度高等優(yōu)點。
關(guān)鍵詞 sigma—delta FPGA LVDS 音頻ADC
引 言
數(shù)字系統(tǒng)已經(jīng)越來越廣泛地應(yīng)用到現(xiàn)實世界的各個領(lǐng)域中,絕大多數(shù)數(shù)字系統(tǒng)無法直接處理現(xiàn)實世界中的信號,必須采用ADC器件把模擬信號轉(zhuǎn)換成數(shù)字信號后才能處理。FPGA和DSP處理器是數(shù)字信號處理的兩大主流技術(shù)。隨著技術(shù)的發(fā)展和進(jìn)步,一些FPGA器件集成了一些模擬電路以及混合信號處理模塊,比如集成溫度監(jiān)控二極管。Actel公司的混合FPGA系列已經(jīng)集成ADC、DAC、PGA(Programmable Gain Amplifier)、電壓參考基準(zhǔn)源和RCC(Resistance Capacitance)振蕩器。Xilinx公司的V5系列FPGA集成電壓和溫度監(jiān)控ADC,用戶可以直接通過JTAG下載調(diào)試接口讀取電壓和溫度值。但這些單元物理位置固定,靈活性受限,僅限于特定的應(yīng)用。而采用FPGA的LVDS接收器來實現(xiàn)ADC,邏輯電路完全在FPGA內(nèi)部實現(xiàn),可重新配置,擴(kuò)展性好,需要的外圍器件少,使FPGA能直接進(jìn)行混合信號處理。
1 ∑一△ADC原理
∑一△ADC的核心是∑一△調(diào)制器和數(shù)字濾波器?!埔弧髡{(diào)制原理在半個多世紀(jì)前已經(jīng)提出,但在20世紀(jì)90年代才廣泛應(yīng)用到ADC設(shè)計中?!埔弧鰽DC的模型如圖1所示。
從圖中可以看到,乏一△架構(gòu)的ADC主要由左邊方框內(nèi)模擬∑一△調(diào)制器和右邊的數(shù)字濾波器組成。∑-△調(diào)制器包含1個積分器、1個ADC和1個構(gòu)成反饋環(huán)路的DAC。其中積分器用離散時間表示,以方便采用Z變換分析。e(n)是AD量化器的量化噪聲。假設(shè)量化噪聲是加性噪聲,反饋環(huán)路中DAC是理想的,其傳輸函數(shù)是固定增益。采用線性系統(tǒng)分析方法,先令e(n)=O,考察積分器的差分方程:
由公式(1)和公式(2)推導(dǎo)出∑一△調(diào)制器對信號的系統(tǒng)傳遞函數(shù)為:
由公式(7)可以看出,在Z變換域,調(diào)制器對信號只是延遲,而對噪聲進(jìn)行差分處理。因為差分器具有高通濾波器特性,因此噪聲被高通濾波,調(diào)制器對應(yīng)的時域輸出為:
剩余的噪聲則由后續(xù)的數(shù)字濾波器濾除。
2 LVDS收發(fā)器標(biāo)準(zhǔn)及其原理
LVDS是一種低壓低功耗的高速串行差分?jǐn)?shù)據(jù)傳輸標(biāo)準(zhǔn),在高速數(shù)據(jù)互聯(lián)和數(shù)據(jù)通信領(lǐng)域得到廣泛的應(yīng)用,主流的FPGA器件都集成了高速的LVDS收發(fā)器。LVDS收發(fā)傳輸框圖如圖2所示。
在圖2中,LVDS發(fā)送端的4個開關(guān)管交叉控制3.5mA電流源在接收端的流向。電流在100Ω電阻上建立約350 mV的電壓差,接收器通過比較電壓的極性來判決是邏輯“1”還是邏輯“0”。LVDS驅(qū)動器是電流型,對電源波動不敏感,功耗很低,1路LVDS傳輸功耗為35 mA×350 mV=1.2 mW。由于采用差分傳輸方式,LVDS收發(fā)器可以很好地消除共模干擾,提高系統(tǒng)電磁兼容性能。利用FPGA集成的LVDS接收器,配合少量外圍器件,即可在FPGA內(nèi)部實現(xiàn)ADC。
3 用FPGA集成的LVDS接收器實現(xiàn)ADC
參考第2部分的∑一△架構(gòu)的ADC原理,在FPGA內(nèi)部實現(xiàn)ADC的框圖如圖3所示。
在圖3中,虛線框內(nèi)表示在FPGA內(nèi)部實現(xiàn)。外部僅需要1個1 kΩ的電阻和1個1 nF的電容作為模擬積分器,輸入信號和積分器輸出值在LVDS接收器進(jìn)行比較,比較結(jié)果被量化成數(shù)據(jù)比特流,經(jīng)過寄存器后輸出到CIC(Cascaded Integrated Comb)濾波器及其后續(xù)的數(shù)字濾波模塊,同時通過1個FPGA引腳作為1位的DAC,輸出到外部的積分器。在數(shù)字濾波模塊里面,CIC濾波器累加量化的比特流并恢復(fù)成18位數(shù)的量化值,同時通過大倍數(shù)的抽取,把數(shù)據(jù)率降低;CICCOMP是15階FIR濾波器,用于補償CIC濾波器幅頻響應(yīng)。抽取器是31階FIR低通濾波器,降低數(shù)據(jù)率并進(jìn)一步濾除帶外的噪聲。整個系統(tǒng)運行于49.152 MHz時鐘下,采樣數(shù)據(jù)經(jīng)過CIC進(jìn)行512倍抽取后,數(shù)據(jù)率降為96 kHz,最后經(jīng)過低通濾波器進(jìn)行2倍抽取,數(shù)據(jù)率降為48 kHz。用FPGA實現(xiàn)ADC,包括LVDS接收器部分,全部采用VerilogHDL語言編寫,實現(xiàn)簡單,可移植性較好。
4 FPGA內(nèi)部實現(xiàn)的ADC實驗分析
整個ADC設(shè)計工程在Xilinx公司的FPGA集成開發(fā)環(huán)境ISE下編譯,下載到XC2VP70系列FPGA上進(jìn)行測試,用Tektronix公司的信號源AFG3101產(chǎn)生音頻信號,經(jīng)ADC采用后通過板載的8位DAC輸出,用Agilent公司的示波器54622D進(jìn)行分析,頻率為3 kHz的正弦信號輸入/輸出波形和頻譜如圖4所示。
圖4上半部分波形是輸入的信號和頻譜,下半部分波形是經(jīng)過ADC采樣后通過DAC輸出的波形和頻譜。從圖中可以看到,盡管受限于板載DAC的位數(shù),DAC后面也沒有抗混疊濾波器,僅將ADC的18位量化值高8位輸出,但波形和頻譜完全沒有失真。輸出波形上疊加的高頻噪聲是DAC轉(zhuǎn)換引入的,可以通過濾波器濾除。信號源產(chǎn)生20 Hz~20 kHz的音頻信號,ADC輸出的波形和頻譜均沒有失真,F(xiàn)PGA在3.3 V的I/O電壓下,ADC最大輸入信號的峰值電壓約O.8 V,輸出信號SNR約為50 dB。
結(jié)語
FPGA實現(xiàn)ADC的模型,僅需要極少數(shù)外圍元器件,核心模塊均采用FPGA資源實現(xiàn),明顯降低板上面積,同時邏輯可重配置,具備強(qiáng)大的擴(kuò)展性。通過適當(dāng)改進(jìn)和優(yōu)化,該方法可以應(yīng)用到語音通信,溫度、電壓監(jiān)控,水壓檢測,壓力傳感等諸多領(lǐng)域。