基于虛擬儀器技術的混合集成電路測試系統的設
設計了一種基于虛擬儀器技術的混合集成電路的性能參數自動測試系統。簡要介紹了測控系統的總體設計方案和基本的硬件配置結構,詳細介紹了此系統在LabWindows/CVI開發環境下的軟件設計方法和功能實現。本系統充分利用GPIB總線技術和RS232總線技術,具有很好的可控性和通用性。
Design of the Test System for Multi-ICs Based on VI Technology
XIE Guohong, WANG Lei, WU Jiduo
(Sino German College, Tongji University, Shanghai 200092, China)
Key words: IC testing; virtual instrument; GPIB bus; test database
混合集成電路性能參數測試系統主要為檢測集成電路芯片是否符合出廠參數而設計。本測試系統可完成八種不同集成電路多項性能參數測試,包括:工作電流、工作電壓、載波抑制比、跨導、工作頻率、噪聲系數、傳輸系數、帶寬、增益、隔離度等。同時對測試參數進行統計、分類及打印,并根據出廠參數對集成電路是否合格進行自動判別。
測試儀器采用一臺示波器就可以滿足所有波形顯示要求,一臺網絡頻譜阻抗分析儀可以滿足所有帶寬、頻譜測試要求。同時,信號源應具有良好的可控性、高精度、低噪聲和優良的調整性能。?
測試儀器采用一臺示波器就可以滿足所有波形顯示要求,一臺網絡頻譜阻抗分析儀可以滿足所有帶寬、頻譜測試要求。同時,信號源應具有良好的可控性、高精度、低噪聲和優良的調整性能。?
在本系統中,測試信號源的電壓電流值在30V/50mA以下,頻率在300MHz以下,直流電源采用Agilent的E3631A,另一信號源采用Tektronix的任意波形發生器AWG2021。測試儀器采用Agilent的HP4395A網絡頻譜阻抗分析儀、HP34401A數字萬用表、N8973A噪聲系數分析儀[1]。這些儀器都具有GPIB通訊接口。同時,為了完成儀器的控制和不同集成電路的自動識別,分別采用GPIB總線技術和RS232總線技術。GPIB實現儀器控制、測試控制和測試數據的傳輸,RS232實現對集成電路的選擇。
硬件系統由工控計算機、信號源、測試設備、測試工作臺、集成電路適配器插座、連接電纜和控制總線組成,并設計統一的插座接口,基本硬件結構如圖1所示。
硬件系統由工控計算機、信號源、測試設備、測試工作臺、集成電路適配器插座、連接電纜和控制總線組成,并設計統一的插座接口,基本硬件結構如圖1所示。

