(1.海裝沈陽(yáng)局駐哈爾濱地區(qū)第三軍事代表室,哈爾濱 150001;2.哈爾濱工業(yè)大學(xué) 儀器科學(xué)與工程學(xué)院,哈爾濱 150001;3.北京航空航天大學(xué) 自動(dòng)化科學(xué)與電氣工程學(xué)院,北京 430071)
隨著電子技術(shù)的發(fā)展,各種電子設(shè)備的現(xiàn)代化、高科技化、復(fù)雜化程度也越來越高,針對(duì)設(shè)備的測(cè)試內(nèi)容也日趨繁雜,測(cè)試工作量急劇增加,而規(guī)定的測(cè)試時(shí)間越來越短,導(dǎo)致傳統(tǒng)的人工參數(shù)測(cè)試方法難以滿足現(xiàn)代測(cè)試需求。因此,必須依靠以計(jì)算機(jī)為核心的測(cè)試系統(tǒng)來實(shí)現(xiàn)設(shè)備的自動(dòng)化測(cè)試[1]。
自動(dòng)化測(cè)試系統(tǒng)[2-4](Automatic Test System,ATS)有關(guān)的研究工作最早開始于1955年美國(guó)的SETE計(jì)劃,用以解決軍用電子設(shè)備(如航空電子系統(tǒng)和導(dǎo)彈系統(tǒng)等)的維護(hù)問題。自動(dòng)測(cè)試系統(tǒng)是指可以自動(dòng)進(jìn)行測(cè)量,數(shù)據(jù)處理,并且以合適的方式顯示輸出測(cè)試結(jié)果,而無需人員參與或僅需極少參與的系統(tǒng)[5]。與傳統(tǒng)的人工參數(shù)測(cè)試方法相比,自動(dòng)測(cè)試可以提高工作效率、降低成本,在現(xiàn)代測(cè)試測(cè)量技術(shù)中有著十分重要的作用。為滿足自動(dòng)測(cè)試系統(tǒng)課程實(shí)驗(yàn)的教學(xué)演示需要,本文以某信號(hào)調(diào)理模塊為被測(cè)對(duì)象設(shè)計(jì)了一套基于LXI總線[6]的多通道自動(dòng)測(cè)試系統(tǒng)。經(jīng)實(shí)際應(yīng)用測(cè)試,該自動(dòng)測(cè)試系統(tǒng)實(shí)現(xiàn)了對(duì)信號(hào)調(diào)理模塊的自動(dòng)測(cè)試,同時(shí)可進(jìn)行通道選擇,具有良好的教學(xué)演示效果。
通過分析課程實(shí)驗(yàn)的教學(xué)演示需求,以信號(hào)調(diào)理模塊為被測(cè)對(duì)象設(shè)計(jì)的自動(dòng)測(cè)試系統(tǒng)應(yīng)具備如下技術(shù)要求:
1)自動(dòng)測(cè)試系統(tǒng)能夠產(chǎn)生激勵(lì)信號(hào)作為信號(hào)調(diào)理模塊的輸入。
2)自動(dòng)測(cè)試系統(tǒng)能夠采集信號(hào)調(diào)理模塊的輸出信號(hào),并具備后續(xù)的分析、處理和顯示功能。
3)能夠通過上位機(jī)實(shí)現(xiàn)測(cè)試通道的選擇切換,將信號(hào)調(diào)理模塊依次接入自動(dòng)測(cè)試系統(tǒng)進(jìn)行測(cè)試。
設(shè)計(jì)的多通道自動(dòng)測(cè)試系統(tǒng)主要由激勵(lì)信號(hào)源、信號(hào)調(diào)理模塊、數(shù)據(jù)采集器以及通道選擇模塊組成,系統(tǒng)結(jié)構(gòu)如圖1所示。上位機(jī)通過LXI總線[7-9]發(fā)送程控儀器指令,用于控制激勵(lì)信號(hào)源產(chǎn)生輸入信號(hào)調(diào)理模塊的激勵(lì)信號(hào),數(shù)據(jù)采集器采集選定通道信號(hào)調(diào)理模塊的輸出波形信號(hào);同時(shí)上位機(jī)可通過串口指令控制通道選擇模塊完成測(cè)試通道的選擇。上位機(jī)基于LabVIEW軟件開發(fā)相應(yīng)的軟件界面,用于實(shí)現(xiàn)人機(jī)交互以及測(cè)試系統(tǒng)的控制。
圖1 多通道自動(dòng)測(cè)試系統(tǒng)結(jié)構(gòu)
設(shè)計(jì)的多通道自動(dòng)測(cè)試系統(tǒng)主要由激勵(lì)信號(hào)源、信號(hào)調(diào)理模塊、數(shù)據(jù)采集器以及通道選擇模塊組成。其中信號(hào)調(diào)理模塊采用實(shí)驗(yàn)室已有的某信號(hào)模塊,激勵(lì)信號(hào)源和數(shù)據(jù)采集器分別采用HTLX3730B 100MSPS任意波形發(fā)生器、HTLX4484B八通道同步數(shù)據(jù)采集儀。根據(jù)設(shè)計(jì)指標(biāo)要求,多通道選擇模塊應(yīng)采用5 V供電,具備與信號(hào)調(diào)理模塊輸出相連的SMA接口,并通過BNC接口與數(shù)據(jù)采集器的各通道連接,同時(shí)可以接收上位機(jī)的串口控制指令完成4個(gè)測(cè)試通道間的切換。
系統(tǒng)中采用的信號(hào)調(diào)理模塊是一款用于配套測(cè)量發(fā)動(dòng)機(jī)轉(zhuǎn)速傳感器輸出的信號(hào)調(diào)理模塊,其作用是將傳感器輸出的正弦波信號(hào),調(diào)理成同頻率的方波信號(hào),該模塊的具體性能指標(biāo)參數(shù)如表1所示。
多通道自動(dòng)測(cè)試系統(tǒng)的搭建需要激勵(lì)信號(hào)源和數(shù)據(jù)采集器,選用已具備的兩種型號(hào)的LXI儀器模塊。下面分別對(duì)采用的LXI儀器模塊進(jìn)行介紹:
表1 信號(hào)調(diào)理模塊基本性能指標(biāo)參數(shù)
1)激勵(lì)信號(hào)源:使用HTLX3730B 100 MSPS任意波形發(fā)生器。該任意波形發(fā)生器基于LXI總線并符合IVI 1.3標(biāo)準(zhǔn),具備16位的分辨率和256 MB的板載緩存,最高數(shù)據(jù)轉(zhuǎn)換率可達(dá)100 MS/s,通過待用數(shù)字內(nèi)插技術(shù)可使有效轉(zhuǎn)換率達(dá)到400 MS/s,輸出信號(hào)的最大帶寬為43 MHz。
2)數(shù)據(jù)采集器:使用HTLX4484B 八通道同步數(shù)據(jù)采集儀。該數(shù)據(jù)采集器可使用8個(gè)獨(dú)立的單端采集通道或8個(gè)獨(dú)立的差分通道,所有通道共享512 MB的SDRAM數(shù)據(jù)存儲(chǔ)器,各通道均有一個(gè)獨(dú)立的16位A/D轉(zhuǎn)換器和信號(hào)調(diào)理電路,可實(shí)現(xiàn)的最高采樣為2 MSa/s。
綜合考慮實(shí)現(xiàn)硬件資源使用率、實(shí)現(xiàn)成本等因素后,選擇采用單片機(jī)控制繼電器陣列的方式實(shí)現(xiàn)通道選擇模塊,設(shè)計(jì)的硬件電路框圖如圖2所示。硬件電路主要包括單片機(jī)最小系統(tǒng)、通信及供電電路和繼電器陣列及外部接口,下面分別對(duì)這三部分的硬件電路設(shè)計(jì)進(jìn)行介紹。
圖2 通道選擇模塊硬件電路圖
1)單片機(jī)最小系統(tǒng):通道選擇模塊的微控制器采用基于RISC指令集的Atmel ATmega328-PU,設(shè)計(jì)的單片機(jī)最小系統(tǒng)的原理圖如圖3所示。時(shí)鐘電路由一個(gè)16M無源晶振和兩個(gè)22pF電容組成,復(fù)位電路同時(shí)具備上電自動(dòng)復(fù)位和手動(dòng)按鍵復(fù)位兩種復(fù)位方式,為便于觀察上電情況和串口通信情況,添加了電源指示燈和串口指示燈。
圖3 ATmega328-PU最小系統(tǒng)原理圖
2)通信及供電電路:為保證通道選擇模塊能夠接收上位機(jī)的控制指令進(jìn)而完成測(cè)試通道的選擇,因此需要實(shí)現(xiàn)與上位機(jī)之間的通信,采用常見的Micro USB接口實(shí)現(xiàn)。由于ATmega328-PU單片機(jī)的串口輸出為TTL電平,所以采用CH430T電平轉(zhuǎn)換芯片實(shí)現(xiàn)串口信號(hào)和USB信號(hào)之間的轉(zhuǎn)換。由于CH340T的正常工作需要獨(dú)立的時(shí)鐘源,所以用12 M無源晶振和2個(gè)22 pF電容組成時(shí)鐘電路。此外針對(duì)通道選擇模塊的供電需求設(shè)計(jì)了兩種方式:通過USB接口直接供電或者由外部直流電源通過接線端子供電,這兩種供電方式通過一個(gè)單刀雙擲開關(guān)進(jìn)行選擇。通信及供電電路的原理圖如圖4所示。
圖4 通信及供電電路原理圖
3)繼電器陣列及外部接口:考慮單片機(jī)I/O口的負(fù)載驅(qū)動(dòng)能力有限,無法直接驅(qū)動(dòng)控制繼電器,因此采用ULN2803驅(qū)動(dòng)芯片,該驅(qū)動(dòng)芯片最多可實(shí)現(xiàn)八路驅(qū)動(dòng),現(xiàn)選用其中四路用作繼電器驅(qū)動(dòng)。在COM引腳外接高電平時(shí),一旦單片機(jī)的I/O口輸出低電平,對(duì)應(yīng)的繼電器吸合,使能信號(hào)調(diào)理模塊的輸入,從而實(shí)現(xiàn)通道選擇的功能。由于激勵(lì)信號(hào)源的輸出接口為SMA,數(shù)據(jù)采集器的輸入接口為BNC,因此通道選擇模塊的外部接口設(shè)計(jì)為一個(gè)SMA接口和4個(gè)BNC接口。繼電器陣列及外部接口的原理圖如圖5所示。
圖5 繼電器陣列及外部接口原理圖
多通道自動(dòng)測(cè)試系統(tǒng)的自動(dòng)測(cè)試、通道選擇功能的實(shí)現(xiàn)需要在硬件設(shè)計(jì)的基礎(chǔ)上進(jìn)行相應(yīng)的系統(tǒng)軟件設(shè)計(jì)。通過分析該多通道自動(dòng)測(cè)試系統(tǒng)的工作原理,設(shè)計(jì)的系統(tǒng)軟件應(yīng)實(shí)現(xiàn)以下功能點(diǎn):
1)具備本地人機(jī)交互界面,能夠響應(yīng)鼠標(biāo)、鍵盤操作。
2)能夠控制激勵(lì)信號(hào)源、數(shù)據(jù)采集器這兩個(gè)LXI儀器模塊。
3)實(shí)現(xiàn)與通道選擇模塊之間的串口通信,用于發(fā)送通道選擇控制指令。
因此系統(tǒng)軟件設(shè)計(jì)主要包括上位機(jī)軟件設(shè)計(jì)和下位機(jī)程序設(shè)計(jì),下面就多通道自動(dòng)測(cè)試系統(tǒng)的軟件設(shè)計(jì)工作進(jìn)行介紹。
由于上位機(jī)的控制軟件既要響應(yīng)軟面板的用戶事件,又需在后臺(tái)執(zhí)行激勵(lì)信號(hào)源和數(shù)據(jù)采集器的控制操作,同時(shí)還要進(jìn)行采集波形信號(hào)的分析處理,因此需要采用多線程的設(shè)計(jì)實(shí)現(xiàn)。然而各個(gè)線程之間并非完全獨(dú)立,它們之間還會(huì)進(jìn)行必要的數(shù)據(jù)交換和信息傳遞,因此控制軟件采用“生產(chǎn)者-消費(fèi)者”架構(gòu),即通過順序隊(duì)列(FIFO)緩沖區(qū)實(shí)現(xiàn)線程之間的同步和通信。
在生產(chǎn)者線程中使用事件結(jié)構(gòu),因此當(dāng)用戶在軟面板執(zhí)行例如按下按鍵、輸入數(shù)據(jù)等操作時(shí),就會(huì)產(chǎn)生一個(gè)對(duì)應(yīng)的事件,在控制程序中每個(gè)事件都映射著一個(gè)操作響應(yīng)函數(shù)。每當(dāng)用戶操作被事件結(jié)構(gòu)響應(yīng)后,都會(huì)將一個(gè)捆綁有對(duì)應(yīng)事件枚舉變量的簇送入順序隊(duì)列緩沖區(qū),供消費(fèi)者線程讀取。此外,在簇中還有一個(gè)用來傳遞事件數(shù)據(jù)的變量。在消費(fèi)者線程中使用狀態(tài)機(jī)結(jié)構(gòu)。首先判斷順序隊(duì)列緩沖區(qū)是否為空,如果非空則從中依次讀取緩存簇并進(jìn)行解綁,然后使用條件結(jié)構(gòu)根據(jù)簇中的枚舉變量執(zhí)行相應(yīng)分支的響應(yīng)操作?;凇吧a(chǎn)者-消費(fèi)者”架構(gòu)完成上位機(jī)控制軟件的設(shè)計(jì),能夠有效避免用戶事件的丟失,提高測(cè)試系統(tǒng)的運(yùn)行可靠性,其執(zhí)行流程圖如圖6所示。
圖6 上位機(jī)控制軟件執(zhí)行流程圖
系統(tǒng)中上位機(jī)通過TCP/IP協(xié)議發(fā)送SCPI(Standard Commands for Programmable Istruments)指令對(duì)激勵(lì)信號(hào)源和數(shù)據(jù)采集器進(jìn)行控制。此外,上位機(jī)還需通過串口指令控制通道選擇模塊完成測(cè)試通道選擇。雖然兩者的硬件接口分別是LAN口和串口,但是控制軟件可以調(diào)用VISA(Virtual Instrument Software Architecture)對(duì)不同接口的儀器以統(tǒng)一的形式發(fā)送程控指令[10-11]。圖7分別為VISA資源庫(kù)中的打開、關(guān)閉、發(fā)送和讀取4種基本結(jié)構(gòu),通過VISA庫(kù)對(duì)自動(dòng)測(cè)試系統(tǒng)中的儀器進(jìn)行控制時(shí),均需要調(diào)用上述4種基本結(jié)構(gòu)。
圖7 VISA資源中的4種基本結(jié)構(gòu)
由于多通道自動(dòng)測(cè)試系統(tǒng)中的儀器設(shè)備具有較多共同的屬性和調(diào)用方法,因此采用面向?qū)ο蟮姆椒ㄟM(jìn)行儀器驅(qū)動(dòng)程序的設(shè)計(jì)。針對(duì)各儀器設(shè)備間共有的屬性和方法創(chuàng)建ATS_Instr類作為父類,儀器驅(qū)動(dòng)程序中的其他類,例如ATS_LXIFgen(激勵(lì)信號(hào)源)類、ATS_LXIDAQ(數(shù)據(jù)采集器)類和ATS_ATmegaSwitch(通道選擇模塊)類均是繼承自ATS_Inst父類的子類,它們之間的繼承關(guān)系如圖8所示。
圖8 儀器驅(qū)動(dòng)程序類間的繼承關(guān)系
ATS_LXIFgen類的實(shí)例化儀器是HTLX3730B激勵(lì)信號(hào)源,該子類在父類的基礎(chǔ)上增加了波形輸出配置程序接口;ATS_LXIDAQ類的實(shí)例化儀器是HTLX4484數(shù)據(jù)采集器,該子類在父類的基礎(chǔ)上增加了采樣率和采樣點(diǎn)數(shù)的屬性,還增加了配置輸入、信號(hào)采集以及信號(hào)處理程序接口;ATS_ATmegaSwitch類的實(shí)例化設(shè)備是通道選擇模塊,該子類在父類的基礎(chǔ)上增加了通道選擇程序接口,同時(shí)上述3個(gè)子類還根據(jù)自身特性重寫了儀器初始化、啟動(dòng)和停止的程序接口。采用面向?qū)ο蟮姆椒ㄟM(jìn)行儀器驅(qū)動(dòng)程序的設(shè)計(jì),不僅可以減少重復(fù)的代碼量而且便于后期的代碼維護(hù)升級(jí)。
通道選擇模塊中的ATmega328-PU微控制器程序采用串口命令驅(qū)動(dòng)的狀態(tài)機(jī)實(shí)現(xiàn),即通過接收的上位機(jī)指令來決定狀態(tài)機(jī)的跳轉(zhuǎn)。不同的狀態(tài)機(jī)狀態(tài)對(duì)應(yīng)不同的I/O口輸出電平組合,進(jìn)而控制繼電器陣列狀態(tài)實(shí)現(xiàn)測(cè)試通道的選擇。下位機(jī)的程序流程如圖9所示。
圖9 下位機(jī)程序流程圖
上位機(jī)與下位機(jī)之間的串口通信命令幀采用4個(gè)字節(jié),前兩個(gè)字節(jié)0xFF作為幀頭,第三個(gè)字節(jié)為命令數(shù)據(jù),第四個(gè)字節(jié)為命令數(shù)據(jù)的反碼。不同的命令數(shù)據(jù)對(duì)應(yīng)不同測(cè)試通道選擇,它們之間的對(duì)應(yīng)關(guān)系如表2所示。
表2 通達(dá)選擇命令表
上位機(jī)軟面板通過調(diào)用儀器模塊的驅(qū)動(dòng)程序?qū)崿F(xiàn)對(duì)多通道自動(dòng)測(cè)試系統(tǒng)的控制,例如激勵(lì)信號(hào)源輸出信號(hào)設(shè)置,測(cè)試通道設(shè)備選擇等,同時(shí)還集成了波形顯示窗口以便于用戶對(duì)波形的觀察。如圖10所示上位機(jī)軟面板主要由3個(gè)區(qū)塊組成:波形顯示區(qū)塊、設(shè)備選擇區(qū)塊以及輸入信號(hào)設(shè)置區(qū)塊。
圖10 上位機(jī)軟面板
為驗(yàn)證設(shè)計(jì)的多通道自動(dòng)測(cè)試系統(tǒng)的功能正確性,首先上位機(jī)通過LXI總線發(fā)送程控命令對(duì)測(cè)試系統(tǒng)中的激勵(lì)信號(hào)源、數(shù)據(jù)采集器兩種型號(hào)的LXI儀器模塊進(jìn)行連接、功能測(cè)試,通過串口發(fā)送串口指令控制通道選擇模塊進(jìn)行通道切換測(cè)試,隨后對(duì)整個(gè)系統(tǒng)進(jìn)行了整體功能測(cè)試。
在設(shè)計(jì)的多通道自動(dòng)測(cè)試系統(tǒng)中,上位機(jī)與激勵(lì)信號(hào)源、數(shù)據(jù)采集器之間的通信依賴于LXI總線,因此首先對(duì)測(cè)試系統(tǒng)中LXI總線通信功能進(jìn)行測(cè)試。用LabVIEW編寫用于測(cè)試LXI總線通信連接的程序,程序具體實(shí)現(xiàn)調(diào)用VISA發(fā)送一個(gè)通用的SCPI指令*IDN?,該指令用于查詢LXI儀器的設(shè)備信息。測(cè)試結(jié)果如圖11所示,LXI儀器模塊返回相關(guān)設(shè)備信息,說明LXI總線的通信連接正常。
圖11 LXI總線通信連接測(cè)試
激勵(lì)信號(hào)源、數(shù)據(jù)采集器的功能測(cè)試采用如下方法實(shí)現(xiàn):采用SMA接頭轉(zhuǎn)BNC接頭的信號(hào)傳輸線將激勵(lì)信號(hào)源輸出端和數(shù)據(jù)采集器的一個(gè)輸入通道相連接,用LabVIEW編寫兩者的測(cè)試程序并同時(shí)運(yùn)行,測(cè)試結(jié)果如圖12和圖13所示,激勵(lì)信號(hào)源的輸出設(shè)置和數(shù)據(jù)采集器測(cè)得的波形一致,表明兩者的功能正確。
圖12 激勵(lì)信號(hào)源測(cè)試
圖13 數(shù)據(jù)采集器測(cè)試
完成自動(dòng)測(cè)試系統(tǒng)中各模塊的功能測(cè)試后,對(duì)整個(gè)系統(tǒng)進(jìn)行全局功能測(cè)試。激勵(lì)信號(hào)源的輸出端與通道選擇模塊的SMA接口連接,作為系統(tǒng)的測(cè)試信號(hào)輸入;信號(hào)調(diào)理模塊由直流穩(wěn)壓電源輸出的24 V供電,并將其輸入、輸出端連接至通道選擇模塊上的接線端子;最后將通道選擇模塊的4個(gè)BNC輸出端與數(shù)據(jù)采集器的4個(gè)采集通道相連接,通過以上步驟完成測(cè)試系統(tǒng)的搭建。此后,用戶可通過上位機(jī)軟面板控制系統(tǒng)進(jìn)行關(guān)于信號(hào)調(diào)理模塊的自動(dòng)測(cè)試。圖14顯示的是某次測(cè)試實(shí)例的結(jié)果,上位機(jī)控制激勵(lì)信號(hào)源產(chǎn)生幅值為5.00 V、頻率為1 000 Hz的正弦波作為測(cè)試信號(hào),經(jīng)過信號(hào)調(diào)理模塊的作用后,數(shù)據(jù)采集器采集到賦值為2.78 V、頻率為1 000 Hz的方波輸出信號(hào),由于輸出波形信號(hào)符合預(yù)期的指標(biāo)參數(shù),所以自動(dòng)測(cè)試系統(tǒng)的合格指示燈為綠色,表明信號(hào)調(diào)理模塊通過測(cè)試。除此之外,通過上位機(jī)發(fā)送串口指令進(jìn)行了通道選擇測(cè)試,測(cè)試結(jié)果表明該系統(tǒng)可實(shí)現(xiàn)測(cè)試通道的靈活選擇切換,具備良好的教學(xué)演示效果。
圖14 系統(tǒng)整體功能測(cè)試
本文從自動(dòng)測(cè)試課程實(shí)驗(yàn)的教學(xué)演示實(shí)際需求出發(fā),以某信號(hào)調(diào)理模塊為被測(cè)對(duì)象,設(shè)計(jì)開發(fā)了一套基于LXI總線的自動(dòng)測(cè)試系統(tǒng)并進(jìn)行了相關(guān)測(cè)試,測(cè)試結(jié)果表明該自動(dòng)測(cè)試系統(tǒng)可由計(jì)算機(jī)控制產(chǎn)生輸入信號(hào)調(diào)理模塊的激勵(lì)信號(hào),對(duì)信號(hào)調(diào)理模塊的輸出信號(hào)進(jìn)行采集、分析處理以及顯示,同時(shí)具備通道選擇切換功能,在實(shí)際應(yīng)用滿足自動(dòng)測(cè)試系統(tǒng)課程實(shí)驗(yàn)的教學(xué)演示需求。