范 威, 全大英, 漸 歡, 樓喜中
(中國計量大學信息工程學院,浙江省電磁波信息技術與計量檢測重點實驗室,杭州 310018)
隨著雷達和通信技術的發展,應用于數字信號處理設備的模數變換技術也在不斷進步。近年來模數變換器(analog-to-digital converter,ADC)的采樣率、支持的信號帶寬、分辨率、動態范圍均得到了很大提高。高達數GSPS(gigabit samples per second)直接采樣的ADC器件不斷出現。部分器件內部集成了先進的數字下變頻器(direct digital controller, DDC)和數控振蕩器(numerically controlled oscillator, NCO),進一步擴展了ADC器件的功能,使得這些器件的應用更加靈活。
ADC器件的高帶寬、高采樣率和高分辨率發展趨勢,使得應用ADC時對于硬件設計的要求越來越高。為了滿足高帶寬和高采樣率,需要在電路設計的時候做好信號完整性設計,而高分辨率和高動態范圍則要求控制好電路板級的噪聲電平和時鐘性能,這些要求使得ADC應用電路的設計變得頗具挑戰性。不僅如此,由于采樣率和分辨率的提高,促使ADC設計廠商拋棄傳統的基于并口或者LVDS(low-voltage differential signaling)并口設計的數據接口,轉而采用基于JESD204B協議的高速串行數據接口。這些高速串口線速率高達數Gbps (gigabits per second)甚至超過10 Gbit/s,進一步加劇了ADC應用電路的設計難度。
為了降低ADC應用電路設計風險,幫助系統設計階段的器件選型,有必要提前評估ADC性能及其應用電路設計的有效性。不僅如此,ADC研發和生產過程中,也有必要對于產品進行驗證和測試。因此,近年來不斷地有研究人員研究ADC的性能測試算法,進而設計通用的高性能ADC測試平臺,以滿足不同接口ADC的研發驗證、生產測試和應用評估[1-2]。
ADC的性能特性可以分為兩類:分別是靜態特性與動態特性,ADC的靜態特性參數包括失調、增益誤差、精度、偏置誤差、微分非線性(integral nonlinearity, INL)和積分非線性(differential nonlinearity, DNL)等[3-5],動態特性的參數包括信噪比、有效位、信納比、總諧波失真和無雜散動態范圍等[6-8]。一般而言,主要在時域采用波形統計的方法測試ADC的靜態性能,而主要采用正弦波擬合法和頻域分析的方法測試ADC的動態性能[9]。頻域分析方法與正弦波擬合法對比,其優點是不會引入信源噪聲,可以更好地消除電路的干擾,能測試ADC更多的動態性能指標參數[10]。由于信號已經變換成數字信號,頻譜分析時往往采用快傅里葉變換(fast Fourier transformation, FFT)計算采集樣本的頻譜。
文獻[11]設計了一種基于MATLAB軟件與邏輯分析儀結合大型混合測試系統的測試平臺,用于測試ADC性能參數。其缺點是采用的設備價格昂貴,測試人員操作的難度很大,因而限制了其應用范圍。文獻[12]提出的基于單片機測試ADC系統的測試平臺,因為時鐘的頻率較低,所以無法滿足高速ADC數據采集與傳輸,只能實現簡單的測試ADC算法,不具備測試高速ADC動態特性的能力。文獻[13]基于DSP測試ADC系統的測試平臺,能夠實現復雜的測試算法,但是由于DSP外圍I/O(input/output)接口相對固定,難以實現不同接口的ADC測試,且工作頻率不能滿足部分高速ADC的采樣率,因此該測試平臺的通用性和實用性有待提高。
為了克服已有的測試平臺在通用性、高性能、便攜性及成本上的不足,在分析性能參數、測試算法及其實現結構的基礎上,采用FPGA(field-programmable gate array)和DSP(digital signal processor)器件并基于ANSI(American national standards institute)57.1—2008標準定義的FMC(FPGA mezzanine card)子母卡結構,設計一種通用的ADC性能測試平臺,以實現LVCMOS(low-voltage CMOS)、LVDS、JESD204B等接口的ADC測試和功能驗證。
在分析ADC的主要性能參數及其計算方法的基礎上,給出一種適用于DSP實現的ADC動態參數計算方法。
雷達和通信系統對模擬信號進行采樣的時候,開發人員關心的指標包括采樣率、采樣精度、量化噪聲、信噪比、寄生、諧波和動態范圍等。當一個純凈正弦波輸入ADC,采集得到的數字信號的典型頻譜如圖1所示。

