?

基于V93000的模數轉換器ADS8364的測試方法研究*

2021-10-09 08:32
計算機與數字工程 2021年4期
關鍵詞:管腳自動測試寄存器

王 慶

(武漢數字工程研究所 武漢 430205)

1 引言

ADS8364是德州儀器生產的一款250kSPS、16位、6通道同時采樣模擬到數字轉換器(ADC)[1]。ADS8364應用廣泛[2~3],它可以用在電機控制、三相電源控制以及多軸定位系統等領域[4~5]。本文基于V93000自動測試系統,進行ADS8364測試程序的設計和開發。

2 ADS8364的內部結構

ADS8364的內部結構如圖1所示,它主要由差分輸入、ADC和FIFO組成。

圖1 ADS8364的內部結構

ADS8364的輸入為6對差分通道,用于高速同步信號采集,差分通道的使用使ADS8364在50KHz時有出色的80dB共模抑制性能,能讓ADS8364在高噪聲環境中使用。每對差分通道都連接到內部的一個模擬到數字轉換器(ADC),內部ADC是16位的,是獨立的,能夠同時進行采樣和轉換。共有6個,是獨立的16連接至一個獨立的16位250kSPS的SAR型ADC。

ADS8364的內部ADC為16位SAR(Successive Approximation register,逐次逼近寄存器)型電容式ADC。每個ADC主要由SAR、電容式數模轉換器(CDAC)和高速比較器組成。SAR型ADC的工作流程是,模擬輸入電壓(VIN)經采樣保持后,逐次與D/A轉換器輸出對應電壓進行比較[5]。首先逐次比較寄存器最高位置1,指示D/A轉換器輸出對應電壓到比較器反相端與Vi比較,如果Vi大于該電壓,則比較器輸出為1,逐次比較寄存器采樣到1保存最高位為1,反之為0。依次比較直到最后一位,屆時所存數據并輸出。

ADS8364提供了靈活的高速并行接口,具有直接地址模式、周期和FIFO模式。每個通道的輸出數據均以16位字的形式提供。ADC的模數轉換后的值保存在六個FIFO寄存器中。對于每次讀取操作,ADS8364輸出16位信息(16個數據或3通道地址,數據有效以及一些同步信息)。地址/模式信號(A0,A1和A2)選擇如何從ADS8364讀取數據。這些地址/模式信號可以定義單個通道的選擇,循環通過所有通道的循環模式或對由保持信號的順序確定的數據進行排序的FIFO模式。FIFO模式將允許單個通道對使用六個寄存器,因此,在從器件中讀取CH X0的三個位置和CH X1的三個位置之前,可以對其進行更新。

3 測試內容

ADS8364的測試內容與其他集成電路芯片的測試內容一致,主要可以分為連通性測試、功能測試和參數測試[6~7]。

1)連通性測試

在連通性測試中,我們主要是檢測管腳是否有開路(引腳未與內部資源連接)、對地短路、對電源短路等故障[8]。ADS8364的輸入管腳的等效電路圖如下圖所示,在AVDD和BVDD等于0V時,管腳與測試系統的通道正常連接時,驅動小電流可以測得二極管的壓降。如果管腳開路或短路,測量結果為0或極值(測試系統的電壓鉗位設置值)。

圖2 ADS8364輸入管腳的等效電路

2)功能測試

在功能測試時,我們主要是檢測芯片是否能夠正常工作,芯片基本的性能能夠得到保障。在測試時主要依據芯片的數據測試所描述的功能進行遍歷測試。在測試過程中依據芯片功能描述和波形圖,用自動測試系統還原芯片工作時各輸入管腳的工作狀態,并驗證各輸出管腳的數據。對功能比較復雜的芯片,主要是逐次逐個的對各項功能進行遍歷測試[9]。

對ADS8364來說,主要驗證ADC轉換的正確性和各IO功能的正確性。ADS8364提供了靈活的高速并行接口,具有直接地址模式,周期和FIFO模式。每個通道的輸出數據可以16位字或8位的形式提供。

在對ADC設置時,只有正確的時序控制,才能獲得正確的轉換結果。ADS8364內部的ADC為16位SAR型電容式模數轉換器,這種ADC主要由逐次逼近型寄存器、電容式數模轉換器(CDAC)和高速比較器組成,并采用二進制搜索算法進行工作[10]。ADS8364是十六位ADC,其輸出原碼范圍應為(h0000至hFFFF)。在工作時,逐次逼近型寄存器首先設置為中間刻度,即h8000,是CDAC的輸出VCDAC被設置為VREF/2,芯片的輸入模擬電壓VIN與VCDAC將進入比較器進行比較,VIN大于VCDAC時,比較器輸出高電平,VIN小于VCDAC時,比較器輸出低電平。比較的結果存入芯片的輸出寄存器的最高位(MSB)。根據比較結果,隨后的SAR將被設置為hC000或4000,相應地CADC的輸出值被設置為3*VREF/4或1*VREF/4,VIN再次與VCDAC進行比較,比較結果存入次高位。依次內推,完成16次的比較過程。最后,芯片從輸出寄存器中讀取轉換結果,在輸出管腳中顯示出來。從原理分析容易看出,該種ADC是一位一位比較,則每個時鐘周期只能比較一次,N位則需比較N次。因此,對16位的ADS8364來說,其轉換時間至少為16個周期。另外,每次轉換結束后CDAC的電容的充電時間至少為800ns。保證了這兩個時間參數,才能保證采樣結果的正確性。ADS8364工作時序如圖3所示。

圖3 ADS8364的工作時序

3)參數測試

