新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > ZigBee空中下載技術研究及其優化設計

        ZigBee空中下載技術研究及其優化設計

        作者: 時間:2012-12-05 來源:網絡 收藏

        4 驗證與分析
        4.1 功能驗證
        為了驗證OTA功能,在CC2530F256平臺上搭建一個小型樹狀網絡,并使用Packet Sniffer對OTA更新時的節點進行抓包分析。4個傳感節點的固件并沒有添加溫度采集功能,所以溫度顯示為0。在新的固件中添加了溫度采集函數,用于驗證OTA更新成功。
        對于某些特定應用,需要節點更新固件后能夠保持原來的網絡拓撲結構。內部Flash的NV區能夠保存節點的網絡信息,只要在工程添加NV_INIT與NV_RESTORE預編譯項,節點在掉電后還能恢復原來網絡信息。
        對4個傳感節點進行OTA更新。OTA更新后,溫度采集功能成功添加,而且傳感節點的網絡短地址沒有發生變化,網絡拓撲結構保持完整,驗證了進行OTA鏡像升級過程中,并不會對NV區進行擦除,有利于節點網絡信息的恢復。
        OTA服務器被配置為路由器(0x06BC),對傳感節點(0x0002)進行點對點更新。第一條短幀是子路由向OTA服務器發送Image Block Reque st,應用層載荷從第4字節開始記錄了新鏡像的制造商ID(0x5678)、鏡像類型(0x1234)、版本號(0x00000002)和鏡像塊偏移量。最后1個字節記錄了每次傳送最大鏡像塊大小(OTA_MAX_MTU),默認為0x20,即為32字節。第二條長幀是OTA服務器發送的Image Block Response,載荷記錄格式與前者類似,并在最大鏡像塊大小字節后面附上32字節鏡像塊信息,從而完成一個鏡像塊傳輸周期。
        4.2 效率分析
        搭建一個星形網絡,把OTA服務器配置成協調器,把所有OTA客戶端配置成節點,并進行如下兩個實驗。
        4.2.1 實驗一
        為了對比分析兩種更新手段的效率,分別使用命令與命令,對節點進行OTA更新。星形網絡中,通過廣播Image Notify,能夠對多節點進行批量更新。網絡規模分別為1~6個節點,測量了不同規模網絡下節點完成更新傳輸所需的時間。Min與Max分別
        指最快與最慢完成更新傳輸的節點對應的時間,Ave指平均每個節點完成更新傳輸所需時間(使用Max值計算)。
        其中,設置的Response Spacing為100 ms,鏡像頁大小為640字節。鏡像大小統一為113 KB,并修改OTA_MAX_MTU大小為64字節。節點與OTA服務器間隔均為5 m。鏡像塊、的傳輸時間分別如表1、表2所列,響應間隔均為100 ms。

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

        f.JPG


        實驗一中,使用,節點發送所需時間為15.5 ms,OTA服務器返回鏡像塊響應所需時間實際為96 ms,來回確認幀時間大概為1.92+3.84=5.76ms。一個更新周期傳輸鏡像塊大小為64字節,完成113KB大小的鏡像傳送需要1765個周期。總時間為(96+15.5 +5.76)×1765=206 963 ms,這與表1中的測量值207.2 s基本符合。
        本文設計的鏡像頁請求中鏡像頁大小為640字節,每次傳輸鏡像塊大小為64字節,即節點發送1次頁請求可以得到10次塊響應。當更新1個節點時,使用鏡像頁請求可以把原來的1 765條請求命令和1 765條確認幀減少9/10,共減少3 177條傳輸幀。減少的傳輸幀數量隨著節點數目成比例增長。
        對比表1與表2,可以發現無論節點數目為多少,頁請求的平均每個節點的更新傳輸時間都比塊請求的要短。其中,發送鏡像頁請求時間為15.5 ms,請求確認幀時間為1.92 ms,節點為1時,共減少時間為(15.5+1.92)×1765×0.9=27 672 ms,此值與表1和表2的測量值207.2-179.6=27.6 s基本符合。
        4.2.2 實驗二
        為了測試鏡像頁請求在點對點更新情況下的最高效率,設定最短的響應間隔為10 ms,分別測量不同鏡像頁大小的單個節點更新傳輸時間。使用CC2531(支持USB)作為OTA服務器,能夠縮短服務器向應用控制臺索取鏡像塊數據的時間,進一步加快更新傳輸效率。鏡像大小統一為113 KB,OTA_MAX_MTU大小為64字節,節點與OTA服務器間隔均為5 m。不同鏡像頁大小下的傳輸時間如表3所列。

        g.JPG


        實驗二中,由于采用了支持USB的CC2531,能夠把OTA服務器返回的鏡像塊響應所需時間縮短為22.5ms,節點發送鏡像頁請求所需時間保持為15.5 ms不變,來回確認幀時間為5.76 ms。當鏡像頁大小為64字節時,傳輸所需時間為(22.5+15.5+5.76)×1765=77 236ms,也與表3中的測量值77.2 s基本相符。當鏡像頁大小為6 400字節時,即請求命令減少到原來的1/100,時間縮短了50 s,大幅度提高,基本達到了單個節點更新速度的極限。

        結語
        通過無線更新固件,免去了回收更新節點所需時間,可以達到更新完成后不破壞當前網絡拓撲結構的效果。另外,在Z-Stack協議棧設計了一種鏡像頁請求更新方式,實驗結果表明,當批量更新整個網絡時,既可以提高節點的,又可以大大減小網絡的更新流量,并節省節點的功耗。當進行點對點更新時,如果把響應間隔縮減為10 ms,并把鏡像頁設置得足夠大,單個節點的更新時間可以縮減為27.3 s,接近單個節點更新速度的極限。至于使用批量的更新方式還是點對點的更新方式,視具體的應用場合而定。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 田林县| 白河县| 巍山| 民乐县| 榆林市| 卢龙县| 新化县| 毕节市| 扶风县| 延安市| 布尔津县| 和龙市| 桐乡市| 南召县| 郑州市| 太和县| 泽州县| 仲巴县| 十堰市| 合肥市| 和静县| 泸定县| 彭泽县| 新营市| 赤壁市| 奉贤区| 静海县| 永川市| 文安县| 枣庄市| 三原县| 阳新县| 会泽县| 泰顺县| 盐亭县| 长武县| 潞西市| 开阳县| 长宁县| 福贡县| 浦县|