何江科,羅友哲,齊增亮,李 洋
(陜西省電子信息產(chǎn)品監(jiān)督檢驗(yàn)院 陜西 西安 710004)
隨著半導(dǎo)體集成器件產(chǎn)量日益增長,國內(nèi)測試行業(yè)利用國產(chǎn)的測試儀器進(jìn)行半導(dǎo)體集成器件測試已成為主流,如何快速的開發(fā)出適合儀器和檢測機(jī)構(gòu)需求的測試程序已成為檢測人員必須面對的問題,本文通過分析器件AD688AQ測試需求資源,并與測試儀器ST8105A可以提供的資源進(jìn)行對比,得出合理的硬件搭配,并利用軟件API進(jìn)行儀器編程,達(dá)到了快速開發(fā)測試程序的目的[1]。
ST8105A是一款數(shù)?;旌蠝y試儀器,其包含多種類別器件測試板,硬件資源對用戶開放,可對一些通用的模擬和混合器件進(jìn)行交、直流參數(shù)的測試。它提供填表式的編程方式,也有開放式的C語言編程環(huán)境。
Visual C++是一款應(yīng)用廣泛、功能強(qiáng)大的Windows應(yīng)用程序開發(fā)工具,它集程序的代碼編輯、編譯、鏈接、調(diào)試等于一體,給編程人員能提供了完整而又方便的開發(fā)界面。選擇Visual C++,也是由于ST8105A所支持的C語言編程環(huán)境決定的[2-3]。
AD688是一款高精度電壓基準(zhǔn),其需要測試的參數(shù)包括基準(zhǔn)輸出電壓、誤差、線性調(diào)整率、負(fù)載調(diào)整率及電源電流[4]。
基準(zhǔn)輸出:AD688正常工作后由±10 V Out端輸出的電壓;誤差:其基準(zhǔn)輸出端對應(yīng)的標(biāo)準(zhǔn)輸出的誤差;
線性調(diào)整率:指AD688的VS電源變化引起的±10 V Out變化率;
負(fù)載調(diào)整率:指AD688施加負(fù)載后,負(fù)載變化引起的±10 V Out變化率;
電源電流:指AD688正常工作時Vs電源消耗的電流。
針對其所測的參數(shù)需求,外部測試電路需求可提供±13.5 V、±15 V、±18 V的電源,可以調(diào)節(jié)0~10 mA的電流負(fù)載兩路,可以提供測試電壓測試通道等。
ST8105A針對不同類型的器件提供了不同的類別板,且類別板資源對外開放,用戶可以根據(jù)自己的測試需求使用不同的資源。
針對AD688器件,使用電壓基準(zhǔn)類別板,需要的資源包括:提供正負(fù)電源的 PVI3、PVI2,提供負(fù)載的 PVI1、PVI0,他們完全滿足AD688需求的電壓和電流范圍,測試通道Out1、Out2。
由于AD688精度要求高,所以利用類別板的外接資源接口,使用外部AGILENT的34401A進(jìn)行電壓測量。
測試儀器提供的資源完全符合器件的測試需求:ST8105A的PVI為四象限電源可提供±50 V電壓和10 A電流,并同時能進(jìn)行電流和電壓的測量,ST8105A可供使用的PVI電壓電流源有4路,且都可開放給用戶,它的硬件類別板可提供外接高精度數(shù)字萬用表AGILENT34401A,滿足器件的電壓測試高精度要求。
AD688基準(zhǔn)輸出及誤差測試需求資源:正、負(fù)電源和兩路輸出測量通道。正負(fù)電源可由PVI3、PVI2提供,測量通道可以連接到類別板上的輸出測試通道,進(jìn)而通過繼電器連接到外部高精度數(shù)字萬用表上。兩路基準(zhǔn)輸出可通過繼電器切換外部萬用表分時測量。
AD688線性調(diào)整率測試需求資源:可變換的正負(fù)電源和兩路輸出測量通道。完全與基準(zhǔn)輸出測試相同。
AD688負(fù)載調(diào)整率測試需求資源:正、負(fù)電源和兩路輸出負(fù)載及兩路輸出測量通道。正負(fù)電源可由PVI3、PVI2提供,兩路輸出負(fù)載分別由PVI1、PVI0提供,測量通道可以連接到類別板上的輸出測試通道,進(jìn)而通過繼電器連接到外部高精度數(shù)字萬用表上。兩路基準(zhǔn)輸出可通過繼電器切換外部萬用表分時測量。
AD688電源測試需求資源:正、負(fù)電源及可進(jìn)行正負(fù)電源電流測試的儀表。正負(fù)電源可由PVI3、PVI2提供,同時PVI3、PVI2具有電流測試功能。
根據(jù)資源需求的搭配,搭接適配器電路來連接器件與測試儀器提供的資源。通過軟件和硬件的配合,完成器件的參數(shù)測試[5]。
硬件連接原理如圖1所示。
圖1 AD688適配器原理圖Fig.1 AD688 adaptor circuit
為了測試穩(wěn)定性,可以在正負(fù)電源+Vs和-Vs對地加0.1 uF的電容[6]。
其中 PVI0、PVI1、PVI2、PVI3、Out1、Out2、GND 等分別對應(yīng)于測試儀器ST8105A的電壓基準(zhǔn)類別板上的資源引出端。
ST8105A編程分兩部分,PGS界面和底層C語言。
PGS界面主要提供底層C語言進(jìn)行硬件資源調(diào)用的相關(guān)參數(shù),其編程相對簡單,不作過多介紹。
C語言編程,可以在Visual C++編程環(huán)境下,建立相應(yīng)的工程及工程文件(具體建立略)。軟件編程需要對外接表進(jìn)行讀寫,這部分的程序由儀器廠家提供API,可以直接調(diào)用。其他關(guān)于儀器硬件資源使用的API也已由廠家提供,用戶可以直接調(diào)用。
主要的編程內(nèi)容:
1)聲明資源的使用
PVI pvi0(PVI_CH0); //提供電流負(fù)載
PVI pvi1(PVI_CH1); //提供電流負(fù)載
PVI pvi3(PVI_CH3); //提供正電源+15
PVI pvi2(PVI_CH2); //提供負(fù)電源-15
//電源在使用前需要先進(jìn)行連接,然后才能使用。
2)參數(shù)編程[7]
基準(zhǔn)輸出測量(主要部分)
//從編程界面中獲取用戶設(shè)定的參數(shù)數(shù)據(jù)
double SampleTime=Vout->GetConditionCurSelDouble("SampleTimeS");
double delaytime=Vout->GetConditionCurSelDouble("DelayTime");
//根據(jù)硬件資源的使用情況,開關(guān)類別板上的繼電器
cbit.SetCBITOn(K3); //接通地;
cbit.SetCBITOn(K33); //接通;
cbit.SetCBITOn(K34); //接通;
cbit.SetCBITOn(K30); //接通 OUT1;
cbit.SetCBITOn(K22); //接通表;
//提供芯片的供電電源
pvi3.SetModeFVMI (PVI_VRNG_20V, 15, PVI_IRNG_100MA, 20e-3, -20e-3);
pvi3.Enable();
delay_ms(2); //需要等待時間。
pvi2.SetModeFVMI (PVI_VRNG_20V, -15, PVI_IRNG_100MA, 20e-3, -20e-3);
pvi2.Enable();
delay_ms(2);
//設(shè)定外接表的量程
g_pMMSCPI->SetDCVoltage(DC_RANG_10V);
delay_ms(delaytime);
//外接表的接通和斷開由繼電器K22控制接通到OUT通道中
//所以當(dāng)由繼電器控制測量電路搭接好直接進(jìn)行電壓讀取
g_pMMSCPI->GetMMResult(&val[0]);
delay_ms(100);
//將測試結(jié)果通過函數(shù)傳遞給顯示界面
Vout->SetTestResult(0, 0, val[0]);
//誤差計算
Err->SetTestResult(0, 0, (val[0]-10)*1000);
//在測試結(jié)束后,將系統(tǒng)資源進(jìn)行釋放
cbit.Init();
pvi3.Disable();
pvi2.Disable();
return 0;
負(fù)載調(diào)整率測試(主要部分)
負(fù)載調(diào)整率測試需要施加電流負(fù)載,需要額外使用PVI1、PVI0作為輸出負(fù)載,程序如下:
pvi0.SetModeFIMV (PVI_IRNG_100MA, Iload1*1e-3,PVI_VRNG_10V, 11, -11);
pvi0.Enable();
delay_ms(2);
delay_ms(delaytime);
g_pMMSCPI->GetMMResult(&val1[0]);
pvi0.SetModeFIMV (PVI_IRNG_100MA, Iload2*1e-3,PVI_VRNG_10V, 11, -11);
pvi0.Enable();
delay_ms(2);
delay_ms(delaytime);
g_pMMSCPI->GetMMResult(&val2[0]);
電源電流測試(主要部分)
//提供芯片電流
pvi3.SetModeFVMI (PVI_VRNG_20V, 15, PVI_IRNG_100MA, 20e-3, -20e-3); pvi3.Enable();
delay_ms(2); //需要等待時間。
pvi2.SetModeFVMI (PVI_VRNG_20V, -15, PVI_IRNG_100MA, 20e-3, -20e-3);
pvi2.Enable();
delay_ms(delaytime);
//等待電源穩(wěn)定后進(jìn)行測量
pvi2.Measure(&val1[0],SampleTime);
pvi3.Measure(&val[0],SampleTime);
//將結(jié)果在界面中進(jìn)行顯示
Icc1->SetTestResult(0, 0, fabs(val[0])*1000-0.025);
Icc2->SetTestResult(0, 0, fabs(val1[0])*1000-0.025);
注意:雙電源器件在測試電流時,定要注意需要在雙電源同時加載后,并在穩(wěn)定情況下測量,否則有可能由于測試時機(jī)不正確而導(dǎo)致測量結(jié)果失效。
其他參數(shù)程序基本類似,此處略。
實(shí)際測試結(jié)果如表1所示。
表1 AD688AQ測試結(jié)果Tab.1 AD688AQ test results
通過對器件AD688AQ測試需求資源及測試儀器ST8105A可以提供的資源進(jìn)行分析,并搭接硬件,利用軟件API進(jìn)行儀器編程,完成了器件的直流參數(shù)基準(zhǔn)輸出電壓、誤差、線性調(diào)整率、負(fù)載調(diào)整率及電源電流等的測試,并且測試結(jié)果完全符合精度要求。
使用測試儀器資源對可測試類別器件進(jìn)行編程測試,需要掌握測試儀器資源包括硬件和軟件資源,掌握編程方法,了解測試原理。合理規(guī)劃測試儀器可用資源,達(dá)到方便快捷實(shí)現(xiàn)器件測試目的。
[1]孫銑.提高測試系統(tǒng)測試精度的方法和技術(shù)[C]//2版.北京:華峰測控,2007.
[2]熊歆斌.Visual C++程序設(shè)計培訓(xùn)教程[M].北京:清華大學(xué)出版社,2002.
[3]百度百科.Microsoft Visual C++.[EB/OL].2013-07-02.http://baike.com/view/2070966.htm?fromId=100377.
[4]國家質(zhì)量技術(shù)監(jiān)督局.GB/T 17940-2000.半導(dǎo)體集成電路(第三部分)模擬集成電路[S].2000.
[5]RON Patton.軟件測試[M].2版.張小松,王鈺,曹躍,譯.北京:機(jī)械工業(yè)出版社,2006.
[6]劉建清,陳培軍,李鳳偉,等.從零開始學(xué)習(xí)模擬電子技術(shù)[M].北京:國防工業(yè)出版社,2007.
[7]Deitel H M,Deitel P J.C程序設(shè)計教程 [M].2版.薛萬鵬,譯.北京:機(jī)械工業(yè)出版社,2000.