2602型數字源表測試腳本及兩個(gè)典型命令

發(fā)布時(shí)間:2012-4-25 18:46    發(fā)布者:majake2011
關(guān)鍵詞: 2602 , 數字源表
從傳統意義上講,測試工程師將進(jìn)行測試編程,并將其輸入計算機或其他控制器。這類(lèi)程序可能包括測試執行程序以及函數程序與其他子程序。執行程序通過(guò)以適當的順序來(lái)調用不同的函數或子程序,從而控制測試流程。函數和子程序通過(guò)向測試系統中的儀器發(fā)送命令等對其進(jìn)行配置并啟動(dòng)測試。它們對數據進(jìn)行處理和評估,并對待測器件做出通過(guò)/失效決策,對數據進(jìn)行存檔。通常,對于每個(gè)測試的待測器件來(lái)說(shuō),控制器都將為各儀器發(fā)送命令序列,并不斷對得到的數據進(jìn)行評估?刂破鱗1]與儀器之間的所有這些通信都可能大大降低測試速度。2600系列測試腳本處理器[2]允許將大部分控制程序下載至數據源表的易失性或非易失性?xún)却。下載至TSP的程序稱(chēng)作腳本。

腳本可能是一個(gè)執行多項測試的較長(cháng)程序。

依照良好的編程規范,可以編寫(xiě)出創(chuàng )建和調用函數的腳本,就像計算機中的控制程序一樣。一旦函數建立,就可以通過(guò)腳本以及測試腳本處理器中的其他函數中進(jìn)行調用,或者通過(guò)主機控制器中的測試執行程序進(jìn)行調用。由于參數可以傳遞至函數,這就提供了一種非常簡(jiǎn)單的方法,可以輕松的將被測件測試相關(guān)參數,如輸入信號電平或限值等,從控制器傳遞至數字源表內部的測試程序中。

吉時(shí)利公司網(wǎng)站(www.keithley.com)可以下載記錄詳盡的測試DAC腳本示例。這個(gè)腳本是全功能的,可以與圖3所示的兩個(gè)2602數字源表一起使用。為了使讀者領(lǐng)會(huì )新的腳本語(yǔ)言,我們從DAC測試腳本中選取以下代碼片段。注意,雙點(diǎn)劃線(xiàn)(--)表示注釋。

讓我們看兩個(gè)典型命令:
node[1].smua.source.func = node[1].smua.OUTPUT _ DCVOLTS
node[1].smua.source.levelv = 0

腳本語(yǔ)言運行使用別名,這可能使代碼更可讀,并改進(jìn)代碼執行速度。我們?yōu)镈AC測試示例定義了以下別名:

MASTER = node[1]
--Alias indicating control is via Node 1
SLAVE = node[2]
--Node 2 is controlled by MASTER via TSP-Link
IOUT1 = MASTER.smua
--Alias for SMU measuring current output #1
--IOUT1 is equivalent to node[1].smua
IOUT2 = MASTER.smub
--Alias for SMU measuring current output #2
--IOUT2 is equivalent to node[1].smub
DIO = MASTER.digio

--Alias for Digital I/O of 2602 #1
--DIO is equivalent to node[1].digio
VPLUS = SLAVE.smua

--Alias for SMU supplying V+ and measuring current draw
--VPLUS is equivalent to node[2].smua
VREF = SLAVE.smub

--Alias for SMU supplying reference voltage (Vref)
--VREF is equivalent to node[2].smub

在整個(gè)示例中都使用了別名。利用定義的別名,示例命令可以重寫(xiě)為:

IOUT1.source.func = IOUT1.OUTPUT_DCVOLTS
IOUT1.source.levelv = 0

通常,腳本語(yǔ)言[3]不需要明確聲明變量。根據對其的賦值,它們被聲明和定義為 “on the fly”。但表格(也就是數組)除外, 它們必須定義數據類(lèi)型。所有變量都是全局的,除非明確聲明為本地的。在代碼片段出現以下“常數”:

