《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于GPRS的嵌入式系統(tǒng)遠(yuǎn)程監(jiān)控和升級(jí)
基于GPRS的嵌入式系統(tǒng)遠(yuǎn)程監(jiān)控和升級(jí)
來(lái)源:電子技術(shù)應(yīng)用2010年第5期
羅 文,, 王莉娜,, 肖 鯤
北京航空航天大學(xué) 自動(dòng)化科學(xué)與電氣工程學(xué)院, 北京100191
摘要: 針對(duì)工作于偏遠(yuǎn)地區(qū)的數(shù)據(jù)采集嵌入式系統(tǒng)的監(jiān)測(cè)維護(hù)和軟件升級(jí)問(wèn)題,,提出了一種基于GPRS網(wǎng)絡(luò)的嵌入式系統(tǒng)遠(yuǎn)程監(jiān)控和軟件升級(jí)方案,。方案由ARM和DSP為核心組成嵌入式系統(tǒng),以電子郵件為載體,,通過(guò)系統(tǒng)對(duì)郵件的讀取和發(fā)送,,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控系統(tǒng)和升級(jí)DSP程序,。實(shí)踐表明,,該設(shè)計(jì)方案具有遠(yuǎn)程監(jiān)控穩(wěn)定性高,、可靠性強(qiáng)的特點(diǎn)。
中圖分類號(hào): TP274 TP393
文獻(xiàn)標(biāo)識(shí)碼: B
Remote monitoring and software upgrade of embedded system based on GPRS
LUO Wen,, WANG Li Na,, XIAO Kun
School of Automation Science and Electrical Engineering,Beijing University of Aeronautics and Astronautics, Beijing 100191,,China
Abstract: To solve the issue of remote monitoring and software upgrades of the data acquisition embedded system which works in remote areas,a plan ,which is based on GPRS network,for the remote monitoring and software upgrades of embedded system has been proposed.The program whose embedded system is composed by ARM and DSP,depends on the embedded system for reading and sending the email in order to monitor the system and updating the program of DSP remotely.The practice proves that the design project has the characteristics of remote monitoring successfully with high stability and reliability.
Key words : GPRS; E-mail; embedded system; remote monitoring; software upgrade

   通用分組無(wú)線服務(wù)技術(shù)GPRS(General Packet Radio Service)是一種移動(dòng)數(shù)據(jù)業(yè)務(wù),該技術(shù)能滿足日常網(wǎng)絡(luò)行為,,具有廣域覆蓋,、高速傳輸?shù)葍?yōu)點(diǎn)。野外作業(yè)的數(shù)據(jù)采集嵌入式系統(tǒng)工作于偏遠(yuǎn)無(wú)人地區(qū),,通常這些采集系統(tǒng)基于GPRS無(wú)線網(wǎng)絡(luò)來(lái)傳輸遠(yuǎn)程數(shù)據(jù),但系統(tǒng)的維護(hù)和升級(jí)受到距離和環(huán)境的較大限制,,不但成本高,,而且周期長(zhǎng)。
 為實(shí)現(xiàn)遠(yuǎn)程監(jiān)測(cè)和升級(jí)野外作業(yè)嵌入式系統(tǒng),,本文提出一種基于GPRS網(wǎng)絡(luò),、以電子郵件為載體的嵌入式系統(tǒng)遠(yuǎn)程監(jiān)控和升級(jí)方案,達(dá)到遠(yuǎn)程修改系統(tǒng)參數(shù),、索取系統(tǒng)自檢報(bào)告,、索取指定數(shù)據(jù)文件和升級(jí)系統(tǒng)主控程序等目的,實(shí)現(xiàn)嵌入式系統(tǒng)的遠(yuǎn)程監(jiān)控與升級(jí),。
   與目前大多數(shù)嵌入式系統(tǒng)遠(yuǎn)程監(jiān)控和升級(jí)的途徑相比,,這種以電子郵件為載體、系統(tǒng)定時(shí)收發(fā)郵件的方法,,實(shí)現(xiàn)了系統(tǒng)的多功能性與靈活性,,同時(shí)較好地滿足了野外作業(yè)嵌入式系統(tǒng)低功耗的要求。
