无线传感器网络操作系统

上传人:壹****1 文档编号:497258704 上传时间:2023-09-17 格式:DOCX 页数:10 大小:82.68KB
返回 下载 相关 举报
无线传感器网络操作系统_第1页
第1页 / 共10页
无线传感器网络操作系统_第2页
第2页 / 共10页
无线传感器网络操作系统_第3页
第3页 / 共10页
无线传感器网络操作系统_第4页
第4页 / 共10页
无线传感器网络操作系统_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《无线传感器网络操作系统》由会员分享,可在线阅读,更多相关《无线传感器网络操作系统(10页珍藏版)》请在金锄头文库上搜索。

1、无线传感器网络操作系统黄光燕 李晓维摘要:本文从软件的角度介绍无线传感器网络(WSNi)系统。首先总括WSN系统的概念和应用;然后分别介绍WSN操作系统(WSNOS) 的总体框架以及WSNOS的任务管理和内存管理等0S2内核;考虑到WSN以数据通讯为中心和低功耗的两大特点,介绍通讯的 基本原理,低功耗通讯协议和一些低功耗实现技术:电源管理服务,编译器技术,分布式处理,数据压缩等;以及简单介绍 WSN在PC机上的模拟器技术。同时,低功耗和高可靠性的实现技术贯穿全文。最后讲述我们在WSNOS领域开展的工作。关键词:无线传感器网络(WSN)无线传感器网络操作系统(WSNOS)低功耗高可靠性 、八、亠

2、1 前言1.1无线传感器网络(WSN)简介近几年来,无线传感器网络(WSN)掀起了一场后PC时代的革命。WSN作为综合了传感器、嵌入式 计算、及无线通信等3 大技术的新兴领域,可以实现人与自然物以及物与物对话的无处不在的通讯和计算 从火星探测到野生候鸟的监测Wireless Sensor Networks Operating System,从智能房屋3到车辆监测和跟踪4,从军事“智能尘埃”(Smart Dust) 5到辅助足球裁判6,从胶囊肠镜到住院病人病情监控7,从森林防火到预测山洪暴发89,从人体内药物 剂量控制到精细农业,广阔的应用前景掀起了国内外对WSN的研究热潮。综合各种应用, WS

3、N 有自己的许多特点。首先, WSN 是一种嵌入式系统,提供分布处理,动态和适 应性;其次,它由以通讯为中心的大数量的小型和微型数据采集设备构成,其主要特征为灵活、自组织、 严格资源限制,并且需要实时处理同长时间的单任务串行处理并存,同时大部分时间保持低功耗状态10。1.2 WSN 操作系统(WSNOS)俗话说:“万丈高楼平地起,一力承担靠地基,WSN的操作系统(WSNOS)是WSN系统的基本软件环 境,是许许多多的WSN应用软件开发的基础o WSNOS不是特定的系统/用户界面,也不是特定的一系列系 统服务,而是定义了一套通用的界面框架,允许应用程序选择服务和实现;它提供框架的模块化,以便适

4、应硬件的多样性,同时允许应用程序重用通用的软件服务和抽象11。同其他操作系统一样, WSNOS 是为 了方便开发应用,提供物理设备的抽象和高协调性的通用函数实现。它的独特性在于,资源极端受限(处 理器速度、存储器大小、内存大小、通讯带宽、资源数量以及电源受限),设备特殊性和缺乏一致的抽象层 次。因此, WSNOS 的设计策略必须是一个资源库,从中抽取一部分组成应用。它致力于提供有限资源的并 发,而不是提供接口或形式I0o伯克利开发的TinyOS【i2正是这样一套WSNOS系统。1.3 我们的研究调查我们对该领域的前景进行了大量的研究调查,重要的需求和趋势可以归结如下:1. 工厂真正实现电子信息

5、化需要 WSN 实地采集数据和监控。文献13中谈到了 WSN 应用于工 厂自动化生产线的问题。传统的有线传感只能用在布线容易的短距离空间,而对很多长距离 的监控则无能为力。例如,输油管道的监控,需要在输油管道上散布很多传感器,并且互相 之间要互通信息。而以往的传感器需要布线,同时传感器之间不能互相通信,阻碍了这种应 用。但是,这种无线监控最大的困难是它不如有线传感器可靠。2. WSN为城市监控,野外监控提供了技术手段。用于监控生态环境、农作物生长环境、城市交 通监控、大楼监控等。大量的WSN节点的冗余可提高可靠性,但是它们需要长时间处于不维 护状态,因此电池的寿命就成了这种应用的瓶颈。3. W

