新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > ZigBee空中下載技術(shù)研究及其優(yōu)化設(shè)計

ZigBee空中下載技術(shù)研究及其優(yōu)化設(shè)計

作者: 時間:2012-12-05 來源:網(wǎng)絡(luò) 收藏

摘要:首先介紹基于協(xié)議的OTA系統(tǒng),并在CC2530F256硬件平臺上進(jìn)行驗證。在Z-Staek協(xié)議棧中,設(shè)計出一種(Over the Air,OTA)更新方式,并通過實驗測試,與原有的方式進(jìn)行了比較分析。實驗結(jié)果表明,方式可以大大減少網(wǎng)絡(luò)的更新流量,從而提高節(jié)點的。
關(guān)鍵詞:;;;;

引言
本文移植并驗證了一種基于協(xié)議的(OTA)技術(shù),其分發(fā)協(xié)議支持點對多傳輸更新功能,多跳網(wǎng)絡(luò)的代碼分發(fā)功能由路由協(xié)議支撐。在Z-Stack協(xié)議棧下,僅僅支持功能,并不理想。針對此問題,設(shè)計出一種高效的鏡像頁請求功能,能夠提高點對多的傳輸更新效率,并減少網(wǎng)絡(luò)流量。

1 OTA概述
ZigBee協(xié)議規(guī)范使用了IEEE 802.15.4定義的物理層(PHY)和媒體介質(zhì)訪問層(MAC),并在此基礎(chǔ)上定義了網(wǎng)絡(luò)層(NWK)和應(yīng)用層(APL)。針對重編程技術(shù)的需求,ZigBee聯(lián)盟在原有協(xié)議的框架上,提出了一種OTA規(guī)范,其作為一個系統(tǒng)可選的功能模塊。OTA系統(tǒng)的結(jié)構(gòu)示意圖和服務(wù)器與客戶端之間的數(shù)據(jù)交互過程略——編者注。

2 OTA系統(tǒng)設(shè)計
本文的OTA系統(tǒng)基于TI公司的ZigBee SoC芯片CC2530F256設(shè)計,包括硬件與軟件的設(shè)計。
2.1 硬件系統(tǒng)
CC2530F256內(nèi)部集成一個增強型8051單片機,擁有8 KB SRAM和256 KB內(nèi)部Flash存儲器。內(nèi)部Flash主要用來保存程序代碼和常量數(shù)據(jù)。由于傳統(tǒng)8051代碼存儲空間尋址范圍只有64 KB,CC2530把內(nèi)部256 KBFlash分成8個bank,每一個bank大小是32 KB,通過寄存器FMA P.MAP[2:0]選擇不同的bank映射到代碼存儲空間,解決了尋址空間受限的問題。
對于OTA客戶端,啟動代碼位于bank0的0x0000~0x0800地址區(qū)域,大小為2 KB。其余的254 KB的Flash空間,用來存儲當(dāng)前固件和其他信息。值得注意的是,0x0888~0x088B區(qū)域存放了CRC校驗信息,0x088C~0x0897區(qū)域存放了PREAMBLE,包括鏡像大小、制造商ID、鏡像類型和鏡像版本號信息。另外,bank7最后的14 KB空間(0x7C800~0x7FFFF)用作非易失性(None Volatile,NV)變量區(qū)(12 KB)和特定信息保留區(qū)(2 KB)。
OTA系統(tǒng)升級方案有兩種,分別是片內(nèi)Flash升級和片外Flash升級??紤]到一般程序固件大小都超過128KB和以后程序功能升級的擴展性,本文采用片外Flash的方案。采用的片外Flash(M25PE20)容量為256 KB,通過SPI總線與CC2530之間傳輸數(shù)據(jù)。
2.2 軟件系統(tǒng)
對于基于任務(wù)事件輪詢機制的Z-Stack工程,默認(rèn)沒有添加OTA功能。如果節(jié)點需要開啟OTA功能,首先需要燒寫OTA的啟動代碼。當(dāng)節(jié)點完成鏡像接收之后,對新鏡像進(jìn)行CRC校驗,并清空當(dāng)前鏡像的CRC信息,然后重啟。當(dāng)節(jié)點重啟后,首先跳轉(zhuǎn)到啟動代碼的地址,開始執(zhí)行如圖1所示的工作流程。

本文引用地址:http://m.butianyuan.cn/article/153699.htm

a.JPG



3 OTA的鏡像頁請求實現(xiàn)
根據(jù)ZigBee OTA的規(guī)范,OTA客戶端向OTA服務(wù)器請求鏡像的方式有兩種,分別是鏡像塊請求與鏡像頁請求。鏡像塊請求的OTA更新方式效率較低。
本文根據(jù)ZigBee OTA的規(guī)范,在Z-Stack協(xié)議棧上設(shè)計出鏡像頁請求的更新方式。頁請求命令與塊請求命令類似,在數(shù)據(jù)幀當(dāng)中附加了鏡像頁大小與響應(yīng)間隔信息。當(dāng)OTA服務(wù)器收到一次頁請求后,在一定時間間隔內(nèi)多次向節(jié)點發(fā)送塊響應(yīng),免去了多次塊請求。其中,塊響應(yīng)的次數(shù)由鏡像頁大小決定,時間間隔由響應(yīng)間隔設(shè)定。正因為請求命令的銳減,能夠大大減輕整個網(wǎng)絡(luò)流量的負(fù)擔(dān),并提高節(jié)點的傳輸更新效率。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