新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于GPRS的嵌入式系統遠程監控和升級

        基于GPRS的嵌入式系統遠程監控和升級

        作者: 時間:2010-07-07 來源:網絡 收藏

        2.1 原理
         如表1所示,接收遠程命令是對命令郵件的讀取。命令郵件由兩部分構成:主題命令和郵件內容。主題命令(即郵件的主題)為單個小寫英文字母,不同的字母代表著將要完成的功能;郵件內容則包括了系統的新參數、需反饋的數據文件名、新的DSP程序等具體數據信息。

        本文引用地址:http://www.104case.com/article/151736.htm


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

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

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

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 双峰县| 漳州市| 高清| 陈巴尔虎旗| 云安县| 安国市| 舞阳县| 蓬安县| 兴隆县| 长兴县| 苍溪县| 柳州市| 卓尼县| 葵青区| 高清| 紫阳县| 湄潭县| 湖南省| 连城县| 诸暨市| 河西区| 屯昌县| 浦城县| 房产| 延川县| 嘉兴市| 柞水县| 乐平市| 盐池县| 九江县| 旺苍县| 社会| 泰顺县| 周口市| 盈江县| 泾川县| 镇宁| 库伦旗| 梨树县| 盘锦市| 陵川县|