基于NI VirtualBench和LabVIEW的ADC自動化測試
作者 張曜 孟天奕 陳尚存 合肥工業(yè)大學(xué)集成電路設(shè)計(jì)與集成系統(tǒng)專業(yè)(安徽合肥230601)
本文引用地址:http://cafeforensic.com/article/201812/396106.htm摘要:伴隨著通信系統(tǒng)對高頻率、大帶寬以及多通信模式的需求,模數(shù)轉(zhuǎn)換器(Analog-to-DigitalConvertor,ADC)的設(shè)計(jì)正趨向于高速高精度發(fā)展,與此同時(shí)也給芯片測試帶來了更大的挑戰(zhàn)。本文基于NIVirtual Bench硬件平臺,提出了一套自動化測試方案,該測試方案采用碼密度直方圖法和FFT頻譜分析法實(shí)現(xiàn)ADC芯片的靜態(tài)參數(shù)和動態(tài)參數(shù)的自動化測試。
關(guān)鍵詞:ADC測試;Virtual Bench;LabVIEW;碼密度直方圖法;FFT頻譜分析法
*第二屆全國大學(xué)生集成電路創(chuàng)新創(chuàng)業(yè)大賽NI杯全國特等獎張曜:合肥工業(yè)大學(xué)集成電路設(shè)計(jì)與集成系統(tǒng)專業(yè);孟天奕:合肥工業(yè)大學(xué)集成電路設(shè)計(jì)與集成系統(tǒng)專業(yè);通訊作者:陳尚存,合肥工業(yè)大學(xué)集成電路設(shè)計(jì)與集成系統(tǒng)專業(yè)。
0引言
模數(shù)轉(zhuǎn)換器是通信系統(tǒng)的重要組成部分,對通信系統(tǒng)的發(fā)展具有非常重要的意義。近年來,通信系統(tǒng)對高速高精度ADC的要求越來越高。當(dāng)有效位數(shù)要求超過12位時(shí)即進(jìn)入了高精度ADC的范疇,傳統(tǒng)的測試方法已經(jīng)很難適應(yīng)要求。
National Instruments(NI)公司為芯片測試提供了完善的硬件和軟件平臺,基于NI公司的產(chǎn)品可以極大地優(yōu)化測試步驟,便捷地得到可靠的測試結(jié)果。本文中,我們提出了一種運(yùn)用Virtual Bench進(jìn)行ADC參數(shù)測試的自動化方法,不僅對ADC的靜態(tài)參數(shù)和動態(tài)參數(shù)進(jìn)行了詳細(xì)地分析,而且實(shí)現(xiàn)了碼密度直方圖法和FFT頻譜分析法在LabVIEW編程語言中的具體運(yùn)用。相比于傳統(tǒng)的手動測試,自動化測試實(shí)現(xiàn)了從激勵產(chǎn)生輸入到響應(yīng)采集輸出,以及計(jì)算出相應(yīng)參數(shù)這一整個(gè)流程的全自動化,極大地提高了測試速度和測試準(zhǔn)確度,為優(yōu)化ADC的測試提供了一種新的可能性。NIVB-8012是一款Virtual Bench多功能一體式儀器,它將具有協(xié)議分析功能的雙通道100MHz混合信號示波器、任意波形發(fā)生器、數(shù)字萬用表、可編程直流電源和數(shù)字I/O結(jié)合到單個(gè)設(shè)備中,Virtual Bench還與Python、LabVIEW等緊密結(jié)合,支持編程控制和自動化測試序列,從而可以輕松實(shí)現(xiàn)自動化測試。
1ADC主要參數(shù)介紹
體現(xiàn)ADC性能的參數(shù)主要分為靜態(tài)參數(shù)和動態(tài)參數(shù)。靜態(tài)參數(shù)體現(xiàn)了ADC電路在轉(zhuǎn)換時(shí)間內(nèi)輸入信號保持不變的情況下的工作性能。動態(tài)參數(shù)體現(xiàn)了ADC電路在動態(tài)環(huán)境下的性能,因此其測試要求輸入信號是時(shí)間的函數(shù)。所以與此對應(yīng)的分別是ADC時(shí)域下的靜態(tài)參數(shù)和頻域下的動態(tài)參數(shù)。下面將對這兩種參數(shù)進(jìn)行說明。
1.1靜態(tài)參數(shù)
靜態(tài)參數(shù)描述的是器件的內(nèi)在特性,和器件內(nèi)部電路的誤差相關(guān)。靜態(tài)參數(shù)反映ADC的靜態(tài)誤差,即轉(zhuǎn)換器量化直流信號時(shí)影響精度的誤差。主要的靜態(tài)參數(shù)有:微分非線性和積分非線性。
(1)微分非線性(DifferentialNon-Linearity,DNL):ADC實(shí)際相鄰數(shù)字碼對應(yīng)的模擬量差值與理想相鄰數(shù)字碼對應(yīng)的模擬量差值(即1LSB)之差。
(2)積分非線性(IntegralNon-Linearity,INL):ADC的數(shù)字輸出碼對應(yīng)的模擬值和實(shí)際的模擬輸入值之間的差值[1]。通常我們比較關(guān)注的是微分非線性和積分非線性中的最大值,通過將其與LSB比較來判斷ADC是否達(dá)到所需精度。
1.2動態(tài)參數(shù)
ADC動態(tài)參數(shù)反映了ADC在高速工作條件下的性能,可以通過對輸出頻譜圖進(jìn)行計(jì)算分析得出。常用的動態(tài)性能參數(shù)有如下幾種:
(1)信號噪聲比(SignaltoNoiseRatio,SNR):簡稱信噪比,指ADC輸出信號功率與量化噪聲和電路噪聲的總功率的比值。表達(dá)式如下:
(2)總諧波失真(TotalHarmonicDistortion,THD):輸入信號與系統(tǒng)所有諧波的總功率比。表達(dá)式如下:
(3)信號與噪聲失真比(SignaltoNoiseAndDistortion,SINAD):輸入信號和所有輸出信號失真功率(包括諧波成分,不包括直流)比。表達(dá)式如下:
(4)無雜散動態(tài)范圍(Spurious-freeDynamicRange,SFDR):對系統(tǒng)失真進(jìn)行量化,它是基本頻率與雜波信號最大值的數(shù)量差。表達(dá)式如下:SFDR=6.02×N+1.76+10×log(OSR)其中N為有效位數(shù),OSR為過采樣率,計(jì)算公式為:OSR=fs/fB。
(5)有效位數(shù)(EffectiveNumberofBits,ENOB):在ADC器件信噪比基礎(chǔ)上計(jì)算出來的,它將傳輸信號質(zhì)量轉(zhuǎn)換為等效比特分辨率。表達(dá)式如下:ENOB=[SINAD(dB)-1.76dB]/6.02dB
2自動化測試方案
本文提出的ADC芯片自動化測試方案基于Virtual Bench系列中的VB-8012。對于Virtual Bench系列儀器,我們有兩種辦法實(shí)現(xiàn)其自動化測試:
(1)基于LabVIEW的自動化:構(gòu)建自定義應(yīng)用程序,以編程方式控制Virtual Bench,防止重復(fù)測量中出現(xiàn)人為失誤,并減少測試時(shí)間。
(2)基于Python的自動化:使用Python為Virtual Bench的各種測量編寫腳本,以驗(yàn)證和測試電子設(shè)備。
NI LabVIEW是儀器自動化行業(yè)最流行的系統(tǒng)設(shè)計(jì)軟件。使用圖形化開發(fā)環(huán)境,構(gòu)建自定義的應(yīng)用程序,通過編程控制NI Virtual Bench多功能一體化儀器,能夠減少重復(fù)測量中的人為錯誤并節(jié)省測試所需時(shí)間。本文主要是運(yùn)用LabVIEW來實(shí)現(xiàn)測試自動化。
實(shí)現(xiàn)測試的自動化,主要依靠LabVIEW提供的設(shè)備驅(qū)動程序和儀器應(yīng)用程序接口(API):設(shè)備驅(qū)動程序與計(jì)算機(jī)操作系統(tǒng)相配合,可在計(jì)算機(jī)和Virtual Bench之間建立起通信機(jī)制;儀器API是一組易于理解的高層函數(shù),在LabVIEW中用于控制儀器并與儀器進(jìn)行通信[2]。
使用LabVIEW進(jìn)行編程,通過初始化、配置儀器、執(zhí)行操作、關(guān)閉設(shè)備和錯誤處理等步驟,獲取VB-8012測得的數(shù)據(jù),并進(jìn)一步分析和處理測試數(shù)據(jù),從而計(jì)算得出ADC的性能參數(shù)。以上測試過程,僅需編寫好的LabVIEW程序進(jìn)行控制,實(shí)現(xiàn)了ADC的自動化測試。整個(gè)自動化測試系統(tǒng)的原理框圖如圖1。
2.1靜態(tài)參數(shù)測試
碼密度直方圖測試主要是基于數(shù)理統(tǒng)計(jì)理論,待測ADC對模擬輸入信號進(jìn)行隨機(jī)采樣,不同數(shù)字碼輸出的出現(xiàn)次數(shù)為碼密度。以ADC的輸出數(shù)字碼和相應(yīng)的出現(xiàn)次數(shù)為坐標(biāo)作圖,所得的圖形稱為直方圖。在直方圖上,每個(gè)數(shù)字碼稱為碼箱,每個(gè)數(shù)字碼出現(xiàn)的次數(shù)為碼箱寬度,即碼密度。根據(jù)相應(yīng)的碼箱寬度就可以估計(jì)出ADC的靜態(tài)參數(shù)[3]。
在選定測試信號時(shí)為了避免邊界值的影響,選擇輸入信號為略大于ADC量程的正弦信號。在輸入信號頻率選擇上必須滿足相干采樣原理,使得輸入信號的頻率與采樣頻率成互質(zhì)關(guān)系從而符合統(tǒng)計(jì)的隨機(jī)性。在滿足上述條件后,可以近似認(rèn)為ADC的采樣是隨機(jī)的,因此采樣輸出為隨機(jī)樣本,就可以利用統(tǒng)計(jì)學(xué)原理來計(jì)算相關(guān)的靜態(tài)參數(shù)[4]。
下面我們給出相應(yīng)的計(jì)算公式:
對于本文所需測試的12位ADC來說,要使DNL和INL的誤差精度達(dá)到0.1LSB的最低置信水平為95%,所以需要采樣的樣本數(shù)[5]為:
得到總樣本數(shù)后,本設(shè)計(jì)利用相應(yīng)數(shù)字碼的階躍過渡電壓差來得到實(shí)際電壓,并利用計(jì)算公式得到失調(diào)電壓:
A為正弦波幅值,得到失調(diào)電壓后,可以得到每個(gè)數(shù)字碼的階躍過渡電壓值:
得到數(shù)字碼后進(jìn)而可計(jì)算出相應(yīng)的DNL的值:
其中VF為滿量程電壓。最后可以通過積分計(jì)算得到相應(yīng)的INL的值:
本文中ADC轉(zhuǎn)換的數(shù)字碼在LabVIEW程序中以數(shù)組的方式存儲,基于算法的要求本設(shè)計(jì)將數(shù)組中的數(shù)字碼以十進(jìn)制的形式表示出來,統(tǒng)計(jì)每一個(gè)碼出現(xiàn)的次數(shù)即為相應(yīng)碼的碼箱寬度,之后可根據(jù)公式計(jì)算出所有的靜態(tài)參數(shù)。
統(tǒng)計(jì)碼箱寬度是碼密度直方圖法中尤為重要的一環(huán),具體程序如圖2。先將十進(jìn)制數(shù)組表示的所有輸出碼進(jìn)行排序,得到按照輸出碼從小到大排列的有序數(shù)組。然后將該數(shù)組按照碼的大小進(jìn)行分離,把具有相同碼值的元素分別組成新的數(shù)組,每一個(gè)新數(shù)組的元素個(gè)數(shù)即為不同碼值的數(shù)字碼所對應(yīng)的碼箱寬度。
對我們所搭建的LabVIEW程序框圖進(jìn)行驗(yàn)證,得到運(yùn)行結(jié)果如圖3所示。
根據(jù)波形圖可以發(fā)現(xiàn)DNL近似均勻分布于0的兩邊,而INL則表現(xiàn)出MSB處最大的特性,由此可以判斷程序的輸出結(jié)果正確,并且從具體數(shù)值來看ADC達(dá)到了相應(yīng)的精度。
2.2動態(tài)參數(shù)測試
為了得到ADC的動態(tài)參數(shù),在輸入端施加正弦信號后,我們使用VB-8012內(nèi)的邏輯分析儀對ADC輸出端的數(shù)據(jù)進(jìn)行采樣,之后進(jìn)行快速傅里葉變換(FFT)在頻域上得到頻譜圖。
VB-8012獲得采樣數(shù)據(jù)并發(fā)送到上位機(jī),在LabVIEW程序中調(diào)用VB-8012的混合信號示波器(MSO)數(shù)字通道VI,可以得到數(shù)據(jù)波形格式的采樣數(shù)據(jù),對數(shù)據(jù)進(jìn)行初步處理后調(diào)用頻譜測量VI進(jìn)行快速傅里葉變換,進(jìn)而可以獲得信號的功率譜。
根據(jù)頻譜圖,按照定義計(jì)算出基波信號分量P1,諧波信號分量PD,噪聲功率PN,最大雜波分量功率PS,根據(jù)下面的公式[6]計(jì)算出相應(yīng)動態(tài)參數(shù):
相應(yīng)的LabVIEW程序框圖如圖4所示。
為了驗(yàn)證該程序框圖及算法的正確性,我們使用加入了均勻白噪聲的正弦波作為激勵信號進(jìn)行程序檢驗(yàn),計(jì)算得到的有效位數(shù)(ENOB)和其它參數(shù)均符合預(yù)期,輸出的功率譜波形也正確體現(xiàn)了信號功率和噪聲功率。對于功率譜分析需要注意的是,必須正好采集整數(shù)個(gè)周期的輸入信號,以實(shí)現(xiàn)相干采樣防止頻譜泄露,這反映到頻域上就表現(xiàn)為譜線能量非常集中。如圖5所示。
3結(jié)束語
長期以來高速高性能的ADC主要依靠國外進(jìn)口。隨著國內(nèi)集成電路技術(shù)水平的不斷提升,很多ADC已經(jīng)完成了國產(chǎn)化,如何更加有效地實(shí)現(xiàn)ADC的測試成為我們需要重視的問題。本文提供了一種利用NI Virtual Bench來實(shí)現(xiàn)ADC自動化測試的方案,并且給出了LabVIEW程序的部分框圖,可供搭建ADC自動化測試系統(tǒng)時(shí)進(jìn)行參考。
參考文獻(xiàn):
[1]R. Jacob Baker. CMOS Circuit Design, Layout, and Simulation, Second Edition[M]. WileyIEEE Press, 2004.
[2]National Instruments. 《如何使用LabVIEW自動運(yùn)行Virtual Bench》. https://www.ni.com/tutorial/52110/zhs/. 2014.
[3]薛亮, 沈延釗, 張向民. 一種A/D靜態(tài)參數(shù)和動態(tài)參數(shù)的測試方法[J]. 儀器儀表學(xué)報(bào)(第A1期). 2004:771-796.
[4]方穗明, 王占倉. 碼密度法測量模數(shù)轉(zhuǎn)換器的靜態(tài)參數(shù)[J]. 北京工業(yè)大學(xué)學(xué)報(bào)(第11期). 2006: 977-981.
[5]Maxim Corp. Histogram testing determines DNL and INL errors, application note 2085.Sunnyvale, USA: Maxim corp, 2003.
[6]朱江. 高精度ADC測試技術(shù)研究[J]. 電子與封裝(第9期). 2014:9-12,16.
本文來源于中國科技期刊《電子產(chǎn)品世界》2019年第1期第73頁,歡迎您寫論文時(shí)引用,并注明出處
評論