1 系統(tǒng)結(jié)構(gòu)及遠(yuǎn)程監(jiān)控與升級(jí)
1.1 系統(tǒng)結(jié)構(gòu)

 嵌入式系統(tǒng)中的控制部分由ARM芯片(采用基于三星S3C2440-30的ARM9)和DSP芯片(采用TI公司的TMS320VC5509)[1]組成,。ARM和GPRS Modem模塊通過(guò)RS232串口進(jìn)行連接,,系統(tǒng)通過(guò)ARM利用GPRS Modem模塊上網(wǎng)并訪問(wèn)網(wǎng)絡(luò)郵箱,從而進(jìn)行相應(yīng)的操作,。系統(tǒng)結(jié)構(gòu)如圖1所示,。DSP作為主控單元完成數(shù)據(jù)采集和處理,ARM則負(fù)責(zé)數(shù)據(jù)后期處理和網(wǎng)絡(luò)訪問(wèn),。

   ARM是DSP的從設(shè)備,兩者通過(guò)串口通信,。其中,DSP端是多通道緩沖同步串行端口McBSP[2],而ARM端則是異步串口UART,。為了在不增加外部復(fù)雜硬件的條件下實(shí)現(xiàn)兩者通信,,必須統(tǒng)一兩端傳輸數(shù)據(jù)的格式[3]。
 遠(yuǎn)程監(jiān)控與升級(jí)過(guò)程中,,為保證DSP和ARM之間數(shù)據(jù)傳輸?shù)目煽啃耘c穩(wěn)定性,,系統(tǒng)采用CRC8校驗(yàn)的數(shù)據(jù)傳輸方式:數(shù)據(jù)發(fā)送端發(fā)送每組數(shù)據(jù)時(shí)都附帶發(fā)送此組數(shù)據(jù)的CRC校驗(yàn)碼,數(shù)據(jù)接收端收到數(shù)據(jù)后重新計(jì)算數(shù)據(jù)的CRC校驗(yàn)碼,對(duì)兩端得到的CRC校驗(yàn)碼相比較,相等則請(qǐng)求發(fā)送端發(fā)送下一組數(shù)據(jù),,不相等則請(qǐng)求重發(fā)本組數(shù)據(jù),。
1.2 系統(tǒng)遠(yuǎn)程監(jiān)控和升級(jí)的總體流程
 系統(tǒng)遠(yuǎn)程監(jiān)控和升級(jí)的示意圖及整體工作流程分別如圖2,、圖3所示。系統(tǒng)進(jìn)行遠(yuǎn)程監(jiān)控和升級(jí)時(shí),,首先登錄指定郵箱,,分析后獲取命令列表并記錄各命令郵件的內(nèi)容,然后對(duì)命令列表中的每1個(gè)命令進(jìn)行分析,,完成相應(yīng)的任務(wù),,包括:修改系統(tǒng)參數(shù)、發(fā)送系統(tǒng)自檢報(bào)告,、發(fā)送指定數(shù)據(jù)文件和升級(jí)DSP程序,。任務(wù)完成后系統(tǒng)自動(dòng)返回報(bào)告郵件,告知本次操作的情況,。整個(gè)系統(tǒng)基于GPRS網(wǎng)絡(luò),,以電子郵件為載體,通過(guò)系統(tǒng)對(duì)郵件的讀取和發(fā)送,,達(dá)到遠(yuǎn)程監(jiān)控和升級(jí)系統(tǒng)的目的,。

2 系統(tǒng)的遠(yuǎn)程監(jiān)控
 系統(tǒng)的遠(yuǎn)程監(jiān)控,是通過(guò)對(duì)系統(tǒng)中裝有嵌入式操作系統(tǒng)WinCE[4]的ARM進(jìn)行網(wǎng)絡(luò)編程[5],基于GPRS無(wú)線網(wǎng)絡(luò)實(shí)現(xiàn)其對(duì)電子郵件的讀取與發(fā)送,,其中涉及到了最常用的電子郵件收件協(xié)議POP3(Post Office Protocol 3)和發(fā)件協(xié)議SMTP[6](Simple Mail Transfer Protocol),。
2.1 系統(tǒng)遠(yuǎn)程監(jiān)控原理
 如表1所示,系統(tǒng)接收遠(yuǎn)程命令是基于對(duì)命令郵件的讀取,。命令郵件由兩部分構(gòu)成:主題命令和郵件內(nèi)容,。主題命令(即郵件的主題)為單個(gè)小寫英文字母,不同的字母代表著系統(tǒng)將要完成的功能;郵件內(nèi)容則包括了系統(tǒng)的新參數(shù),、需反饋的數(shù)據(jù)文件名,、新的DSP程序等具體數(shù)據(jù)信息。


 系統(tǒng)發(fā)送的郵件包括數(shù)據(jù)文件和報(bào)告文件,,都以電子郵件附件的形式傳送,。數(shù)據(jù)文件反映系統(tǒng)采集的物理數(shù)據(jù)或自身的狀態(tài)信息;報(bào)告文件則是對(duì)每次遠(yuǎn)程監(jiān)控命令的回執(zhí),,表明本次操作是否成功,。
