劉 慧,陳關君,于云選
(中國電子科技集團公司第四十九研究所,黑龍江哈爾濱 150001)
由于系統級工程往往需要大批量多型號的傳感器作為其相關參數的測量工具,例如:在戰場環境、大型機械設備等特殊系統應用背景下,要求完成對為其配備的傳感器進行現場的快速測試[1]。而傳統的傳感器測試過程需要針對不同型號傳感器配備不同的測試設備,測試過程耗時耗力,不能滿足該要求。
可編程自動化控制器(compact reconfigurate FPGA I/O,CRIO)是指堅固耐用,可重復配置的控制與采集系統,是為需要高性能和高可靠性的應用而設計的。它將開放式嵌入式結構和小尺寸、高堅固性可熱插拔的工業I/O模塊結合在一起。該系統包括現場可編程門陣列(FPGA)的可重復配置機箱,熱插拔I/O模塊、用于確定性通信與處理的實時控制器以及用于快速實時與FPGA編程的圖形化軟件LabVIEW組成。CRIO技術無疑是嵌入式系統中的跨越式的革新,其將圖形化編程技術引入到嵌入式系統的開發中,擯棄了只有掌握硬件編程語言才可以進行嵌入式系統的開發設計的傳統模式,大大簡化了以嵌入式模塊作為設備核心部件的開發過程[2~4]。
本文提出了基于CRIO技術的傳感器測試儀設計方案,實現了在一臺體積較小的便攜測試設備上完成針對整個系統所需的多種傳感器進行快速集中測試的目的。
通過對測試儀所需功能的分析,結合相關傳感器輸出信號的實時特性和對設備開發周期的限制,選擇CRIO這種嵌入式系統作為傳感器測試儀的核心架構,通過與其他電路模塊結合,研制出滿足傳感器輸出信號測試要求的傳感器測試設備。測試儀的組成原理框圖如圖1所示。

圖1 傳感器測試儀組成框圖Fig 1 Configuration block diagram of sensor test instrument
由圖1可以看出:傳感器輸出的信號通過信號接口端接入測試儀內部;開關電路用于傳感器輸出信號和供電電源信號線路的通斷控制;信號監測電路對各路電流信號進行實時監測,判斷傳感器的輸出是否處于正常狀態,以及為傳感器供電的電源的電壓信號的精度是否符合要求。如果電流或電壓信號超限,則信號監測電路將自動斷開開關電路與傳感器連接的各條線路,并在測試軟件中指示所出現的問題;在正常工作狀態下通過信號監測電路的各路信號將被傳送至數據采集模塊與信號控制模塊,其中NI 9205用于各監測信號的采集,NI 9223用于傳感器輸出信號的采集,NI 9403用于讀取相關數字確認狀態信息和數字I/O命令的輸出;集成在NI 9075控制器上的FPGA.Vi程序負責對以上3個數據采集模塊的功能進行配置;RT.Vi程序負責將得到相關數據信息打包,并通過TCP/IP協議的方式傳遞給上位機;在上位機中的測試軟件讀取得到的相關測試信息,完成傳感器的信號測試、數據記錄、數據回放、報表打印等測試功能。
測試儀硬件設計主要包括開關控制與信號監測電路。狀態監測模塊的功能主要是通過對傳感器供電電源和傳感器輸出的信號線上的電流進行實時監測來確定傳感器是否工作在正常狀態,供電電源是否滿足對傳感器供電精度的要求。采用INA 198集成電路作為電流監測電路的主體部件,方法是采取在每條被測信號線上串入一只0.5 Ω0.5 W功率的電阻器作為取樣電阻器,將測試線路上流經的電流信號轉換為電壓信號,傳遞給NI 9205的對應輸入接口,通過在FPGA.Vi程序中設置的電壓閾值判斷該條線路上流經的電流信號是否工作在正常范圍內。判斷后的結果通過NI 9403的I/O輸出端口傳遞給ULN2803驅動電路的相關輸入接口,其對應的輸出連接到開關電路中指定的信號繼電器電源地引腳,控制信號繼電器的工作狀態,當輸出低電平時信號繼電器導通,傳感器通過開關電路連接入NI9205和NI 9223的對應輸入接口;當輸出為高電平時信號繼電器斷電,傳感器在開關電路的控制下與NI9205和NI 9223的對應輸入接口斷開,起到保護傳感器和測試儀工作安全的作用。其中每路信號的監測電路和開關電路,如圖2虛線框中所示。
傳感器測試儀的軟件主要包括PC.Vi程序、RT.Vi程序以及FPGA.Vi程序;其邏輯層次關系與所處物理結構[5~7]如圖 3 所示。

