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