Vref = 10
--Use +10VDC reference voltage
IoutMax = 0.002
--Max expected current output
Nplc = 0.001
--Integration time for SMU A-to-D converters (in terms of power line cycles)
Nbits = 8
--Number of DAC control bits (digital inputs)
Ncodes = 2^Nbits

--Number of possible control codes
MaxCode = Ncodes - 1
--Decimal equivalent of full-scale code (255 for 8-bit DAC)
Lsb = Vref / MaxCode
--Nominal value of least significant bit

在開(kāi)始實(shí)際測試序列之前,一般要對儀器進(jìn)行某些初始設置。在我們的示例中,初始設置包括設置源函數及范圍、測量函數及范圍、電壓檢測模式等等。所有這4個(gè)源-測量單元[4]的配置都是類(lèi)似的。對于節點(diǎn)1的SMU A,某些設置命令如下:

MASTER.reset()
--Reset all Node 1 logical instruments to default settings
IOUT1.sense = IOUT1.SENSE_REMOTE --Use REMOTE (4-wire) voltage sensing
IOUT1.source.func = IOUT1.OUTPUT_DCVOLTS --Configure SMU to source DCV
IOUT1.source.rangev = 0 --Set voltage source ranges;
--2602 picks appropriate range based on programmed value
IOUT1.source.levelv = 0 --To measure current, source zero volts on lowest range
IOUT1.source.limiti = 1.2 * IoutMax --Set current compliance limit (20% over max)
IOUT1.measure.nplc = Nplc --Set integration times for all measurements
IOUT1.measure.autozero = IOUT1.AUTOZERO_AUTO --Autozero for max accuracy;
IOUT1.measure.rangei = IoutMax --Set up current measurement range; Measurement
--range for source function fixed at source range val
IOUT1.measure.filter.type = IOUT1.FILTER_REPEAT_AVG --Use REPEAT filter
IOUT1.measure.filter.count = 5 --Reading will be average of 5 consecutive measurements
IOUT1.measure.filter.enable = IOUT1.FILTER_ON --Enable Node 1 SMU A digital filter
--Set measurement parameters the 2602s will display (if display is enabled)
--Displays can be disabled to improve test speed
MASTER.display.screen = MASTER.display.SMUA_SMUB --Digital port isn’t affected by reset so user must set desired initial state
DIO.writeport(0)
--Set all digital control bits to zero
DIO.writeprotect(16128) --Write protect bits 9 through 14, which are reserved for
--component handler control in this example.

在初始設置完成后,將進(jìn)行DAC測試。這里只給出在IOUT1端的INL與DNL測試。對于其他測試,請參見(jiàn)完整的測試腳本。注意:數字源表儀器始終“假定”其通過(guò)內部源測試電流。在這種情況下,正電流從端點(diǎn)流出,負電流從端點(diǎn)流入。根據這種規定,源表將以純電流表模式運行,如節點(diǎn)1的SMU A和SMU B,其測量到的極性與使用典型電流表時(shí)的極性是相反的。從電路流入數字源表[5]儀器的正向電流,將作為負電流測量,反之亦然。

IOUT1.source.output = IOUT1.OUTPUT_ON --Turn ON SMU outputs
iout1 = {} --Declare table to hold measurements at output IOUT1; table index begins with 1

for j = 0, MaxCode do --j is the code applied to the digital inputs
DIO.writeport(j) --Apply digital inputs
delay(0.001) --Allow 1ms settling time
iout1[j+1] = -IOUT1.measure.i() --Minus sign corrects for polarity of measurements
end –for

IOUT1.source.output = IOUT1.OUTPUT_OFF --Turn OFF outputs of all SMUs

