揚州萬方電子技術有限責任公司 郭 斌
電臺產品因其嚴苛的使用環境要求其必須通過高低溫測試,而高低溫測試時間跨度長且測試環境密封,測試人員無法實時監控其狀態,也無法及時的保護被測產品。所以需要設計一套系統,用于監測管理被測產品,該系統一方面保存測試數據為下一次的產品及其設計可靠性設計提供數據,另一方面可減輕測試人員負擔,保護被測產品。
stm32因其簡單易用且性能強大被廣泛使用,其片上資源豐富,能夠工作在-40至105攝氏度,滿足高低溫環境測試的需要,故采用其作為設備狀態監測管理系統的SOC。
為此,選擇以STM32為SOC,以其內置的串口、CAN口等通信端口與被測設備進行交互,以各傳感器監測被測設備在高低溫環境下的狀態信息。通過融合通信端口及傳感器數據,根據內置的判據文件進行運算,以保護高低溫環境下的被測設備。
高低溫測試中設備狀態的監測管理系統由采集模塊、被測設備通信模塊、無線傳輸模塊、存儲模塊、保護模塊、上位機系統構成。
采集模塊用于采集被測設備的信息,主要包括電壓傳感器、電流傳感器、亮度傳感器、聲音傳感器構成。電壓傳感器用于獲取電臺設備的輸入電壓值、電流傳感器用于獲取電臺設備的輸入電流值,亮度傳感器用于采集電臺設備顯示屏的亮度值,聲音傳感器主要用于采集電臺設備輸出話音的頻率及強度。
被測設備通信模塊用于與被測電臺進行通信,通過發送心跳包數據實時監控其運行狀態,根據不同型號可選用串口、網口、CAN口進行交互。
無線傳輸模塊是Stm32與上位機交互的通道,考慮到測試環境中難以有線連接所以采用了無線傳輸,又因為傳輸數據量小,STM32與上位機距離近的現狀,采用藍牙作為無線傳輸設備進行數據交互。
存儲模塊是stm32判據文件存儲的地方,因為其容量較小,故采取eeprom進行儲存,其能夠被上位機修改,采用自定義協議的16進制文件存儲。
保護模塊為斷電模塊,其通過控制繼電器進行電臺設備的通斷電控制。
上位機系統通過藍牙與STM32進行交互,其功能為接收STM32上傳的信息,配置STM32的判據文件,存儲STM32的信息,在保護模式下輸出報警信息。
高低溫測試環境下電臺設備的監測管理系統結構框圖如圖1所示。

圖1 高低溫測試環境下電臺設備的監測管理系統結構框圖
本監測管理系統主要是以STM32為核心,穩定、可靠的采集、控制各管腳,這就要求在軟硬件上進行篩選、選型工作
該系統可能運行幾天甚至十幾天,其穩定性、可靠性、實時性較為重要,為此應選取一款實時操作系統以任務及任務間通信的形式進行功能開發。該系統運行于高低溫箱內,無需GUI,為此選取RTOS作為STM32運行的操作系統。
目前RTOS種類較多,如u/KOS、BeRTOS、FreeRTOS、ucos等,考慮到授權及實時性、穩定性等方面,擬采用ucos作為STM32的操作系統。
ucos由各任務組成,根據該系統的功能分配及總體框架,將任務分為:
A.初始化任務:用于初始化各傳感器,進行傳感器的使能及寄存器配置,讀取內置存儲器中的初始判據文件;
B.無線傳輸任務:用于自定義通信協議組包,自定義協議包括心跳信息、傳感器數據信息、控制指令信息;
C.采集任務:按順序采集電壓、電流、亮度、聲音信息;
D.判斷任務:根據采集的信息進行運算,如果超出判據則斷開觸發器,如果未超出則不斷開觸發器;
E.配置任務:能夠配置刷新內置eeprom內的判據文件。整個系統的運行順序如圖2所示。

圖2 系統運行流程
串口、CAN口采用STM32內置資源,藍牙模塊采用透傳方式與上位機通信,繼電器采用GPIO管腳進行控制,存儲模塊采用標準eeprom進行設計。為此在整個系統中只需要選型藍牙模塊。
采用獨立封裝的模塊,根據穩定性、易用的需求,選取基于英國CSR公司BlueCore4系列芯片的HC05模塊。該模塊滿足溫度要求,使用簡單,穩定性高。
該模塊的原理圖如圖3所示。

圖3 HC05藍牙模塊原理圖
由于整個系統是單機系統,不涉及分布式存儲或大量計算,所以采用SQLite作為數據庫,QT作為上位機的開發環境。
為開發上述系統,采用的QT中非GUI類有:
A.QBluetooth類,用于與STM32系統進行通信,通信內容為自定義數據格式,自定義數據分為數據信息、指令信息、判據文件傳輸指令;
B.QFile類,用于讀取二進制文件判據文件,為后續發送提供幫助;
C.QSql類,用于讀寫SQLite,將STM32傳出的數據解析后寫入數據庫。
系統測試涉及上位機部分及嵌入式部分,為此采用python語言進行測試,利用python強大的構造能力及測試能力進行測試。
對于上位機采取合法數據長時間測試及非法數據高頻率沖擊測試,驗證其可靠性和健壯性。對于STM32進行合法數據長時間測試,確保其穩定性。
測試過程及測試結果如表1所示。

表1 系統測試過程及結果簡表
針對電臺產品在高低溫測試中采集測試數據、保護被測設備的需求,設計了基于STM32的高低溫測試中設備狀態監測管理系統,將該系統分為采集模塊、被測設備通信模塊、無線傳輸模塊、存儲模塊、保護模塊、上位機系統,經過軟硬件選型及程序編碼,實現了上述系統,并利用python中Pybluz、pySerial等模塊進行測試驗證了系統的可行性、穩定性,為電臺產品的高低溫測試提供保障,獲取的數據為后續的結構設計、電路設計提供反饋數據。綜上,該系統可行、穩定、可靠,能夠保障電臺產品的高低溫測試中若干需求,也可為其他系統提供設計參考。
引文
①曹圓圓.基于STM32的溫度測量系統[J].儀器儀表與分析監測,2010(1):16-18.
②周博,王石記,邱衛東,等.SHUM-UCOS:基于統一多任務模型可重構系統的實時操作系統[J].計算機學報,2006,29(2):208-218.
③黃嘉成,艾蘇高,黃典昆,等.基于STM32的藍牙智能飲水機設計[J].裝備制造技術,2017(9):121-124.
④曹燁,姚敏,郭航宇.基于Qt的車載設備上位機監控系統的設計[J].電子測量技術,2015,38(3):139-143.
⑤杜廣超,郎杰,張祥虎,等.基于Qt的通信波形實現系統上位機軟件設計[J].電子對抗,2016(1):39-42.
⑥蔣崇武,劉斌,王軼辰,等.基于Python的實時嵌入式軟件測試腳本[J].計算機工程,2009,35(15):64-66.
⑦吳立金,簡陽,張凱,等.基于Python語言的GUI自動化測試腳本技術研究[J].計算機測量與控制,2015,23(10):3330-3332.