袁 驊
(中國電子科技集團公司第四十七研究所,沈陽110032)
開關量電路模塊測試系統設計
袁驊
(中國電子科技集團公司第四十七研究所,沈陽110032)
主要闡述了開關量電路模塊的自動化測試系統設計方法,通過計算機控制S3C2410開發板和安捷倫測試設備,實現開關量電路模塊的測試任務。測試系統軟件可分為兩部分,上位機軟件采用Visual C++編寫,結構模式是COM架構,執行多進程多任務;下位機軟件采用ANSI C編寫,執行單進程單任務。測試系統硬件部分包括ARM920T處理器、電壓轉換模塊、譯碼模塊、驅動模塊和繼電器矩陣。
開關量電路模塊;Visual C++編程語言;ANSI C編程語言;ARM920T核心處理器;測試系統;COM架構
國內整機單位對開關量電路模塊存在大量需求,該電路模塊已經在船舶工業、工業控制、安全防護等領域得到了廣泛應用,年需求量很大。研制針對開關量電路模塊的自動化測試系統,可以解決手工測試周期長和測試數據一致性差的問題,同時有助于完成開關量電路模塊的設計定型,滿足用戶的替代需求。
按照開關量電路模塊詳細規范的電特性指標要求,需要對開關量電路模塊的輸出高電平VOH、輸出低電平VOL、工作電流IDDOP和延遲時間Td進行測試,測試原理圖如圖1所示。
根據開關量電路模塊的測試原理及電特性指標要求,自動化測試系統由計算機、可編程直流電源、數字多用表、中心控制臺和高低溫在線測試板構成。可編程直流電源選用AgilentTME3647A雙通道電源,數字多用表選用Agilent 34450A,中心控制臺和高低溫在線測試板使用處理器板、集成電路芯片、電子元件、PCB電路板和機箱,以電氣安裝的方式完成制造。
測試系統采用系統集成方式,由計算機集中控制測試儀器和中心控制臺協同工作,實現模塊電特性指標的在線自動測試,并自動生成測試報表,對電特性指標的輸出高電平、輸出低電平、工作電流和延遲時間進行全覆蓋測試。測試系統整體設計圖如圖2所示。

圖1 開關量電路模塊測試原理圖

圖2 測試系統整體設計圖
測試系統的硬件按功能可以劃分為處理器模塊、電壓轉換模塊、譯碼模塊、驅動模塊、1KHz開關模塊、繼電器矩陣等六個主要部分。在硬件實現中,還包括實際工作量很大的機箱設計、電氣安裝等工作,這里就不一一敘述了,測試系統主要硬件設計圖如圖3所示。

圖3 測試系統主要硬件設計圖
3.1處理器模塊
處理器模塊選用韓國SamsungTM公司的S3C2410開發板,該開發板為一般類型應用提供了低價格、低功耗、高性能的解決方案。S3C2410提供了2通道UART、I2C接口、USB接口、網絡接口、IO接口。通過提供一系列完整的系統外圍設備,S3C2410大大降低了整個系統的成本,消除了為系統配置額外器件的需要。S3C2410的CPU核心是由ARM有限公司設計的32位ARM920T RISC處理器,最高工作頻率可達203MHz。
使用S3C2410開發板的顯示接口,獲取ARM920T的GPC組和GPD組的IO端口,作為測試系統中心控制臺的控制端口。使用S3C2410開發板的UART接口,作為測試系統中心控制臺與計算機的通信接口。
3.2電壓轉換模塊、譯碼模塊、驅動模塊和繼電器矩陣
處理器模塊的IO接口電壓是3.3V,譯碼模塊的IO接口電壓是5V,因此需要進行電壓轉換。根據IO接口的數量,選用3只74ALVC164245構成電壓轉換模塊。
經過電壓轉換模塊輸出的控制信號進入譯碼模塊輸入端,根據實際應用需要,選用7只SN74HCT238N構成譯碼模塊。
從譯碼模塊輸出的電流,不足以驅動繼電器,需要在譯碼模塊和繼電器矩陣之間配置驅動模塊,因此選用9只ULN2803構成驅動模塊。
繼電器矩陣在本測試系統中是起到接通和切斷電源電壓、信號及測試儀器連接線的作用。根據測試需要,采用64只HRS2HS型繼電器分成8組,構成繼電器矩陣。
3.31KHz開關模塊
根據測試工作電流IDDOP和延遲時間Td的需要,由ARM920T的IO端口對1KHz開關模塊進行控制。一共需要8組1KHz開關模塊,每個1KHz開關模塊的設計方案如圖4所示。
測試系統軟件分為上位機軟件和下位機軟件兩部分。上位機軟件采用Visual C++編寫,結構模式是COM架構,執行多進程多任務處理;下位機軟件采用ANSI C編寫,運行于ARM920T處理器,執行中斷式處理的單進程單任務。

