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