2.2 遠(yuǎn)程監(jiān)控中郵件的讀取和發(fā)送
 系統(tǒng)遠(yuǎn)程監(jiān)控時(shí)檢查郵箱中郵件的流程如圖4所示。所發(fā)送郵件的主題subject即代表了系統(tǒng)需要完成的任務(wù),,例如“修改系統(tǒng)參數(shù)”,、“發(fā)送自檢報(bào)告”、“索取指定文件”和“更新DSP程序”的郵件主題分別是單個(gè)小寫字母a,、b,、c、d,而其余類型主題的郵件都被系統(tǒng)識(shí)別為無(wú)效郵件而濾掉,。因此,,系統(tǒng)在讀取郵件時(shí),先選出符合系統(tǒng)要求的郵件加入命令列表,,再根據(jù)其代表的命令實(shí)現(xiàn)相應(yīng)的功能,。其中,最后一步刪除郵件是為下次讀郵件做準(zhǔn)備,,保證了系統(tǒng)再次讀取的郵件都是最新的,,避免了對(duì)已讀郵件的重復(fù)操作,提高了可靠性,。

 系統(tǒng)以電子郵件附件的形式發(fā)送數(shù)據(jù)文件和報(bào)告文件,。實(shí)驗(yàn)中發(fā)現(xiàn),當(dāng)發(fā)送的郵件小于2 KB時(shí)偶而會(huì)出現(xiàn)發(fā)送“偽成功”的情況,即程序顯示郵件發(fā)送成功,,但郵箱中卻沒(méi)有收到郵件。所以,,在發(fā)送小于2 KB的郵件時(shí),,先用“空格”將其補(bǔ)足2 KB后再發(fā)送。實(shí)驗(yàn)證明,,在進(jìn)行郵件大小補(bǔ)足后,,沒(méi)有再出現(xiàn)過(guò)“偽成功”的現(xiàn)象。
3 系統(tǒng)的遠(yuǎn)程升級(jí)
 系統(tǒng)基于GPRS網(wǎng)絡(luò),,完成對(duì)郵箱中DSP新程序代碼的讀取,,然后利用串口通信和Bootloader技術(shù)實(shí)現(xiàn)DSP程序的遠(yuǎn)程升級(jí)。系統(tǒng)內(nèi)部的ARM和DSP采用串口通信,,統(tǒng)一了兩端收發(fā)數(shù)據(jù)的格式并建立了可靠的數(shù)據(jù)傳輸機(jī)制,,保證了通信的穩(wěn)定性。
3.1 遠(yuǎn)程升級(jí)系統(tǒng)DSP程序原理
 系統(tǒng)采用TI公司的TMS320VC5509芯片作為主控單元,。TMS320VC5509片內(nèi)具有128 KB的高速靜態(tài)RAM,片內(nèi)ROM中固化了引導(dǎo)加載程序Bootloader(簡(jiǎn)稱“DSP5509”),其Bootloader設(shè)置為外部SPI串行啟動(dòng)模式,,外部?jī)?chǔ)存媒介為 Flash。系統(tǒng)上電后,,DSP5509在Bootloader引導(dǎo)下自動(dòng)加載儲(chǔ)存在片外Flash指定地址空間中的程序到片內(nèi)的高速RAM中運(yùn)行,。
 遠(yuǎn)程升級(jí)系統(tǒng)中,DSP程序是基于DSP5509的Bootloader技術(shù)[7]。將新的DSP5509程序按照一定的格式編碼后發(fā)送到系統(tǒng)指定的郵箱中,,系統(tǒng)利用GPRS模塊訪問(wèn)此郵箱并讀取出新程序,,然后將新程序通過(guò)串口發(fā)送給DSP5509且保存到片外Flash的指定地址空間中。發(fā)送和保存結(jié)束后自動(dòng)復(fù)位并重啟DSP5509,,在Bootloader的引導(dǎo)下DSP5509從外部Flash中加載并運(yùn)行新程序,,從而完成DSP5509程序的更新升級(jí)。