(1)全部儀器通過GPIB總線接入到工控機,由工控機完成系統控制(儀器的初始化和參數設置等)和集成電路性能參數的測量;
(2)工控機的一路RS-232通信接口連接到測試臺,用于測試臺內部的測試電路的切換;同時RS-232通信接口經過測試臺連接到適配器插座上,用于控制適配器內部電路的切換。
(3)適配器插座:每個被測集成電路都配備有一個專門的測試適配器,適配器上配備有測試插座。適配器內含有測試所需的外圍電路和必要的測量切換電路,每個適配器都具有一個固定的ID號,即具有一個識別號,以便于RS-232總線控制和切換。?
(2)工控機的一路RS-232通信接口連接到測試臺,用于測試臺內部的測試電路的切換;同時RS-232通信接口經過測試臺連接到適配器插座上,用于控制適配器內部電路的切換。
(3)適配器插座:每個被測集成電路都配備有一個專門的測試適配器,適配器上配備有測試插座。適配器內含有測試所需的外圍電路和必要的測量切換電路,每個適配器都具有一個固定的ID號,即具有一個識別號,以便于RS-232總線控制和切換。?
2.1軟件開發平臺
LabWindows/CVI是National Instrument公司推出的交互式C語言開發平臺,是一種32位開放性開發系統,它可以直接兼容多種形式的C/C++代碼,提供系統開發的函數代碼框架,具有動態數據交換、對I/O的操作以及對C/C++代碼直接調用等功能[2]。
2.2軟件模塊及功能實現
在應用LabWindows/CVI進行應用程序的開發過程中,通常在開發環境中設計一個用戶接口,實際就是在用戶計算機屏幕上定義一個函數面板(軟面板)。它由程序開發者所定義的控件(如旋鈕、菜單項、刻度盤、開關等)所組成,用戶選擇這些控件時就可以產生一系列用戶接口的消息,我們把這些消息稱為事件。例如,當用戶單擊一個面板控件時即獲得發生事件的面板句柄和控件ID號,并傳遞給相應的C++應用子程序,從而實現相應的用戶功能[3]。這其中主要應用了Windows編程中的事件驅動機制。LabWindows/CVI中對事件的處理方法也有兩種,即回調函數法和事件循環處理。我們在該測控程序中主要采用回調函數法。回調函數法是開發者為“軟面板”上的控制項編寫的一個獨立函數,當選中某一個控制項時,就調用相應函數對此事件進行處理。本測試軟件功能的實現主要通過主程序控制模塊調用相應的子程序實現,子程序主要包括信號源控制、測試數據采集及處理和結果分析等。具體的軟件結構如圖2所示。
LabWindows/CVI是National Instrument公司推出的交互式C語言開發平臺,是一種32位開放性開發系統,它可以直接兼容多種形式的C/C++代碼,提供系統開發的函數代碼框架,具有動態數據交換、對I/O的操作以及對C/C++代碼直接調用等功能[2]。
2.2軟件模塊及功能實現
在應用LabWindows/CVI進行應用程序的開發過程中,通常在開發環境中設計一個用戶接口,實際就是在用戶計算機屏幕上定義一個函數面板(軟面板)。它由程序開發者所定義的控件(如旋鈕、菜單項、刻度盤、開關等)所組成,用戶選擇這些控件時就可以產生一系列用戶接口的消息,我們把這些消息稱為事件。例如,當用戶單擊一個面板控件時即獲得發生事件的面板句柄和控件ID號,并傳遞給相應的C++應用子程序,從而實現相應的用戶功能[3]。這其中主要應用了Windows編程中的事件驅動機制。LabWindows/CVI中對事件的處理方法也有兩種,即回調函數法和事件循環處理。我們在該測控程序中主要采用回調函數法。回調函數法是開發者為“軟面板”上的控制項編寫的一個獨立函數,當選中某一個控制項時,就調用相應函數對此事件進行處理。本測試軟件功能的實現主要通過主程序控制模塊調用相應的子程序實現,子程序主要包括信號源控制、測試數據采集及處理和結果分析等。具體的軟件結構如圖2所示。

(1)GPIB總線控制模塊
LabWindows/CVI中的GPIB函數庫可以實現打開和關閉GPIB設備、總線配置、I/O讀寫、GPIB設備控制、總線控制等功能。GPIB函數庫既包含了上層函數又擁有底層函數。上層函數不需要訪問相應的底層協議就可以實現總線控制,但其功能有限;而底層函數可以更為靈活的控制總線,但是需要了解相應的底層協議。在本系統中,所采用的測控儀器都具有GPIB通訊接口,通過三個主要的函數來實現儀器間的通訊和控制:

(2)測試數據的存儲和處理模塊
測試數據的存儲和處理通過LabWindows/CVI SQL Toolkit來實現。LabWindows/CVI SQL Toolkit是一個用來訪問數據庫的軟件包,集成電路測試數據以二維表的形式存儲在數據庫管理系統中,然后進行數據的分析和處理,與集成電路的出廠測試數據進行比較并自行判斷被測集成電路是否合格。
同時集成電路的出廠測試數據保存在記事本文件中,以便從軟件界面中很方便的打開供測試人員進行初步的判斷:

LabWindows/CVI中的GPIB函數庫可以實現打開和關閉GPIB設備、總線配置、I/O讀寫、GPIB設備控制、總線控制等功能。GPIB函數庫既包含了上層函數又擁有底層函數。上層函數不需要訪問相應的底層協議就可以實現總線控制,但其功能有限;而底層函數可以更為靈活的控制總線,但是需要了解相應的底層協議。在本系統中,所采用的測控儀器都具有GPIB通訊接口,通過三個主要的函數來實現儀器間的通訊和控制:

(2)測試數據的存儲和處理模塊
測試數據的存儲和處理通過LabWindows/CVI SQL Toolkit來實現。LabWindows/CVI SQL Toolkit是一個用來訪問數據庫的軟件包,集成電路測試數據以二維表的形式存儲在數據庫管理系統中,然后進行數據的分析和處理,與集成電路的出廠測試數據進行比較并自行判斷被測集成電路是否合格。
同時集成電路的出廠測試數據保存在記事本文件中,以便從軟件界面中很方便的打開供測試人員進行初步的判斷:

綜上所述,所開發的混合集成電路測試系統可以實現集成電路性能參數的測試和判別,而且具有很好的可維護性、可理解性和可靠性。軟件設計中采用了數據庫和格式文本來描述被測設備的數學模型,從而實現了檢測設備與被測設備的分離,極大的提高了系統的通用性。
評論