揚州萬方電子技術(shù)有限責(zé)任公司 郭 斌
電臺產(chǎn)品因其嚴苛的使用環(huán)境要求其必須通過高低溫測試,而高低溫測試時間跨度長且測試環(huán)境密封,測試人員無法實時監(jiān)控其狀態(tài),也無法及時的保護被測產(chǎn)品。所以需要設(shè)計一套系統(tǒng),用于監(jiān)測管理被測產(chǎn)品,該系統(tǒng)一方面保存測試數(shù)據(jù)為下一次的產(chǎn)品及其設(shè)計可靠性設(shè)計提供數(shù)據(jù),另一方面可減輕測試人員負擔,保護被測產(chǎn)品。
stm32因其簡單易用且性能強大被廣泛使用,其片上資源豐富,能夠工作在-40至105攝氏度,滿足高低溫環(huán)境測試的需要,故采用其作為設(shè)備狀態(tài)監(jiān)測管理系統(tǒng)的SOC。
為此,選擇以STM32為SOC,以其內(nèi)置的串口、CAN口等通信端口與被測設(shè)備進行交互,以各傳感器監(jiān)測被測設(shè)備在高低溫環(huán)境下的狀態(tài)信息。通過融合通信端口及傳感器數(shù)據(jù),根據(jù)內(nèi)置的判據(jù)文件進行運算,以保護高低溫環(huán)境下的被測設(shè)備。
高低溫測試中設(shè)備狀態(tài)的監(jiān)測管理系統(tǒng)由采集模塊、被測設(shè)備通信模塊、無線傳輸模塊、存儲模塊、保護模塊、上位機系統(tǒng)構(gòu)成。
采集模塊用于采集被測設(shè)備的信息,主要包括電壓傳感器、電流傳感器、亮度傳感器、聲音傳感器構(gòu)成。電壓傳感器用于獲取電臺設(shè)備的輸入電壓值、電流傳感器用于獲取電臺設(shè)備的輸入電流值,亮度傳感器用于采集電臺設(shè)備顯示屏的亮度值,聲音傳感器主要用于采集電臺設(shè)備輸出話音的頻率及強度。
被測設(shè)備通信模塊用于與被測電臺進行通信,通過發(fā)送心跳包數(shù)據(jù)實時監(jiān)控其運行狀態(tài),根據(jù)不同型號可選用串口、網(wǎng)口、CAN口進行交互。
無線傳輸模塊是Stm32與上位機交互的通道,考慮到測試環(huán)境中難以有線連接所以采用了無線傳輸,又因為傳輸數(shù)據(jù)量小,STM32與上位機距離近的現(xiàn)狀,采用藍牙作為無線傳輸設(shè)備進行數(shù)據(jù)交互。
存儲模塊是stm32判據(jù)文件存儲的地方,因為其容量較小,故采取eeprom進行儲存,其能夠被上位機修改,采用自定義協(xié)議的16進制文件存儲。
保護模塊為斷電模塊,其通過控制繼電器進行電臺設(shè)備的通斷電控制。
上位機系統(tǒng)通過藍牙與STM32進行交互,其功能為接收STM32上傳的信息,配置STM32的判據(jù)文件,存儲STM32的信息,在保護模式下輸出報警信息。
高低溫測試環(huán)境下電臺設(shè)備的監(jiān)測管理系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 高低溫測試環(huán)境下電臺設(shè)備的監(jiān)測管理系統(tǒng)結(jié)構(gòu)框圖
本監(jiān)測管理系統(tǒng)主要是以STM32為核心,穩(wěn)定、可靠的采集、控制各管腳,這就要求在軟硬件上進行篩選、選型工作
該系統(tǒng)可能運行幾天甚至十幾天,其穩(wěn)定性、可靠性、實時性較為重要,為此應(yīng)選取一款實時操作系統(tǒng)以任務(wù)及任務(wù)間通信的形式進行功能開發(fā)。該系統(tǒng)運行于高低溫箱內(nèi),無需GUI,為此選取RTOS作為STM32運行的操作系統(tǒng)。
目前RTOS種類較多,如u/KOS、BeRTOS、FreeRTOS、ucos等,考慮到授權(quán)及實時性、穩(wěn)定性等方面,擬采用ucos作為STM32的操作系統(tǒng)。
ucos由各任務(wù)組成,根據(jù)該系統(tǒng)的功能分配及總體框架,將任務(wù)分為:
A.初始化任務(wù):用于初始化各傳感器,進行傳感器的使能及寄存器配置,讀取內(nèi)置存儲器中的初始判據(jù)文件;
B.無線傳輸任務(wù):用于自定義通信協(xié)議組包,自定義協(xié)議包括心跳信息、傳感器數(shù)據(jù)信息、控制指令信息;
C.采集任務(wù):按順序采集電壓、電流、亮度、聲音信息;
D.判斷任務(wù):根據(jù)采集的信息進行運算,如果超出判據(jù)則斷開觸發(fā)器,如果未超出則不斷開觸發(fā)器;
E.配置任務(wù):能夠配置刷新內(nèi)置eeprom內(nèi)的判據(jù)文件。整個系統(tǒng)的運行順序如圖2所示。
圖2 系統(tǒng)運行流程
串口、CAN口采用STM32內(nèi)置資源,藍牙模塊采用透傳方式與上位機通信,繼電器采用GPIO管腳進行控制,存儲模塊采用標準eeprom進行設(shè)計。為此在整個系統(tǒng)中只需要選型藍牙模塊。
采用獨立封裝的模塊,根據(jù)穩(wěn)定性、易用的需求,選取基于英國CSR公司BlueCore4系列芯片的HC05模塊。該模塊滿足溫度要求,使用簡單,穩(wěn)定性高。
該模塊的原理圖如圖3所示。
圖3 HC05藍牙模塊原理圖
由于整個系統(tǒng)是單機系統(tǒng),不涉及分布式存儲或大量計算,所以采用SQLite作為數(shù)據(jù)庫,QT作為上位機的開發(fā)環(huán)境。
為開發(fā)上述系統(tǒng),采用的QT中非GUI類有:
A.QBluetooth類,用于與STM32系統(tǒng)進行通信,通信內(nèi)容為自定義數(shù)據(jù)格式,自定義數(shù)據(jù)分為數(shù)據(jù)信息、指令信息、判據(jù)文件傳輸指令;
B.QFile類,用于讀取二進制文件判據(jù)文件,為后續(xù)發(fā)送提供幫助;
C.QSql類,用于讀寫SQLite,將STM32傳出的數(shù)據(jù)解析后寫入數(shù)據(jù)庫。
系統(tǒng)測試涉及上位機部分及嵌入式部分,為此采用python語言進行測試,利用python強大的構(gòu)造能力及測試能力進行測試。
對于上位機采取合法數(shù)據(jù)長時間測試及非法數(shù)據(jù)高頻率沖擊測試,驗證其可靠性和健壯性。對于STM32進行合法數(shù)據(jù)長時間測試,確保其穩(wěn)定性。
測試過程及測試結(jié)果如表1所示。
表1 系統(tǒng)測試過程及結(jié)果簡表
針對電臺產(chǎn)品在高低溫測試中采集測試數(shù)據(jù)、保護被測設(shè)備的需求,設(shè)計了基于STM32的高低溫測試中設(shè)備狀態(tài)監(jiān)測管理系統(tǒng),將該系統(tǒng)分為采集模塊、被測設(shè)備通信模塊、無線傳輸模塊、存儲模塊、保護模塊、上位機系統(tǒng),經(jīng)過軟硬件選型及程序編碼,實現(xiàn)了上述系統(tǒng),并利用python中Pybluz、pySerial等模塊進行測試驗證了系統(tǒng)的可行性、穩(wěn)定性,為電臺產(chǎn)品的高低溫測試提供保障,獲取的數(shù)據(jù)為后續(xù)的結(jié)構(gòu)設(shè)計、電路設(shè)計提供反饋數(shù)據(jù)。綜上,該系統(tǒng)可行、穩(wěn)定、可靠,能夠保障電臺產(chǎn)品的高低溫測試中若干需求,也可為其他系統(tǒng)提供設(shè)計參考。
引文
①曹圓圓.基于STM32的溫度測量系統(tǒng)[J].儀器儀表與分析監(jiān)測,2010(1):16-18.
②周博,王石記,邱衛(wèi)東,等.SHUM-UCOS:基于統(tǒng)一多任務(wù)模型可重構(gòu)系統(tǒng)的實時操作系統(tǒng)[J].計算機學(xué)報,2006,29(2):208-218.
③黃嘉成,艾蘇高,黃典昆,等.基于STM32的藍牙智能飲水機設(shè)計[J].裝備制造技術(shù),2017(9):121-124.
④曹燁,姚敏,郭航宇.基于Qt的車載設(shè)備上位機監(jiān)控系統(tǒng)的設(shè)計[J].電子測量技術(shù),2015,38(3):139-143.
⑤杜廣超,郎杰,張祥虎,等.基于Qt的通信波形實現(xiàn)系統(tǒng)上位機軟件設(shè)計[J].電子對抗,2016(1):39-42.
⑥蔣崇武,劉斌,王軼辰,等.基于Python的實時嵌入式軟件測試腳本[J].計算機工程,2009,35(15):64-66.
⑦吳立金,簡陽,張凱,等.基于Python語言的GUI自動化測試腳本技術(shù)研究[J].計算機測量與控制,2015,23(10):3330-3332.