6、SN也可用于特殊物品监测,例如:胎压监测、灭火器监测、危险物品监测等。这些对物品 的监测也必须要求很高的可靠性,而且要求低功耗以使其可以维持工作到所需的时间。4. 在军事上,WSN也为现代化的先进武器系统提供了新的技术基础。例如:地雷上装上WSN 节点,可以与士兵身上的WSN节点通讯,识别敌我,而有选择性地爆炸。这种节点涉及到人 的生命安全,其可靠性的要求极高,同时也必须在足够时间内维持工作。总之,这种应用前景关注去掉“两线”-数据线和电源线-的无线技术,前者随着RF射频硬件技术的 发展而出现,后者随着低功耗的处理器,低功耗的收发器以及低功耗的传感器等低功耗硬件的发展以及电 池技术的发展而得以

7、实现。然而,去掉数据线使得通讯变得不那么可靠;去掉电源线使得供电时间的维持 成为一个挑战。因此,可靠性和低功耗已经成为了这种技术推广的瓶颈。我们将主要研究从WSN操作系统软件的角度着手解决可靠性和低功耗的问题。首先,与一般的嵌入式 系统(如PDA,手机等)不同,WSN的资源更加受限,迫切需要系统软件的精心设计,才能满足可靠性的 需求;其次,电池技术的发展并不足以满足很长时间不维护的需求,而硬件也需要系统软件的管理才能充 分发挥其低功耗特性。这就需要系统软件采用最大限度降低运算功耗和通讯功耗的策略。以下章节,首先介绍WSNOS的总体框架内容;然后从操作系统的角度来介绍WSNOS的任务管理和 内存

8、管理等OS内核;考虑到WSN以数据通讯为中心和低功耗的两大特点,介绍通讯的基本原理、低功耗 通讯协议和一些低功耗实现技术,如:电源管理服务、编译器技术、分布式处理、数据压缩等;以及简单 介绍WSN在PC机上的模拟器技术。同时,低功耗和高可靠性的实现技术贯穿全文。最后讲述我们在WSNOS 领域开展的工作。2 WSNOS框架文献14中,介绍了 TinyOS的主要框架和内容,如图1,图2所示,代表了 WSNOS的体系结构。组件图1 WSNOS总体框架图1是WSNOS的总体框架。物理层硬件为框架的最底层,传感器、收发器以及时钟等硬件能触发事 件的发生,交由上层处理。相对下层的组件也能触发事件交由上层处

9、理。而上层会发出命令给下层处理。 为了协调各个组件任务的有序处理,需要操作系统采取一定的调度机制。图 2 提供了 WSNOS 组件的具体内容,包括一组命令处理函数,一组事件处理函数,一组任务集合和 一个描述状态信息和固定数据结构的框架。除了 WSNOS提供的处理器初始化、系统调度和C运行时库(C Run-Time)3个组件是必需的以外,每个应用程序可以非常灵活地使用任何WSNOS组件。这种面向组件的系统框架的优点是:首先, “事件-命令-任务”的组件模型可以屏蔽低层细节,有利于程 序员更方便地编写应用程序;其次, “命令-事件”的双向信息控制机制,使得系统的实现更加灵活;再次, 调度机制独立成

10、单独的一块,有利于为了满足不同调度需求进行的修改和升级。命令处理函数任务集合can事件处理函数框架(包括状态信息)图2 WSNOS组件3 WSNOS内核3.1 WSNOS 调度机制由于WSNOS的特殊性,它的调度机制需要简单而实用。下面以TinyOS为例,介绍WSNOS的调度机 制。3.1.1 调度TinyOS 的调度模型为任务加事件的两级调度,调度的方式是任务不抢占事件要抢占,调度的算法是简 单的FIFO,任务队列是功耗敏感的12。调度模型有以下的特点:(1)基本的任务单线程运行到结束,只分配单个任务栈,这对内存受限的系统很重要。(2)FIFO 的任务调度策略是电源敏感的。当任务队列为空,处