一旦測量完成,節點(diǎn)1測試腳本處理器將執行所有計算,并檢測通過(guò)/失效狀態(tài)數據。腳本語(yǔ)言擁有一個(gè)廣泛的公式庫,它允許TSP執行復雜的數據計算,而且不需要向主機控制器傳送數據進(jìn)行處理。這個(gè)完整的示例程序說(shuō)明2602型數字源表如何執行線(xiàn)性回歸計算。

--Compute maximum integral nonlinearity(INL)
--Check for monotonicity; Compute maximum differential nonlinearity(DNL)
--Slope_bf and intercept_bf are the slope and intercept of the best-fit straight line
inlmax_iout1 = 0
dnlmax_iout1 = 0
mono_iout1 = “Monotonic”
for j = 0, MaxCode do
inl_iout1 = math.abs(iout1[j+1]-(slope_bf * j + intercept_bf)) --Calcs for IOUT1
if inl_iout1 > inlmax_iout1 then
inlmax_iout1 = inl_iout1
end --if
if j > 0 then
--Test for monotonicity
diff_iout1 = iout1[j] – iout1[j-1]
if diff_iout1 < 0 then
mono_iout1 = “NON-Monotonic”
end --if
--Compute dnl and test for max.
dnl_iout1 = math.abs(diff_iout1 – Lsb)
if dnl_iout1 > dnlmax_iout1 then
dnlmax_iout1 = dnl_iout1
end –if
end --if
end --for
inl_iout1_lsb = inlmax_iout1 / Lsb --Express INL and DNL in terms of nominal LSB
dnl_iout1_lsb = dnlmax_iout1 / Lsb

一旦計算出各種DAC參數,TSP將檢測數值并確定器件的通過(guò)/失效狀態(tài)。然后,它通過(guò)向節點(diǎn)1 DIO端口寫(xiě)入數字位模式,向器件機械手發(fā)送正確的分揀命令。

if PartStatus =”GOOD” then
DIO.writeport(GoodBitPattern) --Send “good part” bit pattern to component handler
else
DIO.writeport(BadBitPattern) --Send “bad part” bit pattern to component handler end –if

由于所有測試數據都要經(jīng)過(guò)TSP的處理和評估,因此不需要向主機控制器發(fā)送所有數據。不過(guò),當需要SPC或者滿(mǎn)足其他數據記錄或保持記錄要求時(shí),這很容易完成。print函數向2602型數字源表輸出隊列寫(xiě)入指定參數,主機控制器可以上載這些參數。如果需要,可以在儀器前部面板顯示器上可以顯示數據和/或測試結果。此外,還可以使用標準的“C”格式化字符串,對數據進(jìn)行格式化。

--Send the monotonicity results and max INL and DNL values measured at IOUT1
print(string.format(“%s, %1.2f, %1.2f”, mono_iout1, dnl_iout1_lsb, inl_iout1_lsb))
--Display INL & DNL on front panel displays
MASTER.display.clear()
MASTER.display.setcursor(1,1,0)
MASTER.display.settext(string.format(“INL= %1.2f LSBs”, inl_iout1_lsb))
MASTER.display.setcursor(2,1,0)
MASTER.display.settext(string.format(“DNL= %1.2f LSBs, dnl_iout1_lsb))

想與吉時(shí)利測試測量專(zhuān)家互動(dòng)?想有更多學(xué)習資源?可關(guān)注吉時(shí)利官方網(wǎng)站http://www.keithley.com.cn/



[1] 2510-AT型自動(dòng)溫度控制(TEC)源表http://www.keithley.com.cn/produ ... mpcontr/?mn=2510-AT

[2] 2600系列測試腳本處理器http://www.keithley.com.cn/produ ... currentvoltage/2602

[3] 腳本語(yǔ)言 http://www.keithley.com.cn/news/prod090827

[4]
半導體源測量單元 (SMUs)
http://www.keithley.com.cn/produ ... /sourcemeasureunits

[5] 數字源表 http://www.keithley.com.cn/produ ... ucts/currentvoltage
本文地址:http://selenalain.com/thread-90823-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页