圖1 ADC典型參數的頻域解釋Fig.1 Description of typical parameters in frequency domain
圖1在ADC采集的純凈正弦波的頻譜上,給出了在奈奎斯特(Nyquist)帶寬內ADC主要的動態性能參數模型。對照圖1,可以依次給出主要動態參數的定義。




有效位數(effective number of bits, ENOB):失真與噪聲存在時,ADC可以達到的有效位數,一般通過信納比SINAD計算,有效位數ENOB的計算公式為





在工程實際中,將上述的指標稱為ADC的動態性能指標。根據圖1及式(1)~式(5),常用的ADC動態指標測試方法為頻譜的分析的方法。其基本原理為將純凈正弦波輸入到ADC的模擬信號輸入端,采集得到數字信號,對數字信號進行頻譜分析,獲得信號、諧波、雜散、噪聲功率,最后計算得到動態性能參數。
除了動態指標,還有一類指標稱為靜態指標,包括非線性誤差、失調、增益誤差、轉換時間等。這些指標與ADC的電路設計密切相關,往往比較難以測量,通常在時域進行波形統計后得到。由于在ADC的應用中,更多關心基于ADC動態參數的信號質量,因此以ADC動態指標測試為例介紹了所設計的測試平臺。需要指出的是,所設計的測試平臺只要增加針對靜態參數的時域波形統計的軟件,即可實現靜態指標的測試。
由于目前最新的ADC的采樣率高達數GSPS, 若采用FPGA對采集數據進行譜分析,硬件描述語言編程實現難度較大,且不夠靈活。同時由于需要兼容多種ADC,在頻譜計算和式(1)~式(5)計算的時候需要更多考慮靈活性,因此采用DSP進行計算較為合適。
1.2.1 頻譜計算
記采樣率為fs,并且ADC采集的純凈正弦波的點數為N,即采集了時長為T=N/fs的波形。針對這段波形做離散傅里葉變換(discrete Fourier transform, DFT),可知頻譜的頻率分辨率為r=1/T。如果針對一顆ADC芯片進行測試,采樣率設置為fs=2.5 GSPS,并且在性能分析時要求頻率分辨率為r=1 kHz,則采樣的時長應該不小于1 ms,樣本點數為N=2.5 M。這樣長點數的DFT,在很多平臺下無法直接調用FFT計算,比如德州儀器(TI)的DSP TMS320C6678的數字信號處理庫不支持直接做大于32 768點的FFT。因此需要對大于該點數的FFT進行拆分,采用的方法是經典的庫利-圖基算法。
一個N點信號x(n),n=0,1,…,N-1的DFT可以表示為

式(6)中:WN=exp(j2π/N)。
如果可以將點數N表示為N=N1N2,那么采用庫利-圖基算法可以將上述DFT表示成如下形式:

