劉 慧,陳關(guān)君,于云選
(中國電子科技集團公司第四十九研究所,黑龍江哈爾濱 150001)
由于系統(tǒng)級工程往往需要大批量多型號的傳感器作為其相關(guān)參數(shù)的測量工具,例如:在戰(zhàn)場環(huán)境、大型機械設(shè)備等特殊系統(tǒng)應(yīng)用背景下,要求完成對為其配備的傳感器進行現(xiàn)場的快速測試[1]。而傳統(tǒng)的傳感器測試過程需要針對不同型號傳感器配備不同的測試設(shè)備,測試過程耗時耗力,不能滿足該要求。
可編程自動化控制器(compact reconfigurate FPGA I/O,CRIO)是指堅固耐用,可重復配置的控制與采集系統(tǒng),是為需要高性能和高可靠性的應(yīng)用而設(shè)計的。它將開放式嵌入式結(jié)構(gòu)和小尺寸、高堅固性可熱插拔的工業(yè)I/O模塊結(jié)合在一起。該系統(tǒng)包括現(xiàn)場可編程門陣列(FPGA)的可重復配置機箱,熱插拔I/O模塊、用于確定性通信與處理的實時控制器以及用于快速實時與FPGA編程的圖形化軟件LabVIEW組成。CRIO技術(shù)無疑是嵌入式系統(tǒng)中的跨越式的革新,其將圖形化編程技術(shù)引入到嵌入式系統(tǒng)的開發(fā)中,擯棄了只有掌握硬件編程語言才可以進行嵌入式系統(tǒng)的開發(fā)設(shè)計的傳統(tǒng)模式,大大簡化了以嵌入式模塊作為設(shè)備核心部件的開發(fā)過程[2~4]。
本文提出了基于CRIO技術(shù)的傳感器測試儀設(shè)計方案,實現(xiàn)了在一臺體積較小的便攜測試設(shè)備上完成針對整個系統(tǒng)所需的多種傳感器進行快速集中測試的目的。
通過對測試儀所需功能的分析,結(jié)合相關(guān)傳感器輸出信號的實時特性和對設(shè)備開發(fā)周期的限制,選擇CRIO這種嵌入式系統(tǒng)作為傳感器測試儀的核心架構(gòu),通過與其他電路模塊結(jié)合,研制出滿足傳感器輸出信號測試要求的傳感器測試設(shè)備。測試儀的組成原理框圖如圖1所示。
圖1 傳感器測試儀組成框圖Fig 1 Configuration block diagram of sensor test instrument
由圖1可以看出:傳感器輸出的信號通過信號接口端接入測試儀內(nèi)部;開關(guān)電路用于傳感器輸出信號和供電電源信號線路的通斷控制;信號監(jiān)測電路對各路電流信號進行實時監(jiān)測,判斷傳感器的輸出是否處于正常狀態(tài),以及為傳感器供電的電源的電壓信號的精度是否符合要求。如果電流或電壓信號超限,則信號監(jiān)測電路將自動斷開開關(guān)電路與傳感器連接的各條線路,并在測試軟件中指示所出現(xiàn)的問題;在正常工作狀態(tài)下通過信號監(jiān)測電路的各路信號將被傳送至數(shù)據(jù)采集模塊與信號控制模塊,其中NI 9205用于各監(jiān)測信號的采集,NI 9223用于傳感器輸出信號的采集,NI 9403用于讀取相關(guān)數(shù)字確認狀態(tài)信息和數(shù)字I/O命令的輸出;集成在NI 9075控制器上的FPGA.Vi程序負責對以上3個數(shù)據(jù)采集模塊的功能進行配置;RT.Vi程序負責將得到相關(guān)數(shù)據(jù)信息打包,并通過TCP/IP協(xié)議的方式傳遞給上位機;在上位機中的測試軟件讀取得到的相關(guān)測試信息,完成傳感器的信號測試、數(shù)據(jù)記錄、數(shù)據(jù)回放、報表打印等測試功能。
測試儀硬件設(shè)計主要包括開關(guān)控制與信號監(jiān)測電路。狀態(tài)監(jiān)測模塊的功能主要是通過對傳感器供電電源和傳感器輸出的信號線上的電流進行實時監(jiān)測來確定傳感器是否工作在正常狀態(tài),供電電源是否滿足對傳感器供電精度的要求。采用INA 198集成電路作為電流監(jiān)測電路的主體部件,方法是采取在每條被測信號線上串入一只0.5 Ω0.5 W功率的電阻器作為取樣電阻器,將測試線路上流經(jīng)的電流信號轉(zhuǎn)換為電壓信號,傳遞給NI 9205的對應(yīng)輸入接口,通過在FPGA.Vi程序中設(shè)置的電壓閾值判斷該條線路上流經(jīng)的電流信號是否工作在正常范圍內(nèi)。判斷后的結(jié)果通過NI 9403的I/O輸出端口傳遞給ULN2803驅(qū)動電路的相關(guān)輸入接口,其對應(yīng)的輸出連接到開關(guān)電路中指定的信號繼電器電源地引腳,控制信號繼電器的工作狀態(tài),當輸出低電平時信號繼電器導通,傳感器通過開關(guān)電路連接入NI9205和NI 9223的對應(yīng)輸入接口;當輸出為高電平時信號繼電器斷電,傳感器在開關(guān)電路的控制下與NI9205和NI 9223的對應(yīng)輸入接口斷開,起到保護傳感器和測試儀工作安全的作用。其中每路信號的監(jiān)測電路和開關(guān)電路,如圖2虛線框中所示。
傳感器測試儀的軟件主要包括PC.Vi程序、RT.Vi程序以及FPGA.Vi程序;其邏輯層次關(guān)系與所處物理結(jié)構(gòu)[5~7]如圖 3 所示。
圖2 信號監(jiān)測與開關(guān)控制電路Fig 2 Signal monitoring and switch control circuit
圖3 軟件結(jié)構(gòu)層次圖Fig 3 Diagram of software structure level
在PC.Vi程序中設(shè)計了與操作系統(tǒng)性能相匹配的功能,即通過TCP/IP協(xié)議得到CRIO控制器中RT.Vi程序發(fā)送的測試信息數(shù)據(jù),實現(xiàn)傳感器輸出信號的測量任務(wù),并對相關(guān)信息進行數(shù)據(jù)顯示、數(shù)據(jù)記錄、數(shù)據(jù)回放、自動判讀傳感器工作狀態(tài)、生成測試報告、打印測試報告等基本功能,并采用事件驅(qū)動的模式完成PC.Vi程序主體結(jié)構(gòu)的設(shè)計,即通過單擊軟件測試界面中相應(yīng)的功能按鍵,在程序中產(chǎn)生對應(yīng)的事件結(jié)構(gòu),完成所需實現(xiàn)的軟件功能。
RT.Vi程序運行在CRIO控制器上的實時操作系統(tǒng)中,完成數(shù)據(jù)采集、與上位機和FPGA I/O口實時通信,對各FPGA I/O信號進行時序控制,各采樣通道的采樣率設(shè)置,以及判斷不同I/O信號狀態(tài)等功能,其軟件流程如圖4所示。
圖4 RT.Vi程序流程圖Fig 4 Program flow chart of RT.Vi
FPGA上運行的程序由于直接通過底層邏輯執(zhí)行,實時性最強,但資源有限,且調(diào)試相對較難,所以,適合用于實現(xiàn)自定義的I/O、簡單而重復性大的信號與處理,以及簡單而確定性要求高的控制邏輯等。因此,F(xiàn)PGA.Vi程序作為最底層的硬件驅(qū)動程序,實現(xiàn)了對FPGA I/O口的設(shè)置、最小采樣間隔、定時器設(shè)置、FPGA I/O時序控制等基本功能,通過編譯將其軟件語言轉(zhuǎn)換為硬件電路邏輯關(guān)系,實現(xiàn)對FPGA可編程I/O模塊的控制。其軟件流程如圖5所示。
圖5 FPGA.Vi程序流程圖Fig 5 Program flow chart of FPGA.Vi
本文對幾種不同型號功能的傳感器輸出信號的實驗測試為例,對傳感器測試儀的功能進行驗證。測試結(jié)果如表1~表4所示,其中包含了傳感器輸出信號和相關(guān)特性。
表1 CY5—27—3A型壓力傳感器測試結(jié)果Tab 1 Test result of CY5—27—3A pressure sensor
表2 BWJ—4075溫度傳感器測試結(jié)果Tab 2 Test result of BWJ—4075 temperature sensor
表3 CI1—7B相對行程傳感器測試結(jié)果Tab 3 Test result of CI1—7B relative stroke sensor
表4 BZDJ—1143—30三軸振動傳感器測試結(jié)果Tab 4 Test result of BZDJ—1143—30 3-axis vibration sensor
由表1~表4可以看出:測試儀可以針對不同類型傳感器的特性完成其輸出信號的測試,并對不同傳感器的特殊參數(shù)進行輸出測試,其測量精度可以達到0.1%FS。
基于CRIO技術(shù)的傳感器測試儀實現(xiàn)了在使用現(xiàn)場對多種不同類型傳感器實現(xiàn)快速集中測量。極大地方便用戶在戶外和使用現(xiàn)場對多種多型號傳感器進行檢測的需要。測試儀通過CRIO技術(shù)的應(yīng)用,將測試儀研制的重點集中在了軟件開發(fā)領(lǐng)域,對測試不同類型的傳感器采取了通用式的硬件設(shè)計,在提高傳感器測試效率,降低了測試成本的同時,大大提高了設(shè)備的可擴展性,顯示了其在設(shè)備維護與升級上的巨大優(yōu)勢。
[1] 劉 慧,王 冰,李冰冰.傳感器測試儀設(shè)計[J].儀表技術(shù)與傳感器,2011(10):29-31.
[2] 王恒升,魏學鋒,薛 云.基于NI CRIO的球桿系統(tǒng)測控平臺[J].控制工程,2009,16(3):11 -15.
[3] Horinek M,Bilik P.Power analyzer for converter testing based on CRIO hardware platform[J].Applied Electronics,2010,9:8 -9.
[4] Zia M T,Curley A,Duran O.Application of LabVIEW and CRIO for high precision positioning of Mars Rover using DC motors[J].Space Technology,2011,9:15 -17.
[5] Tian Yingzhong,Jiang Liangyin,Li Ming.LabVIEW and CRIO linear control of a coaxial two-wheeled mobile robot[J].Measuring Technology and Mechatronics Automation,2011,1:6 -7.
[6] Yang Yudong,Huang-Fu Liqun.Design of tester of porcelain insulator ultrasonic detection based on embedded technology[J].Electronic and Mechanical Engineering and Information Technology,2011,8:12 -14.
[7] Stieber M E,Petriu E M,Vukovich G.Systematic design of instrumentation architecture for control of mechanical systems[J].Instrumentation and Measurement,1996,45(2):406 - 412.