圖2 信號監測與開關控制電路Fig 2 Signal monitoring and switch control circuit

圖3 軟件結構層次圖Fig 3 Diagram of software structure level
在PC.Vi程序中設計了與操作系統性能相匹配的功能,即通過TCP/IP協議得到CRIO控制器中RT.Vi程序發送的測試信息數據,實現傳感器輸出信號的測量任務,并對相關信息進行數據顯示、數據記錄、數據回放、自動判讀傳感器工作狀態、生成測試報告、打印測試報告等基本功能,并采用事件驅動的模式完成PC.Vi程序主體結構的設計,即通過單擊軟件測試界面中相應的功能按鍵,在程序中產生對應的事件結構,完成所需實現的軟件功能。
RT.Vi程序運行在CRIO控制器上的實時操作系統中,完成數據采集、與上位機和FPGA I/O口實時通信,對各FPGA I/O信號進行時序控制,各采樣通道的采樣率設置,以及判斷不同I/O信號狀態等功能,其軟件流程如圖4所示。

圖4 RT.Vi程序流程圖Fig 4 Program flow chart of RT.Vi
FPGA上運行的程序由于直接通過底層邏輯執行,實時性最強,但資源有限,且調試相對較難,所以,適合用于實現自定義的I/O、簡單而重復性大的信號與處理,以及簡單而確定性要求高的控制邏輯等。因此,FPGA.Vi程序作為最底層的硬件驅動程序,實現了對FPGA I/O口的設置、最小采樣間隔、定時器設置、FPGA I/O時序控制等基本功能,通過編譯將其軟件語言轉換為硬件電路邏輯關系,實現對FPGA可編程I/O模塊的控制。其軟件流程如圖5所示。

圖5 FPGA.Vi程序流程圖Fig 5 Program flow chart of FPGA.Vi
本文對幾種不同型號功能的傳感器輸出信號的實驗測試為例,對傳感器測試儀的功能進行驗證。測試結果如表1~表4所示,其中包含了傳感器輸出信號和相關特性。

表1 CY5—27—3A型壓力傳感器測試結果Tab 1 Test result of CY5—27—3A pressure sensor

表2 BWJ—4075溫度傳感器測試結果Tab 2 Test result of BWJ—4075 temperature sensor

表3 CI1—7B相對行程傳感器測試結果Tab 3 Test result of CI1—7B relative stroke sensor

表4 BZDJ—1143—30三軸振動傳感器測試結果Tab 4 Test result of BZDJ—1143—30 3-axis vibration sensor
由表1~表4可以看出:測試儀可以針對不同類型傳感器的特性完成其輸出信號的測試,并對不同傳感器的特殊參數進行輸出測試,其測量精度可以達到0.1%FS。
基于CRIO技術的傳感器測試儀實現了在使用現場對多種不同類型傳感器實現快速集中測量。極大地方便用戶在戶外和使用現場對多種多型號傳感器進行檢測的需要。測試儀通過CRIO技術的應用,將測試儀研制的重點集中在了軟件開發領域,對測試不同類型的傳感器采取了通用式的硬件設計,在提高傳感器測試效率,降低了測試成本的同時,大大提高了設備的可擴展性,顯示了其在設備維護與升級上的巨大優勢。
[1] 劉 慧,王 冰,李冰冰.傳感器測試儀設計[J].儀表技術與傳感器,2011(10):29-31.
[2] 王恒升,魏學鋒,薛 云.基于NI CRIO的球桿系統測控平臺[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.