式(7)中:n2,k1=0,1,…,N1-1;n1,k2=0,1,…,N2-1。
根據式(7),可以將一個大點數的DFT運算拆分成兩級的短DFT運算實現,即第一級是N2次的N1點DFT,第二級是N1次的N2點DFT。如果設計N1和N2均為2的冪次,則這些短的DFT均可以用FFT計算獲得。
式(7)在計算的時候,第一級FFT的輸入需要對數據進行重排,按照N2間隔,排成N2次的N1點FFT;然后在第一級的輸出,需要乘以一個旋轉因子,并再一次對數據進行重排,輸入到第二級FFT;最終第二級的FFT輸出的N1個的N2點FFT結果依次排列后,即為X(k)的二進制倒位序排列。
為了避免對正弦波采集樣本長度不滿足整數周期的要求,在計算FFT之前,采集樣本應該進行加窗以減輕頻譜泄露。
1.2.2 頻譜分析
對采集樣本進行加窗并求得其頻譜后,可以計算得到其功率譜。然后根據正弦波頻率,得出信號基波位置和功率,同時計算得到直流信號的功率。
進而,根據信號基波的頻點依次推算并讀取各諧波的位置,并求出各諧波的功率。如果諧波和基波在Nyquist帶寬區間內,則其位置可以直接得到;對于在Nyquist帶寬區間外的諧波和基波位置可以通過其在Nyquist帶寬區間內的鏡像得出。因此,針對奇偶次諧波都能在Nyquist帶寬區間內找到其鏡像分量對應的頻率位置,計算方法如下。
記偶次諧波頻率為f2k,當f2k大于采樣率fs的一半時,偶次諧波頻率f2k在Nyquist帶寬區間內鏡像位置f′2k為
f′2k=f2k-kfs,k=1,2,…,n(8)
記奇次諧波(包括基波)頻率為f2k-1,且f2k-1大于采樣率fs的1/2時,奇次諧波(包括基波)頻率f2k-1在Nyquist帶寬區間內鏡像位置f′2k-1為
f′2k-1=kfs-f2k-1,k=1,2,…,n(9)
除了直流、信號、諧波之外,還需要再次搜索功率譜,找出離散雜散的頻點及其功率。
最后根據功率譜以及各諧波能量,求出噪聲的總功率、除信號基波和直流外最高的雜散的功率。
1.2.3 性能參數計算
將計算得到的數據代入式(1)~式(5),分別求出SNR、SINAD、ENOB、SFDR、THD。
基于上述ADC的主要性能參數分析,考慮到針對不同接口類型ADC的通用性,首先設計測試平臺的系統架構,然后完成硬件設計和實現,最后設計了必要的軟件。
所設計的通用ADC測試平臺,需要支持不同數據接口和不同采樣率的ADC的連接。常用的ADC數據接口包含傳統的低速率串行接口、單端或差分的并行接口以及高速串行接口。接口形式的多樣,要求測試平臺具有高兼容性的接口物理形式和數據協議。同時,常用的ADC的采樣率從KSPS(kilo samples per second)到數GSPS的數量級。因此在兼容低速率的數據存儲和傳輸能力的前提下,針對采樣率高達GSPS的ADC的測試要求測試平臺具備實時并行數據緩存的能力。
基于此,測試平臺應該具備高度靈活性,具備高速并行數據緩存能力,并且具備足夠的實時信號處理能力,以完成高速高精度數字信號的頻域和時域分析。綜合ADC的主要性能參數分析以及通用測試平臺的需求分析,設計了圖2所示的測試系統架構。
如圖2所示,信號源為被測ADC芯片提供干凈輸入信號和采樣時鐘;測試平臺采用FPGA完成多種ADC接口適配,并完成不同速率的采集數據的實時緩存;進而在DSP運用頻譜分析的方法計算得到被測ADC的性能指標參數;最終,測試結果通過千兆以太網(Ethernet)傳到PC(personal computer)機。

圖2 高性能ADC測試系統架構Fig.2 Architecture of the proposed test system for high performance ADCs
圖3和圖4分別給出了高性能ADC測試平臺的硬件實現框圖和硬件原型實物圖。ADC測試平臺主要包括由雙FMC連接器組成的被測設備連接接口、用于高速ADC接口和數據緩存的FPGA單元、用于數據處理和性能分析的DSP單元,以及必要的單板管理、時鐘和供電電路。

圖3 ADC測試平臺硬件框圖Fig.3 Hardware architecture of the proposed ADC test platform

