本實用新型屬于儀器儀表技術和無線通信技術領域,涉及一種基于IAP技術和GPRS模塊的以STM32為核心的儀器儀表遠程在線升級裝置。
背景技術:
以STM32微控制器為控制核心的儀器儀表廣泛應用于工控領域,由于一些設備工作環境的特殊性,不利于現場升級。利用GPRS模塊和IAP技術,可為以STM32微控制器為控制核心的儀器儀表程序遠程在線升級提供一種良好的解決方案。
在應用編程(IAP)技術為系統在線升級和遠程升級提供了良好的解決方案,也為數據存儲和現場固件的升級帶來了極大的靈活性。通常可利用微處理器的串行口接到計算機的RS232口、通過現有的Internet、無線網絡或者其他通信方式很方便地實現在線以及遠程升級和維護。
技術實現要素:
本實用新型的目的是提供一種基于IAP技術和GPRS模塊的儀器儀表在線升級裝置,能對不利于現場升級的以STM32微控制器為控制核心的儀器儀表進行遠程在線升級。
為實現上述目的,本發明所采用的技術方案是:一種基于IAP技術和GPRS模塊的儀器儀表在線升級裝置,包括相連接的GPRS模塊和可接入互聯網的計算機,使用時,將GPRS模塊與以STM32為核心的儀器儀表相連接。
本實用新型基于在線升級裝置采用GPRS模塊作為儀器儀表與互聯網通信的媒介,通過STM32微控制器的任意一個串口與GPRS模塊的串口相連接,完成互聯網傳輸出的設備操作指令和升級數據在儀器儀表上的接收和執行,實現工作環境特殊不能現場升級的以STM32為核心的儀器儀表的遠程在線升級。
附圖說明
圖1是本實用新型在線升級裝置的結構示意圖。
圖2是本實用新型在線升級裝置的使用狀態圖。
圖3是用本實用新型在線升級裝置時,GPRS模塊與需升級儀器儀表的串口連接示意圖。
圖4是本實用新型在線升級裝置的底層Bootloader設計框圖。
圖1中:1. GPRS模塊,2.可接入互聯網的計算機,3.以STM32為核心的儀器儀表。
具體實施方式
下面結合附圖和具體實施方式對本實用新型作進一步說明。
如圖1所示,本實用新型在線升級裝置,包括相連接的GPRS模塊1和可接入互聯網的計算機2。
需要對工作環境特殊而不能現場升級的以STM32為核心的儀器儀表3進行升級時,將GPRS模塊1與該以STM32為核心的儀器儀表3相連接,如圖2所示。GPRS模塊1與以STM32為核心的儀器儀表3的串口連接,如圖3所示,以STM32為核心的儀器儀表3的串口發送引腳TX與GPRS模塊1的串口接收引腳RX相接,以STM32為核心的儀器儀表3的串口接收引腳RX與GPRS模塊2的串口發送引腳TX相接,以STM32為核心的儀器儀表3的引腳RESET_OUT(引腳RESET_OUT可以是STM32F103系列微處理器任意一個沒有使用的IO口,如:PA0、PB1、PC2等)與GPRS模塊1的復位引腳RESET相接(以STM32為核心的儀器儀表3的串口接收引腳RX和發送引腳TX可為STM32F103系列微處理器的任意一對串口接收引腳,如:STM32F103ZET6的USART1,PA9為串口發送引腳,PA10為串口接收引腳;STM32F103VCT6的USART3,PB10為串口發送引腳,PB11為串口接收引腳。以STM32為核心的儀器儀表3的引腳RESET_OUT可為STM32F103系列微處理器的任意一個IO口,GPRS模塊1的復位引腳RESET低電平有效)。
當以STM32為核心的儀器儀表3的程序需要更新時,通過可接入互聯網的計算機2發送升級指令和程序升級包,GPRS模塊1通過無線網絡進行數據透傳,以STM32為核心的儀器儀表3串口接收到GPRS模塊1串口傳送的升級指令后,系統復位并開啟定時器等待數據的接收;此時,如果可接入互聯網的計算機2有程序升級包發送過來,GPRS模塊1通過無線網絡的進行數據透傳后,以STM32為核心的儀器儀表3的串口開始接收更新數據并校驗存儲;數據接收完畢并且校驗正確之后,程序升級包覆蓋設備原代碼,從而實現程序的遠程更新。為了保證數傳輸的可靠性,GPRS模塊1內置TCP/IP協議進行數據完全透傳。
完全透傳模式也就是通過互聯網實現用戶設備與服務器中信建的數據收發。工作過程:GPRS模塊1上電后,模組按照設置的服務器地址和端口主動和數據中心服務器連接,連接上后會立刻向服務器發送ID包,ID包可以讓服務器識別當前模塊的ID;GPRS模塊發送ID包后,服務器和GPRS模塊1之間可透明傳輸任意數據,保證了數據的正確性。
如圖4所示,本實用新型基于IAP技術和GPRS模塊的以STM32為核心的儀器儀表遠程在線升級裝置的底層Bootloader設計框圖。以STM32為核心的儀器儀表3程序需要更新時,可接入互聯網的計算機2就發送升級指令和程序升級包,通過GPRS模塊1的進行數據透傳,以STM32為核心的儀器儀表3串口接收到升級指令后系統復位并開啟定時器等待數據的接收;此時如果可接入互聯網的計算機2有程序升級包發送過來,通過GPRS模塊1的進行數據透傳后,以STM32為核心的儀器儀表3的串口開始接收更新數據并校驗存儲;數據接收完畢并且校驗正確之后,程序升級包覆蓋原代碼,從而實現程序的遠程更新;如果數據接受失敗或數據校驗失敗,以STM32為核心的儀器儀表3執行源代碼。
以STM32為核心的儀器儀表3的主控芯片預裝此Bootloader,本Bootloader使用多種校驗技術,最大限度的保障傳輸數據的正確性;使用bootloader機制,即使因意外事件(斷電,編程Flash失敗等)造成升級失敗后,程序也能返回到升級前的狀態,不至于因為升級失敗,造成設備癱瘓。