新聞中心

        EEPW首頁 > 設計應用 > 基于NI VirtualBench和LabVIEW的ADC自動化測試

        基于NI VirtualBench和LabVIEW的ADC自動化測試

        作者:張曜 孟天奕 陳尚存 時間:2018-12-27 來源:電子產品世界 收藏

        作者 張曜 孟天奕 陳尚存 合肥工業大學集成電路設計與集成系統專業(安徽合肥230601)

        本文引用地址:http://www.104case.com/article/201812/396106.htm

          摘要:伴隨著通信系統對高頻率、大帶寬以及多通信模式的需求,模數轉換器(Analog-to-DigitalConvertor,ADC)的設計正趨向于高速高精度發展,與此同時也給芯片測試帶來了更大的挑戰。本文基于NIVirtual Bench硬件平臺,提出了一套自動化測試方案,該測試方案采用碼密度直方圖法和實現ADC芯片的靜態參數和動態參數的自動化測試。

          關鍵詞:ADC測試;Virtual Bench;LabVIEW;碼密度直方圖法;

          *第二屆全國大學生集成電路創新創業大賽NI杯全國特等獎張曜:合肥工業大學集成電路設計與集成系統專業;孟天奕:合肥工業大學集成電路設計與集成系統專業;通訊作者:陳尚存,合肥工業大學集成電路設計與集成系統專業。

          0引言

          模數轉換器是通信系統的重要組成部分,對通信系統的發展具有非常重要的意義。近年來,通信系統對高速高精度ADC的要求越來越高。當有效位數要求超過12位時即進入了高精度ADC的范疇,傳統的測試方法已經很難適應要求。

          National Instruments(NI)公司為芯片測試提供了完善的硬件和軟件平臺,基于NI公司的產品可以極大地優化測試步驟,便捷地得到可靠的測試結果。本文中,我們提出了一種運用Virtual Bench進行ADC參數測試的自動化方法,不僅對ADC的靜態參數和動態參數進行了詳細地分析,而且實現了碼密度直方圖法和在LabVIEW編程語言中的具體運用。相比于傳統的手動測試,自動化測試實現了從激勵產生輸入到響應采集輸出,以及計算出相應參數這一整個流程的全自動化,極大地提高了測試速度和測試準確度,為優化ADC的測試提供了一種新的可能性。NIVB-8012是一款Virtual Bench多功能一體式儀器,它將具有協議分析功能的雙通道100MHz混合信號示波器、任意波形發生器、數字萬用表、可編程直流電源和數字I/O結合到單個設備中,Virtual Bench還與Python、LabVIEW等緊密結合,支持編程控制和自動化測試序列,從而可以輕松實現自動化測試。

          1ADC主要參數介紹

          體現ADC性能的參數主要分為靜態參數和動態參數。靜態參數體現了ADC電路在轉換時間內輸入信號保持不變的情況下的工作性能。動態參數體現了ADC電路在動態環境下的性能,因此其測試要求輸入信號是時間的函數。所以與此對應的分別是ADC時域下的靜態參數和頻域下的動態參數。下面將對這兩種參數進行說明。

          1.1靜態參數

          靜態參數描述的是器件的內在特性,和器件內部電路的誤差相關。靜態參數反映ADC的靜態誤差,即轉換器量化直流信號時影響精度的誤差。主要的靜態參數有:微分非線性和積分非線性。

          (1)微分非線性(DifferentialNon-Linearity,DNL):ADC實際相鄰數字碼對應的模擬量差值與理想相鄰數字碼對應的模擬量差值(即1LSB)之差。

          (2)積分非線性(IntegralNon-Linearity,INL):ADC的數字輸出碼對應的模擬值和實際的模擬輸入值之間的差值[1]。通常我們比較關注的是微分非線性和積分非線性中的最大值,通過將其與LSB比較來判斷ADC是否達到所需精度。

          1.2動態參數

          ADC動態參數反映了ADC在高速工作條件下的性能,可以通過對輸出頻譜圖進行計算分析得出。常用的動態性能參數有如下幾種:

          (1)信號噪聲比(SignaltoNoiseRatio,SNR):簡稱信噪比,指ADC輸出信號功率與量化噪聲和電路噪聲的總功率的比值。表達式如下:

          (2)總諧波失真(TotalHarmonicDistortion,THD):輸入信號與系統所有諧波的總功率比。表達式如下:

          (3)信號與噪聲失真比(SignaltoNoiseAndDistortion,SINAD):輸入信號和所有輸出信號失真功率(包括諧波成分,不包括直流)比。表達式如下:

          (4)無雜散動態范圍(Spurious-freeDynamicRange,SFDR):對系統失真進行量化,它是基本頻率與雜波信號最大值的數量差。表達式如下:SFDR=6.02×N+1.76+10×log(OSR)其中N為有效位數,OSR為過采樣率,計算公式為:OSR=fs/fB。

          (5)有效位數(EffectiveNumberofBits,ENOB):在ADC器件信噪比基礎上計算出來的,它將傳輸信號質量轉換為等效比特分辨率。表達式如下:ENOB=[SINAD(dB)-1.76dB]/6.02dB

          2自動化測試方案

          本文提出的ADC芯片自動化測試方案基于Virtual Bench系列中的VB-8012。對于Virtual Bench系列儀器,我們有兩種辦法實現其自動化測試:

          (1)基于LabVIEW的自動化:構建自定義應用程序,以編程方式控制Virtual Bench,防止重復測量中出現人為失誤,并減少測試時間。

          (2)基于Python的自動化:使用Python為Virtual Bench的各種測量編寫腳本,以驗證和測試電子設備。

          NI LabVIEW是儀器自動化行業最流行的系統設計軟件。使用圖形化開發環境,構建自定義的應用程序,通過編程控制NI Virtual Bench多功能一體化儀器,能夠減少重復測量中的人為錯誤并節省測試所需時間。本文主要是運用LabVIEW來實現測試自動化。

          實現測試的自動化,主要依靠LabVIEW提供的設備驅動程序和儀器應用程序接口(API):設備驅動程序與計算機操作系統相配合,可在計算機和Virtual Bench之間建立起通信機制;儀器API是一組易于理解的高層函數,在LabVIEW中用于控制儀器并與儀器進行通信[2]。

          使用LabVIEW進行編程,通過初始化、配置儀器、執行操作、關閉設備和錯誤處理等步驟,獲取VB-8012測得的數據,并進一步分析和處理測試數據,從而計算得出ADC的性能參數。以上測試過程,僅需編寫好的LabVIEW程序進行控制,實現了ADC的自動化測試。整個自動化測試系統的原理框圖如圖1。

        1547023667561327.jpg

          2.1靜態參數測試

          碼密度直方圖測試主要是基于數理統計理論,待測ADC對模擬輸入信號進行隨機采樣,不同數字碼輸出的出現次數為碼密度。以ADC的輸出數字碼和相應的出現次數為坐標作圖,所得的圖形稱為直方圖。在直方圖上,每個數字碼稱為碼箱,每個數字碼出現的次數為碼箱寬度,即碼密度。根據相應的碼箱寬度就可以估計出ADC的靜態參數[3]

          在選定測試信號時為了避免邊界值的影響,選擇輸入信號為略大于ADC量程的正弦信號。在輸入信號頻率選擇上必須滿足相干采樣原理,使得輸入信號的頻率與采樣頻率成互質關系從而符合統計的隨機性。在滿足上述條件后,可以近似認為ADC的采樣是隨機的,因此采樣輸出為隨機樣本,就可以利用統計學原理來計算相關的靜態參數[4]

          下面我們給出相應的計算公式:

          對于本文所需測試的12位ADC來說,要使DNL和INL的誤差精度達到0.1LSB的最低置信水平為95%,所以需要采樣的樣本數[5]為:

        4.jpg

          得到總樣本數后,本設計利用相應數字碼的階躍過渡電壓差來得到實際電壓,并利用計算公式得到失調電壓:

        5.jpg

          A為正弦波幅值,得到失調電壓后,可以得到每個數字碼的階躍過渡電壓值:

        6.jpg

          得到數字碼后進而可計算出相應的DNL的值:

        7.jpg

          其中VF為滿量程電壓。最后可以通過積分計算得到相應的INL的值:

        8.jpg

          本文中ADC轉換的數字碼在LabVIEW程序中以數組的方式存儲,基于算法的要求本設計將數組中的數字碼以十進制的形式表示出來,統計每一個碼出現的次數即為相應碼的碼箱寬度,之后可根據公式計算出所有的靜態參數。

          統計碼箱寬度是碼密度直方圖法中尤為重要的一環,具體程序如圖2。先將十進制數組表示的所有輸出碼進行排序,得到按照輸出碼從小到大排列的有序數組。然后將該數組按照碼的大小進行分離,把具有相同碼值的元素分別組成新的數組,每一個新數組的元素個數即為不同碼值的數字碼所對應的碼箱寬度。

        nEO_IMG_2.jpg

          對我們所搭建的LabVIEW程序框圖進行驗證,得到運行結果如圖3所示。

        nEO_IMG_3.jpg

          根據波形圖可以發現DNL近似均勻分布于0的兩邊,而INL則表現出MSB處最大的特性,由此可以判斷程序的輸出結果正確,并且從具體數值來看ADC達到了相應的精度。

          2.2動態參數測試

          為了得到ADC的動態參數,在輸入端施加正弦信號后,我們使用VB-8012內的邏輯分析儀對ADC輸出端的數據進行采樣,之后進行快速傅里葉變換(FFT)在頻域上得到頻譜圖。

          VB-8012獲得采樣數據并發送到上位機,在LabVIEW程序中調用VB-8012的混合信號示波器(MSO)數字通道VI,可以得到數據波形格式的采樣數據,對數據進行初步處理后調用頻譜測量VI進行快速傅里葉變換,進而可以獲得信號的功率譜。

          根據頻譜圖,按照定義計算出基波信號分量P1,諧波信號分量PD,噪聲功率PN,最大雜波分量功率PS,根據下面的公式[6]計算出相應動態參數:

        9.jpg

          相應的LabVIEW程序框圖如圖4所示。

        1547023697100227.jpg

          為了驗證該程序框圖及算法的正確性,我們使用加入了均勻白噪聲的正弦波作為激勵信號進行程序檢驗,計算得到的有效位數(ENOB)和其它參數均符合預期,輸出的功率譜波形也正確體現了信號功率和噪聲功率。對于功率譜分析需要注意的是,必須正好采集整數個周期的輸入信號,以實現相干采樣防止頻譜泄露,這反映到頻域上就表現為譜線能量非常集中。如圖5所示。

        nEO_IMG_5.jpg

          3結束語

          長期以來高速高性能的ADC主要依靠國外進口。隨著國內集成電路技術水平的不斷提升,很多ADC已經完成了國產化,如何更加有效地實現ADC的測試成為我們需要重視的問題。本文提供了一種利用NI Virtual Bench來實現ADC自動化測試的方案,并且給出了LabVIEW程序的部分框圖,可供搭建ADC自動化測試系統時進行參考。

          參考文獻:

          [1]R. Jacob Baker. CMOS Circuit Design, Layout, and Simulation, Second Edition[M]. WileyIEEE Press, 2004.

          [2]National Instruments. 《如何使用LabVIEW自動運行Virtual Bench》. https://www.ni.com/tutorial/52110/zhs/. 2014.

          [3]薛亮, 沈延釗, 張向民. 一種A/D靜態參數和動態參數的測試方法[J]. 儀器儀表學報(第A1期). 2004:771-796.

          [4]方穗明, 王占倉. 碼密度法測量模數轉換器的靜態參數[J]. 北京工業大學學報(第11期). 2006: 977-981.

          [5]Maxim Corp. Histogram testing determines DNL and INL errors, application note 2085.Sunnyvale, USA: Maxim corp, 2003.

          [6]朱江. 高精度ADC測試技術研究[J]. 電子與封裝(第9期). 2014:9-12,16.

        本文來源于中國科技期刊《電子產品世界》2019年第1期第73頁,歡迎您寫論文時引用,并注明出處



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 许昌市| 上饶县| 化州市| 邢台市| 恭城| 崇信县| 建昌县| 千阳县| 白沙| 祁门县| 阳朔县| 富民县| 延川县| 鄂尔多斯市| 历史| 长治县| 北川| 乌兰县| 罗甸县| 凤庆县| 祁阳县| 会同县| 北安市| 乐都县| 周至县| 莒南县| 松江区| 民乐县| 沂南县| 彭水| 临沭县| 贵德县| 徐汇区| 合江县| 麻阳| 土默特左旗| 德格县| 琼中| 棋牌| 永年县| 嵊泗县|