999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)軟件高效遠(yuǎn)程更新方法設(shè)計(jì)

2013-04-12 00:00:00劉沖等
現(xiàn)代電子技術(shù) 2013年19期

摘 要: 以MSP430F149單片機(jī)為例,針對無線傳感網(wǎng)絡(luò)中節(jié)點(diǎn)軟件維護(hù)與更新成本較高的難題,設(shè)計(jì)了一種無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)軟件遠(yuǎn)程更新方法。通過程序文件差異比較、變格式傳輸和數(shù)據(jù)壓縮提高了遠(yuǎn)程更新效率,通過程序冗余存儲和強(qiáng)制更新提高了遠(yuǎn)程更新的可靠性。經(jīng)過高速鐵路現(xiàn)場應(yīng)用情況表明,該方法可顯著降低節(jié)點(diǎn)維護(hù)更新成本、遠(yuǎn)程更新穩(wěn)定可靠,適于推廣。

關(guān)鍵詞: 無線傳感網(wǎng)絡(luò); 節(jié)點(diǎn)軟件遠(yuǎn)程更新; MSP430F149; 強(qiáng)制更新

中圖分類號: TN98?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2013)19?0037?03

0 引 言

無線傳感網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)是利用傳感器獲取被感知物理對象的信息,通過無線通信將獲取的感知信息傳送給遠(yuǎn)端的監(jiān)控終端,并在通信中間環(huán)節(jié)或終端對數(shù)據(jù)進(jìn)行壓縮、融合、分析等處理的一種無線通信網(wǎng)絡(luò)。WSN使用方便靈活,可以實(shí)現(xiàn)重大裝備、交通運(yùn)輸?shù)阮I(lǐng)域中的關(guān)鍵指標(biāo)監(jiān)測、安全預(yù)警等[1]。在無線傳感網(wǎng)絡(luò)中,節(jié)點(diǎn)負(fù)責(zé)感知、采集和處理感知對象的物理信息,是整個(gè)無線傳感網(wǎng)絡(luò)中最重要的一環(huán),節(jié)點(diǎn)的軟硬件研究是無線傳感網(wǎng)絡(luò)設(shè)計(jì)的重點(diǎn)。無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)一般是被隨機(jī)部署至惡劣環(huán)境中,不易取回。但節(jié)點(diǎn)的設(shè)計(jì)研究,尤其是軟件部分,不可能是一步到位的,需根據(jù)使用者的需求及時(shí)的對節(jié)點(diǎn)軟件進(jìn)行更新[2]。傳統(tǒng)的更新方法是取回節(jié)點(diǎn),通過下載器對節(jié)點(diǎn)軟件進(jìn)行更新,該方法受設(shè)備、更新地點(diǎn)和操作人員的限制。目前較先進(jìn)的更新技術(shù)是通過物理總線與無線設(shè)備協(xié)同作業(yè)將編譯器生成的程序文件直接寫入MCU的ROM中[3]。此方法只需節(jié)點(diǎn)與網(wǎng)關(guān)在應(yīng)用層實(shí)現(xiàn)連接,無需對硬件做任何改動即可實(shí)現(xiàn)節(jié)點(diǎn)軟件更新,但此方法存在可靠性低、傳輸效率不高等問題。針對此問題,本文基于MSP430F149單片機(jī),設(shè)計(jì)了一種無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)軟件高效更新方法,本方法采取程序文件差異、可變格式傳輸比較等措施提高了數(shù)據(jù)傳輸效率,通過強(qiáng)制更新等措施提高了節(jié)點(diǎn)軟件遠(yuǎn)程更新的可靠性。

1 系統(tǒng)概述

本無線傳感網(wǎng)絡(luò)由節(jié)點(diǎn)、網(wǎng)關(guān)、服務(wù)器、數(shù)據(jù)庫、客戶端等組成,其組成及結(jié)構(gòu)如圖1所示。

節(jié)點(diǎn)的主控制器(MCU)采用TI公司的MSP430F149單片機(jī),MSP430F149單片機(jī)是一款超低功耗的16位單片機(jī),采用了精簡指令集(RISC)結(jié)構(gòu),具有豐富的尋址方式和大量的片內(nèi)存儲器。MSP430F149的具有60 KB的程序ROM(FLASH)和2 KB的RAM,能夠完全滿足系統(tǒng)程序駐留和用戶程序存儲的要求[3]。

MSP430F149的程序存儲在FLASH中,其FLASH可在正常工作電壓下擦寫。因此只要對MSP430F149的FLASH的存儲內(nèi)容進(jìn)行更新即可實(shí)現(xiàn)對節(jié)點(diǎn)軟件的遠(yuǎn)程更新。本文為提高節(jié)點(diǎn)運(yùn)行的可靠性,在FLASH中存儲一個(gè)更新引導(dǎo)程序和兩個(gè)應(yīng)用程序。當(dāng)某應(yīng)用程序更新失敗時(shí),節(jié)點(diǎn)自動運(yùn)行另一應(yīng)用程序,從而保證節(jié)點(diǎn)的正常工作。

