伍江雄,溫顯超,魏亞峰,陳 超,張 超,俞 宙,王健安
(1.重慶吉芯科技有限公司,重慶 400060;2.中國電子科技集團(tuán)公司第二十四研究所,重慶 400060)
模擬轉(zhuǎn)換器的測試作為當(dāng)前集成電路測試領(lǐng)域一個重要分支,其測試需求隨著集成電路迅猛發(fā)展達(dá)到了新的高度。SAR 結(jié)構(gòu)模數(shù)轉(zhuǎn)換器分辨率可達(dá)24 位;Σ-Δ 結(jié)構(gòu)模數(shù)轉(zhuǎn)換器分辨率可達(dá)32 位[1]。使用傳統(tǒng)方法實(shí)現(xiàn)如此超高精度模數(shù)轉(zhuǎn)換器的測試不僅需要連接高精度信號源儀器以及精密測試儀器,測試需要采樣的數(shù)據(jù)量也非常之大,使得測試成本昂貴,測試效率低下。降低傳統(tǒng)模數(shù)轉(zhuǎn)換器測試儀器成本、提高測試效率勢在必行[2]。
傳統(tǒng)模數(shù)轉(zhuǎn)換器分離儀器測試平臺包括“高精度信號源儀器+被測模擬轉(zhuǎn)換器”和“被測模擬轉(zhuǎn)換器+精密測試儀器”兩種結(jié)構(gòu),前者的結(jié)構(gòu)方式是采用高精度信號源儀器輸出連續(xù)的模擬信號,模擬轉(zhuǎn)換器采樣后的數(shù)據(jù)傳回PC 機(jī)直接運(yùn)算,可達(dá)到模擬轉(zhuǎn)換器最真實(shí)的線性度指標(biāo)和信噪比等指標(biāo)[3]。
傳統(tǒng)的分離式測試平臺所使用的高精度儀器信號源或精密測試儀器往往比較昂貴,鑒于此設(shè)計一種低成本的高精度模數(shù)轉(zhuǎn)換器測試系統(tǒng),如圖1所示為其框架結(jié)構(gòu)圖。它由高精度ADC 板卡、FPGA數(shù)據(jù)采集板卡、高精度數(shù)模信號源和數(shù)據(jù)采集分析軟件組成。其中高精度ADC 板卡為被測對象。
FPGA 數(shù)據(jù)采集系統(tǒng)的整個工作流程為:FPGA數(shù)據(jù)采集板卡接收到上位機(jī)的控制指令,進(jìn)行模數(shù)轉(zhuǎn)換器數(shù)據(jù)采集;采集到的數(shù)據(jù)暫存在DDR3 中的相應(yīng)的數(shù)據(jù)量之后;FPGA 的控制時序從DDR3 中讀取數(shù)據(jù)并通過USB2.0 接口傳輸?shù)缴衔粰C(jī);數(shù)據(jù)采集分析軟件對數(shù)據(jù)進(jìn)行計算分析,并將計算的結(jié)果通過圖表的形式顯示在軟件上。
如圖2 所示為FPGA 數(shù)據(jù)采集板卡構(gòu)架,包含F(xiàn)PGA 邏輯處理芯片、USB2.0 數(shù)據(jù)傳輸接口、DDR3數(shù)據(jù)存儲顆粒、MCU 命令控制芯片和IO 接口。
圖2 FPGA 數(shù)據(jù)采集板卡構(gòu)架
數(shù)據(jù)采集板所能支持的接口速率包括SDR 接口最高速度400Mb/s 和DDR 接口最高速度800Mb/s;USB2.0 接口的數(shù)據(jù)傳輸速度最高可達(dá)480 Mb/s;DDR3 的數(shù)據(jù)存儲容量為2Gb;MCU 通過串口與上位機(jī)通信,進(jìn)行簡單的繼電器和低速IO 控制;IO 接口用于連接高精度數(shù)模信號源板卡和被測模數(shù)轉(zhuǎn)換器板卡。FPGA 與DDR3 之間的布線完全遵照Xilinx 的DDR3 設(shè)計規(guī)范,嚴(yán)格保證數(shù)據(jù)線、地址線等長和阻抗控制[4]。FPGA 與USB 芯片和MCU 之間的走線控制50 Ω 阻抗,USB 芯片到USB 接口之間的數(shù)據(jù)走線控制90Ω 差分阻抗。PCB 上端的對外接口與FPGA 之間使用等長差分對進(jìn)行布線,差分阻抗控制在100Ω,可支持CMOS 電平、LVDS 電平的器件數(shù)據(jù)采集。數(shù)據(jù)采集板卡的各個部分由低抖動的線性LDO 供電,可保證板卡正常工作。
相比于邏輯分析儀,F(xiàn)PGA 數(shù)據(jù)采集板卡具備體積小、可編程性好、成本低的特點(diǎn),可對各類高精度低速模數(shù)轉(zhuǎn)換器進(jìn)行編程控制,具備一定的通用性。
如圖3 所示為高精度數(shù)模信號源構(gòu)架,它包含2 個20 位的高精度DAC(數(shù)字模擬轉(zhuǎn)換器)、輸出端運(yùn)算放大器、高精度基準(zhǔn)源和SPI 控制接口。其中20 位的高精度DAC 的噪聲譜密度為輸出電壓噪聲典型值為1.1μVP-P,性能滿足線性度誤差的測試要求。運(yùn)算放大器的工作帶寬為10MHz,低噪聲高精度基準(zhǔn)源的輸出噪聲可達(dá)1.0 μVP-P,兩者配合高精度DAC 使用,可發(fā)揮最優(yōu)性能。IO 接口用于連接FPGA 數(shù)據(jù)采集板卡,接受控制指令以產(chǎn)生正弦波、方波或斜坡波[5]。
圖3 高精度數(shù)模信號源構(gòu)架
高精度DAC 的理想傳遞函數(shù)為:
其中,VREFN是DAC 輸入引腳上的負(fù)基準(zhǔn)電壓;VREFP是DAC 輸入引腳上的正基準(zhǔn)電壓;D 為DAC 的20位代碼。對于不同的高精度ADC(模擬數(shù)字轉(zhuǎn)換器),可根據(jù)ADC 模擬輸入要求的不同進(jìn)行編程,產(chǎn)生相應(yīng)的波形。波形可覆蓋到真差分、偽差分、單端雙極性和單端單極性輸出方式。
如表1 所示為AP2712 和自研的高精度信號源板卡的對比測試結(jié)果。兩個信號源分別對某24 位ADC 進(jìn)行批量性測試,來判斷自研信號源的測試能力。表1 中只列出了5 只電路的測試結(jié)果。可見自研的高精度數(shù)模信號源與音頻信號源AP2712 測試性能相當(dāng),而自研高精度信號源具備體積小、成本低、可靈活編程的特點(diǎn),特別是在進(jìn)行線性度測試時,需要配合ADC 的時序進(jìn)行編程,而高精度模擬信號源儀器不具備這一特點(diǎn)。
表1 信號源對比測試結(jié)果
如圖4 所示為數(shù)據(jù)采集分析軟件架構(gòu),包含數(shù)據(jù)采集和命令控制、數(shù)據(jù)計算、波形顯示三個部分。數(shù)據(jù)采集分析軟件以CyUSB3.sys 驅(qū)動[6]和RS232 驅(qū)動為橋梁,與FPGA 數(shù)據(jù)采集板卡之間進(jìn)行數(shù)據(jù)傳輸和命令控制。軟件基于VB.NET 平臺進(jìn)行開發(fā),對熟悉VB6.0 平臺的開發(fā)人員十分友好。
圖4 數(shù)據(jù)采集分析軟件架構(gòu)
數(shù)據(jù)采集分析軟件的命令控制指令通過RS232串口發(fā)送給數(shù)據(jù)采集板卡,相關(guān)的函數(shù)聲明為:
以上函數(shù)的功能為打開串口、處理接收到的數(shù)據(jù)、處理要發(fā)送的數(shù)據(jù)、選擇ADC 通道、讀寫SPI 寄存器、產(chǎn)生正弦波和斜坡波。
數(shù)據(jù)采集分析軟件的數(shù)據(jù)采集過程通過USB2.0實(shí)現(xiàn)[7],相關(guān)的函數(shù)聲明為:
以上函數(shù)的功能為刷新USB 設(shè)備、發(fā)送采集命令到USB 設(shè)備、采集數(shù)據(jù)。
數(shù)據(jù)采集分析軟件的計算分析函數(shù)聲明為:
以上函數(shù)的功能為計算動態(tài)性能和計算線性度性能。
數(shù)據(jù)采集分析軟件的波形顯示采用Chart 控件,可快捷地將計算結(jié)果顯示在界面上。相關(guān)的函數(shù)聲明為:
上述兩個函數(shù)分別用來初始化Chart 控件和繪制計算結(jié)果。
不論是高速低分辨率ADC 還是低速高分辨率ADC,在性能測試過程中都需要評估線性度性能,特別是測試高分辨率ADC 時,線性度指標(biāo)尤為重要。
線性度指標(biāo)包含微分非線性DNL(Differential Nonlinearities)和積分非線性INL(Integral Nonlinearities)[8]。在使用傳統(tǒng)的正弦波柱狀圖方法測試線性度指標(biāo)時,需要采集ADC 的全碼。在測試高速ADC時,采集數(shù)據(jù)的時間可以忽略,但在進(jìn)行低速高精度ADC 測試時,采集數(shù)據(jù)的時間會大大增加整個測試過程的時間。例如,某8 通道24 位高精度ADC 的采樣率為16kS/s,采集32×224個碼值,理論上的采集時間為32768 s,極大增加了測試時間,因此傳統(tǒng)的全碼測試方法并不適用于低速高精度ADC,故此針對低速高精度的線性度測試給出一種測試新方法。
由于采用正弦波柱狀圖方法采集數(shù)據(jù)需要采集比全碼本身更多的數(shù)據(jù)量才能保證完全采集到全碼,而使用斜坡波結(jié)合ADC 的采樣率則可以減少采集的數(shù)據(jù)量。在此給出的線性度誤差計算方法正是使用斜坡波來進(jìn)行線性度的估算。
假設(shè)某低速高精度ADC 的位數(shù)為n,則需要采集的碼值臺階數(shù)為n,每個臺階對應(yīng)的碼值采集次數(shù)為m,每個碼值采集的時間為t,則需要采集的總碼值數(shù)所需要的時間為:
其中n 和m 的值往往是越大越好,但是考慮到采集時間的影響,需要在實(shí)際的測試過程中確定一個適中的值。采集得到的每個臺階碼值平均值為:
其中,k 為臺階數(shù),有0≤k≤n 。再對計算得到的碼值進(jìn)行最小二乘擬合,得到擬合曲線為:
線性度的計算公式則為:
其中ResLSB 為歸一化的最小碼值,其計算公式為:
找到INL(k)中的最大、最小值,即為器件所對應(yīng)的線性度誤差。該計算方法與傳統(tǒng)的全碼計算方法相比,增大了等效最小碼值,在準(zhǔn)確反映器件實(shí)際性能的情況下,節(jié)約了測試時間。
用FPGA 數(shù)據(jù)采集板卡驅(qū)動高精度數(shù)模信號源板卡,使其連續(xù)等間隔輸出65536 個數(shù)據(jù)點(diǎn)。數(shù)據(jù)點(diǎn)越多,測試越精確,多次實(shí)驗(yàn)證明大于65536 個數(shù)據(jù)點(diǎn)后,線性度指標(biāo)變化甚微,故此選取此數(shù)字,以在測試時間與數(shù)據(jù)量之間取得平衡。選擇高精度數(shù)模信號源板卡輸出65536 個數(shù)據(jù)點(diǎn),電壓輸出范圍為-2.49~2.49V,囊括被測模數(shù)轉(zhuǎn)換器的99.6%的輸入電壓區(qū)間范圍。
用FPGA 數(shù)據(jù)采集板卡驅(qū)動被測ADC 板卡,采集65536 個數(shù)據(jù)點(diǎn),得到65536 個數(shù)字碼;對這些數(shù)字碼進(jìn)行分并處理,如圖5 所示,得到N 個Code。經(jīng)過多次實(shí)驗(yàn),證明一個Code 數(shù)據(jù)點(diǎn)至少為8,線性度指標(biāo)穩(wěn)定,因此本測試選擇8192 個Code。對這8192 個Code 的模擬電壓均值進(jìn)行線性擬合,得到擬合曲線F(k)=ak+b,由此計算得到8192 個Code的模擬電壓均值擬合值F(0)、F(1)、…、F(n-1);對8192個Code 的模擬電壓均值與擬合值相減,得到線性度INL 曲線,即INL(0,1,...,8191)=AvgCode(0,1,...,8191)-F(0,1,...,8191),取得INL(k)中最大值INLmax、最小值INLmin,即為線性度誤差。
圖5 分并處理示意圖
如圖6 所示為24 位ADC 的通道1 和通道7 的積分非線性測試結(jié)果。從圖中可以看出INL 指標(biāo)在-10×10-6~10×10-6之間。
圖6 通道1 和通道7 的積分非線性
如圖7 所示為24 位ADC 的通道1 和通道7 的動態(tài)性能[9]測試結(jié)果。SNR、SINAD、THD、SFDR 四項(xiàng)參數(shù)的結(jié)果對比情況如表2 所示??梢姼鲄?shù)指標(biāo)均處于設(shè)計預(yù)期范圍內(nèi)。
表2 通道1 和通道7 部分參數(shù)對比 單位:(dB)
圖7 通道1 和通道7 的動態(tài)性能
在測試過程中,ADC 的INL 測試時間小于5 s,而使用“高精度信號源儀器+被測模擬轉(zhuǎn)換器”的結(jié)構(gòu)測試時間約為該線性度測試方法的8192 倍,可見本測試方法節(jié)省時間的程度。另外使用本方法測試模數(shù)轉(zhuǎn)換器8 個通道的動態(tài)性能和線性度的總測試時間大約在60s 左右,測試時間也有大幅縮短。
所提出的基于FPGA 的高精度模數(shù)轉(zhuǎn)換器測試系統(tǒng),結(jié)合有效的測試方法,能夠準(zhǔn)確、高效的實(shí)現(xiàn)高精度模數(shù)轉(zhuǎn)換器線性度測試指標(biāo)。本研究對于24位以上的高精度低速SAR 結(jié)構(gòu)、Σ-Δ 結(jié)構(gòu)模數(shù)轉(zhuǎn)換器的測試也具有一定的參考價值。