盧名哲
摘要:針對目前煤礦安檢系統升級以及后期維護難等問題,提出基于STM32遠程升級系統,實現煤礦安檢分站的遠程升級及其系統維護等問題。首先完成STM32F104中的IAP技術,在現有的基礎中提出斷點傳輸以及雙鏈路的設計思想,提高系統的性能,完成安檢分站系統的遠程更新。該方案主要解決了煤礦安檢分站目前系統需要現場下載的不便以及一些遠程升級系統的不可靠性,大大提高了升級程序過程中的安全與糾錯的能力,在實際應用中具有一定的價值。
關鍵詞:煤礦安檢分站;STM32;雙鏈路傳輸
中圖分類號:TP368.1 文獻標識碼:A 文章編號:1007-9416(2017)03-0098-02
Abstract:In view of the present coal mine security system upgrade and maintenance difficult problem, put forward based on the STM32 remote upgrade system, realize the coal mine security problem such as substation remote system upgrade and maintenance. First complete the STM32 IAP in technology, in the basis of the existing breakpoint transmission and double link is proposed, to improve the performance of the system, complete security substation remote update of the system. The plan is mainly to solve the scene of the substation current coal mine security system needs to download the inconvenience and some remote upgrade system reliability, greatly improving the security and the ability of error correction in the process of the upgrade process, has certain value in practice.
Key Words: Coal mine security substation; STM32; The double link transmission
1 引言
目前煤礦的安全監(jiān)測系統中的升級過程十分的不便,很多仍采用將礦井下的設備拿到地面完成設備的現場升級,完成升級后將設備放回井內,這種方法不僅操作起來比較麻煩,而且長期的拆卸設備也可能對井下工作以及升級的設備所監(jiān)管的區(qū)域帶來安全隱患,同時浪費大量的人力。目前市場中也有一些遠程升級設備,由于礦井的環(huán)境特殊,常常會出現信號盲區(qū),給升級任務帶來困難,不僅造成數據丟失甚至可能造成升級任務失敗[1]。
當前,在嵌入式遠程升級系統中大多數采用GPRS完成數據的遠程傳輸,其不僅低成本與低功耗,而且安全,能夠實現24小時在線以及覆蓋范圍大的優(yōu)點,但是由于礦井的環(huán)境特殊,常常會出現網絡不穩(wěn)定以及服務器出現異常等情況,都會對升級任務造成任務的失敗[2][3]。所以針對上述情況,在系統中增加了雙鏈路以及斷點傳輸以及TEA加密的技術[4],大大的增加了遠程升級程序的安全性與穩(wěn)定性,同時節(jié)省了時間以及人力等,在實際應用中,能夠有效的保證煤礦的安全生產。
2 ISP與IAP技術原理
在當前的嵌入式技術中,主要存在兩種在線編程方式,一種是IAP(在應用中編程),另一種是(在系統中編程),在應用ISP技術的過程中,需要專用的串口完成對內部的Flash進行讀或者寫操作,往往需要將硬件設備返廠進行程序升級[5]。
而在IAP技術中,其主要將MSCU內部的Flash結構映射成兩個存儲單元,當一個存儲單元運行程序時,可以對另一個存儲單元進行程序的讀寫等操作,之后將控制指針從運行中的存儲體單元轉向重新讀/寫完畢的存儲體。
ISP技術與IAP技術比較而言,ISP程序升級相對比較麻煩,需要返廠操作,而IAP技術只需要設計專門的固件即可完成內部存儲器的編程,并且不需要硬件,所以在嵌入式系統中應用IAP技術大大提高了系統的可擴展性與可維護性,增加了煤礦安檢分站遠程升級的靈活性[6]。
3 煤礦安檢分站遠程升級實現
升級設備主要包括了上位機、服務器、發(fā)射設備等。發(fā)射設備與煤礦安檢分站設備用戶群主要的通訊方式采用GPRS作為數據傳輸的媒介,可實現同時對多個用戶進行升級任務[7]。
3.1 系統的硬件系統設計
本系統主要通過GPRS實現數據幀的無線傳輸,需要完成系統的硬件設計,該硬件設計主要包括了STM32104的最小系統、GPRS外圍接收電路,最小系統與GPRS的數據交換采用CAN總線。
在對設備進行升級操作時,系統通過無線模塊GTM900模塊完成數據的收發(fā),同時在系統中加了CAN總線,因為一個CAN總線上可添加多個從機,大大增加了系統的工作效率。同時通過RAM完成需要升級的程序緩存。
3.2 TEA加密解密設計
當在系統進行終端設備遠程升級的過程中,數據幀在通過GPRS傳輸的過程中,可能會受到周圍環(huán)境的影響,特別在礦井特殊的環(huán)境中,數據會受到更方面的干擾如數據的截斷、篡改以及中斷等干擾,所以針對上述可能出現的情況,需要對傳輸的數據幀進行加密處理,實現數據的安全傳輸。
目前,采用TEA加密方法,其優(yōu)勢在于不僅軟件易實現,通過硬件也容易實現,而且密文很難破解,保密性特別好,滿足系統數據傳輸對速度以及碼長長度的要求。
3.3 程序的斷點傳輸設計
由于在對系統進行升級的過程中常會遇到其他信號的干擾以及GPRS信號覆蓋不到設備導致系統升級任務的失敗,因此當故障發(fā)生時,會導致新版本的程序不能在Flash中編寫,所以新版本程序無法在設備中運行[8][9]。除此之外,由于已經執(zhí)行了新升級任務,在設備中會有記錄,當再次重啟設備時,此時會造成系統死機現象的發(fā)生,無法啟動設備。針對此現象在程序升級的過程中添加了斷點傳輸的功能。
首先:當系統發(fā)出升級命令后,系統先不對更新區(qū)進行更新處理,當完成升級任務后,在對系統進行標志區(qū)進行修改,通過此操作流程能夠避免系統升級失敗后,系統依然運行老版本程序。
其次:完成升級標志的設置,完成程序的運行狀態(tài)以及升級程序的位置標志。當系統終斷發(fā)生時,對信息位置進行查詢,當發(fā)現未完成升級任務時,當系統在此升級時,會再次跳到上次中斷的位置完成未完成程序的升級任務[10]。
最后:當從機完成系統的升級任務后,將會對標志區(qū)的相關信息進行修改,下次將執(zhí)行升級后的程序,通過斷點續(xù)傳的方法能夠加大系統升級效率同時也避免了死機現象的發(fā)生。
4 實驗結果驗證
在進行系統升級時,首先將程序烤錄到服務器中,然后通過上位機的客戶端進行用戶登錄,獲取本地的IP以及完成端口的設置,當點擊開始升級時,系統將進行升級任務。
通過該設備實現現有的礦井安全分檢站的檢測設備進行升級,新版本的程序大小為256KB,通過服務器的上位機完成操作,實現對STM32運行狀態(tài)進行升級,數據的傳輸速率大小為115200bit/s,對系統進行了20次的升級實驗,均成功,最終計算得到的系統平均時間為6分鐘左右,同時在傳輸的過程中,人為將主服務器中斷工作,此時備用服務器繼續(xù)完成升級任務,升級任務并沒有受到主設備故障的干擾。通過反復的實驗證明,該方案安全可靠,能夠快速的實現礦井下的設備升級任務。
5 結語
在本方案中,提出了一種基于IAP的煤礦分檢站的遠程升級系統,在系統中主要采用STM32104VC作為系統的控制芯片,并且在系統中加入雙鏈路以及斷點傳輸等核心思想,大大提高了系統的安全性及其可靠性,通過本方案不僅可以通過無線通信的方式完成設備的遠程升級任務,而且也降低了人力以及避免了拆卸設備造成的損害。經過實驗結果證明證明,系統不僅傳輸性能可靠而且速度較大的提高,具有很好的實際應用價值。
參考文獻
[1]趙會賓,田慶春.利用LPC2114的IAP功能實現程序遠程更新[J].無線電工程,2006(7):53-55.
[2]楊婷,黃韜,謝亮.基于STM32微控制器的智能手環(huán)的設計[J].科技廣場,2016(08).
[3]Alexander Schader.Embedded processing demandsof in-car multimedia.Technical feature. AutoElectronics.2007.
[4]王曉程,劉恩德,謝小權.攻擊分類研究與分布式網絡入侵檢測系統[J].計算機研究與發(fā)展,2006,3(86):727-734.
[5]雷衛(wèi)延,敖振浪,周欽強.基于STM32的在應用編程(IAP)開發(fā)[J].電子測量技術,2015(05).
[6]丁鵬飛,法林.STM32F205VB在遠程系統升級中的應用[J].自動化儀表,2014(05).
[7]溫世堅,張偉波.基于STM32的遠程升級系統的設計[J].科技廣場,2013(05).
[8]李興鶴,蔡亮,宋吉波,王鵬,金辛海,時迎亮.STM32用戶基于IAP的程序更新技術[J].單片機與嵌入式系統應用,2012(01).
[9]顏秋男,胡毅.STM32F103VB的SD卡在應用編程設計[J].單片機與嵌入式系統應用,2012(02).
[10]王黨利,寧生科,馬保吉.基于STM32F10X引導程序實現USB在應用中編程[J].國外電子測量技術,2010(11).