亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ZigBee的空中下載技術(shù)的分析及優(yōu)化*

        2016-08-18 01:46:49永,奚
        電子器件 2016年3期
        關(guān)鍵詞:鏡像文件任務(wù)調(diào)度鏡像

        王 永,奚 吉

        (1.徐州工業(yè)職業(yè)技術(shù)學(xué)院信息與電氣工程學(xué)院,江蘇徐州221140;2.河海大學(xué)計(jì)算機(jī)及信息工程學(xué)院,江蘇常州213002)

        基于ZigBee的空中下載技術(shù)的分析及優(yōu)化*

        王永1*,奚吉2

        (1.徐州工業(yè)職業(yè)技術(shù)學(xué)院信息與電氣工程學(xué)院,江蘇徐州221140;2.河海大學(xué)計(jì)算機(jī)及信息工程學(xué)院,江蘇常州213002)

        ZigBee聯(lián)盟為OTA制定了標(biāo)準(zhǔn),其更新簇為無(wú)線升級(jí)一個(gè)ZigBee設(shè)備的固件提供了一個(gè)標(biāo)準(zhǔn)機(jī)制。Zstack協(xié)議棧僅提供了鏡像塊請(qǐng)求方法,更新速度并不理想。在研究OTA實(shí)現(xiàn)過(guò)程的基礎(chǔ)上,設(shè)計(jì)出了一種高效的鏡像頁(yè)請(qǐng)求方法,能夠提高更新效率,并減少網(wǎng)絡(luò)流量。

        ZigBee;空中下載;頁(yè)請(qǐng)求

        ZigBee是一個(gè)分層協(xié)議標(biāo)準(zhǔn),IEEE802.15.4管理底層的物理層和介質(zhì)訪問(wèn)層;ZigBee規(guī)范負(fù)責(zé)管理中層的網(wǎng)絡(luò)層、安全層和API;而用戶則負(fù)責(zé)控制上層的應(yīng)用層程序。軟件在ZigBee節(jié)點(diǎn)中起著非常重要的作用,系統(tǒng)開(kāi)發(fā)初期,往往需要對(duì)軟件進(jìn)行現(xiàn)場(chǎng)的調(diào)試修改、升級(jí),而基于ZigBee標(biāo)準(zhǔn)的無(wú)線傳感器節(jié)點(diǎn)又往往完全沒(méi)有物理連線,而且在現(xiàn)場(chǎng)往往裝配在不易手工連線的地方,這樣就給軟件的升級(jí)和調(diào)試修改帶來(lái)極大的不便。在無(wú)線環(huán)境下,如何解決安裝以后的軟件升級(jí)和調(diào)試工作,是設(shè)備安裝之前所必須考慮和完成的工作。在無(wú)線傳感器網(wǎng)絡(luò)中通過(guò)無(wú)線下載來(lái)實(shí)現(xiàn)軟件升級(jí)是解決問(wèn)題的方法所在。針對(duì)無(wú)線傳感網(wǎng)絡(luò)重編程技術(shù)的需求,ZigBee聯(lián)盟在原有協(xié)議的框架上,提出了一種OTA規(guī)范,作為一個(gè)系統(tǒng)可選的功能模塊。Zstack是TI公司提供的實(shí)現(xiàn)ZigBee協(xié)議的半開(kāi)源協(xié)議棧,其根據(jù)ZigBee聯(lián)盟制定的標(biāo)準(zhǔn)提供了OTA鏡像塊請(qǐng)求的實(shí)現(xiàn)函數(shù)及頁(yè)請(qǐng)求定義。本文在研究OTA原理的基礎(chǔ)上,添加頁(yè)請(qǐng)求功能,實(shí)現(xiàn)點(diǎn)對(duì)多的無(wú)線更新。

        1 OTA原理及其軟硬件系統(tǒng)

        1.1OTA原理

        空中下載要完成的任務(wù)是修改節(jié)點(diǎn)上支持節(jié)點(diǎn)正常運(yùn)行的系統(tǒng)程序。其基本原理是向無(wú)線節(jié)點(diǎn)發(fā)送程序鏡像文件,然后由節(jié)點(diǎn)內(nèi)部簡(jiǎn)短啟動(dòng)程序負(fù)責(zé)用鏡像程序覆蓋原有的系統(tǒng)程序。

        通常,在整個(gè)空中下載的過(guò)程中起到作用的是3個(gè)概念上的組件:①命令執(zhí)行器—責(zé)設(shè)備鏡像的初始化以及鏡像分發(fā)的控制,并在一個(gè)適當(dāng)?shù)臅r(shí)候激活傳輸好的鏡像;②客戶端程序—在終端節(jié)點(diǎn)上支持接受和激活到達(dá)的新的鏡像;③服務(wù)器程序—為目標(biāo)節(jié)點(diǎn)設(shè)備提供新的鏡像程序。以上3種組件功能并不一定安裝在相同的硬件平臺(tái)上,因此,需要軟件無(wú)線升級(jí)的節(jié)點(diǎn)必須至少支持客戶端程序。

        項(xiàng)目來(lái)源:江蘇省自然基金項(xiàng)目(14KJB510034)

        收稿日期:2015-06-26修改日期:2015-07-23

        新的鏡像通過(guò)無(wú)線傳輸,傳送到目標(biāo)節(jié)點(diǎn)上的未利用的存儲(chǔ)空間,所以目標(biāo)節(jié)點(diǎn)上的存儲(chǔ)空間必須在滿足存儲(chǔ)現(xiàn)行程序的同時(shí),還能夠存放下與現(xiàn)行程序相似大小的新的鏡像文件。

        要實(shí)現(xiàn)OTA功能,至少需要兩塊ZigBee設(shè)備,分別是服務(wù)器與客戶端。服務(wù)器只有一個(gè),客戶端可有多個(gè)。服務(wù)器通過(guò)串口與PC機(jī)連接,需要下載的鏡像文件存放于PC機(jī),命令執(zhí)行器給服務(wù)器發(fā)命令及鏡像文件。首先命令執(zhí)行器控制服務(wù)器廣播當(dāng)前可用的鏡像文件信息,客戶端收到信息后進(jìn)行對(duì)比,若有與自身相匹配的鏡像,則向服務(wù)器請(qǐng)求數(shù)據(jù)。服務(wù)器收到請(qǐng)求后向命令執(zhí)行器索取固定大小的塊,再點(diǎn)對(duì)點(diǎn)傳送給客戶端。鏡像傳輸完畢后,客戶端進(jìn)行校驗(yàn),完成后發(fā)送終止信號(hào)。流程圖如圖1、圖2所示。

        圖1、圖2為鏡像文件傳輸過(guò)程,也是本文主要研究的過(guò)程。在客戶端校驗(yàn)鏡像文件無(wú)誤后,還需要命令執(zhí)行器發(fā)送命令激活鏡像。客戶端收到命令后用代碼鏡像文件覆蓋原有代碼并重啟,且仍然支持空中下載功能。

        圖1 服務(wù)器流程圖

        圖2 客戶端流程

        1.2硬件系統(tǒng)

        本文的OTA系統(tǒng)基于TI公司的ZigBee SoC芯片CC2530F256,內(nèi)部集成了一個(gè)增強(qiáng)型8051單片機(jī),擁有8 kbyte SRAM和256 kbyte內(nèi)部FLASH存儲(chǔ)器。對(duì)于OTA客戶端,啟動(dòng)代碼位于bank0的0x0000~0x0800地址區(qū)域,大小為2 kbyte。其余的254 kbyte的FLASH空間,用來(lái)存儲(chǔ)當(dāng)前固件和其他信息。值得注意的是,0x0888~0x088B區(qū)域存放了CRC校驗(yàn)信息,0x088C~0x0897區(qū)域存放了PREAMBLE,包括鏡像大小、制造商ID、鏡像類型和鏡像版本號(hào)信息。另外,bank7最后的 14 kbyte空間(0x7C800~0x7FFFF)用作非易失性NV(None Volatile)變量區(qū)(12 kbyte)和特定信息保留區(qū)(2 kbyte)。用來(lái)存放新代碼的FLASH可以采用片內(nèi)和片外兩種方式,片內(nèi)即把256 kbyte的空間劃分成相等的兩塊,新代碼存放在后半塊,片外即外接一塊FLASH,新代碼存放于外部FLASH??紤]到一般程序固件大小都超過(guò)128 kbyte和以后程序功能升級(jí)的擴(kuò)展性,本文采用片外FLASH的方案。

        1.3軟件系統(tǒng)

        空中下載程序組件是一個(gè)標(biāo)準(zhǔn)的ZigBee應(yīng)用層程序,可以調(diào)用所有的ZigBee協(xié)議棧資源。也就是說(shuō)程序鏡像的空中下載過(guò)程中支持網(wǎng)絡(luò)多跳傳輸和AES-128完全安全性等。目前在F8W的Z-Stack協(xié)議棧中,已經(jīng)提供了部分空中下載函數(shù),用戶可調(diào)用API以實(shí)現(xiàn)和改進(jìn)OTA。

        無(wú)線下載過(guò)程中所依靠的啟動(dòng)代碼就是在下載結(jié)束后負(fù)責(zé)將下載鏡像覆蓋于現(xiàn)行鏡像的啟動(dòng)程序。也就是說(shuō)這部分程序是在節(jié)點(diǎn)內(nèi)部負(fù)責(zé)FLASH內(nèi)部數(shù)據(jù)讀/寫(xiě)和擦除,是在節(jié)點(diǎn)內(nèi)部始終需要的代碼,這段代碼是不被覆蓋的,也就是說(shuō)在節(jié)點(diǎn)裝配以后就一直保存在相應(yīng)的存儲(chǔ)空間內(nèi),它不像活動(dòng)程序代碼和下載鏡像代碼可以被修改和覆蓋。這段啟動(dòng)代碼必須是Reset矢量的目標(biāo),因此內(nèi)部含有啟動(dòng)代碼;有FLASH讀/寫(xiě)和擦除功能;能夠檢驗(yàn)下載鏡像的完整性,以保證源鏡像程序不是破損的;能夠在運(yùn)用下載鏡像改寫(xiě)覆蓋過(guò)程中自動(dòng)從中斷中恢復(fù),并能檢驗(yàn)升級(jí)后軟件的有效性,如果程序正確,則繼續(xù)運(yùn)行新程序,如果仍然存在問(wèn)題則從鏡像讀取程序修改。

        Z-stack運(yùn)行在一個(gè)OSAL操作系統(tǒng)上,OSAL是一種基于任務(wù)調(diào)度機(jī)制的操作系統(tǒng)。它是通過(guò)對(duì)任務(wù)的事件觸發(fā)來(lái)實(shí)現(xiàn)任務(wù)調(diào)度的。每個(gè)任務(wù)都包含若干個(gè)事件,每個(gè)事件都對(duì)應(yīng)一個(gè)事件號(hào)。當(dāng)一個(gè)事件產(chǎn)生時(shí),對(duì)應(yīng)任務(wù)的Event就被設(shè)置為相應(yīng)的事件號(hào),這樣事件調(diào)度就會(huì)調(diào)用相應(yīng)的任務(wù)處理程序。OSAL中的任務(wù)可以通過(guò)任務(wù)API來(lái)添加到系統(tǒng)中,這樣就可以實(shí)現(xiàn)多任務(wù)機(jī)制。OSAL任務(wù)調(diào)度流程如圖3所示。空中下載就是這個(gè)系統(tǒng)下的一個(gè)任務(wù)調(diào)度。

        圖3 OSAL任務(wù)調(diào)度流程

        2 OTA的鏡像頁(yè)請(qǐng)求實(shí)現(xiàn)

        根據(jù)ZigBee OTA的規(guī)范,OTA客戶端向OTA服務(wù)器請(qǐng)求鏡像的方式有兩種,分別是鏡像塊請(qǐng)求與鏡像頁(yè)請(qǐng)求。鏡像塊請(qǐng)求的OTA更新方式效率較低。鏡像塊請(qǐng)求是客戶端每收到一個(gè)塊就向服務(wù)器請(qǐng)求一次,而頁(yè)請(qǐng)求是請(qǐng)求一次可收到多個(gè)數(shù)據(jù)塊,在數(shù)據(jù)幀當(dāng)中附加了鏡像頁(yè)大小與響應(yīng)間隔信息,當(dāng)OTA服務(wù)器收到一次頁(yè)請(qǐng)求后,以一定的間隔多次向節(jié)點(diǎn)發(fā)送塊響應(yīng)。其中,塊響應(yīng)的次數(shù)由鏡像頁(yè)大小決定。請(qǐng)求命令的銳減,大大減輕了整個(gè)網(wǎng)絡(luò)流量的負(fù)擔(dān),并提高節(jié)點(diǎn)的傳輸更新效率。

        根據(jù)請(qǐng)求類型不同,服務(wù)器的處理函數(shù)也不同,而客戶端程序只需稍作改動(dòng)。本文主要介紹服務(wù)器的頁(yè)請(qǐng)求處理功能。OTA服務(wù)器為每一個(gè)請(qǐng)求更新的節(jié)點(diǎn)分配一個(gè)事件號(hào),對(duì)應(yīng)一個(gè)節(jié)點(diǎn)號(hào),并通過(guò)請(qǐng)求節(jié)點(diǎn)的短地址索引,設(shè)置特定的事件。進(jìn)入事件后,OTA服務(wù)器通過(guò)串口向OTA應(yīng)用控制臺(tái)請(qǐng)求鏡像數(shù)據(jù)塊,并向節(jié)點(diǎn)發(fā)送鏡像塊數(shù)據(jù)。通過(guò)把事件添加到定時(shí)器鏈表,就能夠以響應(yīng)間隔為時(shí)間單位,循環(huán)發(fā)送鏡像塊數(shù)據(jù),直到累計(jì)的發(fā)送鏡像塊大小等于節(jié)點(diǎn)的請(qǐng)求鏡像頁(yè)大小,從而完成一次鏡像頁(yè)請(qǐng)求的傳輸過(guò)程,流程圖如圖4所示。

        圖4 頁(yè)請(qǐng)求處理流程

        3 效果驗(yàn)證

        搭建一個(gè)星形網(wǎng)絡(luò),把OTA服務(wù)器配置成協(xié)調(diào)器,把所有OTA客戶端配置成節(jié)點(diǎn),并進(jìn)行如下實(shí)驗(yàn)。為了對(duì)比分析兩種更新手段的效率,分別使用鏡像塊請(qǐng)求命令與鏡像頁(yè)請(qǐng)求命令,對(duì)節(jié)點(diǎn)進(jìn)行OTA更新。網(wǎng)絡(luò)規(guī)模分別為1個(gè)節(jié)點(diǎn)~7個(gè)節(jié)點(diǎn),測(cè)量了不同規(guī)模網(wǎng)絡(luò)下節(jié)點(diǎn)完成更新傳輸所需的時(shí)間,每個(gè)節(jié)點(diǎn)與服務(wù)器距離相同,均為1 m。其中鏡像大小均為120 kbyte,數(shù)據(jù)塊大?。∣TA_MAX_MTU)為64,串口波特率為38 400 bit/s。

        表1 鏡像塊請(qǐng)求

        表2 鏡像頁(yè)請(qǐng)求

        其中時(shí)間間隔是經(jīng)實(shí)驗(yàn)確定的最小間隔,若間隔小于上表中的值,則出錯(cuò)率較高。由上表可得,節(jié)點(diǎn)越多,用時(shí)越多,但平均用時(shí)越少。鏡像頁(yè)的大小為100,減少了99%的請(qǐng)求命令和確認(rèn)幀。雖然頁(yè)請(qǐng)求方式提高了OTA的速率,但由于代碼結(jié)構(gòu)不完善,速度受限于串口波特率等原因,還有進(jìn)一步提升的空間。

        4 小結(jié)

        通過(guò)無(wú)線更新固件,免去了回收更新節(jié)點(diǎn)所需時(shí)間,可以達(dá)到更新完成后不破壞當(dāng)前網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的效果,彌補(bǔ)傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)軟件修改、調(diào)試方面的缺陷。本文實(shí)現(xiàn)的頁(yè)請(qǐng)求方式,雖然在速度上優(yōu)于塊請(qǐng)求方式,但如果時(shí)間間隔選取不當(dāng),或外界干擾較大導(dǎo)致數(shù)據(jù)錯(cuò)誤,其可靠性沒(méi)有塊請(qǐng)求方式高。針對(duì)此問(wèn)題,可以再添加一個(gè)糾錯(cuò)功能,一旦出現(xiàn)丟包,則接前一個(gè)數(shù)據(jù)包重新發(fā)送頁(yè)請(qǐng)求。另外,對(duì)于要求不是很?chē)?yán)格的應(yīng)用場(chǎng)合,可以嘗試服務(wù)器廣播鏡像文件的方式,理論上將進(jìn)一步縮短更新時(shí)間。

        [1] CC2530 Data Sheet[EB/OL].http://www.ti.com/product/cc2530.

        [2] Texas Instruments.Z-Stack User Guides[S].America.Texas Instruments,2009:221-232.

        [3] Texas Instruments.Z-Stack OTA Upgrade User's Guide[S]. America.Texas Instruments,2010:105-112.

        [4] ZB_ZARC_Interest-ZigBee_OTA_Upgrade_Cluster_Specification [S].ZigBee Alliance,2010:210-220.

        [5] 張心泉,左蕓,凌志浩.基于zigbee_網(wǎng)絡(luò)節(jié)點(diǎn)的軟件無(wú)線下載探討[C]//第八屆工業(yè)儀表與自動(dòng)化學(xué)術(shù)會(huì)議,2007:2-4.

        [6] 陳英杰,朱晉鋒.ZigBee空中下載技術(shù)研究及其優(yōu)化設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012(11):3-4.

        [7] 李麗娜.無(wú)線傳感器網(wǎng)絡(luò)代碼更新技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2006.

        王永(1972-),男,江蘇銅山人,碩士,副教授,徐州工業(yè)職業(yè)技術(shù)學(xué)院,主要研究方向?yàn)橛?jì)算機(jī)應(yīng)用與電子通信技術(shù)。

        Analysis and Optimization of OTA Based on ZigBee*

        WANG Yong1*,XI Ji2
        (1.School of Information and Electrical Engineering,College of Industrial Technology,Xuzhou Jiangsu 221140,China;2.College of Computer and Information,Hohai University,Changzhou Jiangsu 213022,China)

        ZigBee alliance had set a standard for OTA,and the upgrade cluster provides a standard mechanism for wirelessly upgrading a ZigBee device's firmware.The Zstack provides only the block request method,and the speed is not satisfactory.Based on the reaserch of the process of OTA,an designs an effective method—image page request is designed,which can speed up the session and reduce network traffic.

        ZigBee;OTA(Over-The-Air);page request

        TP393

        A

        1005-9490(2016)03-0671-04

        EEACC:7230;720010.3969/j.issn.1005-9490.2016.03.033

        猜你喜歡
        鏡像文件任務(wù)調(diào)度鏡像
        鏡像
        基于改進(jìn)NSGA-Ⅱ算法的協(xié)同制造任務(wù)調(diào)度研究
        基于時(shí)間負(fù)載均衡蟻群算法的云任務(wù)調(diào)度優(yōu)化
        鏡像
        小康(2018年23期)2018-08-23 06:18:52
        沒(méi)光驅(qū)不要緊 裝個(gè)免費(fèi)虛擬的
        用RamOS降低公用機(jī)的維護(hù)工作量
        云計(jì)算環(huán)境中任務(wù)調(diào)度策略
        云計(jì)算中基于進(jìn)化算法的任務(wù)調(diào)度策略
        Win7升級(jí)Win10教程
        電腦迷(2015年9期)2015-05-30 22:08:35
        鏡像
        小康(2015年4期)2015-03-31 14:57:40
        人妻精品丝袜一区二区无码AV| 亚洲av色欲色欲www| 久久久久国产精品| 无套内谢的新婚少妇国语播放| 久久精品免费无码区| 日本熟妇色xxxxx欧美老妇| 日韩在线看片免费人成视频| 动漫在线无码一区| 亚洲色欲色欲www成人网| 神马不卡影院在线播放| 精品国产粉嫩内射白浆内射双马尾| 国产毛多水多高潮高清 | 久久精品www人人爽人人| 极品美女扒开粉嫩小泬| 夜夜春精品视频| 国产乱老熟视频乱老熟女1| 国产一区二区av免费在线观看| 欧美疯狂性受xxxxx喷水| 亚洲第一无码xxxxxx| 国产成人精品午夜福利| 日韩不卡无码三区| 久久蜜桃资源一区二区| 精品亚洲一区二区三区四区五区| 亚洲av首页在线| 欧美喷潮久久久xxxxx| 国产午夜av一区二区三区| 国产综合开心激情五月| 久久综合丝袜日本网| 99re在线视频播放| 久久这里有精品国产电影网| 免费国产在线精品三区| 男奸女永久免费视频网站| 芒果乱码国色天香| 色综合中文综合网| 国产人成无码视频在线| 日本视频一区二区二区| 国产精品人成在线观看免费| 无码av免费精品一区二区三区| 精品久久杨幂国产杨幂| 新视觉亚洲三区二区一区理伦| 99久久精品国产一区二区|