李玉峰,韓曉紅 ,劉 洋,朱興洪
(1.東南大學(xué)移動通信國家重點實驗室,南京 210096;2.沈陽航空航天大學(xué)電子信息工程學(xué)院,沈陽 110136;3.北京方天長久科技有限公司,北京 100085)
在無線通信、醫(yī)療成像和雷達(dá)系統(tǒng)等新興應(yīng)用中,常常需要對高速信號進行采集與處理,且在很多領(lǐng)域?qū)?shù)據(jù)采集與處理系統(tǒng)的精度要求還非常高[1]。因此,設(shè)計一個好的高速高精度采集系統(tǒng)尤為重要。鑒于此種情況,本設(shè)計采用ADI 公司的高速A/D和Altera 公司的Stratix Ⅲ器件作為數(shù)據(jù)采集和處理的主體,詳細(xì)論述了各模塊的設(shè)計思路與實現(xiàn)方法。
數(shù)據(jù)采集系統(tǒng)的實現(xiàn)主要由4 部分組成:前端信號調(diào)理模塊、16 bit 的AD9262 轉(zhuǎn)換模塊、FPGA 控制模塊及上位機(如圖1所示)。其中心控制單元為ALTERA 的Stratix ⅢEP3SL150F1152C4N,它控制數(shù)據(jù)采集系統(tǒng)的轉(zhuǎn)換、存儲、讀取等過程。
圖1 數(shù)據(jù)采集系統(tǒng)實現(xiàn)框圖
前端信號調(diào)理電路由變壓器(WBC-1TLB)和1.8 V 的直流偏置電路組成。通過變壓器將單端信號轉(zhuǎn)換為差分信號送入AD 的差分輸入端,以減少A/D 轉(zhuǎn)換結(jié)果的偶次諧波,提高信噪比(SNR);直流偏置電路為AD9262 的模擬輸入端提供1.8 V 偏置電壓。當(dāng)輸入信號頻率很高,ADC 的輸入端不能容忍太顯著的附加噪聲,而變壓器是無源的且為交流耦合,所引入的噪聲可以忽略不計,從而減少了進入ADC 的雜波分量[2]。實現(xiàn)前端信號調(diào)理的電路如圖2所示,其中J1為SMA 連接器,WBC1-1TLB為變壓器,AD1_A_VINp和AD1_A_VINn為兩路差分輸出端,與AD9262 的VIN+A和VIN-A 相連,為AD9262 提供差分輸入信號。
圖2 前端信號調(diào)理電路圖
AD9262 是一款雙通道、16 bit 高速模數(shù)轉(zhuǎn)換器,提供2.5 MHz/5 MHz/10 MHz 3種不同帶寬選擇,用戶可自定義輸出數(shù)據(jù)速率:30 Msample/s至160 Msample/s,采用1.8 V模擬電源和1.8 V至3.3 V 數(shù)字電源工作,功耗為600 mW。
AD9262 的組成框圖如圖3,主要由Σ-Δ 調(diào)制器(環(huán)路濾波器+ADC 電路)、抽取濾波器、采樣速率轉(zhuǎn)換器組成[3]。它采用連續(xù)時間Σ-Δ 架構(gòu),該架構(gòu)獨有的集成功能與特性可大大簡化其使用性能,主要體現(xiàn)在以下幾點:
(1)32倍過采樣五階連續(xù)時間環(huán)路濾波器可顯著衰減帶外信號和混疊,因而輸入端無需外部濾波器并降低或者省去對抗混疊濾波器的要求。
(2)外部時鐘輸入或集成的整數(shù)N 分頻鎖相環(huán)方便的為過采樣Σ-Δ 調(diào)制器提供所需的640 MHz內(nèi)部時鐘。
(3)片內(nèi)抽取濾波器和采樣速率轉(zhuǎn)換器可將調(diào)制器速率從640 Msample/s 降至用戶定義的輸出數(shù)據(jù)速率(30 Msample/s~160 Msample/s),實現(xiàn)更高效直接的接口。
圖3 AD9262 的組成框圖
FPGA 設(shè)計采用自頂向下的方法,模塊設(shè)計采用Verilog 語言編寫。分別完成AD9262 配置模塊、FIFO 狀態(tài)控制模塊、中斷產(chǎn)生模塊及數(shù)據(jù)輸出模塊代碼的編寫,并進行編譯后由JTAG 線下載到FPGA芯片中進行驗證。
1.3.1 FPGA模塊控制流程
當(dāng)上位機啟動數(shù)據(jù)采集后,F(xiàn)PGA 通過SPI 接口對AD9262 芯片進行配置;AD9262為16 bit 的雙通道模數(shù)轉(zhuǎn)換器,把兩路輸出經(jīng)過拼接后變?yōu)?2 bit,并在FIFO 的寫入時鐘驅(qū)動下寫入32 bit 數(shù)字輸出信號;當(dāng)FIFO 存儲達(dá)到滿狀態(tài)時,F(xiàn)PGA 產(chǎn)生一個低電平的外部中斷請求信號,上位機響應(yīng)中斷后通過CPCI 總線讀取FIFO 中的數(shù)據(jù);當(dāng)FPGA 收到FIFO 輸出空(Empty)信號后,再次通過CPCI 總線向上位機產(chǎn)生中斷請求信號,響應(yīng)中斷后上位機查詢中斷源,若檢測到FIFO為空信號后,上位機停止通過總線讀取AD轉(zhuǎn)換后的結(jié)果,完成一次采集任務(wù)[4-6]。當(dāng)一次采集完成后,上位機寫入FPGA 復(fù)位信號,這樣FPGA 內(nèi)部停止對AD9262 配置從而中止AD 轉(zhuǎn)換過程,以上描述的控制過程用流程圖表示為圖4。
圖4 FPGA模塊控制流程圖
1.3.2 FPGA 對AD9262 的配置
AD9262 芯片參數(shù)是FPGA 通過SPI 接口配置其內(nèi)部寄存器實現(xiàn)的,主要完成對Σ-Δ 調(diào)制器所需的640 MHz 時鐘及ADC 數(shù)字輸出速率的配置。
ADC 芯片采用SPI 總線對芯片進行配置,SPI(Serial Peripheral Interface),串行外圍設(shè)備接口,是一種高速、全雙工、同步的通信總線,在芯片的管腳上只占用3 根線,由串行時鐘(SCLK)、串行數(shù)據(jù)輸入/輸出(SDIO)、芯片選擇(CSB)3個引腳組成。
指令周期為傳輸?shù)那?6 bit,包括R/ˉW、W1W0、A12-A0,傳輸?shù)暮? bit 表示往寄存器中寫入的值。R/ˉW 是讀/寫指示位(指令周期完成后,進行讀寫操作),當(dāng)該位為高時,表示讀取指令,為低時,表示寫入指令;W1W0 表示要為讀出和寫入的字節(jié)數(shù);其余13 bit(A12-A0)表示數(shù)據(jù)的起始地址,如果數(shù)據(jù)不止一個字節(jié),則會使用順序?qū)ぶ罚瑥闹付ǖ刂烽_始,根據(jù)模式設(shè)置而遞增或遞減。SPI 總線接口時序圖如圖5所示。
圖5 SPI 總線接口時序圖
由對AD9262 及SPI 接口的介紹,給出了AD9262 寄存器的配置方法[3]:
(1)向CLK±管腳引入?yún)⒖紩r鐘(由板上晶振提供)。
(2)配置鎖相環(huán)倍乘因子,設(shè)置寄存器0x0A[5 ∶0]的值。
(3)使能AD9262 內(nèi)部Σ-Δ 調(diào)制器的鎖相環(huán),設(shè)置寄存器0x09[2]=04。
(4)使能鎖相環(huán)帶寬選擇,設(shè)置寄存器0x0A[6]=1(設(shè)置帶寬為5 MHz)。
(5)初始化采樣速率轉(zhuǎn)換器(SRC),設(shè)置寄存器0x101[5 ∶0]=0。
(6)配置采樣速率轉(zhuǎn)換器(SRC)到用戶自定義的數(shù)據(jù)輸出速率值,設(shè)置寄存器0x101[5 ∶0]的值。該配置過程在QuanrtusⅡ平臺下用Verilog 語言[7-8]實現(xiàn)。
FIFO 是一種先進先出的存儲器件,當(dāng)寫使能(WEN)為低時,在寫時鐘(WCLK)的上升沿將數(shù)據(jù)寫入;當(dāng)讀使能(REN)為低時,在讀時鐘(RCLK)的上升沿將數(shù)據(jù)讀出。由于FIFO 中沒有地址指針,可在讀、寫過程中用相應(yīng)的狀態(tài)標(biāo)志位來置位以指示FIFO 的狀態(tài),空標(biāo)志(Empty)置位將禁止讀操作,滿標(biāo)志(Full)置位將禁止寫操作。
本設(shè)計中的FIFO 是通過配置FPGA 內(nèi)部的Block RAM 資源,在Altera QuartusⅡ環(huán)境的IP 核生成器中實現(xiàn)的。將FIFO 的寫時鐘WCLK 直接與AD 時鐘(本設(shè)計采用40 MHz)相連,可使FIFO 同步將AD采樣數(shù)據(jù)寫入。由于AD9262 的兩路16 bit 輸出經(jīng)拼接后為32 bit 數(shù),且每次采樣點數(shù)預(yù)設(shè)為4 096點,故該FIFO 的存儲空間設(shè)置為4 096×32 bit。
高速數(shù)據(jù)采集系統(tǒng)的動態(tài)指標(biāo)描述的是AD 器件采樣和重現(xiàn)時序變化信號的能力,關(guān)注交流條件下的性能表現(xiàn)。主要有信噪比(SNR)、無雜散動態(tài)范圍(SFDR)、有效位數(shù)(ENOB)、信噪失真比(SINAD)等[9]。
評估ADC 動態(tài)性能的主要參數(shù)定義如下:
(1)信噪比(SNR)
式(1)中Asignal為滿幅度正弦模擬輸入信號的均方根值,Anoise為所有噪聲源之和的。
(2)信噪失真比(SINAD)
式(2)中Aharmonic為各次諧波(除直流外)的頻率分量的均方根之和。
(3)有效比特位數(shù)(ENOB)
(4)無雜散動態(tài)范圍(SFDR)
式(4)中AF_IN為輸入信號基波分量的均方根值,AHD_MAX為采樣波形頻譜中最大失真諧波分量或最大雜散信號的均方根值。
目前較為先進的測試方法是利用FFT 變換分析信號頻譜并求得信噪比及有效位數(shù),該方法具有全數(shù)字、可編程、精確度高等優(yōu)勢。該方法是將滿量程正弦信號送到被測ADC 中,將轉(zhuǎn)換后的數(shù)字碼輸出到上位機,對輸出數(shù)據(jù)實施FFT 運算,經(jīng)加工計算可得到SNR、SINAD、ENOB、SFDR 等動態(tài)參數(shù)[10-11]。本設(shè)計中采用的測試方法如下:
(1)利用安捷倫E4428C 信號發(fā)生器分別產(chǎn)生1.2 MHz、2.4 MHz和4.2 MHz 的單一頻率正弦波輸入到被測ADC 中,這里采用40 MHz 的采樣頻率,滿足奈奎斯特定理的要求。
(2)輸入的模擬信號經(jīng)前述高速數(shù)據(jù)采集系統(tǒng)的處理后,由上位機發(fā)指令讀出FIFO 中的數(shù)字輸出,并送入Matlab 7.0 平臺進行FFT 運算。
(3)根據(jù)FFT 結(jié)果取基頻及其兩旁適當(dāng)頻率點對應(yīng)的幅值,求均方根值作為信號有效值,則其余頻率點對應(yīng)幅值的均方根值作為噪聲的有效值,包括量化噪聲、諧波噪聲及FFT 的舍入誤差(當(dāng)為非相干采樣時,存在頻譜泄露要選取適當(dāng)?shù)拇昂瘮?shù)來抑制,本設(shè)計中采用4 096點的漢寧窗)。
(4)根據(jù)基頻、采樣頻率以及采樣點數(shù)N(4096點)計算出信號的諧波量,求出諧波分量對應(yīng)幅度的有效值。由所求信號有效值、噪聲有效值以及諧波分量有效值,由定義式可以求得各個動態(tài)參數(shù)值。以下給出了2.4 MHz 信號對應(yīng)頻譜圖[12](如圖6)及AD9262 手冊數(shù)據(jù)(見表1)、實驗數(shù)據(jù)(見表2)。
圖6 2.4 MHz 輸入信號頻譜圖
表1 AD9262 手冊中各頻率點對應(yīng)的動態(tài)參數(shù)
表2 實驗中各頻率點對應(yīng)的動態(tài)參數(shù)
對比兩表中實驗數(shù)據(jù),可以看出實驗所得數(shù)據(jù)與手冊給出數(shù)據(jù)基本一致,說明該系統(tǒng)設(shè)計使ADC能夠達(dá)到較高的精度,從而也驗證了該高速數(shù)據(jù)采集系統(tǒng)設(shè)計的合理性。
本文介紹了高速數(shù)據(jù)采集系統(tǒng)的設(shè)計思路與實現(xiàn)方法,重點討論了FPGA 對采集模塊和存儲模塊的控制,并通過FFT 算法對ADC 動態(tài)參數(shù)進行測試,實驗結(jié)果表明該設(shè)計數(shù)據(jù)傳輸速率及精度均達(dá)到了設(shè)計要求,驗證了設(shè)計的合理性。
[1]吳濤,袁嗣杰,侯孝民.基于AD9430 的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)[J].裝備指揮技術(shù)學(xué)院測量控制系測控中心,2004(23):1-4.
[2]Rob Reeder.The front end Design of ADC Coupling Transformer front Meter,AN-935 Application Notes[Z].Analog Devices Inc,2007.1-3.
[3]Analog Devices Inc.AD9262 16-Bit Dual Continuous Time Sigma-Delt-a A/D Convert Data Sheet[EB/OL].http://www.analg.com/static/imported-files/data sheets/AD9262.pdf.2010:1-25.
[4]邵磊,倪明.基于FPGA 的高速數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn)[J].中國電子科技集團公司第三十二研究所,2011,37(19):1-3.
[5]Meyer-Baese,著.數(shù)字信號處理的FPGA 實現(xiàn)[M].劉凌,胡永生,譯.北京:清華大學(xué)出版社,2003:193-201.
[6]龍騰.超高速數(shù)據(jù)采集系統(tǒng)的原理與應(yīng)用[J].北京理工大學(xué)學(xué)報,1995,15(2):1-3.
[7]夏宇聞.Verilog 數(shù)字系統(tǒng)設(shè)計教程[M].北京:北京航空航天大學(xué)出版社,2009:140-175,181-188.
[8]王金明.數(shù)字系統(tǒng)設(shè)計與Verilog HDL[M].4 版.北京:北京電子工業(yè)版社,2011:30-44,102-110.
[9]駱麗娜,楊萬全.高速ADC 的性能參數(shù)與測試方法[J].四川大學(xué):電子信息學(xué)院,2007,5(1):1-3.
[10]Dusan A.Analysis of the Residual Spectrum in ADC Dynamic Testing[J].IEEE Trans Instrum.Meas.,2009,58(3):506-511.
[11]蔣和倫.高速模/數(shù)轉(zhuǎn)換器常規(guī)參數(shù)的動態(tài)測試[J].微電子學(xué),2003,33(3):184-189.
[12]陳懷琛.數(shù)字信號處理教程-MATLAB 釋義與實現(xiàn)[M].北京:電子工業(yè)出版社,2004:44-87.