參數測試用于驗證芯片指標是否符合器件手冊的要求。在參數測試之前,往往要將芯片設置在指定的工作狀態。只有芯片的功能測試正確了,參數測試才有意義[11]。ADS8364的參數測試主要分為ADC參數測試、數字IO參數測試和電源電流測試。

ADC的參數主要有靜態參數和動態參數之分。靜態參數一般在低頻下進行測試,而動態參數在相對高頻的情況下進行測試。ADC的靜態參數一般包括INL(Integral Nonlinearity,積分非線性)、DNL(Differential Nonlinearity,差分非線性)、滿量程誤差、增益誤差等[12~13],一般通過輸入低頻斜波進行測試。ADC的動態參數與ADC的輸入信號有關,并且它們的影響在更高的頻率下也很重要。其參數主要有THD(Total Harmonic Distortion,總諧波失真)、SNR(Signal Noise Ratio,信噪比)等。一般通過輸入高頻正弦波進行測試。

微分非線性是指實際傳遞階躍電壓與理想階躍電壓之間的差值[14]。如圖4所示,對理想的ADC來說,ADC的每個輸出碼所能轉換的電壓范圍寬度應該都是一致的,理想寬度均為Vwideal。但實際上,每個碼值的寬度Vwn與理想值有變差。若碼值n對應的寬度為Vwn,則該碼值對應的DNL為Vwn和Vwideal之差。積分非線性為所有DNL的總和[15]。

圖4 ADC的轉換曲線

本文采用碼密度直方圖法來測試ADC的非線性參數。由自動測試系統提供低頻周期斜波信號,經ADC采樣后輸出一系列碼值,每個碼值出現的次數稱之為碼密度。對理想情況下,每個碼值出現的次數應該是相同的,但由于微分非線性誤差的存在,每個碼值出現的次數不同。以碼值為橫坐標,碼密度為縱坐標,繪制的圖形為碼密度直方圖,如圖5。根據碼密度直方圖,通過計算可以估計出ADC靜態參數的值。

圖5 碼密度直方圖

4 程序設計

本文中ADS8364的測試在V93000自動測試系統上進行測試。硬件設計方案如圖6所示。V93000的MCB模擬板卡可以輸出4路差分或單端AWG信號[16]。四路差分通道通過開關多路復用,連接到ADS8364的差分輸入管腳。ADS8364的數字輸入/輸出管腳連接到V93000的數字通道。ADS8364的電源管腳連接到自動測試系統的DPS電源通道。

圖6 ADS8364測試硬件設計方案

測試程序中,連通性測試、功能測試、IO參數等測試項以V93000測試系統自帶模板為基礎進行測試。ADC參數測試采用基于C++語言的自定義測試方法API(Application Programming Interface,應用程序編程接口)進行測試。以DNL、INL測試為例,在V93000自動測試系統上測試ADC的流程如下圖所示。在V93000中的TestMethod窗口中進行編程,對ADC進行碼密度直方圖法測試。

圖7 DNL、INL測試流程圖

1)AWG輸出斜波。將ADC的模擬差分輸入管腳連接至MCB板卡的AWG差分輸出通道。通過設置AWG的LF(低頻)通道,使AWG輸出低頻斜波。

在TestMethod中,其代碼如下,將ADC的模擬輸入管腳“Ap”連接到MCB的輸出通道,在程序中只需連接正向輸入通道,負向輸入通道自動連接。

Routing.pin(“Ap”).connect(TM::DIFFERNTIAL);

AWG(“Ap”).enable();

2)數字通道采集ADC轉換的碼值。在V93000的時序文件(timing)中,設置數字輸出D15~D0為采集波形模式。在測試向量文件(Pattern)中,設置圖形變量(Vector Variable),將測試過程中對D15~D0采集的波形存儲到圖形變量中。在Test-Method中,執行數據采集的代碼如下。

DIGITAL_CAPTURE_TEST(1.0);

3)將各碼值通過數據處理形成直方圖。

第一步,讀取圖形變量文件,存儲為數組。在TestMethod中設置代碼如下,讀取波形變量文件capture_variable,將向量變量數據復制到數組中,以便以后進行測試方法處理。

第二步,以ADC輸出的數字碼及其發生次數為坐標繪制圖形,得到直方圖histogram。對16位ADC來說,需要設置216=65536個碼箱,最小的碼箱<1,即為0,最大的碼箱≥65535,碼箱的數量為65536個。在TestMethod中設置代碼如下。

DSP_HISTOGRAM(adc_wave,histogram,1,65535,65536);

4)由直方圖計算DNL和INL。根據直方圖先擬合出ADC的輸出曲線,再根據輸出曲線和每個數字碼對應的碼密度計算出DNL和INL。

5 測試結果

在V93000測試系統的測試流程文件testflow中調用已編程好的TestMethod文件,并配合正確的時序控制和輸入輸出電平設置,可以得到ADS8364測量結果,測量結果顯示該芯片滿足技術指標要求。

6 結語

本文針對模數轉換芯片ADS8364,分析了該ADC芯片的內部結構組成,并基于V93000測試系統進行了編程測試,測試結果良好。對其他ADC芯片的測試開發有借鑒意義。

猜你喜歡
管腳自動測試寄存器
基于CANoe的商用車SAE J1939網絡自動測試方法
飛思卡爾單片機脈寬調制模塊用法研究
移位寄存器及算術運算應用
略談如何利用三極管管腳間電阻值判斷其型號及管腳
數字電路環境下汽車控制電路信號設計
基于Labview與Keithley設備的自動測試系統
機載電子設備通用自動測試系統研究與實現
通用貼片式器件及應用電路(五)電壓變換器MAX860及MAX881R
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合