對節(jié)點(diǎn)軟件進(jìn)行遠(yuǎn)程更新時(shí),擁有管理員權(quán)限的用戶首先向程序開發(fā)人員索取欲更新程序文件,然后在客戶端通過節(jié)點(diǎn)遠(yuǎn)程更新軟件將程序數(shù)據(jù)按照預(yù)定協(xié)議更新至節(jié)點(diǎn)的內(nèi)部FLASH。節(jié)點(diǎn)的更新引導(dǎo)程序與客戶端進(jìn)行程序數(shù)據(jù)交互,完成節(jié)點(diǎn)軟件遠(yuǎn)程更新。

2 更新流程

2.1 程序數(shù)據(jù)格式

本文對MSP430F149的程序編譯采用IAR公司提供的MSP430系列單片機(jī)的集成開發(fā)和調(diào)試環(huán)境IAR Embedded Workbench。其可生成txt格式程序文件,其樣式如下:

“@”后的“3000”表示后面的程序數(shù)據(jù)從3 000地址后依次寫入MSP430F149的FLASH,每一個(gè)“@”對應(yīng)一個(gè)中斷向量,“q”表示程序文件結(jié)束。只需將程序文件里的數(shù)據(jù)按地址寫入FLASH的相應(yīng)位置,即可實(shí)現(xiàn)節(jié)點(diǎn)軟件的更新[4?5]。

2.2 節(jié)點(diǎn)軟件更新流程

節(jié)點(diǎn)正常情況下運(yùn)行的是應(yīng)用程序。用戶欲對節(jié)點(diǎn)軟件進(jìn)行遠(yuǎn)程更新時(shí),選中節(jié)點(diǎn)后,用戶首先選取相應(yīng)的程序更新文件,然后點(diǎn)擊節(jié)點(diǎn)軟件遠(yuǎn)程更新按鈕。節(jié)點(diǎn)在收到更新命令后進(jìn)入更新引導(dǎo)程序,并向上位機(jī)索要程序數(shù)據(jù)。上位機(jī)軟件收到該命令后判斷并下發(fā)相應(yīng)的數(shù)據(jù),判斷是否更新完成。具體更新過程分為以下七步:

(1)客戶端發(fā)送節(jié)點(diǎn)遠(yuǎn)程更新命令。

(2)節(jié)點(diǎn)收到更新命令后將更新標(biāo)志位置1,回復(fù)后程序指針PC指向復(fù)位向量。

(3)節(jié)點(diǎn)程序重新運(yùn)行,檢測更新標(biāo)志位,跳轉(zhuǎn)到更新程序后向客戶端索要程序數(shù)據(jù)。

(4)客戶端節(jié)點(diǎn)遠(yuǎn)程更新軟件讀取、處理并發(fā)送程序數(shù)據(jù)。

(5)節(jié)點(diǎn)解析程序數(shù)據(jù),擦除相應(yīng)的FLASH后寫入新的程序數(shù)據(jù)并向客戶端繼續(xù)索要。

(6)客戶端判斷程序數(shù)據(jù)是否全部發(fā)送完畢,如果發(fā)送完畢,則發(fā)送節(jié)點(diǎn)軟件更新完成指令,否則繼續(xù)發(fā)送程序數(shù)據(jù)。

(7)節(jié)點(diǎn)判斷是否為更新完成指令,如果是,則判斷程序數(shù)據(jù)是否完整,并選擇是否跳入新的應(yīng)用程序;如果不是,則繼續(xù)重復(fù)步驟(3)~(7)。

3 高效更新設(shè)計(jì)

程序數(shù)據(jù)在無線傳輸過程易受到電磁干擾,導(dǎo)致數(shù)據(jù)阻塞和丟失[1]。為提高傳輸效率,本文主要采用以下三種措施來提高節(jié)點(diǎn)軟件遠(yuǎn)程更新的效率。

3.1 程序文件差異比較

一個(gè)小的程序文件可以從根本上減少遠(yuǎn)程更新時(shí)間、提高更新效率[6]。一般情況下對節(jié)點(diǎn)的軟件進(jìn)行維護(hù)更新時(shí)只是對部分功能進(jìn)行更新,生成的新程序與節(jié)點(diǎn)正在運(yùn)行的舊程序內(nèi)容差異不大,沒有必要對節(jié)點(diǎn)的程序進(jìn)行完全更新。因此本文對節(jié)點(diǎn)軟件進(jìn)行遠(yuǎn)程更新時(shí),首先對新舊程序文件進(jìn)行差異比對,刪除新舊程序文件中相同的內(nèi)容,保留差異的內(nèi)容,并重新計(jì)算差異內(nèi)容在FLASH中存儲的地址,從而生成數(shù)據(jù)量較少的程序文件