圖4 1KHz開關模塊設計
4.1上位機軟件
上位機軟件由4層結構組成,其結構模式和消息流程如圖5所示。

圖5 上位機的結構模式和消息流程
4.1.1接口層
接口層的主要任務是使用通信協議與S3C2410開發板、Agilent測試設備進行通信。接口層與S3C2410開發板之間的UART通信采用自定義協議,協議的內容是模塊編號、模塊路數、控制命令、開發板型號以及開發板的當前狀態。接口層與Agilent測試設備之間的USB通信采用SCPI協議,軟件編程主要通過調用Agilent公司提供的visa.h、visatype.h和visa32.lib實現。
4.1.2設備層
設備層的任務主要有兩項。一是對邏輯層的命令進行編碼,將編碼之后的命令(該命令可以被測試設備和開發板識別)發送到接口層;一是對Agilent測試設備和S3C2410開發板產生的事件(該事件需要被邏輯層和操作平臺識別)進行解碼,發送到邏輯層。
4.1.3邏輯層
邏輯層的主要任務是實現開關量電路模塊詳細規范中對電特性的測試,并滿足測試原理要求,具體內容如下:
(1)測試高電平VOH:將可編程電源E3647A的通道1電壓設置為VDD,繼電器S1置于位置“1”;將通道2電壓設置為VIN0H、VIN0L,將繼電器S2置于位置“VIN0H”、“VIN0L”、“OUT0”。從數字多用表34450A讀出第一路的VOH值。控制繼電器矩陣,選擇被測模塊的路數,從數字多用表34450A讀出相應的VOH值。
(2)測試低電平VOL:與測試高電平VOH類似,但需要將可編程電源E3647A的通道2限流20mA。
(3)測試工作電流IDDOP:發出命令,ARM920T的IO端口對1KHz開關模塊進行控制,從另一塊數字多用表34450A讀出第一路的IDDOP值。控制繼電器矩陣,選擇被測模塊的路數,從電流表讀出相應的IDDOP值。
(4)測試延遲時間Td:ARM920T的IO端口對1KHz開關模塊進行控制,通過另外一組IO端口進行如下操作:捕捉輸入信號的上升沿、捕捉輸出信號的下降沿,通過計數器計算這兩個沿的時間差,即為第一路的Td。控制繼電器矩陣,選擇被測模塊的路數,依次獲取相應的Td值。
4.1.4操作平臺
操作平臺的主要任務是:
(1)檢測S3C2410開發板和Agilent測試設備的連接狀態,周期性向開發板、Agilent測試設備發出心跳指令,并接收狀態消息。
(2)填寫模塊編號,選擇模塊路數,可以實現高低溫在線依次測試8個開關量電路模塊。在List Ctrl實時顯示從Agilent測試設備讀取到的測試數據和數據越界提示(顏色標識)。
(3)以ODBC的方式連接Access數據庫,實時保存測試數據。
(4)以調用COM組件的方式生成Excel三溫報表。
4.2下位機軟件
下位機軟件的核心任務是:
(1)根據上位機命令,通過ARM920T的IO端口,控制與模塊編號、模塊路數對應的繼電器。
(2)根據計數器計算,得到輸入信號上升沿與輸出信號下降沿的時間差。下位機軟件流程圖,如圖6所示。