圖4 ADC測試平臺硬件原型Fig.4 The fabricated ADC test platform prototype
圖3、圖4所示的測試平臺,選用符合ANSI 57.1—2008標準的雙寬度FMC子母卡架構。搭載被測器件的評估子卡與高速實時采集處理母板分離的設計,滿足了測試平臺對于多種ADC的物理連接的通用性需求。
測試平臺選用賽靈思(Xilinx)公司Virtex-7系列的FPGA XC7VX690T,利用 FPGA的并行處理能力強、處理延時小、實時性高和接口種類豐富的特點,完成靈活的ADC接口適配和實現不同速率數據緩存。FPGA掛載2組容量為2 GB(gigabyte)、位寬為64位的第3代雙倍數據速率存儲器(double-data-rate three, DDR3)。
同時,ADC的采集數據分析和性能參數計算算法運行于TI公司的C66x系列的DSP TMS320C6678,該DSP高度集成浮點運算資源,能夠實現復雜的算法流程控制和數字信號處理運算,并且易于編程。其掛載1組容量為2 GB、位寬為64位的雙通道1 600 MT/s的DDR3。TMS320C6678通過千兆以太網對外傳輸測試結果。
單板管理電路以Xilinx公司Spatan-6 FPGA芯片XC6SLX16為核心,用于控制XC7VX690T與TMS320C6678的上電時序以及平臺的時鐘電路上電和使能。
2.2.1 通用子母卡設計
ANSI 57.1—2008標準對HPC(high pin count)FMC接口的管腳定義如表1所示。

表1 FMC管腳定義Table 1 FMC pin specification
從表1可以看出,FMC接口的傳輸速率滿足LVCMOS、LVDS并口與JESD204B高速串行口的兼容設計。因此利用FMC的特點,不用重新定義物理連接,僅需合理安排FMC載板中HPC FMC接口定義的管腳與FPGA的I/O接口相連,測試平臺即可以兼容不同電氣特性和傳輸協議的ADC接口。同時由于被測ADC評估子卡與測試平臺分離后,電路復雜度降低,進而降低了研發難度和ADC測試成本。
2.2.2 數據通道
所設計測試平臺的ADC采集樣本,從ADC的數據接口傳輸到FPGA,FPGA完成緩存后進一步傳輸到DSP進行性能參數計算,計算得到的結果通過以太網傳到外部主機。測試平臺數據通道設計如圖5所示。

圖5 測試平臺數據通道設計Fig.5 Data flow of the test platform
被測ADC和Virtex-7 FPGA的接口速率在kBps(kilo bytes per second)級別到數GBps(gigabytes per second)級別。FPGA與DSP的數據傳輸采用4x SRIO(serial rapid I/O)接口通信,FPGA和DSP都將數據緩存在DDR3。在電路設計中DSP采用SGMII(serial gigabit media independent interface)接口通過千兆以太網物理層(PHY)芯片88E1111連接RJ45接插件,并通過網線與PC機連接。
測試平臺軟件架構如圖6所示,主要包含FPGA的ADC接口適配、采集樣本數據緩存、FPGA和DSP之間的數據傳輸,以及DSP側的ADC性能測試算法實現等。

圖6 測試平臺軟件設計Fig.6 Software design of test platform
圖6中,在FPGA內預先設計LVDS接口的ADC RTL(register transfer level)驅動或JESD204B接口的ADC RTL驅動庫。ADC的接口驅動采用自頂向下的模塊化設計,便于設計開發和測試不同接口的ADC。ADC接口適配后,輸出的采集樣本緩存到DDR3。然后通過SRIO接口傳輸到DSP,DSP完成頻譜分析并計算ADC性能參數后,將數據通過以太網輸出到外部設備。
2.3.1 ADC接口庫設計
如表2所示,測試平臺支持LVDS、LVCOMS接口、GTH(高速收發器)接口,且GTH接口標準滿足JESD204B接口協議速率要求。

表2 ADC接口兼容設計Table 2 Types of ADC interface supported
由于不同ADC芯片的接口不同,需要不同接口驅動,目前尚無法做到對接口參數進行動態配置,因此需根據實際使用的ADC芯片的接口類型,修改FPGA接口驅動。測試平臺在接口設計中LVDS和LVCMOS連接在FPGA普通I/O口,JESD204B連接在FPGA高速GTH接口,且可支持4個4x的JESD204B接口。由于接口驅動通常采用模塊化設計,代碼移植性較好,不會增加過多的開發難度。
2.3.2 采集樣本數據緩存設計
由于ADC采樣率不同,數據傳輸帶寬大小不同,而高速ADC接口采樣數據傳輸速率可達數十Gbit/s。采用4x模式,線速率設置為5 Gbit/s的SRIO接口的理論傳輸速率為4×5 Gbit/s×0.8=16 Gbit/s,無法實現采集樣本實時傳輸至DSP,因此需要用DDR3對采集樣本數據進行高速緩存。DDR3理論傳輸速率為1 600 Mbit/s×64≈100 Gbit/s,可滿足高速ADC采集樣本數據的實時緩存。為保證設計平臺的通用性,其數據緩存設計框圖如圖7所示。

