A/D轉(zhuǎn)換芯片的測試環(huán)境構(gòu)成及測試方法
所謂的混合信號測試,是指對A/D、D/A、鎖相環(huán)等兼有數(shù)字和模擬兩種信號的混合電路芯片的測試?;旌闲盘枩y試的測試時間長、費用高、測試系統(tǒng)結(jié)構(gòu)復雜,在實現(xiàn)上具有一定的難度。而數(shù)字電路測試系統(tǒng)有著出色的測試能力,如足夠的向量深度、靈活的數(shù)據(jù)格式、常規(guī)的交直流參數(shù)測試能力等。添加必要的程控模擬源以及模擬信號測試設備,運用系統(tǒng)集成的方法,用高信噪比的數(shù)字電路測試系統(tǒng)以及帶有GPIB或VXI接口的設備構(gòu)造A/D、D/A等轉(zhuǎn)換芯片的測試環(huán)境,完全可以擴展到混合信號電路的測試領域,可以在一定程度上解決混合信號測試的問題。
由NI公司出品的Labview語言,是一種圖形化編程語言,也是最通用的工程測試語言。Labview本身附帶的軟件包提供了大量帶有GPIB接口的可程控測試設備的驅(qū)動程序,在測試程序中添加這些現(xiàn)成的驅(qū)動程序模塊,很容易實現(xiàn)對外部設備的操作,使軟件編寫變得非常簡單;Labview庫函數(shù)中的DSP函數(shù),可以方便地進行數(shù)據(jù)處理,作頻譜分析。
選用Labview構(gòu)成測試的軟件環(huán)境,運用系統(tǒng)集成的方法實現(xiàn)數(shù)字電路測試系統(tǒng)向混合信號測試的擴展,可以依據(jù)不同的測試品種和測試要求,對系統(tǒng)靈活地加以配置,不管是軟件編寫還是硬件集成都非常方便、靈活、快捷。在構(gòu)筑測試系統(tǒng)時,要充分考慮到以下三方面問題:系統(tǒng)中各部分的同步協(xié)調(diào)工作、降低系統(tǒng)噪聲、阻抗匹配。
1 A/D轉(zhuǎn)換芯片的測試環(huán)境構(gòu)成
1.1 硬件構(gòu)成
測試系統(tǒng)的硬件框圖如圖1。該系統(tǒng)的工作原理是:在SUN工作站運行的測試程序通過GPIB接口程控任意波形發(fā)生器產(chǎn)生所需要的測試波形;由數(shù)字電路測試系統(tǒng)產(chǎn)生測試A/D轉(zhuǎn)換芯片所必需的數(shù)字激勵并獲取數(shù)字響應信號。在測試過程中,每次啟動A/D轉(zhuǎn)換的同時提供任意波形發(fā)生器的時鐘脈沖信號,保證測試的同步進行,同時讀入A/D轉(zhuǎn)換器的數(shù)字輸出信號;測試完畢后從數(shù)字電路測試系統(tǒng)的內(nèi)存中讀出轉(zhuǎn)換數(shù)據(jù),并進行處理。
高分辨率A/D的測試對測試系統(tǒng)本身的噪聲性能有較高的要求。測試系統(tǒng)必須具有分辨小信號的能力,如果系統(tǒng)噪聲太大,濾波不干凈,就會扭曲測試結(jié)果,甚至無法進行測試。我們使用的數(shù)字測試系統(tǒng)為IMS公司的ATS60E測試系統(tǒng),信噪比可達到90~124dB,可以測試16 Bit音頻A/D,完全可以滿足測試的要求。而且系統(tǒng)除了圖表化的編程界面外,還提供Labview以及C語言的編程環(huán)境,很容易對測試過程進行控制。
任意波形發(fā)生器內(nèi)部的存儲空間存儲數(shù)字化的波形,輸出時通過D/A將數(shù)字信號轉(zhuǎn)化為模擬信號。一般來說,輸出頻率和分辨率兩個指標不可兼得??梢愿鶕?jù)測試的A/D品種選擇高速、低分辨率或低速、高分辨率的設備。對普通的音頻A/D來說,Pragmatic 2711(16位,2MHz)是較好的選擇。任意波形發(fā)生器產(chǎn)生的A/D常用測試波形一般有斜波(或三角波)和正弦波兩種:斜波主要用來測量靜態(tài)參數(shù),正弦波用來測動態(tài)參數(shù)。在任意波形發(fā)生器后接高階有源濾波器,以平滑由于波形發(fā)生器內(nèi)部D/A存在量化誤差所產(chǎn)生的測試波形上的鋸齒,減少測試信號的失真。對高頻電路測試,一般的測試系統(tǒng)阻抗都為50Ω,要充分考慮到阻抗匹配的問題,以保證信號的最大通過和最小反射。
1.2 軟件構(gòu)成
測試軟件分兩部分:IMS-ATS60E數(shù)字電路測試系統(tǒng)的IMS測試程序及Labview測試程序(見圖2)。
數(shù)字電路測試系統(tǒng)的IMS測試程序完成如下功能:重復進行若干次測試,每次測試都產(chǎn)生A/D的轉(zhuǎn)換控制信號,同時提供一個數(shù)字信號作為系統(tǒng)同步時鐘,并捕獲轉(zhuǎn)換結(jié)果;對電路的數(shù)字部分進行常規(guī)的交、直流參數(shù)測試。
Labview測試程序完成的功能有:初始化波形發(fā)生器,包括寫入測試波形,設置時鐘同步方式、波形幅度、偏壓等,產(chǎn)生的波形幅度為待測A/D滿幅輸入時模擬信號的幅度;控制數(shù)字電路測試系統(tǒng),調(diào)用測試程序并進行測試,最后從數(shù)字測試系統(tǒng)的內(nèi)存中讀出數(shù)據(jù)并進行處理。[!--empirenews.page--]
2 A/D轉(zhuǎn)換芯片的幾種測試方法
測試A/D芯片的幾種常用方法有柱形圖(Histogram)分析法、離散參數(shù)傅立葉(FFT)變換法、拍頻(Beat frequency)測試法等。還有一種正弦波曲線擬合法(Curve fitting),它是在輸入波形為正弦波時,算出輸出碼集與最佳擬合正弦曲線的均方差,與理想擬合誤差相比較即可得出結(jié)果,這種方法本文不予詳細說明。
不同測試方法的故障覆蓋是不一樣的。通常,FFT測試法與柱形圖法或拍頻測試法結(jié)合使用,以測試出A/D不同的失效狀況。下面是三種測試法的基本原理。
2.1 柱形圖分析法
在測試A/D的靜態(tài)參數(shù)時,最常用的測試方法為柱形圖法。用斜波作為測試波形,程控任意波形發(fā)生器,產(chǎn)生的斜波幅度為A/D滿幅輸入模擬信號,經(jīng)過高階Butter worth低通濾波器濾波后作為測試波形。對于n位的理想A/D,一套完全轉(zhuǎn)換碼應為2n個,而且每個碼值輸出的概率應該是相等的。在理想情況下,如果初始化斜波每周期的點數(shù)為m•2n(m為正整數(shù)),那么每次任意波形發(fā)生器輸出一個完整的斜波,A/D轉(zhuǎn)換器必然輸出2n個碼,且每個碼的個數(shù)為m個。但實際上并非如此,由于A/D每個碼對應的碼寬不同,因此測試過程中獲得的轉(zhuǎn)換碼的個數(shù)也必然會不同。例如,如果A/D有失碼,則必然會有的碼出現(xiàn)的次數(shù)為0;如果有的碼寬超過理想值,則該碼出現(xiàn)的次數(shù)會超過期望值(見圖3)。通過多次測試,對于轉(zhuǎn)換結(jié)果可以統(tǒng)計出每個碼出現(xiàn)的次數(shù),保存在數(shù)組N(i)中(第i個碼出現(xiàn)次數(shù)為N(i)),并作出每個碼對應于該碼出現(xiàn)次數(shù)的柱形圖。而每個碼出現(xiàn)次數(shù)與總碼個數(shù)之比必然等于該碼的碼寬與輸入模擬幅值之比,因此利用柱形圖可以近似算出該碼對應的碼寬,進而計算DNL、INL等靜態(tài)參數(shù)。但是,為了得到每個碼寬的精確的統(tǒng)計值,就意味著要獲得大量的采樣數(shù)據(jù),對于12位的A/D,即使要獲得每個碼平均200個值的采樣點數(shù),那么采樣的總點數(shù)也將達到800000個,這就對數(shù)字測試系統(tǒng)的向量深度提出了要求。
在進行實際測試時,要考慮到偏置誤差和增益誤差的影響,設定的A/D輸入模擬幅值一般應略大于標稱幅值,這樣轉(zhuǎn)換結(jié)果中端點的碼個數(shù)可能會多于其它點的個數(shù)?,F(xiàn)假設A/D實際設置幅度比理想幅度大s LSB(s的取值一般為5~10),平均碼個數(shù)為m,則除去第一點和最后一點的影響,碼值實際的平均個數(shù)k為:
這也就是1個LSB碼寬所對應的碼的個數(shù)。
所謂的偏置誤差定義為偏置點的理想值與實際值的偏差。A/D的偏置點可以用如下方法求得:當數(shù)字輸出由0向1轉(zhuǎn)變時,模擬輸入值減去1/2 LSB的值。增益誤差是指在偏置誤差得到修正后,增益點的理想值與實際值的偏差。A/D的增益點是指當數(shù)字輸出轉(zhuǎn)換到最大值時,模擬輸入值加上1/2LSB的值。這兩種誤差都可以通過修正,調(diào)整到0。由定義可以推出偏置誤差和增益誤差按碼出現(xiàn)次數(shù)的計算公式如下:
DNL定義為實際轉(zhuǎn)換碼寬與理想碼寬(1 LSB)的差。INL定義為實際轉(zhuǎn)換點與理想轉(zhuǎn)換點之差,通常要取每個轉(zhuǎn)換碼寬的中點與理想轉(zhuǎn)換曲線之差。所謂的理想轉(zhuǎn)換曲線有兩種定義,可以是輸出轉(zhuǎn)換點的最佳擬合直線,也可以是修正偏置誤差和增益誤差后的直線,第二種定義由于在計算上很方便所以實際上更常用。按碼的出現(xiàn)次數(shù)計算,第i個碼的DNL和INL值的計算公式為:
柱形圖測試法可以方便地測試出某一測試頻率下DNL、INL、增益和偏置誤差等參數(shù)的具體數(shù)值,檢測出失碼。關于柱形圖的計算,在Labview的功能菜單中,選Analysis下的Probability and Statistics子菜單,則有Histogram、Mean等統(tǒng)計模塊供選用,以便進行計算。
2.2 FFT測試法
離散參數(shù)的快速傅立葉變換(FFT)可以進行A/D的動態(tài)參數(shù)測試。在這種方法下,任意波形發(fā)生器產(chǎn)生純正弦波,后接高階Chebyshev濾波器,濾掉信號的噪聲和失真,產(chǎn)生測試用的純正弦波。有些參數(shù)(如IMD)的測試,甚至要求測試波形是兩種頻率相接近的正弦波的疊加,頻率不是單一的。[!--empirenews.page--]
這種測試方法是利用FFT算法對A/D轉(zhuǎn)換芯片的輸出碼進行數(shù)字信號處理,計算A/D的頻譜參數(shù),以此看出各種轉(zhuǎn)換誤差以及失真在頻譜圖上表現(xiàn)出的噪聲背景。在沒有失真的理想情況下,在輸入模擬量為正弦波時,輸出頻譜應為頻率等于輸入頻率的沖激函數(shù)的圖形。事實上,A/D轉(zhuǎn)換器的量化誤差,轉(zhuǎn)換器內(nèi)部各種噪聲,甚至包括測試系統(tǒng)噪聲,都會在頻譜圖上的噪聲背景中體現(xiàn)出來;DNL、失碼、孔徑誤差、寬帶噪聲都會造成頻譜圖上噪聲背景的提升,而INL則會在測試信號的基波偏移帶內(nèi)表現(xiàn)出諧波失真(如圖4);轉(zhuǎn)換器內(nèi)部非線性部件的存在,使輸出信號相對于輸入信號在頻率上不但會有一個微小的偏移,而且會產(chǎn)生一系列的諧波分量(圖5)。
在計算過程中,如果采樣數(shù)據(jù)集的端點不連續(xù),會因引入采樣窗口而增加計算的繁瑣程度。而按照相關采樣原理,FFT就可以把輸出信號看成無窮的周期信號,使計算變得簡單。滿足相關采樣原理的采樣方法必須滿足如下公式。
式中,M為采樣周期數(shù),必須為奇數(shù)。
N為總采樣點數(shù),對于FFT算法其值必須為2的冪。
fT為輸入模擬正弦波的頻率。
fs為采樣頻率。
為了得到最佳測試結(jié)果,測試過程中所選的M與N的值必須要加以限制。為了保證采樣數(shù)據(jù)集端點相匹配,M必須選正整數(shù);FFT算法本身要求采樣點數(shù)值為2的冪;為獲得最佳測試效率和減少測試時間,M和N要求不可約分。而且為了保證FFT變換一定的故障覆蓋率,N取值不能太小。
由Nyquist采樣定理,采樣頻率至少是測試信號頻率的2倍,才能保證采樣不失真。但我們在這種測試中采樣頻率遠大于輸入信號頻率,所以可以不考慮Nyquist頻率的影響。
衡量A/D動態(tài)性能的指標有:信號噪聲比(SNR)、信號噪聲失真比(SINAD)、諧波總失真(THD)、寄生動態(tài)范圍(SFDR)、交調(diào)失真(IMD)等。在計算出A/D轉(zhuǎn)換的頻譜后,這些參數(shù)按定義都很容易計算。計算中的諧波分量一般要求算到六階。
例如對于A/D轉(zhuǎn)換存在的量化誤差,可以用信號噪聲比(SNR)這個參數(shù)計算A/D由量化誤差引入的噪聲背景。而SNR理論上的計算公式為:SNR=6.02n+1.76(dB),因為噪聲分量中除了量化噪聲,還有其它噪聲,實際測量結(jié)果會比這個值稍低一點。
關于FFT變換的計算,在Labview的功能菜單中,選Analysis下的Digital Signal Processing子菜單,可有Real FFT、Auto Power spectrum等模塊供選用,以進行變換和參數(shù)計算。程序編寫可以參照Labview 安裝目錄下Examplesanalysismeasuremeasxmpl.llb中的THD.vi程序。
2.3 拍頻測試法
“拍頻”這個名稱說明了這種測試方法的原理,輸入正弦波的頻率與A/D的采樣頻率之間有一個微小的差值,因為形成了一個拍頻,對測試波形不斷的采樣和轉(zhuǎn)換結(jié)果也是一個正弦波(見圖6)。這種測試方法本來是將轉(zhuǎn)換的數(shù)字信號經(jīng)過一個D/A轉(zhuǎn)換后在CRT上顯示出來,觀察正弦波的平滑性。這樣即使是低速的D/A也可以應用于測試?,F(xiàn)在我們利用Labview,在測試中將ATS60E測試系統(tǒng)的測試頻率設定為fs,波形發(fā)生器的輸出正弦波的頻率設定為fs+Δf。將采樣結(jié)果在Labview的圖表上輸出,那么輸出點連起來必然為一個正弦波。而轉(zhuǎn)換誤差會表現(xiàn)為波形的失真和不連續(xù)。對頻差的設置最理想的情況是(這種連續(xù)的采樣)使每個碼都有一次采樣到的機會,保證圖表輸出覆蓋所有可能的碼的故障。例如,10bit A/D,20MHz的采樣率,最大3MHz的差頻就可以保證每個碼至少一次采樣。
拍頻測試法可以測試三種誤差:DNL、INL和失碼,但是無法得出具體數(shù)值。最主要的是可以用來測量模擬帶寬。
本文主要探討的是用系統(tǒng)集成的方法進行A/D轉(zhuǎn)換芯片的測試,但是也可以擴展到其它混合信號電路的測試中。比如D/A的測試思路,由數(shù)字測試系統(tǒng)產(chǎn)生D/A的控制信號以及轉(zhuǎn)換的數(shù)字輸入信號,產(chǎn)生的輸出模擬轉(zhuǎn)換結(jié)果可以用測試系統(tǒng)本身的精密測量單元來測試,也可以由外接程控的高精度萬用表來測量。
測試的基本原理和方法和20年前其實沒有太大區(qū)別,不過是由于軟硬件水平的發(fā)展,使測試環(huán)境更容易構(gòu)成。尤其是在具有一定規(guī)模的實驗室,各種測試設備相對比較齊全的情況下,這種擴展方法特別體現(xiàn)了它經(jīng)濟、靈活的優(yōu)點,很多情況下可以省去配置專門的混合信號測試系統(tǒng)。