3.2 系統(tǒng)遠(yuǎn)程升級(jí)時(shí)的流程
 在系統(tǒng)進(jìn)行遠(yuǎn)程升級(jí)時(shí),內(nèi)部的DSP和ARM之間存在著較大數(shù)據(jù)量的傳送,,必須建立可靠的數(shù)據(jù)傳輸機(jī)制才能保證通信的穩(wěn)定性,。因此,系統(tǒng)將待發(fā)送的數(shù)據(jù)進(jìn)行分割以分組形式傳輸,,即將待發(fā)送的M字節(jié)數(shù)據(jù)分割成(x+1)組發(fā)送,,前x組每次發(fā)送m=M/x個(gè)(M/x取整)字節(jié),最后一組發(fā)送剩下的s=(M-m×x)個(gè)字節(jié)(若M/x為整數(shù),,則只需發(fā)送x組數(shù)據(jù)),。同時(shí),DSP或ARM每次發(fā)送的數(shù)據(jù)格式均為3in1模式,,即:(第1個(gè)字節(jié)表示本次發(fā)送數(shù)據(jù)的字節(jié)數(shù)+中間部分為m或者s字節(jié)的數(shù)據(jù)+最后1個(gè)字節(jié)為數(shù)據(jù)的CRC校驗(yàn)碼),,如圖5所示。

    遠(yuǎn)程升級(jí)DSP程序時(shí),,DSP端程序流程如圖6所示,。ARM將從郵箱中讀取新程序代碼傳送給DSP,數(shù)據(jù)的傳送采用基于CRC8校驗(yàn)的數(shù)據(jù)傳輸方式,。其中,,DSP先將ARM發(fā)送來(lái)的數(shù)據(jù)保存到Flash中(地址為70000h~7FFFFh的sector7中)。在確保DSP正確無(wú)誤地接收完所有從ARM發(fā)送來(lái)的程序代碼后,才將sector7中的數(shù)據(jù)轉(zhuǎn)存到地址為00000h~0FFFFh的sector0中,。sector0是DSP指定外部?jī)?chǔ)存程序的地址空間,,保證了遠(yuǎn)程升級(jí)的可靠性。如果傳輸過(guò)程中重傳次數(shù)超過(guò)上限N,,則說(shuō)明此次傳輸可靠性降低,,系統(tǒng)取消本次升級(jí),保證系統(tǒng)的安全與穩(wěn)定,。

  實(shí)驗(yàn)中,系統(tǒng)準(zhǔn)確識(shí)別和讀取了郵箱中的命令郵件,,根據(jù)命令完成了相應(yīng)任務(wù);系統(tǒng)發(fā)送郵件時(shí),,成功地將數(shù)據(jù)文件和報(bào)告文件以電子郵件附件的形式發(fā)送到指定郵箱,;測(cè)試遠(yuǎn)程升級(jí)功能時(shí),準(zhǔn)確無(wú)誤地實(shí)現(xiàn)了系統(tǒng)的主控程序更新,。整個(gè)遠(yuǎn)程監(jiān)控和升級(jí)的過(guò)程穩(wěn)定,、可靠。
    本系統(tǒng)基于GPRS網(wǎng)絡(luò),、SMTP協(xié)議,、POP3協(xié)議、串口通信和DSP的Bootloader等技術(shù)實(shí)現(xiàn)了嵌入式系統(tǒng)的遠(yuǎn)程監(jiān)控與升級(jí),,既能遠(yuǎn)程修改系統(tǒng)的參數(shù),,又能獲取系統(tǒng)自檢報(bào)告,、指定數(shù)據(jù)文件,并且實(shí)現(xiàn)主控程序的遠(yuǎn)程更新升級(jí),。整個(gè)系統(tǒng)在網(wǎng)絡(luò)通信和串口通信的過(guò)程中都采用了嚴(yán)密的應(yīng)答機(jī)制和數(shù)據(jù)校驗(yàn)規(guī)則,,充分地保證了通信的可靠性和快速性,從而實(shí)現(xiàn)了系統(tǒng)的穩(wěn)定性。實(shí)驗(yàn)證明,,該系統(tǒng)在保證穩(wěn)定性和可靠性的同時(shí),,降低了設(shè)計(jì)成本,縮短了維護(hù)周期,,并且具有良好的擴(kuò)展性,。
參考文獻(xiàn)
[1]    Texas Instruments Incorporated著.TMS320VC55x系列DSP的CPU與外設(shè)[M].北京:清華大學(xué)出版社,2005.
[2]    Texas Instruments, Incorporated. TMS320V5501/5502/5503/5507/5509/5510 DSP(McBSP) reference guide[S]. 2004.
[3]     張坤,張冠勇,王樹(shù)勛.McBSP在DSP與PC機(jī)通信中的研究與設(shè)計(jì)[J].電子設(shè)計(jì)應(yīng)用,2003,2(7):28-30.
[4]     何宗鍵.Windows CE嵌入式系統(tǒng)[M].北京:北京航空航天大學(xué)出版社,2006.
[5]     周立功.ARM&WinCE實(shí)驗(yàn)與實(shí)踐——基于S3C2410[M]. 北京:北京航空航天大學(xué)出版社,2007.
[6]     付祝財(cái),楊莘元,王陽(yáng).電子郵件SMTP/POP3收發(fā)協(xié)議的研究與實(shí)現(xiàn)[J].信息技術(shù),2004,28(8):57-59.
[7]     徐勝,管慶.TMS320C5000的Bootloader技術(shù)[J].電子產(chǎn)品世界,2003,10(03A):41-44.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。