新闻中心

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。

本文引用地址://m.amcfsurvey.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 下一页

评论


相关推荐

技术专区

关闭