圖7 采集樣本數據緩存設計Fig.7 Design of the captured data buffering
圖7中,使用兩個異步FIFO(first input first output)解決數據傳輸過程中的跨時鐘域問題,由于DDR3寫速率和讀速率均遠大于ADC采集樣本數據速率和SRIO接口數據傳輸速率,因此FIFO深度設置為64即可滿足數據緩存需求。ADC接口采集樣本數據根據來自DSP的START信號,開始寫入異步寫FIFO,FIFO寫時鐘為ADC接口數據速率時鐘,讀時鐘為DDR3用戶時鐘。DATA_SWITCH模塊根據START信號,開始將采集樣本數據寫入DDR3,在數據采集完畢后開始控制從DDR3讀取數據,并將讀取的數據寫入異步讀FIFO,其狀態機設計如圖8所示。

圖8 采集樣本數據緩存模塊狀態機設計Fig.8 State machine of the captured data buffering module
2.3.3 FPGA和DSP間數據傳輸控制設計
需要將采集的數據從FPGA傳輸至DSP,其中FPGA側設計流程如圖9所示。

圖9 FPGA側SRIO接口數據傳輸控制流程Fig.9 Control flow for data transmission of SRIO interface in FPGA
圖9中,FPGA通過SRIO接口接收來自DSP發送的采集測試指令,包含配置SRIO傳輸數據長度寄存器以及采集開始寄存器。SRIO接口根據配置的傳輸數據長度大小寄存器,連續傳輸數據,直至完成一次數據傳輸。
2.3.4 DSP軟件設計
DSP軟件采用模塊化分層軟件架構。如圖10所示,底層為SRIO驅動、以太網驅動、實時操縱系統(SYS/BIOS);同時DSP設計了數據緩存和數據傳輸的中間件,以向應用程序提供數據組織服務;應用程序包括總體控制流程和譜分析以及ADC參數計算的應用程序。

圖10 DSP計算ADC參數Fig.10 ADC parameters calculation in DSP
設備的總體控制流程如圖11所示。DSP通過以太網接收到開始測試命令,通過SRIO接口向FPGA 發出樣本采集指令,然后等待接收采集樣本數據,采集樣本數據接收完畢后,開始頻譜分析和參數計算,其運算結果通過以太網呈現給外部主機。

圖11 設備的總體控制流程Fig.11 Control flow of the equipment
由于DSP在數字信號處理方面的天然優勢,并且采用C語言編程能夠實現較高的靈活性,較容易實現1.2節的頻譜分析和參數計算過程。其中需要強調的是,根據譜分析對于分辨率的要求,需要針對特定采樣率的ADC采集不同長度的數據樣本進行分析。因DSP內的FFT庫不支持直接大于32 768點數的FFT運算,因此如果采集樣本點數小于等于32 768,則直接調用庫函數進行FFT運算。但針對采集樣本點數大于32 768的情況,需采用式(6)和式(7)對FFT運算進行拆分,且拆分的長度滿足2的整數次冪,即拆分后每一級運算均符合基-2 FFT 運算。由于輸出的X(k)為二進制倒位序排列,還需要重新進行排序。
用于實驗驗證的測試系統架構如圖12所示。測試平臺原型通過千兆以太網連接到外部PC機,根據需要安裝搭載被測ADC的評估子卡,并且采用SMA100B信號源為被測ADC提供高性能采樣時鐘和輸入信號。

圖12 測試系統架構Fig.12 Architecture of the test system
在實驗中,分別測試了3款ADC,依次搭載到評估子卡AD9652子卡、EV10AQ190A子卡和亞德諾半導體(ADI)公司的AD9625評估板。圖13給出了這些評估子卡的實物圖。

