彭曉飛, 李 杰, 張德彪, 宋金昊
(1. 中北大學 電子測試技術國防科技重點實驗室, 山西 太原 030051; 2. 太原科技大學電子信息工程學院, 山西 太原 030051)
隨著數字信號處理技術的快速提升與數字電路運算速度的加快,以及對系統靈敏度要求的不斷提高,進而促使對 ADC(analog to digital converter)、DAC(digital to analog converter)測試的各項指標提出了高速、高精度的更高要求標準[1]。在雷達和衛星通信中,所需的信號帶寬已經達到2 GHz以上,5G移動通信技術在使用毫米波頻帶時也使用了2 GHz以上的信號帶寬[2]。雖然在一些場合(如線性調頻雷達)可以使用頻帶拼接來實現高帶寬,但畢竟拼接方式對通信和其他復雜調制信號的傳輸來說比較復雜,有很多限制。因此,高速高精度ADC/DAC芯片在采樣或產生高頻信號時的性能對系統指標至關重要[3]。
由于各種客觀因素,我國航天裝備大量使用進口電子元器件,在安全隱患、質量風險、供應鏈等方面存在諸多問題,因此我們必須積極推進進口電子元器件國產化。我國電子元器件生產起步較晚,受各種客觀條件和進口電子元器件知識產權的保護,國產設備的參數體系不完備,性能指標測試覆蓋不全,因而急需對國產器件的各項參數進行測試提供符合要求的規格書,實現國產化替代。
文獻[4]通過LabVIEW和FPGA構建了ADC通用化測試平臺,由于測試算法簡單,僅能滿足基本測試,且時鐘頻率較低,不能滿足高速ADC的測試;文獻[5]高精度高速ADC測試方案設計與實現,雖然能夠滿足復雜的測試算法,但其外圍接口相對比較固定,且測試人員操作難度大,通用性不強;文獻[6]高性能模數變換器測試平臺設計,數據緩存儲存速度較慢,在測試高速ADC時,容易造成數據丟失。
基于現有測試平臺的不足,設計了以高速FPGA為控制核心的硬件方案,采用子母板卡分離,預留多種接口;采用DDR3 SDRAM進行數據緩存,EMMC進行數據存儲,提高ADC測試平臺的通用性,實現ADC的測試和驗證。
表征ADC性能的指標一般可分為兩類:靜態指標和動態指標。其中,靜態指標代表ADC自身的內部特性,與其內部電路中的誤差和噪聲有關,這些誤差包括失調誤差、積分非線性、微分非線性、失碼等。主要比對特定的模擬輸入電平與對應的數字輸出代碼的關系,可以經過直方圖統計得到靜態指標[7];動態參數代表ADC采樣和重現時序變化信號的能力,測試時主要關注分辨率、信噪比、有效位數、信納比、總諧波失真等參數。動態參數測試取自ADC量化結果的頻譜。通常是對輸入的純凈正弦激勵進行采樣,然后對輸出的數字量進行 FFT 頻譜分析[8]。
動態參數根據實際測試條件,可選擇使用相干和非相干FFT測試方法。由于頻率精度等因素影響,在采用非相干采樣時需要進行加窗處理。采用相干采樣或經過加窗處理后的非相干采樣時,選擇特定的模擬頻率,以允許采集的樣本數據在記錄長度內轉換的代碼盡可能多[9]。最后通過FFT計算得出功率譜,進而計算得出相應的動態參數。FFT測試的結果一般以分貝來衡量,有效信號單位可以用dBc來表示。圖1所示為具體流程。
圖1 利用FFT測試結果計算得出動態參數的具體流程圖
在ADC采集到純凈的正弦信號后,根據圖2可得到在Nyquist帶寬內ADC典型動態參數的頻域內定義。
圖2 ADC典型動態參數的頻譜示意圖
信噪比(signal-to-noise ratio, SNR):指在規定條件下信號分量功率與噪聲總功率之比,單位dB。從數字樣本來說,SNR是滿量程模擬輸入的均方根與其量化誤差均方根的比值[10]。輸入正弦激勵的SNR可描述為:
信納比(signal-to-noise and distortion, SINAD):指信號分量功率與噪聲分量功率及諧波分量功率的和之比,單位dB。數學上,SINAD被描述為:
無雜散動態范圍(spurious-free dynamic range,SFDR):指信號分量功率與最大失真分量功率A2HD_MAX的比值,單位dBc。雖然與總諧波失真類似,但SFDR體現了轉換器的帶內諧波特性:
有效位數(significant digits, ENOB):指 ADC在工作時所能達到的處理精度,單位bits。在理想情況下誤差僅包含噪聲。它由ADC轉換的數字數據計算得出:
微分非線性(differential nonlinearity, DNL):表示實際轉移的曲線與理想轉移曲線偏離的程度。用LSB表示。即:
式中: A P(nthcode-)-第n個碼元的樣本采集數量;
IP(nthcode)理想的第n個碼元的樣本數量。
積分非線性(integral nonlinearity, INL):指實際轉移曲線的碼寬與理想轉移曲線碼寬的最大偏移[11]。用LSB表示。即:
失碼:指某一代碼的DNL為-1 LSB。在規定條件下,測試模擬輸入電壓在滿量程范圍內變化時,輸出端缺失相應碼元的數量。
失調誤差:指輸出端生成中間碼元時模擬輸入的電壓與理想電壓之間的差值。
滿量程誤差:指實際滿量程代碼轉換電壓與理想滿量程轉換電壓之間的百分比差異。滿量程誤差是負滿量程或正滿量程代碼轉換電壓誤差的最差情況。
設計的測試平臺主要包括信號發生器、帶通濾波器、測試夾具、低噪聲電源、編碼源、數據采集模塊和數據分析軟件[12]。總體方案如圖3、圖4所示。數據采集模塊可以通過標準的USB線連接到個人電腦上,通過上位機軟件可以快速評估ADC性能。數據采集模塊(母板)由一塊FPGA主控,可以完成數據的預處理,然后將預處理后的數據上傳至上位機,由上位機分析計算得出ADC的靜態指標和動態指標,并將數據保存到數據庫。
圖3 系統整體結構(原理)
圖4 系統整體結構(實驗)
完成ADC靜態參數和動態參數的測試需要輔助儀器,如信號發生器、噪聲發生器、高精度萬用表、示波器、網絡分析儀、高精度電源等。這些信號源應該具有出色的性能(低相位噪聲、平坦的頻率響應、極高的輸出功率)。這些發生器的諧波性能一般不如特定 ADC 固有的線性度好,因此需要在模擬輸入信號端與信號發生器之間進行濾波處理。
2.1.1 電源電路設計
電源是保證ADC測試性能的關鍵,大多數ADC的電源抑制比都較差,所以必須提供干凈的無噪聲電源。本設計采取開關電源與線性電源同步使用的原則,第一級電壓變換采用開關電源,最后一級電源采用線性穩壓器。
ADC一般分為數字端電源和模擬端電源,采用ADP3303ARZ-5為ADC模擬端提供電源,其具有出色的低噪聲性能。為減少數字端耦合到模擬端的噪聲,采用ADP7105為數字端提供電源,ADP7105是一款CMOS、低壓差(LDO)線性穩壓器如圖5、圖6所示。
圖5 ADC模擬端電源
圖6 ADC數字端電源
由于信號調理電路對噪聲更為敏感,為避免ADC數字端與模擬端對信號調理電路的影響,本方案采用單獨電源為信號調理電路供電,有一點需要特別考慮的是信號調理電路有負電壓,所以第一級電源采用具備正負電源輸出的開關電源芯片如圖7所示。
圖7 外部12V轉換為板級信號調理電源(ADP5071AREZ大功率板級第一級電源)
對于ADC來說,基準電壓尤其重要,是準確量化的基礎,為了獲得高精度的基準,本方案采用高精度的專用基準電壓芯片ADR431是一款電壓基準系列,具有低溫漂移、精度高和噪聲低等性能。如圖8所示。
圖8 基準電壓
2.1.2 信號調理電路設計
如果指定濾波器,則需要由大鐵芯制成的濾波器以防止飽和。濾波器通常設計用于大約 5 dBm的輸入功率。但是,在許多情況下,驅動ADC 需要遠大于該值,從而導致磁芯飽和和失真。指定更大的磁芯有助于減少由磁芯飽和引起的雜散失真。最后值得一提的是,濾波器連接器可以同時指定。找到要在不同連接器類型之間轉換的適配器很容易,但使用適配器可能會導致差異并影響轉換器性能。對于8-位和10-位轉換器來說并不算什么問題,但在12-位、14-位和16-位轉換器上卻非常明顯。
為了對比不同濾波器對測試結果的影響,設計了兩種濾波器,一種是采用集成濾波器芯片,一種是采用基于運算放大器構建的濾波器。如圖9、圖10所示。
圖9 基于運放的帶通濾波器
圖10 集成帶通濾波器
通用數據處理板卡主要完成ADC數據的預處理,將預處理的數據發送到上位機,上位機接收到數據后,對數據進行運算處理得出ADC的靜態參數和動態參數,并將數據存入數據庫。
2.2.1 數據接口的實現
目前主流的A/D轉換器的數據接口已升級為JESD204B接口[13]。JESD204B不再采用傳統的幀時鐘,而是采用設備時鐘,實現高達12.5 Gb/s的數據傳輸速率。為保持發送器和接收器同步,JESD204B 標準加入了確定性的延遲,并采用諧波時鐘以低速輸入時鐘驅動高速數據轉換器時鐘[14]。
由圖11所示,在測試A/D轉換器時,A/D轉換器的數據和時鐘通過FMC接口輸入到FPGA中,在FPGA內,完成數據的接收、采樣緩存,在經過跨時鐘域處理之后,將采樣到的數據寫入DDR3 SDRAM中,之后通過以太網接口或者光纖接口,將采集的數據從DDR3 SDRAM中讀出并上傳到PC端進行數據的軟件分析,并自動完成A/D轉換器各項性能參數的計算及圖形化顯示,同時生成相應的測試報告。本設計預留了豐富的數據接口,包括兩路USB3.0接口,用于跟上位機之間進行數據的的交互,兩個USB3.0接口可以同時獨立運行。具備6路RS232/RS485總線接口,用于和上位機以及其他外設進行交互(狀態變量的監控)。具有20對LVDS接口,用于和子板進行數據交互,LVDS也可配置為CMOS電平接口。具備JESD204B標準接口功能,可用于跟ADC進行交互,JESD204B也可配置為RAPIDO高速接口,用于和母板進行高速數據交互。具備10路串行外設接口(serial peripheral interface,SPI),通過 SPI接口,允許用戶訪問 A/D轉換器的地址空間,通過SPI寄存器的寫操作對芯片功能進行控制,通過讀操作監控芯片的內部工作狀態。
圖11 A/D轉換器測試鏈路框圖
2.2.2 DDR3 SDRAM高速緩存實現
本系統采用DDR3 SDRAM作為A/D轉換器采樣數據存儲器的數據存儲器,以滿足高性能轉換器測試時對高帶寬、高存儲深度、高速實時數據讀寫的要求[15]。DDR3 SDRAM高速緩存電路的實現主要由兩部分組成:高速且大容量的存儲和通過FIFO實現在不同時鐘域的數據緩存。圖12展示了以 DDR3 SDRAM 為核心的數據緩存結構。
圖12 ADC數據緩存結構框圖
2.2.3 EMMC高速大容量存儲實現
對于ADC進行長時間監測時,需要將數據存儲下來,并且掉電不能丟失,方案采用4片512 GB的EMMC來存儲有效數據,總有效存儲容量為2 TB。4片存儲速度最高可到4×250 MB/s=1 GB/s,可滿足對ADC的測試需求。
動態指標測試:
1)將HWD976待測板卡置于規定的環境與直流電源、專用控制母板連接;輸入高精度的正弦波fIN=45 056.152 343 75 Hz ,其采樣頻率設為fSAMPLE=200 kHz;
2)接通電源,給定器件電壓、模式控制引腳電壓,將器件數字輸出通過高速接口連接至數字采集端;
3)通過高性能射頻信號源提供特定頻率的模擬輸入信號,并連接固定頻率的濾波器至HWD976模擬輸入端;
4)利用邏輯分析儀/專用控制母板控制HWD976進行動態轉換,并采集器件數字輸出信號;
5)通過上位機軟件將采集的數據進行FFT變換,得到頻域信息,并繪制出結果的頻譜圖形如圖13、圖14所示。
圖13 板卡1:25 ℃溫度下功率譜
圖14 板卡2:25 ℃溫度下功率譜
利用FFT變換結果,通過公式計算得出SNR、SINAD、SFDR等動態指標如表1所示。
表1 動態指標測試結果
靜態指標測試:
1)電源施加5 V電壓供電;
4)待ADC達到工作穩定狀態后,采集70 000 000個輸出轉換數據點;
5)統計每一個輸出碼元對應的樣本數量并構建直方圖,根據正弦的概率密度函數計算理想碼元對應的樣本數量;
6)根據公式計算得出DNL和INL如圖15、圖16和表2所示。
表2 靜態指標測試結果
圖15 板卡25 ℃微分非線性
圖16 板卡25 ℃積分非線性
對國產HWD976芯片進行參數測試,對比芯片手冊和本次測試結果,驗證ADC性能評估系統能夠滿足設計目標,為此后測試國產芯片奠定基礎。
基于高速FPGA構成的硬件測試平臺,實現了對高速ADC輸出信號的接收、處理和存儲,能夠滿足完成ADC芯片的性能測試。得到以下結論:
1)采用子母板卡分離,預留多種接口,極大的提高了測試平臺的通用性,降低ADC測試成本;
2)采取開關電源與線性電源同步使用,降低電源噪聲對ADC測試的影響,提高測試精度;
3)該測試平臺能夠滿足通用ADC測試需求,有很好的應用和推廣價值。