无线传感网络节点软件高效远程更新的技术研究.docVIP

无线传感网络节点软件高效远程更新的技术研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
无线传感网络节点软件高效远程更新的技术研究

无线传感网络节点软件高效远程更新的技术研究 ; 引 言 ; 无线传感网络(Wireless Sensor Networks,WSN)是利用传感器获取被感知物理对象的信息,通过无线通信将获取的感知信息传送给远端的监控终端,并在通信中间环节或终端对数据进行压缩、融合、分析等处理的一种无线通信网络。WSN使用方便灵活,可以实现重大装备、交通运输等领域中的关键指标监测、安全预警等[1]。在无线传感网络中,节点负责感知、采集和处理感知对象的物理信息,是整个无线传感网络中最重要的一环,节点的软硬件研究是无线传感网络设计的重点。无线传感网络节点一般是被随机部署至恶劣环境中,不易取回。但节点的设计研究,尤其是软件部分,不可能是一步到位的,需根据使用者的需求及时的对节点软件进行更新[2]。传统的更新方法是取回节点,通过下载器对节点软件进行更新,该方法受设备、更新地点和操作人员的限制。目前较先进的更新技术是通过物理总线与无线设备协同作业将编译器生成的程序文件直接写入MCU的ROM中[3]。此方法只需节点与网关在应用层实现连接,无需对硬件做任何改动即可实现节点软件更新,但此方法存在可靠性低、传输效率不高等问题。针对此问题,本文基于MSP430F149单片机,设计了一种无线传感网络节点软件高效更新方法,本方法采取程序文件差异、可变格式传输比较等措施提高了数据传输效率,通过强制更新等措施提高了节点软件远程更新的可靠性。 ; 1 系统概述 ; 本无线传感网络由节点、网关、服务器、数据库、客户端等组成,其组成及结构如图1所示。 ; 节点的主控制器(MCU)采用TI公司的MSP430F149单片机,MSP430F149单片机是一款超低功耗的16位单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式和大量的片内存储器。MSP430F149的具有60 KB的程序ROM(FLASH)和2 KB的RAM,能够完全满足系统程序驻留和用户程序存储的要求[3]。 ; MSP430F149的程序存储在FLASH中,其FLASH可在正常工作电压下擦写。因此只要对MSP430F149的FLASH的存储内容进行更新即可实现对节点软件的远程更新。本文为提高节点运行的可靠性,在FLASH中存储一个更新引导程序和两个应用程序。当某应用程序更新失败时,节点自动运行另一应用程序,从而保证节点的正常工作。 ; 对节点软件进行远程更新时,拥有管理员权限的用户首先向程序开发人员索取欲更新程序文件,然后在客户端通过节点远程更新软件将程序数据按照预定协议更新至节点的内部FLASH。节点的更新引导程序与客户端进行程序数据交互,完成节点软件远程更新。 ; 2 更新流程 ; 2.1 程序数据格式 ; 本文对MSP430F149的程序编译采用IAR公司提供的MSP430系列单片机的集成开发和调试环境IAR Embedded Workbench。其可生成txt格式程序文件,其样式如下: ; “@”后的“3000”表示后面的程序数据从3 000地址后依次写入MSP430F149的FLASH,每一个“@”对应一个中断向量,“q”表示程序文件结束。只需将程序文件里的数据按地址写入FLASH的相应位置,即可实现节点软件的更新[4?5]。 ; 2.2 节点软件更新流程 ; 节点正常情况下运行的是应用程序。用户欲对节点软件进行远程更新时,选中节点后,用户首先选取相应的程序更新文件,然后点击节点软件远程更新按钮。节点在收到更新命令后进入更新引导程序,并向上位机索要程序数据。上位机软件收到该命令后判断并下发相应的数据,判断是否更新完成。具体更新过程分为以下七步: ; (1)客户端发送节点远程更新命令。 ; (2)节点收到更新命令后将更新标志位置1,回复后程序指针PC指向复位向量。 ; (3)节点程序重新运行,检测更新标志位,跳转到更新程序后向客户端索要程序数据。; (4)客户端节点远程更新软件读取、处理并发送程序数据。 ; (5)节点解析程序数据,擦除相应的FLASH后写入新的程序数据并向客户端继续索要。; (6)客户端判断程序数据是否全部发送完毕,如果发送完毕,则发送节点软件更新完成指令,否则继续发送程序数据。 ; (7)节点判断是否为更新完成指令,如果是,则判断程序数据是否完整,并选择是否跳入新的应用程序;如果不是,则继续重复步骤(3)~(7)。 ; 3 高效更新设计 ; 程序数据在无线传输过程易受到电磁干扰,导致数据阻塞和丢失[1]。为提高传输效率,本文主要采用以下三种措施来提高节点软件远程更新的效率。 ; 3.1 程序文件差异比较 ; 一个小的程序文件可以从根本上减少远程更新时间、提高更新效率[6]。一般情况下对节点的软件进行维护更新时只是对部分功能进行更新,生成的新程序与节点正在运行的旧程序内容差异不大

文档评论(0)

ailuojue2 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档