基于過零點(diǎn)檢測的高分辨率DAC靜態(tài)測試方法研究
摘要:受到現(xiàn)有測試設(shè)備的限制,高精度的D/A轉(zhuǎn)換器(數(shù)模轉(zhuǎn)換器)測試一直是混合信號(hào)測試中的難點(diǎn),本文探討了高精度數(shù)模轉(zhuǎn)換器(DA C)測試的一種新方法。該方法通過在微弱被測電平上疊加參考正弦波,測試疊加后波形的過零點(diǎn)在時(shí)域上的分布情況,以了解DAC的靜態(tài)特性參數(shù)。該方法的優(yōu)點(diǎn)在于充分利用了現(xiàn)有ADC(模數(shù)轉(zhuǎn)換器)的速度優(yōu)勢,原理簡單,且易于實(shí)現(xiàn)。
關(guān)鍵詞:數(shù)模轉(zhuǎn)換器;積分非線性;差分非線性;過零點(diǎn)
0 引言
隨著科技的日益發(fā)展,DAC轉(zhuǎn)換精度越來越高,為了測試高精度DAC的性能,需要輔以分辨率更高的數(shù)字化ADC。然而,高精度的顯示設(shè)備在一般實(shí)驗(yàn)條件下很難獲得。因此,如何利用低分辨率的ADC有效評(píng)估高精度的DAC,成為測試行業(yè)亟待解決的問題。一些文獻(xiàn)中提出過采樣技術(shù)、抖動(dòng)技術(shù)等方法,探討減小ADC的量化誤差來提高ADC的分辨率進(jìn)而測試高精度DAC,但是這些方法都存在著一定的局限性。比如,當(dāng)微弱信號(hào)的幅值低于最小ADC步長即LSB時(shí),過采樣技術(shù)無效;采用抖動(dòng)技術(shù)也需要外加模擬電路,增加了測試成本和復(fù)雜程度。
D.L.Carni等在文獻(xiàn)中提出了一個(gè)切實(shí)可行的方案,采用一個(gè)“純”的正弦波作為參考信號(hào),將其與待測DAC的輸出電平疊加,通過分析結(jié)果信號(hào)在時(shí)域上的過零點(diǎn)分布情況,得出靜態(tài)參數(shù)DNL(差分非線性)、INL(積分非線性)的值。這個(gè)方法從一定程度上解決了低精度測試高精度的問題,但是不足之處在于該方法的時(shí)間成本較高,對(duì)于很高精度的DAC,測試耗費(fèi)的時(shí)間可能很長。
本文在過零檢測的基礎(chǔ)上提出了一種改進(jìn)的測試方法,得到n位DAC的靜態(tài)參數(shù)INL、DNL值。這種方法通過改進(jìn)參考信號(hào)來比較DAC的輸出和參考信號(hào)的輸出,不但使低精度ADC可以有效測試高精度DAC,更重要的是縮短了測試時(shí)間,降低了測試成本。
1 基于過零檢測的DAC靜態(tài)測試
1.1 低精度ADC不能直接用來測試高精度DAC的原因
對(duì)于DAC的靜態(tài)測試,通常測試DNL、INL這兩個(gè)參數(shù)值,方法是輸入代碼k,k=0,1,2…2n-1。得到DAC輸出的電平值Vk。計(jì)算DNL、INL的公式如下:
假如用精度低于DAC的ADC對(duì)其直接測試,如圖1所示,由于低精度ADC引入的量化誤差q(k),我們無法分辨輸入代碼k和k-1對(duì)應(yīng)的確切電壓值。這種情況下的靜態(tài)參數(shù)測試就失去了意義。
1.2 過零檢測
過零點(diǎn)檢測法是一種經(jīng)典的調(diào)制域分析方法,它通過記錄過零點(diǎn)的時(shí)間得到過零點(diǎn)的時(shí)間間隔,可以用于識(shí)別精度低于ADC步長的微弱信號(hào)。圖2簡要地描述了測試系統(tǒng)框圖:待測DAC輸出的電壓Vk,校準(zhǔn)儀提供一個(gè)標(biāo)準(zhǔn)的參考正弦波f(t)=Asin(ωt+φ),將直流電壓Vk加在參考正弦波上,將結(jié)果信號(hào)輸入高速ADC。即:
式(4)在時(shí)域圖上的表現(xiàn)如圖3所示。
圖中,虛線表示標(biāo)準(zhǔn)參考信號(hào)f(t)=Asin(ωt+φ),實(shí)線為疊加之后的信號(hào),可以看出,tk1、tk2、tk3時(shí)刻為過零點(diǎn),Vk的大小由△tk決定。△tk的值可以通過測量過零點(diǎn)tk1、tk2、tk3得到,Vk的表達(dá)式可以推導(dǎo)如下:
其中,Nc為在時(shí)間間隔△tk內(nèi)的采樣點(diǎn)數(shù),fs為設(shè)置的ADC的采樣率。
1.3 測試方法的弊端
利用以上方法,可以得到DAC輸出電壓的值Vk,進(jìn)而求出靜態(tài)參數(shù)DNL、INL的大小。需要關(guān)注的是:為了得到過零點(diǎn)序列,參考正弦波的幅值A(chǔ)必須大于DAC的滿量程電壓范圍;同樣由式(5)得到ADC的最低采樣率:
△V幅值分辨率,通過式(6)可以看出:為了確保測試的準(zhǔn)確性,△V應(yīng)該盡可能地小,并且在其他條件不變的情況下Nc的值越大越好。因?yàn)檫@種方法的本質(zhì)在于將幅度上的高精度測試轉(zhuǎn)移到時(shí)間上來。因此采樣率越高,測量結(jié)果越準(zhǔn)確,但是采樣率與測試設(shè)備息息相關(guān),不可能無限制提高。這種情況下,如果沒有設(shè)備能夠提供足夠高的采樣率,那么只能降低信號(hào)頻率f。但是降低信號(hào)頻率f將帶來另一個(gè)問題,就是測試時(shí)間的成倍增加。
在文獻(xiàn)中作者曾對(duì)16位且幅值為±10V的DAC進(jìn)行了實(shí)測,采用泰克TDS7404B數(shù)字示波器作為采集信號(hào)用的ADC。其主要參數(shù)為:8位分辨率、20GS/s的最高采樣率。設(shè)置△V=LSB/40,Nc=5,正弦波頻率f=100Hz,幅值A(chǔ)=11V。通過式(6)得到的采樣率高達(dá)5GS/s。每次測10個(gè)Vk對(duì)其做平均,這樣每測一個(gè)Vk花費(fèi)的時(shí)間是0.1s,即便擁有這樣的超高采樣率的設(shè)備,完整地測一個(gè)16位的DAC所需要的時(shí)間也至少需要兩個(gè)小時(shí)。
2 提出的方法
從降低測試時(shí)間的角度考慮:首先,從圖3中可以看到,利用正弦波作為參考波形至少需要3個(gè)過零點(diǎn)才能得到DAC的輸出電壓值,其次,為了降低檢測每個(gè)過零點(diǎn)所需要的時(shí)間,最直接的方法就是提高參考信號(hào)的頻率f,但是由于設(shè)備條件的限制,采樣率fs不能再提高。從式(6)中可以看出,Nc、△V都是約定值,不可變動(dòng),唯一能改變的就是參考正弦波幅值A(chǔ),但A的最小值也受到限制,因?yàn)橐坏〢小于被測DAC的量程范圍,DAC中大于A的輸出電壓將無法測得。實(shí)際上,A的限制是因?yàn)槲覀冃枰獪y試每一個(gè)代碼對(duì)應(yīng)的輸出電壓值。
但事實(shí)上,我們并不需要測試每一個(gè)Vk。對(duì)靜態(tài)測試而言,主要是了解被測DAC的線性度,如圖4所示。影響DNL的主要是相鄰兩個(gè)輸入代碼的輸出電平幅值之差與理想步長之間的偏差,即Vk+1-Vk與LSB之差。將DNL、INL的計(jì)算公式適當(dāng)變化如下:
由圖4和式(7)、(9)可以看出,只要知道輸入代碼的實(shí)際電壓與理想電壓的差值,一樣能計(jì)算出DAC的靜態(tài)參數(shù)。
基于以上認(rèn)識(shí),設(shè)計(jì)了如下的測試系統(tǒng)架構(gòu)模型。
設(shè)參考鋸齒波的信號(hào)f(x)*δT(x),其中:
參考斜坡的信號(hào)可以表示為:,[]為取整函數(shù)。
令DUT產(chǎn)生的信號(hào)為g'(x),經(jīng)過疊加的均勻抖動(dòng)上升的鋸齒信號(hào)為f(x)*δT(x)+g(x),ADC采集的信號(hào)就是f(x)*δT(x)+g(x)-g'(x)。顯然,g(x)-g'(x)的值代表了△Vk的大小,而△Vk很小,低精度的ADC是無法將其反映出來的。通過借助參考鋸齒波形在時(shí)域上的過零點(diǎn)分布卻能夠表達(dá)出來。
如果被測DAC表現(xiàn)出完美的靜態(tài)特性,那么ADC會(huì)恢復(fù)出參考鋸齒波信號(hào),如果一旦被測DAC的輸出電壓Vk與理想值存在偏差(如圖4),則會(huì)在時(shí)域圖上明顯地反映出來,如圖6所示。
圖中△Vk代表了在輸入代碼為k時(shí),實(shí)際測量電平與這一點(diǎn)的理想電平的差值,虛線代表參考鋸齒波信號(hào),實(shí)線表示被測DAC與參考信號(hào)的差分信號(hào)。用一個(gè)雙通道的ADC同時(shí)對(duì)兩種信號(hào)進(jìn)行采集,通過檢測過零點(diǎn),得到△tk、△tk+1的值,不難看出:
N代表鋸齒波一個(gè)周期內(nèi)的采樣點(diǎn),A表示鋸齒波的幅值,然后有:
結(jié)果證明,在上述方法中,知道鋸齒波的幅值以及△tk內(nèi)的采樣點(diǎn)數(shù)Nc,便可得到△tk的值,在這種方法中,并不需要知道每一個(gè)Vk的值,也可以輕松地獲得DNL和INL的值。
3 仿真實(shí)驗(yàn)
為了驗(yàn)證此方法的可靠性,本文采用Labview虛擬儀器進(jìn)行仿真測試。仿真中采用8位DAC產(chǎn)生標(biāo)準(zhǔn)的斜坡波形和鋸齒波形,將兩種信號(hào)的加法形式作為參考波形,設(shè)置隨機(jī)白噪聲點(diǎn)逐點(diǎn)加到標(biāo)準(zhǔn)斜坡波形上,使得LSB的范圍限制為,以便用程序計(jì)算出實(shí)際仿真的DNL和INL的大小。程序的最終目的在于,將提出方法測試所得的結(jié)果和真實(shí)計(jì)算結(jié)果的偏差做一個(gè)比較。
通過編寫測試程序,可以得到以下規(guī)律:
(1)ADC的采樣率越高,實(shí)際測試得到的DNL和INL會(huì)更加接近真實(shí)的計(jì)算結(jié)果;
(2)參考鋸齒波的幅值越小,測試的結(jié)果會(huì)越精確;
(3)ADC位數(shù)與測試精度幾乎沒有關(guān)系。
需要注意的是,增加采樣點(diǎn)數(shù)會(huì)使測試時(shí)間增加,因此ADC的采樣率不可以無限制提高,但是可以根據(jù)測試的實(shí)際情況對(duì)其作最佳評(píng)估。關(guān)于幅值的設(shè)定,其最低值必須使得每個(gè)差分鋸齒波都有過零點(diǎn)。然后設(shè)置程序來比較標(biāo)準(zhǔn)鋸齒波的過零點(diǎn)和差分鋸齒波的過零點(diǎn)數(shù),當(dāng)兩者不同時(shí),程序中的指示燈報(bào)警。
在仿真測試中,設(shè)置DAC范圍為10V,幅值為80mV;產(chǎn)生的斜坡中,每個(gè)輸入代碼重復(fù)100次,設(shè)置采樣率為1k,采集256000個(gè)點(diǎn)。設(shè)置ADC的分辨率為2位。得到結(jié)果如圖6所示。
通過比較圖6中兩個(gè)波形的過零點(diǎn)之間的采樣數(shù),比較最終得到的INL值與計(jì)算所得INL值:圖7 a.實(shí)際的INL值,b.用本方法測得的INL值。
4 結(jié)束語
本文對(duì)高精度DAC的動(dòng)態(tài)測試提出了新的評(píng)估方法,這個(gè)方法通過比較參考鋸齒波與實(shí)際得到的鋸齒波在時(shí)域上的過零點(diǎn),精確地獲得了DAC的靜態(tài)參數(shù)INT、DNL的值。并且在Labview仿真測試系統(tǒng)中進(jìn)行了驗(yàn)證,結(jié)果證明了此方法的有效性和實(shí)用性。