11、理器休眠,等待事件发生来触发调 度。(3)两级的调度结构可以实现优先执行少量同事件相关的处理,同时打断长时间运行的任务。(4)基于事件的调度策略,只需少量空间就可获得并发性,并允许独立的组件共享单个执行上下 文。同事件相关的任务集合可以很快被处理,不允许阻塞,具有高度并发性。TinyOS 只是搭建好了最基本的调度框架,只实现了软实时15,而无法满足硬实时16,这对嵌入式系统 的可靠性会产生影响17。同时,由于是单任务的内核,吞吐量和处理器利用率不高,因此有可能需要设计 多任务系统。为保证系统的实时性,多采用基于优先级的可抢占式的任务调度策略。依赖于应用需求,出 现了许多基于优先级多任务的调度算

12、法的研究。18把TinyOS扩展成多任务的调度,给TinyOS加入了多 任务的调度功能,提高了系统的响应速度。19提出在TinyOS中实现基于时限(deadline)的优先级调度, 有利于提高WSN系统的实时性。20提出了一种任务优先级调度算法来相对提高过载节点的吞吐量以解决 本地节点包过载的问题。总之,调度决定了处理器的功耗,如TinyDBN就是使用好的调度策略来降低功耗的。更为重要的是, 各种调度算法也能更好地提高处理器的响应速度,从而提高系统的可靠性。各种基于TinyOS调度算法的扩 展研究,各自独立地使得高可靠性和低功耗分别得到满足。3.1.2 中断在TinyOS中,代码运行方式为响应

13、中断的异步处理或同步地调度任务。TinyOS的每一个应用代码里, 约有 41%-64%的中断代码21,可见中断的优化处理非常重要。对于低功耗的处理而言,需要长时间休眠, 可以通过减少中断的开销来降低唤醒处理器的功耗。目前通过禁用和打开中断来实现原子操作,这个操作 非常的短暂(几个时钟周期-cycles)。然而,让中断关掉很长时间会延迟中断的处理,造成系统反应迟钝。TinyOS的原子操作能工作得很好是因为它阻止了阻塞的使用也限制了原子操作代码段的长度,而这一些条 件的满足是通过nesCB编译器来协助处理的。由于nesC编译器对TinyOS做静态的资源分析以及其调度模 式决定了中断不允许嵌套。在多

14、任务模式下,中断嵌套可以提高实时响应速度。3.1.3 时钟同步TinyOS提供获取和设置当前系统时间的机制,同时,在WSN网络中提供分布式的时间同步。TinyOS 是以通讯为中心的操作系统,因此更加注重各个节点的时间同步。如:传感器融合应用程序收集一组从不 同地方读来的信息(如:较短距离位置需要建立暂时一致的数据);TDMA风格的介质访问协议需要精确的 时间同步;电源敏感的通讯调度需要发送者和接收者在他们的无线信号开始时达成一致等11。加州大学洛杉矶分校(UCLA)22、Vanderbilt和加州大学伯克利分校(UC Berkeley)凶分别用不 同方法实现了时间同步。这3 个实现都精确到子毫

15、秒级,最初打算开发一个通用的、底层的时间同步组件, 结果失败了。应用程序需要一套多样的时间同步,因此只能把时钟作为一种服务来灵活地提供给用户取舍 使用。某些情况允许逐渐的时间改变,但另一些则需要立即转换成正确的时间。当时间同步改变下层时钟时, 会导致应用失败。某些系统,例如NTP(network time protocol)通过缓慢调整时钟率同邻节点同步来规避这个 问题。NTP方案很容易在像TinyOS那样对时间敏感的环境中出错,因为时间即使早触发几毫秒都会引起无 线信号或传感器数据丢失。目前TinyOS采用的方案是提供获取和设置当前系统时间的机制(TinyOS的通讯组件GenericComm

16、使 用 hook 函数为底层的通讯包打上时间戳,以实现精确的时间同步25),同时靠应用来选择何时激活同步。 例如:在TinyDB应用中,当一个节点监听到来自于路由树中父节点的时间戳消息后会调整自己的时钟以使 下一个通讯周期的开始时间跟父节点一样。它改变通讯间隔的睡眠周期持续时间而不是改变传感器的工作 时间长度,因为减少工作周期会引起严重的服务问题,如数据获取失败。在文献26中,J. Elson和D. Estrin给出了一种简单实用的同步策略。其基本思想是,节点以自己的时 钟记录事件,随后用第三方广播的基准时间加以校正,精度依赖于对这段间隔时间的测量。这种同步机制 应用在确定来自不同节点的监测事件

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号