當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于GPRS的嵌入式系統(tǒng)遠(yuǎn)程監(jiān)控和升級(jí)

通用分組無(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)。[!--empirenews.page--]
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ā)送成功,但郵箱中卻沒有收到郵件。所以,在發(fā)送小于2 KB的郵件時(shí),先用“空格”將其補(bǔ)足2 KB后再發(fā)送。實(shí)驗(yàn)證明,在進(jìn)行郵件大小補(bǔ)足后,沒有再出現(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)定。[!--empirenews.page--]

  實(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]     張坤,張冠勇,王樹勛.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.

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