輸入失調電壓(VIO)是電壓比較器(以下簡稱比較器)一個重要的電性能參數(shù),GB/T 6798-1996中,將其定義為“使輸出電壓為規(guī)定值時,兩輸入端間所加的直流補償電壓”。傳統(tǒng)測試設備大都采用“被測器件(DUT,Device Under Test)-輔助運放”的測試模式,測試原理圖見圖1。 在輔助運放A的作用下,整個系統(tǒng)構成穩(wěn)定的閉環(huán)網(wǎng)絡,從而使VD=0,則 VC = -VS1·R1/R2 這樣,調節(jié)外加電源VS1即可控制DUT的輸出。當VC等于規(guī)定電壓時, VIO = VA - VB 顯然 所以 通過測量輔助運放A的輸出電壓VE,便可換算出VIO。 在上述的閉環(huán)回路中,DUT工作狀態(tài)與普通運算放大器無異,這種測試的好處是可以通過外加電源VS1,方便地將DUT的輸出鉗位在規(guī)定值,同時由于VIO多為毫伏級,而將VIO放大至伏特級進行測試,對測試設備的要求不高,但受干擾信號影響較大。 美國Credence公司研制的IC測試設備ASL-1000,配置為DVI_300二塊,ACS、TMU、DOAL、MUX各一塊,而比較器與運算放大器在輸出特性上的差異以及運放測試回路DOAL(Dual Op Amp Loop)的電路特點,決定了比較器在ASL-1000上的測試,不能象測試運放那樣,利用DOAL形成一個閉環(huán)網(wǎng)絡,來實現(xiàn)DUT的輸出嵌位。所以,用兩塊Force和Measure源dvi_9、dvi_11,輔之以doal_8的部分資源,構成了VIO的開環(huán)測試電路,圖2為LM311(單比較器)VIO的測試原理圖。 與閉環(huán)網(wǎng)絡不同,這樣的開環(huán)測試電路無法將DUT的輸出電壓Vout鉗位于任意的規(guī)定值,因此采取了逐次逼近測試法,dvi_9_channel_0和dvi_11_channel_0被用做給DUT提供工作電源,前者同時給上拉電阻R1供電,顯然如果不提供R1,DUT的Vout不可能逼近規(guī)定的1.4V。dvi_11_channel_1對DUT同向端施加電壓,初始值為12mV,由于反向端接地,正常情況下,在DUT輸出端測量Vout的dvi_9_channel_1測值應大于1.4V,然后按一定的步進減小同向端電壓,一旦Vout從大于1.4V躍變到小于或等于1.4V,即Vout無限接近于1.4V時,便可認定此時施加在同向端的電壓為目標測值VIO。極端情況下,Vout的初始測值就不大于1.4V或始終大于1.4V,則可置VIO=999.9999mV,判定該芯片“損壞”。 以下是在ASL-1000上自行開發(fā)的LM311的VIO測試程序Vio_2.cpp。 #include "asl.h" #pragma warning (disable:4244) #include "Vio_2.h" void Vio_2_user_init(test_function&func) { Vio_2_params *ours; ours=(Vio_2_params*)func.params; } void Vio_2(test_function&func) { Vio_2_params *ours; ours=(Vio_2_params*)func.params; float measured_V,Vadj,V,Vio; int i; board_hardware_init(); oal_8->open_relay(HV_BUF_CONN); oal_8->open_relay(LOAD_REF_GND); oal_8->close_relay(CONNECT_LOADS); oal_8->close_relay(LOAD_REF_EXT); oal_8->close_relay(LOAD_600); dvi_9->set_current(DVI_CHANNEL_0,0.2); dvi_11->set_current(DVI_CHANNEL_0,0.2); dvi_9->set_voltage(DVI_CHANNEL_0,15); //VCC dvi_11->set_voltage(DVI_CHANNEL_0, -15); //GND delay(1); oal_8->close_relay(DUT_OUT_OUT); dvi_9->set_voltage_range(DVI_CHANNEL_1,POSITIVE_V_OUT,VOLT_20_RANGE, FAST_VOLTAGE_MODE); //set measure range dvi_9->set_current(DVI_CHANNEL_1,1.0e-6); dvi_9->set_meas_mode(DVI_CHANNEL_1,DVI_MEASURE_VOLTAGE); func.dlog->power=POWER_MILLI; Vadj=0.0; V=0.0120; for(i=0; i<40; i++) { Vadj=Vadj/3-3.0e-4; dvi_11->set_voltage(DVI_CHANNEL_1,V); dvi_11->set_current(DVI_CHANNEL_1,1.0e-3); delay(1); measured_V=dvi_9->measure(); if (measured_V>1.4000) V=V+Vadj; else i=40; } if ((Vio==0.0120)||(measured_V>1.4000)) Vio=0.9999999; else Vio=V; do_dlog(func,0,Vio,ours->fail_bin,""); board_hardware_init(); } 上述電壓比較器VIO的開環(huán)測試,實現(xiàn)了由間接測試向直接測試的轉化,適當減小步進(測試時間延長)可提高測試的分辨率,但卻將ASL-1000配置中所有的Force和Measure資源全部用完,因而在測試雙比較器和四比較器時,將器件所有輸入和輸出端接至mux_20,通過ASL-1000的內(nèi)部繼電器矩陣切換,完成了各通道的串行測試。 |