基于tinyos的无线传感器网络操作系统移植性研究与实现
基于tinyos的无线传感器网络操作系统移植
性研究与实现
第二届全国通信新理论与新技术学术大会会议
论文
政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载
集
ProceedingsofCTW2008
基于tinyos的无线传感器网络操作系统移植性研究与实现
钱开国桑楠
(1.电子科技大学软件学院,四川成都,610054.2.昆明学院物理系云南昆明650031) 摘要:Tiny0S本身仅仅支持少数平台,当遇到新的平台上时,系统本身就不支持,必须将其移
植到新的芯片平台上,满足项目的需要和系统的正常运行.研究Tiny0S的移植就具有非常重
要的价值.本文在介绍了无线传感器网络(WSN:wirelesssensornetwork)及其硬件平台的
基础上,深入分析了WSN操作系统Tinyos的分层结构设计,最后针对Tinyos的硬件抽象层,
给出了Tinyos移植到不同平台的方法.
关键字:无线传感器网络操作系统Tinyos硬件抽象层操作系统移植
TheDesignandImplementationofPortingfor WSNsOperatingSystembasedofTinyos QIANKai—guoSangNan2
(1.Schoolofsoftware,UniversityofElectronicScienceandTechnologyofChina,Chengdou
610054,China;
2.Kunminguniversity,YunnanKunming650031China;)
Abstract:ManydifferenthardwareplatformscanbeusedwithTinv0S.Thispaperintroducet
he
detailsofwirelesssensornetwork(WSN)includewhichhardwareconstruction,thearchitect
ureof
tinyosandHardwareAbstractLayer(HAL).BasedtheHAL.Thispaperintroducetheporting
for
WSNsoperatingsystembasedofTinyostonewanddifferentplatforms.
Keyword:Wirelesssensornetwork(WSN),operatingsystem(os,,Tinyos,HardwareAbstra
ct
layer,portingotoperatingsystem 1引言
无线传感器网络(WSN,wirelesssensornetworks)是由大量体积较小,能源受限,具有一定计算,存储
和无线通讯能力的传感器节点组成的无结构网络【lJ【1.其综合了传感器,嵌入式,无线网络,分布式信息处理
等技术.由于WSN自身具备的特征,其用i金l.】非常广泛,可应用于国防军事,环境监测,交通管理,医疗卫
生等领域.无线传感器网络作为一个新兴的研究领域,其中存在大量挑战性的研究课题,节点硬件平台的设计
和实现以及节点上的操作系统(WSNOS,wirelesssensornetworksoperationsystem)设计与实现就是两个最基本
的研究方向.
无线传感器网络是一种应用相关的网络,不同的传感器网络应用关心不同的物理量,对系统的要求也不同,
其硬件平台,软件系统和网络
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
有很大差别,没有统一的标准和协议.出现了MICA系列,Telos系列以及
tinynode,eyesIFX等多种硬件节点,而且硬件节点可以自己设计实现.而在操作系统方面,目前国内外开发出
了TinyosI引,MantisOSl,SOS[刚,ContikiI,MagnetOS[1,TRON[以及国内的WMNOSlm等多种操作系统,
但是除Tinyos系统外几乎都只有研究开发者自己使用.为了提高WSN程序的开发效率,提供一种通用,标准
的操作系统显得非常重要.Tinyos具有事件驱动,轻量级线程,主动消息的通信模
式,二级调度模式的并发控
基金项目:中国地区开发促进会科学技术委员会的科技扶贫示范项目(项目编号:2007A6100.52)
131
第二届全国通信新理论与新技术学术大会会议论文集
ProceedingsofCTW2008
制能很好的满足形式多样的具体传感器网络的应用,另外,传感器硬件平台灵活多样,研究人员可以自己设
计.所以研究和实现基于Tinyos无线传感器网络操作系统的移植性,使其快速适应不同的硬件节点进而使
Tinyos成为一种通用的无线传感器网络操作系统就具有重要的价值. 2硬件节点概述
2,1节点组成
无线传感器节点【1由传感器模块,处理器模块,无线电通信模块和能量供应模块4部分组成,图1给出了节
点结构.传感器模块负责监测区域内信息的采集和数据转换工作;处理模块负责整个传感器节点的操作,存储
和处理本身采集的数据以及其他节点发来的数据;无线通信模块负责与其他节点进行无线通信,交换控制信息
和收发采集的数据:能量供应模块为传感器节点提供运行所需的能量,通常为微型化电池.
传感器模块处理器模块无线收发模块
处理器网'仪
?~LAC发传感器AC/DC络
器存储器
???
I能量供应模块
图1WSN硬件节点结构
2,2硬件节点平台的多样性
传感器节点结构简单,可以自行设计和实现.处理器模块一般由CPU,存储器,输入输出接口组成,
在设计处理模块时一般关注处理芯片的计算能力,功耗情况,外部接口,存储空间,体积,集成度,成
本都因素.目前有Atmel公司,TI公司和ARM等无数单片机可供选择;通信模块的设计一般关注通信
协议,数据传输速率,调制方式,通信频段,接受灵敏度,收发功率,省电模式,外围电路是否简单,
与处理器的接[J等因素,有RFM公司的TR1000RF和Chip公司的CC1000,CC1020,CC2420,CC2430 等多种片可供选择;无线传感器网络节点的能量供应是节点设计中最难克服的问题,一般把传感器节
点认为不能更换电源,多采用3V电池供电;传感模块选择所关注物理量的传感器,如温湿度传感器.由
于无线传感器网络自身的特性,使得硬件节点平台种类繁多,研究和开发人员也应该根据自身具体的应
用,方便地开发出基于具体应用的硬件平台.
应用程序
(Application)
驱动/板级支持包
(Diver/BSP)
硬件(Hardware)
图2不带操作系统的嵌入式系统
132
第二届全国通信新理论与新技术学术大会会议论文集
ProceedingsofCTW2008
3无线传感器网络操作系统
3,1系统设计概述
无线传感器网络节点是一种嵌入式设备,其中软件和硬件具有紧密耦合特性,早期的嵌入式系统是
不带操作系统支持的,图2给出了这种结构.在WSN领域,一些研究人员就认为WSN硬件很简单,可
以采用这种设计模式,直接在硬件上设计应用程序.这种方法会导致许多问题:首先,面向传感器网络
的应用开发难度会加大,应用开发人员不得不直接面对硬件进行编程,无法得到像传统操作系统那样提
供的丰富的服务;其次是软件的重用性很差,程序员无法继承已有的软件成果,降低开发效率;再次,
如果后期的测试出现问题,就要完全重新开始设计,对成本和开发周期影响很大;这种设计方法根本谈
不上系统的移植.每设计一个硬件平台,就要从头完成相应的软件系统. 随着系统功能的日益强大和微型化,出现了软硬件协同设计方法.这种方法更多的体现在带操作系
统支持的嵌入式系统上.图3给出了这种设计的层次结构.这种设计方法有很多优势:首先克服了第一
种方法的缺点;其次在应用与驱动(或API)这一层接口,可以设计成相对统一的一些接口函数,这对于具体
的某一个开发平台或在某个公司内部,是完全做得到的.这样一来,就大大提高了应用层软件设计的标准化程
度,方便了应用程序在跨平台之间的复用和移植.对于驱动/硬件抽象这一层,因为直接驱动硬件,其标准化
变得非常困难甚至不太可能.但是为了简化程序的调试和缩短开发周期,我们可以在特定的EDA工具环境下面
进行开发,通过后再进行移植到硬件平台的工作.这样既可以保证程序逻辑设计的正确性,同时使得软件开发
可平行甚至超前于硬件开发进程.
应用(Application)
标准接口函数(API)
操作系统(OS)
硬件抽象层(HAL)
硬件(Hardware)
图3带操作系统支持
3,2tjnyos操作系统的层次体系结构
1),tinyos操作系统的分层设计I】l】
Tinyos[1~]是一个开源的构件化的操作系统,采用构件化描述语'~-nesC进行开发.Tinyos的层次化的
思想就是把组成系统的所有构件按照某种标准划分成层次,以分层的形式来组织系统.上层对下层通过构
件接口进行命令调用,下层对上层通过构件接口进行事件
通知
关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知
.从上到下划分成应用层,管理层,硬件抽象
层.如图4所示.
___二=二二==....…,二二二二….
匪
一……
匿萑圆蔓
Tinyos分层结构
图4Tinyos的层次结构
133
第二届全国通信新理论与新技术学术大会会议论文集
ProceedingsofCTW2008
(1)硬件抽象层此层包含硬件属性模块和硬件行为模块.硬件抽象层用于屏蔽不同的硬件特性,防
止应用程序代码直接与硬件打交道,并且负责对目标系统的硬件平台进行操作和控制.它向下直接与硬
件打交道(~ITinyOS4源文件中的HPL.Re的组件,它们主要是各种物理器件和微
处理器内部功能块的
抽象,以及TinyOSq~与硬件平台相关的头文件~Wplatform,头文件等).硬件属性层模块对无线传感器网
络中所有底层的硬件资源进行分类,划分,以及同类硬件属性的高度整合,形成通信类属性模块,数据
处理融合类属性模块,控制类属性模块,传感类属性模块.硬件行为模块对硬件的行为进行整合划分,
形成通信类行为模块,数据处理融合类行为模块,控制类行为模块,传感类行为模块.采用把硬件属性
和行为划分开来描述的设计方法,有利于提高操作系统的运行效率,减小系统尺寸和增强跨平台特性.
一
般说来只需对硬件抽象层的属性和行为模块进行适当的组合就可将整个传感器网络操作系统移植到新
的应用硬件平台上.
(2)组织管理层组织管理硬件抽象层的硬件属性和行为模块.向下层硬件抽象层发送硬件组织命令,
向上层应用服务层报告下层硬件组织形式和状态.组织管理层把业务领域中绝大多数应用任务需要的公
共功能(主要是处理应用程序执行顺序的调度,中问业务相互通信的服务和由于内部或外部事件引起的中
断管理)抽象为公共的业务对象,封装业务领域中的绝大多数应用任务的公共数据,并为具体业务层提供
丰富的接口.具体应用层应用这些公共业务,就像主程序使用公共子函数一样方便.
(3)应用层一般包括两个模块,即人机会话模块和用户任务模块.在人机对话模块中,允许用户依据
实际的硬件环境和用户的具体任务选择合适的软件系统配置.用户任务模块,即是用户依据所需要实现
的具体任务开发的软件包.
2),分层组件实例
进行分层后,TinyOS中的组件按层次关系分为以下三类:硬件抽象组件,合成组件,高层次的软件
组件.硬件抽象组件将物理硬件映射到TinyOS组件模型.RFM射频组件(图5)是这种组件的代表,它
提供命令以操纵与RFM收发器相连的各个单独的I/O引脚,并且发信号给事件将数据位的发送和接收通
知其他组件.该组件的帧包含射频模块当前状态,如收发器处于发送模式还是接收模式,当前数据传输
速率等.RFM处理硬件中断并根据操作模式将其转化为接收(Rx)bit事件或发送(Tx)bit事件.在RFM组
件中没有任务.这是因为硬件自身提供了并发控制.该硬件资源抽象模型涵盖的范围从非常简单的资源
(例如单独的I/O引脚)到十分复杂的资源(例如加密加速器). 合成硬件组件模拟高级硬件的行为.这种组件的一个例子就是RadioByte组件(图5).它将数据
以字节为单位与上层组件交互,以位为单位与下面的RFM模块交互.组件内部的任务完成数据的简单编
码或解码工作.从概念上讲.该模块是一个能够直接构成增强型硬件的状态机.从更高的层次上看,该组
件提供了一个硬件抽象模块,将无线接口映射到UART设备接口上.提供了与UART接口相同的命令,发
送信号通知相同的事件,处理相同粒度的数据.井且在组件内部执行类似的任务(查找起始位或符号,执
行简单编码等).
高层次软件模块完成控制,路由以及数据传输等.这种类型组件的一个例子是图5中所示的主动消
息处理模块.它履行在传输前填充包缓存区以及将收到的消息分发给相应任务的
功能.执行鉴于数据或数
据集合计算的组件也属于这一类型.
图5支持多跳无线通信的传感器应用程序的组件结构
第二届全国通信新理论与新技术学术大会会议论文集
ProceedingsofCTW2008
3),体系结构
TinyOS采用了组件的结构,它是一个基于事件的系统.其设计的主要目标是代码量小,耗能少,并发性高,
鲁棒性好,TinyOS的应用运行环境一般有以下几部分实现:Main组件(调度程序),一个可选择的系统组件
集合(仅仅是应用需要的组件)以及为应用定义的系统组件,硬件抽象层和节点硬件.TinyOS的组件的层
次结构如图6所示.TinyOS的这种体系结构使得用户可以快速便利地实现应用.用户不需要关心硬件抽
象层的具体实现细节和节点硬件所提供的功能,只需要使用系统组件层提供的来满足具体的应用需求.
硬件抽像的独立抽象,增强了TinyOS的移植性.
Main(调度程序)
应用构件
系统构件
HAL(硬件抽象层)
节点硬件
图6Tinyos的体系结构
4tinyos移植性研究和实现
4,1移植原理
基于以上Tinyos的层次设计思想,其移植性的研究和实现直接和硬件抽象层相关.而硬件抽象层【】.】又具
有图7的结构.分成3个抽象层次,硬件描述层(HPL:HardwarePresentationLayer)直接覆盖软硬件的接口,
通过微控制器的寄存器和I/0引脚直接访问硬件,同时硬件通过发送中断信号要求服务.HPL隐藏了对上层硬
件的细节,对上层提供了硬件的抽象模块.HPL的构件完成以下功能:(1)对硬件发出INITIALIZE,START,
STOP等命令(2)控制硬件的GET和SET命令.(3)中断使能的设置和中断服务.硬件适配层(HAL:Hardware
Adapt~ionLayer)利用HPL构件提供的原始接口建立更高级别的硬件抽象描述,进行硬件资源如Alarm,ADC,
channel,EEPROM的仲裁和控制.硬件接口层(HIL:HardwarelnterfaceLayer)的构件提供集体平台的抽象,
把HAL层提供的接口转换层硬件独立的接口,隐藏了各种平台的差异,为跨平台的应用提供服务.
135
件边界
第二届全国通信新理论与新技术学术大会会议论文集
ProceedingsofCTW2008
硬件抽象层对硬件平台合理的描述,可使操作系统内核基本和具体的硬件无关,从而容易地实现不同平台
问的移植,使得TinyOS可以更好的满足传感器网络节点硬件的变化.TinyOS中应用程序如何使用物理硬件
并没有严格的
规定
关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定
或者约束,开发人员还可以依照自己的硬件彻底改造或者新组织硬件描述抽象层.根据硬
件抽象层的体系结构.在硬件抽象层组件的设计通常遵循以下原则.第一,依据TinyOS现有的原则,硬件描
述层(HPL)组件通过微控制器的寄存接控制硬件,硬件描述层把每个TinyOS函数映射到硬件的寄存器和中断.
第二,硬件描述层上层的组件展现底层硬件的全部功能,维护执行通用操作些状态.在这一层的组件提供更多
适合应用的抽象以及执行一些更高层服务的仲裁.第三,通常为了向下兼容己经存在的TinyOS的硬件API,
需要开发额外的包组件,它们向下转换底层组件的功能到传统的TinyOS接I=__l.通过以上对硬件描层的设计原
则,可以充分发挥微控制器为应用提供的丰富的功能,同时兼容包保证了已经存在的TinyOS应用程序不需要
任何修改就可以运行在新的平台上.TinyOS这种体系结构使得开发人员可以方便地将其移植到其他微控制器
上,们只需要修改硬件描述层的组件,使得其可以对微控制器上的相应工作寄存器行操作.
4,2移植实现
TinyOS移植首先在芯片级别上要针对目标芯片的功能重新定义硬件描述层的组件,包括为控制器的表示
组件如:telosb平台下的\chips目录下的HPL两个模块,HPLUART组件,HPLTimer组件,HPLADC组件.
依据芯片提供的睡眠模式新定义HAIJPowerManagement构件,还需要修改头文件hardware.h,该文件中包含
微控制器管脚的连接信息说明,管脚的输入输出状态信息等.在具体移植时,根据具体平台选择的微控制器和
无线收发模块的芯片,传感器以及具体的连接对上面的组件就行相应的定义和修改.在平台级上根据硬件开发
板的硬件资料进行相关参数的配置和新外设构件的开发.具体包括:修改外设构件与微处理器的I/O连接参数
(连接的引脚,信号的转换等);处理器工作模式参数的修改;修改外设的配置参数或开发新外设的系统构件.
在每个平台下还要定义.platform文件,提供每个平台基本的编译信息,是一些ncc编译器解释的perl的脚本代
码.
5结论
本文是在深入分析了Tinyos操作系统体系结构的基础上,根据Tinyos支持的现有
平台的源码进行研究的基
础上提出来的移植到不同平台的
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
.其中核心是针对具体平台定义和修改
HPLCIock模块,PowerManage模
块,TimerM模块,UARTM模块,HPLADC模块,以及芯片的头文件.可以通过硬件抽
象层相关构件的重新定
义和描述,方便地把基于具体应用的传感器硬件节点加入到WSN的体系中.
参考文献
川
IEstrinD,GovindanR,HeidemannJ,KumarS.Nextcenturychallenges:Scalablecoordinati
oninsensornetworks[J】
MOBICOM,Seattle,1999.263-270.
【2】HillJ.SystemArchitectureforwirelessSensorNetworks
【D】.Berkeley,USA:UniversityofCalifornia,2003. 【3】孙利民,李建巾,陈渝,朱红松.无线传感器网络.清华大学出版社.2005.10
【4】www.tinyos.net
【5]
【6】【7】
[8】【9].
【l0】
ELevis,S.Madden,J.Polastre,R.Szewczyk,K.Whitehouse,A.Woo,D.Gay,J.Hill,M.Wels
h,E.Brewer,andD.Culler,
"TinyOS:Anopermingsystemforwirelesssensornetworks,"【A】
inAmbientIntelligence.NewYork,NY:Springer-Verlag. 【l1】张朋,陈明,陈业萍,何鹏举.无线传感器网络操作系统关键技术研究.计算机应
片J研究.第24卷第1O期2007年
10月
136
第二届全国通信新理论与新技术学术大会会议论文集
ProceedingsofCTW2008
【l2】
VladoHandziski*,JosephPolastret,Jan-HinrichHauer,CorySharpt,AdamWoliszandDavidCuller.FlexibleHardware
AbstractionforWirelessSensorNetworks.ProceedingsoftheSecondEuropeanWorkshoponWirelessSensorNetworks,
EWSN2005,v2005,P145-157
【13]'2.x/doc/html/tep2.html 作者简介:钱开国(1979.9.),男,云南丽江人,硕士研究生,研究方向为无线传感器网
络.桑楠(1964.6一),
男,四川营山,教授,研究方向嵌入式实时系统.
137