圖6 下位機軟件流程圖
采用上位機結合下位機的方式,實現開關量電路模塊的自動化測試系統,是一種快速而且簡捷的方式,該系統的所有技術細節都已經得到驗證,因此不存在技術風險。隨著自動化測試系統向上下位機一體化的方向發展,下一步的工作是研究使用嵌入式計算機(例如:PMC3663、PMC3357)來完成更加快速有效的測試任務。
[1]潘愛民.COM原理與應用[M].北京:清華大學出版社,2000.AiMin Pan.COM principle and application[M].BeiJing:Tsinghua university press,2000.
[2]劉曉華.精通MFC[M].北京:電子工業出版社,2003.XiaoHua Liu.Be accomplished in MFC[M].BeiJing:Electronic industry press,2003.
[3]劉春雷,吳重光.用VC實現word的自動化操作的研究與應用[J].計算機工程與設計,2004(9):1594-1586.ChunLei Liu,ChongGuang Wu.Using VC to realize the automatic operation of word's research and application[J].Computer engineer design,2004(9):1594-1586.
[4]弋敏霞,張育平.VC++中的自動化客戶端[J].計算機應用研究,2001(10):130-131.MinXia Yi,YuPing Zhang.Automation client in VC++[J].Research and application of computer,2001(10):130-131.
[5]葛濤,郝躍偉.Delphi中操作Excel的方法[J].微型電腦應用,2003(8):57-59.Tao Ge,YueWei Hao.Measure of Excel operation in Delphi[J].Micro-computer Application,2003(8):57-59.
[6]王勝春,唐文勝.在VC++中利用COM實現對word的調用[J].計算機與現代化,2002(5):45-47.ShengChun Wang,WenSheng Tang.Using COM to accomplishment word's transfer in VC++[J].Computer Modernization,2002(5):45-47.
[7]求是科技.VC6.0程序設計與開發技術大全[M],北京:人民郵電出版社,2005.Truth of science and technology.Design and Exploitation of VC6.0 Program[M].BeiJing:People's posts and telecommunications publishing house,2005.
[8]張紅軍,耿隨心.VC++6.0編程詳解[M].北京:科學出版社,2003.HongJun Zhang,SuiXin Geng.Amplification of VC++6.0 Program[M].BeiJing:Science press,2003.
[9]余艷艷,周明剛.VC++實現_ULED操作自動化的方法研究與應用[J].企業技術開發(學術版),2010,29(2):7-9.YanYan Yu,MingGang Zhou.Research and application of VC++to accomplish_ULED operate[J].Enterprise Technology development(Science),2010,29(2):7-9.
[10][美]Kate Gregory.VC++6開發使用手冊[M].北京:機械工業出版社,1999.Kate Gregory.Development and use of VC++6[M].BeiJing:Mechanical industry press,1999.
Test System Design for Switch Input Electric Module
Yuan Hua
(The 47th Research Institute of China Electronics Technology Group Corporation,Shenyang 110032,China)
This article describes a design method of the automation test system for switch input electric module.The computer is used to control S3C2410 development board and AgilentTM test devices to implement the test task of switch input electric module.The test system's software can be divided into two parts,the software running on computer compiled by Visual C++with COM architecture and implementing multiprocess and multitask,and the software running on ARM compiled by ANSI C and implementing singleton process and singleton task.The test system's hardware includes ARM920T processor,voltage conversion module,decode module,drive module and relay matrix.
Switch Input Electric Module;Visual C++program language;ANSI C program language;ARM920T CPU;Test system;COM architecture
10.3969/j.issn.1002-2279.2016.05.015
TP368.2
A
1002-2279(2016)05-0060-04
袁驊(1959-),男,遼寧大連人,工程師,主研方向:測試。
2015-09-10