3.2 變格式傳輸

3.3 數(shù)據(jù)壓縮

通過分析程序數(shù)據(jù)發(fā)現(xiàn),程序數(shù)據(jù)可分為以下三類:自定義變量的初始化值、寄存器的地址及寄存器的設(shè)定值。對于自定義變量的初始化值,可以將其設(shè)定為需要的值以便于壓縮,但是寄存器的地址及設(shè)定值則毫無規(guī)律可言,此時(shí)對其進(jìn)行壓縮可能導(dǎo)致越壓越大的反效果。因此本文對于程序文件采用基于變長編碼的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮方法對程序數(shù)據(jù)進(jìn)行有選擇性的壓縮[7]。首先對程序數(shù)據(jù)進(jìn)行試壓縮,只有壓縮成功顯著的數(shù)據(jù)幀才對其進(jìn)行壓縮傳輸,并采用標(biāo)識字節(jié)的某位對該幀程序數(shù)據(jù)是否進(jìn)行了壓縮進(jìn)行標(biāo)識。

經(jīng)過改進(jìn)后的更新效率提升見表1。

4 可靠性設(shè)計(jì)

無線傳感網(wǎng)絡(luò)工作環(huán)境復(fù)雜多變,影響無線通信質(zhì)量的因素較多,節(jié)點(diǎn)軟件遠(yuǎn)程更新的可靠性難以保證。因此本文對提高節(jié)點(diǎn)軟件遠(yuǎn)程更新的可靠性進(jìn)行了設(shè)計(jì)研究。

4.1 程序冗余存儲

程序數(shù)據(jù)冗余存儲是指在MSP430F149的FLASH中存儲多個(gè)應(yīng)用程序,由單片機(jī)的更新引導(dǎo)程序通過標(biāo)志位判斷執(zhí)行哪個(gè)應(yīng)用程序。對節(jié)點(diǎn)軟件進(jìn)行更新時(shí),只對某個(gè)應(yīng)用程序進(jìn)行更新,一旦更新失敗,更新引導(dǎo)程序自動修改標(biāo)志位,執(zhí)行冗余的應(yīng)用程序,從而保證節(jié)點(diǎn)的正常工作。圖3為單片機(jī)FLASH中程序存儲圖。

4.2 強(qiáng)制更新

由于節(jié)點(diǎn)絕大部分時(shí)間是在運(yùn)行應(yīng)用程序,所以上位機(jī)給節(jié)點(diǎn)發(fā)送遠(yuǎn)程更新命令時(shí),節(jié)點(diǎn)應(yīng)在應(yīng)用程序中響應(yīng)。但是由于兩個(gè)應(yīng)用程序在無線傳輸過程中和使用過程中有可能受到強(qiáng)磁干擾等未知的干擾而導(dǎo)致程序遭到破壞,因此,本系統(tǒng)為了增加節(jié)點(diǎn)軟件遠(yuǎn)程更新的可靠性,增加了強(qiáng)制更新功能:客戶端設(shè)置無線通信模塊的強(qiáng)制更新管腳為低電平,然后通過無線通信模塊復(fù)位單片機(jī),節(jié)點(diǎn)單片機(jī)在重啟后首先檢測強(qiáng)制更新管腳電平的高低狀態(tài),若該管腳為低電平,則不再判斷標(biāo)志位,自動進(jìn)入更新函數(shù)對節(jié)點(diǎn)的應(yīng)用程序進(jìn)行更新,從而避免了標(biāo)志位判斷異常導(dǎo)致無法遠(yuǎn)程更新情況的出現(xiàn)。采取強(qiáng)制更新措施后,節(jié)點(diǎn)軟件的可靠性提高了74%,即只要更新引導(dǎo)程序不被破壞,就可實(shí)現(xiàn)節(jié)點(diǎn)軟件遠(yuǎn)程更新。

5 結(jié) 論

本文根據(jù)無線傳感網(wǎng)絡(luò)的特點(diǎn)及節(jié)點(diǎn)軟件遠(yuǎn)程更新的需求,利用現(xiàn)有的無線傳感網(wǎng)絡(luò)設(shè)備,無需對節(jié)點(diǎn)硬件做任何改動,設(shè)計(jì)了一種無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)軟件高效遠(yuǎn)程更新方法,降低了無線傳感節(jié)點(diǎn)軟件的更新維護(hù)成本。目前,該方法已在電磁環(huán)境極為惡劣的京津高鐵某段試用,經(jīng)過近一年的現(xiàn)場實(shí)際應(yīng)用結(jié)果表明:該更新方法效果顯著,遠(yuǎn)程更新效率和可靠性高,降低了節(jié)點(diǎn)更新維護(hù)成本。該更新方法適用于對其他可自編程的嵌入式設(shè)備,具有很高的實(shí)用性和通用性。

