[发明专利]一种面向MC1321X的无线传感器网络WSN重编程方法有效
申请号: | 201410437526.6 | 申请日: | 2014-08-29 |
公开(公告)号: | CN104199661B | 公开(公告)日: | 2017-06-16 |
发明(设计)人: | 王宜怀;胡宗棠;凌云 | 申请(专利权)人: | 苏州大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;H04W84/18 |
代理公司: | 南京利丰知识产权代理事务所(特殊普通合伙)32256 | 代理人: | 王锋 |
地址: | 215123 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 mc1321x 无线 传感器 网络 wsn 编程 方法 | ||
技术领域
本发明属于WSN(wireless sensor network,无线传感器网络)领域,具体涉及一种面向MC1321X的无线传感器网络WSN重编程方法。
背景技术
无线重编程技术已经成为目前WSN研究的热点。目前,国内外对代码远程更新已经具有一定的研究,已有的代码分发协议主要包括Deluge、MOAP和Elon等。
Deluge是较早提出的一种多跳代码分发协议,它已经成为嵌入式操作系统TinyOS的一种代码更新标准协议。该协议依赖于TinyOS系统,并且在对目标节点进行代码更新时需要更新整个TinyOS的镜像文件。因而,对无线网络中节点的传输负载量较大。
MOAP是对WSN中一些选中的节点进行代码更新,而不是洪泛至所有节点。对传输中丢失的数据包,其采用了滑动窗口机制,当节点处于等待丢失数据包重传状态时,允许重传。
Elon是基于TinyOS组件的代码分发协议,在更新时需要以组件为单位进行传输和重组。因此,该协议不仅和Deluge一样依赖于TinyOS操作系统,而且还包含了很多无关的冗余代码,增加了更新时的传输开销。
根据这些协议的更新模式、MAC层协议、更新范围和跳步方式,对这些协议进行分类,详细见表1。
表1几种代码分发协议的分析对比
由于在WSN中节点本身资源受限制、无线传输不可靠,因此将无线重编程技术应用于实际中,主要解决以下几个问题。
(1)可靠性传输
在进行无线重编程过程中,必须确保更新的代码数据被完整地传输至网络中待更新的节点,并且要保证代码中的每一个字节的正确性。
(2)资源节约使用
节点的存储空间资源十分有限,比如KW01节点仅有16KB的RAM和128KB的FLASH。因此,无线重编程应该尽量减少对节点存储资源的使用。
(3)实时更新
一种高效的无线重编程机制应尽量减少对已运行的应用系统产生影响,因此需要具有较强的实时性。
(4)支持异构网络
由于在同一个WSN中的不同节点可能需要各自完成不同的任务,这就需要能够支持异构网络。通过对节点进行独立编址,可使运行不同应用任务的节点共存于同一个网络中。
(5)与平台无关性
目前,绝大多数代码分发协议需要依托具体软硬件平台。所以,在设计无线重编程机制时,必须考虑其通用性,尽量减少其对平台的依赖性。
传统的无线重编程方法一般对无线节点中整个MCU程序镜像进行替换和更新。然而,过高的代码更新量一直是无线重编程技术在实际大规模应用中的瓶颈。
发明内容
本发明在研究与分析目前国内外几种主要的WSN代码分发协议的基础上,借鉴这些分发协议的优点,提出一种面向MC1321X的开销无线重编程方法WSN_OTAR。该方法在对比WSN无线节点中新旧MCU方机器码差异程度的基础上,进行增量式的代码迭代更新,从而有效地减少了WSN中更新代码的传输量,提高了无线重编程的正确性及可靠性。该方法不依赖于具体硬件平台,主要依靠软件实现,具有低开销、高可靠、低延迟和低存储等特点。
本发明实现其目的采用的技术方案如下:
一种面向MC1321X的无线传感器网络WSN重编程方法,其中:将每行机器码校验和作为代码快速比较的索引值,逐行遍历S19文件,按照校验和、FLASH地址、长度和代码数据建立二级映射的MC1321X机器码管理列表;在机器码管理列表的一级列表中将新旧程序的一级列表中每个单元值进行异或运算比较,确定具有差异的S记录行;通过计算MCU FLASH地址,确定具有差异的S记录行代码位于MC1321X中FLASH的页号和页内偏移,将计算出的页号、页内偏移和S19文件的其他属性填入MC1321X差异代码管理双向链表中;根据MC1321X差异代码管理双向链表确定需更新的MCU方机器码;将需更新的MCU方机器码分成若干个代码摘要或代码段,每个代码摘要或代码段由一个序号来标识;对于每个代码摘要或代码段数据帧,判断帧位图,决定是否进行接收流程并转发此帧并通过帧位图来判断是否重复转发相同数据帧。
进一步地,差异代码管理双向链表节点的先后按照FLASH地址大小排列。
进一步地,使用一个计时器t来表示每个代码摘要或代码段数据帧在节点中的生命周期,当节点第一次接收到该数据帧时开始计时,选择一个时间阈值TIME,当t大于TIME时判断帧位图,决定是否进行接收流程并转发此帧。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州大学,未经苏州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410437526.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:刷机方法、装置及相应设备
- 下一篇:开放平台的调用方法及装置