圖13 搭載被測ADC的評估子卡Fig.13 Evaluation cards carrying the ADCs under test
具體地,圖13評估子卡搭載的3款ADC芯片分別為ADI公司的最高采樣率為310 MSPS的16位 ADC AD9652、E2V(Teledyne e2v)公司的最高采樣率為5 000 MSPS的10位ADC EV10AQ190A和ADI公司的最高采樣率為2 500 MSPS的12位 ADC AD9625。這些ADC的主要參數如表3所示。

表3 被測ADCTable 3 ADCs under test
將圖13所示的3款ADC評估子卡分別安裝到測試平臺按照圖12所示進行測試實驗,以驗證測試平臺的通用性。
硬件裝配完成后,首先根據不同接口類型選擇不同的FPGA加載鏡像bit文件,然后通過外部PC機通過千兆以太網配置開始測試,均能夠正確配置ADC并采集測試樣本,DSP測試后能夠得到最終的動態性能測試結果。
選擇表3中最典型的兩款ADC進行性能測試,以驗證測試平臺的有效性和通用性。
3.2.1 AD9652性能測試
AD9652采用LVDS并行接口,典型采樣率為240 MSPS。表4所示為AD9652數據手冊給出的針對70 MHz信號的動態參數。

表4 AD9652數據手冊給定的動態參數Table 4 Dynamic parameters specified in AD9652 datasheet
將搭載3片6通道的AD9652評估子卡裝配到測試平臺,通過SMA100B提供采樣時鐘和干凈正弦信號,在輸入信號加入69~71 MHz的帶通濾波器,保證更好地提供單頻點70 MHz的輸入信號。按照3.1節描述的測試流程完成測試,采集數據按照1.2.2節進行頻譜分析,可以得到圖14所示的采集信號的頻譜。

圖14 AD9652采集獲得的頻譜(70 MHz被測正弦波)Fig.14 Spectrum captured by AD9652(with 70 MHz sinusoid input)
基于圖14所示的頻譜,在DSP完成頻譜分析和參數計算,得到表5所示的6通道AD9652子卡動態參數的測試結果。

表5 AD9652動態參數測試結果Table 5 Test results of AD9652’s dynamic parameters
表4、表5對比,測試得到的AD9652動態參數指標與手冊給出的動態性能參數相當。
3.2.2 AD9625性能測試
AD9625采用JESD204B接口,典型采樣率為2.5 GSPS。表6為AD9625數據手冊給出的其針對100~1 800 MHz輸入信號的動態參數。

表6 AD9625數據手冊給定的動態參數Table 6 Dynamic parameters specified in AD9625 datasheet
將AD9625評估板裝配到測試平臺,同樣按照3.1節描述的測試流程完成測試,采集數據按照1.2.2節進行頻譜分析,可以得到圖15所示的采集信號的頻譜。因為1 800 MHz大于1 250 MHz(采樣率的一半),所以由式(9)可知在Nyquist帶寬區間700 MHz處顯示的是基波鏡像。

圖15 AD9625采集獲得的頻譜(1 800 MHz被測正弦波)Fig.15 Spectrum captured by AD9625(with 1 800 MHz sinusoid input)
基于圖15所示的頻譜,在DSP完成頻譜分析和參數計算,得到表7所示的在不同輸入信號下AD9625動態參數的測試結果。

表7 AD9625動態參數測試結果Table 7 Test results of AD9625’s dynamic parameters
表7與表6對比,因評估子卡的信號完整性設計缺陷,導致測試ADC的結果與AD9625 數據手冊中給定的動態參數指標有一定差異,意味著在實際的AD9625應用設計中,需要對電路設計做必要的優化。
采用高性能FPGA以及高性能DSP完成了通用ADC接口的測試平臺設計,能夠滿足基于LVDS、LVCMOS和JESD204B接口的ADC芯片性能測試。得到以下結論。
(1)采用FMC子母卡分離的設計方式,提高了測試平臺的通用性,并且降低了測試ADC的研發難度和成本。
(2)通過實驗完成了對多款基于不同接口類型以及采樣率從240 MSPS到5 GSPS的ADC的測試,驗證了測試平臺設計的有效性。
(3)所設計的系統架構,對通用ADC測試平臺的設計,具有一定的工程應用價值和借鑒意義。