《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于GPRS的嵌入式系統(tǒng)遠程監(jiān)控和升級
基于GPRS的嵌入式系統(tǒng)遠程監(jiān)控和升級
來源:電子技術應用2010年第5期
羅 文, 王莉娜, 肖 鯤
北京航空航天大學 自動化科學與電氣工程學院, 北京100191
摘要: 針對工作于偏遠地區(qū)的數(shù)據(jù)采集嵌入式系統(tǒng)的監(jiān)測維護和軟件升級問題,提出了一種基于GPRS網(wǎng)絡的嵌入式系統(tǒng)遠程監(jiān)控和軟件升級方案。方案由ARM和DSP為核心組成嵌入式系統(tǒng),以電子郵件為載體,通過系統(tǒng)對郵件的讀取和發(fā)送,實現(xiàn)遠程監(jiān)控系統(tǒng)和升級DSP程序。實踐表明,該設計方案具有遠程監(jiān)控穩(wěn)定性高、可靠性強的特點。
中圖分類號: TP274 TP393
文獻標識碼: 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

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

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

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

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


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

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

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

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

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