注:本文通信作者為張志新。

參考文獻(xiàn)

[1] 徐征,張華.無線傳感網(wǎng)中的節(jié)點(diǎn)分組控制策略[J].傳感器與微系統(tǒng),2013,32(1):63?68.

[2] 朱飛龍,楊鳴.基于IAP功能單片機(jī)的遠(yuǎn)程更新系統(tǒng)設(shè)計(jì)[J].機(jī)電工程,2010,27(9):76?79.

[3] 于榮榮.鋼軌應(yīng)變實(shí)時(shí)監(jiān)測節(jié)點(diǎn)的研究[D].大連:大連理工大學(xué),2012.

[4] 陶維青,王付軍.基于GPRS網(wǎng)絡(luò)的MSP430單片機(jī)FLASH遠(yuǎn)程更新方法[J].電測與儀表,2007,44(7):33?36.

[5] 唐文,劉芳伶.MSP430系列單片機(jī)軟件在線升級設(shè)計(jì)與實(shí)現(xiàn)[J].通信技術(shù),2012,45(1):144?146.

[6] 徐洪全.嵌入式鋼軌振動監(jiān)測節(jié)點(diǎn)設(shè)計(jì)[D].大連:大連理工大學(xué),2012.

[7] 大連理工大學(xué).一種基于變長編碼的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮方法:中國,201210461346.2[P].2012?11?15.

[8] 陳萬里.基于無線傳感器網(wǎng)絡(luò)的監(jiān)測系統(tǒng)研究[D].哈爾濱:哈爾濱工程大學(xué),2010.

[9] 霍文文.無線傳感器網(wǎng)絡(luò)在線升級系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2012.

[10] 劉梁,李東旭.一種無線傳感器軟件非接觸升級的方法[J].嵌入式技術(shù),2010,37(3):45?47.

主站蜘蛛池模板: 99精品在线看| 国产高清无码第一十页在线观看| 国产午夜福利在线小视频| 激情亚洲天堂| 国产精品美女免费视频大全| 真实国产乱子伦高清| 久久无码高潮喷水| 熟妇丰满人妻av无码区| www.av男人.com| 免费在线国产一区二区三区精品| 国产精品第页| 在线观看国产精美视频| 久久久91人妻无码精品蜜桃HD| 午夜欧美理论2019理论| 亚洲视频三级| 亚洲精品手机在线| 精品无码国产自产野外拍在线| 久久中文字幕不卡一二区| 国产SUV精品一区二区6| 精品国产女同疯狂摩擦2| 亚洲国产亚综合在线区| 欧美日本不卡| 国产午夜福利亚洲第一| 美女一区二区在线观看| 久久久久久久蜜桃| 日韩第一页在线| 成人午夜天| 日韩精品一区二区三区swag| 欧美一区二区自偷自拍视频| 国产一级二级三级毛片| 亚洲精品视频在线观看视频| 超碰色了色| 国产在线一区视频| 青青青伊人色综合久久| av尤物免费在线观看| 国产欧美日韩精品综合在线| 日韩欧美在线观看| 国产无套粉嫩白浆| 人妻熟妇日韩AV在线播放| 思思99热精品在线| 色哟哟国产精品| 亚洲视频一区| 精品久久国产综合精麻豆| 精品国产三级在线观看| 国产精品成人免费视频99| 欧美午夜网站| 国产日韩av在线播放| 国产精品久久久久久影院| 亚洲不卡av中文在线| 国产亚洲精品97AA片在线播放| 久久黄色小视频| 亚洲中文精品人人永久免费| 日韩欧美中文| 国内自拍久第一页| 欧美成人在线免费| 国产第八页| 免费A级毛片无码免费视频| 婷婷色一二三区波多野衣| 国产精品久久久久鬼色| 无码aⅴ精品一区二区三区| 九九精品在线观看| 亚洲国产成熟视频在线多多| 日韩免费毛片视频| 啪啪国产视频| 欧美日韩福利| 国产一区二区三区视频| 国产极品美女在线观看| 国产精品蜜臀| 久久国产精品影院| 国产无遮挡猛进猛出免费软件| 久久一色本道亚洲| 国产精品福利导航| 亚洲成aⅴ人在线观看| 一区二区三区精品视频在线观看| 亚洲精品午夜无码电影网| 国产一区二区影院| 亚洲国产天堂在线观看| 亚洲成年人片| 亚洲精品无码久久毛片波多野吉| 欧美第二区| 国产激情无码一区二区APP| 精品国产www|