《基于tinyos的无线传感器网络操作系统移植性研究与实现.pdf》由会员分享,可在线阅读,更多相关《基于tinyos的无线传感器网络操作系统移植性研究与实现.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二届全国通信新理论与新技术学术大会会议论文集P r o c e e d i n g so fC T W 2 0 0 8基于tin y o s 的无线传感器网络操作系统移植性研究与实现钱开国1 桑楠2(1 电予科技人学软件学院,四川成都,6 1 0 0 5 4 2 昆明学院物理系云南昆明6 5 0 0 3 1)摘要:T i n y o s 本身仅仅支持少数平台,当遇到新的平台上时,系统本身就不支持,必须将其移植到新的芯片平台上,满足项目的需要和系统的正常运行。研究T i n y 0 S 的移植就具有非常重要的价值。本文在介绍了无线传感器网络(W S N:w i r e l e s ss e n
2、 s o rn e t w o r k)及其硬件平台的基础上,深入分析了W S N 操作系统T i n y o s 的分层结构设计,最后针对T i n y o s 的硬件抽象层,给出了T i n y o s 移植到不I 司平台的方法。关键字:无线传感器网络操作系统T i n y o s 硬件抽象层操作系统移植T h eD e s i g na n dI m p l e m e n t a t i o no fP o r t i n gf o rW S N sO p e r a t i n gS y s t e mb a s e do fT i n y o sQ I A NK a i g u o
3、1S a n gN a n2(I S c h o o lo fs o f t w a r e,U n i v e r s i t yo fE l e c t r o n i cS c i e n c ea n dT e c h n o l o g yo fC h i n a,C h e n g d o u610 0 5 4,C h i n a;2 K u n m i n gu n i v e r s i t y,Y u n n a n K u n m i n g6 5 0 0 31C h i n a;)A b s t r a c t:M a n yd i f f e r e n th a r
4、d w a r ep l a t f o r n l sc a nb eu s e dw i t hT i n y O S T h i sp a p e ri n t r o d u c et h ed e t a i l so fw i r e l e s ss e n s o rn e t w o r k(W S N)i n c l u d ew h i c hh a r d w a r ec o n s t r u c t i o n,t h ea r c h i t e c t u r eo ft i n y o sa n dH a r d w a r eA b s t r a c t
5、L a y e r(H A L)B a s e dt h eH A L T h i sp a p e ri n t r o d u c et h ep o r t i n gf o rW S N so p e r a t i n gs y s t e mb a s e do fT i n y o st on e wa n dd i f f e r e n tp l a t f o r m s K e yw o r d:W i r e l e s ss e n s o rn e t w o r k(W S N),o p e r m i n gs y s t e m(o S),T i n y o
6、s,H a r d w a r eA b s t r a c tl a y e r,p o r t i n go f o p e r a t i n gs y s t e m1 引言无线传感器网络(W S N,w i t l e s ss e n s o rn e t w o r k s)是由大量体积较小、能源受限,具有一定计算、存储和无线通讯能力的传感器节点组成的无结构网络【l】1 2 I。其综合了传感器、嵌入式、无线网络、分布式信息处理等技术。由于W S N 自身具备的特征,其用途【3】非常广泛,可应用于国防军事、环境监测、交通管理、医疗卫生等领域。无线传感器网络作为一个新兴的研究领域,其
7、中存在大量挑战性的研究课题,节点硬件平台的设计和实现以及节点上的操作系统(W S N O S,w i r e l e s ss e n s o rn e t w o r k so p e r a t i o ns y s t e m)设计与实现就是两个最基本的研究方向。无线传感器网络是一种应用相关的网络,不同的传感器网络应用关心不同的物理量,对系统的要求也不同,其硬件平台、软件系统和网络协议有很大差别,没有统一的标准和协议。出现了M I C A 系列、T e l o s 系列以及t i n y n o d e、e y e s l F X 等多种硬件节点,而且硬件节点可以自己设计实现。而在操作系
8、统方面,目前国内外开发出了T i n y o s!钔、M a n t i s O S l 5 1、S O S 6 、C o n t i k i l 7 1、M a g n e t O S 酊、T R O N l 9 以及国内的W M N O S 1 0 1 等多种操作系统,但是除T i n y o s 系统外几乎都只有研究开发者自己使用。为了提高W S N 程序的开发效率,提供一种通用、标准的操作系统显得非常重要。T i n y o s 具有事件驱动、轻量级线程、主动消息的通信模式,二级调度模式的并发控基金项目:中国地区开发促进会科学技术委员会的科技扶贫示范项目(项目编号:2 0 0 7 A
9、6 1 0 0-5 2)1 3 l 万方数据第二届全国通信新理论与新技术学术大会会议论文集P r o c e e d i n g so fC T W 2 0 0 8制能很好的满足形式多样的具体传感器网络的应用,另外,传感器硬件平台灵活多样,研究人员可以自己设计。所以研究和实现基于T i n y o s 无线传感器网络操作系统的移植性,使其快速适应不同的硬件节点进而使T i n y o s 成为一种通用的无线传感器网络操作系统就具有莺要的价值。2 硬件节点概述2、1 节点组成无线传感器节点1 3 l 由传感器模块、处理器模块、无线电通信模块和能量供应模块4 部分组成,图l 给出了节点结构。传感器
10、模块负责监测区域内信息的采集和数据转换工作:处理模块负责整个传感器节点的操作,存储和处理本身采集的数据以及其他节点发来的数据;无线通信模块负责与其他节点进行无线通信,交换控制信息和收发采集的数据;能量供应模块为传感器节点提供运行所需的能量,通常为微型化电池。传感器模块处理器模块无线收发模块处理器网收传感器 C D CM A C发存储器络罂牟牟能量供应模块2、2 硬件节点平台的多样性圈1W S N 硬件节点结构传感器节点结构简单,可以自行设计和实现。处理器模块一般由C P U、存储器、输入输出接口组成,在设计处理模块时一般关注处理芯片的计算能力,功耗情况,外部接口,存储空间,体积,集成度,成本都
11、凶素。目前有A t m e l 公司、T I 公司和A R M 等无数单片机可供选择:通信模块的设计一般关注通信协议、数据传输速率、调制方式、通信频段、接受灵敏度、收发功率、省电模式、外围电路是否简单、与处理器的接口等因素,有R F M 公司的T R I O O O R F 和C h i p 公司的C C l 0 0 0、C C l 0 2 0、C C 2 4 2 0、C C 2 4 3 0等多种芯片可供选择;无线传感器网络节点的能量供应是节点设计中最难克服的问题,一般把传感器节点认为不能更换电源,多采用3 V 电池供电:传感模块选择所关注物理量的传感器,如温湿度传感器。由于无线传感器网络自身
12、的特性,使得硬件节点平台种类繁多,研究和开发人员也应该根据自身其体的应用,方便地开发出基于具体应用的硬件平台。应用程序(A p p l i c a t i o n)驱动板级支持包(D i v e r B S P)硬件(H a r d w a r e)图2 不带操作系统的嵌入式系统1 3 2 万方数据第二届仝闭通信新理论与新技术学术大会会议论文集P r o c e e d i n g so fC T W 2 0 0 83 无线传感器网络操作系统3、1 系统设计概述无线传感器网络节点是一种嵌入式设备,其中软件和硬件具柯紧密耦合特性,早期的嵌入式系统是不带操作系统支持的,图2 给出了这种结构。在W
13、S N 领域,一些研究人员就认为W S N 硬件很简单,可以采用这种设计模式,直接在硬件上设计应用程序。这种方法会导致许多问题:首先,面I 幻传感器网络的应用开发难度会加大,应用开发人员不得不直接面对硬件进行编程,无法得到像传统操作系统那样提供的丰富的服务;其次是软件的重用性很差,程序员无法继承已有的软件成果,降低开发效率;再次,如果后期的测试出现问题,就要完全晕新开始设计,对成本和开发周期影响很大;这种设计办法根本谈不上系统的移植。每设计一个硬件平台,就蔓从头完成相应的软件系统。随着系统功能的日益强大和微型化,出现了软硬件协同设计方法。这种方法更多的体现在带操作系统支持的嵌入式系统上。图3
14、给出了这种设计的层次结构。这种设计方法有很多优势:首先克服了第一种方法的缺点;其次在应用与驱动(或A P I)这一层接口,可以设计成相对统一的一些接口函数,这对于具体的某一个开发平台或在某个公司内部,是完全做得到的。这样一来,就大大提高了应用层软件设计的标准化程度,方便了应用程序在跨平台之间的复用和移植。对-_ J 二驱动硬件抽象这一层,因为直接驱动硬件,其标准化变得非常困难甚至不太可能。但是为了简化程序的调试和缩短开发周期,我们可以在特定的E D A 工具环境下面进行开发,通过后再进行移植到硬件平台的工作。这样既可以保证程序逻辑设计的正确性,同时使得软件开发可平行甚至超前于硬件开发进程。应用
15、(A p p l i c a t i o n)标准接口函数(A P I)操作系统(O S)硬件抽象层(X A L)硬件(H a r d w a r e)图3 带操作系统支持3、2tin y o s 操作系统的层次体系结构1)、t i n y o s 操作系统的分层设计【1 1】T i n y o s t l 0】是一个开源的构件化的操作系统,采用构件化描述语言n e s C 进行开发。T i n y o s 的层次化的思想就是把组成系统的所有构件按照某种标准划分成层次,以分层的形式来组织系统。上层对下层通过构件接口进行命令调用,下层对上层通过构件接口进行事件通知。从上到下划分成应用层、管理层、
16、硬件抽象层。如图4 所示。:卜二二二一。产二=二气。!二】塑i i ;I 用户接口模块lI任务模块;:I:二二二二二二二:_:二二I 二二二L j;:二二:J:二:;厂五若二茬r :I任务调度模块|中断服l I通信控制模块I;塑型;丽蚓l;叛l 两蚓;硬件抽象层通信类属性模块传感类属性模块控制类属性模块传缚类行为模块T i n y o s 分层结构图4T i n y o s 的层次结构1 3 3 万方数据第二届全国通信新理论与新技术学术大会会议论文集P r o c e e d i n g so fC T W 2 0 0 8(1)硬件抽象层此层包含硬件属性模块和硬件行为模块。硬件抽象层用于屏蔽不
17、同的硬件特性,防止应用程序代码直接与硬件打交道,并且负责对目标系统的硬件平台进行操作和控制。它向下直接与硬件打交道(如T i n y O S4 源文件中的H P L n c 的组件,它们丰要是各种物理器件和微处理器内部功能块的抽象,以及T i n y O S 中与硬件平台相关的头文件和p l a t f o r m,头文件等)。硬件属性层模块对无线传感器网络中所有底层的硬件资源进行分类、划分,以及|一类硬件属性的高度整合,形成通信类属性模块、数据处坪融合类属性模块、控制类属性模块、传感类属性模块。硬件行为模块对硬件的行为进行整合划分,形成通信类行为模块、数据处理融合类行为模块、控制类行为模块、
18、传感类行为模块。采用把硬件属性和行为划分开来描述的设计方法,有利于提高操作系统的运行效率,减小系统尺寸和增强跨平台特性。一般说来只需对硬件抽象层的属性和行为模块进行适当的组合就可将整个传感器网络操作系统移植到新的应用硬件平台上。(2)组织管理层组织管理硬件抽象层的硬件属性和行为模块。向下层硬件抽象层发送硬件组织命令,向上层应用服务层报告下层硬件组织形式和状态。组织管理层把业务领域中绝大多数应用任务需要的公共功能(主要是处理应用程序执行顺序的调度、中间业务相百通信的服务和l|I 于内部或外部事件引起的中断管理)抽象为公共的、I p 务对象,封装业务领域中的绝大多数应用任务的公共数据,并为具体业务
19、层提供丰富的接口。具体应用层应用这些公共业务,就像丰程序使用公共了函数一样方便。(3)应用层一般包括两个模块,即人机会话模块和用户任务模块。在人机对话模块中,允许用户依据实际的硬件环境和用户的具体任务选择合适的软件系统配置。用户任务模块,即是用户依据所需要实现的具体任务丌发的软件包。2)、分层组件实例进行分层后,T i n y O S 中的组件按层次关系分为以下三类:硬件抽象组件、合成组件、高层次的软件组件。硬件抽象组件将物理硬件映射到T i n y 0 S 组件模型。R F I d 射频组件(图5)是这种组件的代表,它提供命令以操纵与R F M 收发器相连的各个甲独的I O 引脚,并且发信号
20、给事件将数据侮的发送和接收通知其他组件。该组件的帧包含射频模块当前状态,如收发器处于发送模式还是接收模式、当前数据传输速率等。R F M 处理硬件中断并根据操作模式将其转化为接收(R X)b i t 事件或发送(T X)b i t 事件。在R F M 组件中没有任务这是凶为硬件自身提供了并发控制。该硬件资源抽象模型涵盖的箍围从非常简单的资源(例如单独的I 0 引脚)到十分复杂的资源(例如加密加速器)。合成硬件组件模拟高级硬件的行为。这种组件的一个例子就是R a d i oB y t e 组件(图5)。它将数据以字节为单位与上层组件交互,以位为单位与下面的R F M 模块交互。组件内部的任务完成
21、数据的简单编码或解码工作。从概念上讲该模块是一个能够直接构成增强型硬件的状态机。从更高的层次上看,该组件提供了一个硬件抽象模块,将无线接口映射到U A R T 设备接U 上。提供了与U A R T 接口相同的命令,发送信号通知相同的事件,处理相同粒度的数据井且在组件内部执行类似的任务(查找起始位或符号、执行简单编码等)。高层次软件模块完成控制、路由以及数据传输等。这种类型组件的一个例子是图5 中所示的主动消息处理模块它履行在传输前填充包缓存区以及将收到的消息分发给相应任务的功能。执行鉴于数据或数据集合计算的组件也属于这一类型。图5 支持多跳无线通信的传感器应用程序的组件结构1 3 4 万方数据
22、第二届全国通信新理论与新技术学术大会会议论文集P r o c e e d i n g so fC T W 2 0 0 83)、体系结构T i n y O S 采用了组件的结构,它是一个基于事件的系统其设计的丰要目标是代码量小、耗能少、并发性高、鲁棒性好,T i n y O S 的应用运行环境一般有以下几部分实J 叨,:M a i n 组件(训度程序),一个n J 选择的系统组件集合(仅仅是应用需要的组件)以及为应用定义的系统组件,硬件抽象层和节点硬件。T i n y O S 的组件的层次结构如图6 所示。T i n y O S 的这种体系结构使得用户可以快速便利地实现应用。用户不需要关心硬件抽
23、象层的具体实现细节和节点硬件所提供的功能,只需要使用系统组件层提供的来满足具体的应用需求。硬件抽像的独立抽象,增强了T i n y O S 的移植性。M a i n(调度程序)应用构件系统构件H A L(硬件抽象层)节点硬件图6T i n y o s 的体系结构4tin y o s 移植性研究和实现4、1 移植原理基于以上T i n y o s 的层次设计思想,其移植性的研究和实现直接和硬件抽象层相关。而硬件抽象层l”1 又具有图7 的结构。分成3 个抽象层次,硬件描述层(H P L:H a r d w a r eP r e s e n t a t i o nL a y e r)直接覆盖软硬件
24、的接口,通过微控制器的寄存器和I O 引脚直接访问硬件,同时硬件通过发送巾断信号要求服务。H P L 隐藏了对上层硬件的细节,对上层提供了硬件的抽象模块。H P L 的构件完成以下功能:(I)对硬件发出I N I T I A L I Z E、S T A R T、S T O P 等命令(2)控制硬件的G E T 和S E T 命令。(3)中断使能的设置和中断服务。硬件适配层(H A L:H a r d w a r eA d a p t a t i o nL a y e r)利用H P L 构件提供的原始接口建立更高级别的硬件抽象描述,进行硬件资源如A l a r m、A D C、c h a n
25、n e l、E E P R O M 的仲裁和控制。硬件接口层(H I L:H a r d w a r e I n t e r f a c eL a y e r)的构件提供集体平台的抽象,把H A L 层提供的接口转换层硬件独立的接口,隐藏了各种平台的差异,为跨平台的应用提供服务。C r o s s-P l a t f o r m 应用S蕊pecificlP l a t f o r m-I、h d e P e n d e n t应用leeP l a t f o r m-S p e c i f i c 应用H I L l工I I A L l-r-m 吼1H I L 2工I I A L 2=rI 伊
26、L 2n I L 3工I l A L 3工砸L 3H I L 4-_ _ _-_ Ll l A L 4工H P L 4硬件平台1I 硬件平台2I 硬件平台3f 硬件平台4图7H a r d w a r eA b s t r a c tio nA r c hit e c t u r e1 3 5软硬件边界 万方数据第二届全国通信新理论与新技术学术大会会议论文集P r o c e e d i n g so fC T W 2 0 0 8硬件抽象层对硬件平台合理的描述,可使操作系统内核基本和具体的硬件无关,从而容易地实现不同平台间的移植,使得T i n y O S 可以更好的满足传感器网络节点硬件的变
27、化。T i n y O S 中应用程序如何使用物理硬件并没有严格的规定或者约束,开发人员还可以依照自己的硬件彻底改造或者重新组织硬件描述抽象层。根据硬件抽象层的体系结构。在硬件抽象层组件的设计通常遵循以下原则。第一,依据T i n y O S 现有的原则,硬件描述层(H P L)组件通过微控制器的寄存接控制硬件,硬件描述层把每个T i n y O S 函数映射到硬件的寄存器和r f l 断。第二,硬件描述层上层的组件展现底层硬件的全部功能、维护执行通用操作些状态。在这一层的组件提供更多适合应用的抽象以及执行一些更高层服务的仲裁。第三,通常为了向下兼容己经存在的T i n y O S 的硬件A
28、P I,需要开发额外的包组件,它们向下转换底层组件的功能到传统的T i n y O S 接几。通过以上对硬件描层的设计原则,可以充分发挥微控制器为应用提供的丰富的功能,同时兼容包保证了己经存在的T i n y O S 应用程序不需要任何修改就可以运行在新的甲台上。T i n y O S 这利体系结构使得开发人员可以方便地将其移植到其他微控制器上,们只需要修改硬件描述层的组件,使得其可以对微控制器上的相应工作寄存器行操作。4、2 移植实现T i n y O S 移植首先在芯片级别上要针对目标芯片的功能重新定义硬件描述层的组件,包括为控制器的表示组件如:t e l o s b 平台下的c h i
29、p s 目录下的H P L 两个模块,H P L U A R T 组件、H P L T i m e r 组件、H P L A D C 组件。依据芯片提供的睡眠模式重新定义H A L P o w e r M a n a g e m e n t 构件,还需要修改头文件h a r d w a r e h,该文件巾包含微控制器管脚的连接信息说明、管脚的输入输出状态信息等。在具体移植时,根据具体平台选择的微控制器和九线收发模块的芯片、传感器以及具体的连接对上面的组件就行相应的定义和修改。在平台级上根据硬件开发板的硬件资料进行相关参数的配置和新外设构件的开发。具体包括:修改外设构件与微处理器的I O 连接
30、参数(连接的引脚、信号的转换等);处理器工作模式参数的修改;修改外设的配置参数或开发新外设的系统构件。在每个平台下还要定义p l a t f o r m 文件,提供每个平台基本的编译信息,是一些n e e 编译器解释的p e r l 的脚本代码。5 结论本文是在深入分析了T i n y o s 操作系统体系结构的基础上,根据T i n y o s 支持的现有平台的源码进行研究的基础上提出来的移植到不同平台的方案。其巾核心是针对具体平台定义和修改H P L C I o e k 模块,P o w e r M a n a g e 模块,T i m e r M 模块,U A R T M 模块,H P
31、L A D C 模块,以及芯片的头文件。可以通过硬件抽象层相关构件的熏新定义和描述,方便地把基于具体应用的传感器硬件节点加入到W S N 的体系中。参考文献【l】E s t r i nD,G o v i n d a n H e i d e m a n nJ,K u m a rS N e x tc e n t u r yc h a l l e n g e s:S c a l a b l ec o o r d i n a t i o ni ns e n s o rn e t w o r k s【J】M O B I C O M,S e a R l c 1 9 9 9 2 6 3 2 7 0【2】H
32、i l lJ S y s t e mA r c h i t e c t u r ef o rw i r e l e s sS e n s o rN e t w o r k s【D】B e r k e l e y,U S A:U n i v e r s i t yo f C a l i f o r n i a,2 0 0 3【3】孙利民,李建中,陈渝,朱红松无线传感器网络清华大学出版社。2 0 0 5 1 0f 4】w w w t i n y o s n e t【5 h t t p:w w w m a n t i s C S c o l o r a d o e d u【6】h t t p:w w
33、 w p r o j e c t s n e s l u c l L e d u p u b l i c s o s 2 2 x【7】h t t p:w w w s i c s c o n t i k i【8】h t t p:w w w C S c o m e l l e d u P e o pl e e g s m a g n e t o s【9】h t t p:w w w t r o n o r g【l O】PL e v i s,S M a d d e l l,J P o l a s t r e,R S z e w c z y k,K W h i t e h o u s e,A W o o
34、,D G a y,J H i l l,M W e l s h,E B r e w e r,a n dD C u l l e r,q i n y O S:A no p e r a t i n gs y s t e mf o rw i r e l e s ss e n s o rn e t w o r k s,”【A】i nA m b i e n tI n t e l l i g e n c e N e wY o r kN Y S p r i n g e r-V e r l a g【1 1】张朋,陈明,陈亚萍,何鹏举无线传感器网络操作系统关键技术研究计算机应用研究第2 4 卷第l o 期2 0 0
35、 7 年l O 月1 3 6 万方数据第二届全国通信新理论与新技术学术大会会议论文集P r o c e e d i n g so fC T W 2 0 0 8f 1 2 1V l a d oH a n d z i s k i*,J o s e p hP o l a s t r e t,J a n H i n r i c hH a u e r*,C o r yS h a r p t,A d a mW o l i s z+a n dD a v i dC u l l e r F l e x i b l eH a r d w a r eA b s t r a c t i o nf o r W i r
36、e l e s sS e n s o rN e t w o r k s P r o c e e d i n g so ft h eS e c o n dE u r o p e a nW o r k s h o po nW i r e l e s sS e n s o rN e t w o r k s,E W S N2 0 0 5,V2 0 0 5,P1 4 5 1 5 7【13 h t t p:t i n y o s C V S s o u r e e f o r g e n e t+c h e c k o u t。a i n y o s,t i n y o s 一2 x d o c h t
37、m l t e p 2 h t m l作者简介:钱开国(1 9 7 9 9),男,云南丽江人,硕士研究生,研究方向为无线传感器网络。桑楠(1 9 6 4 6 一),男,网川营山,教授,研究方向嵌入式实时系统。1 3 7 万方数据基于tinyos的无线传感器网络操作系统移植性研究与实现基于tinyos的无线传感器网络操作系统移植性研究与实现作者:钱开国,桑楠,QIAN Kai-guo,Sang Nan作者单位:钱开国,QIAN Kai-guo(电子科技大学软件学院,四川成都,610054),桑楠,Sang Nan(昆明学院物理系,云南昆明,650031)刊名:通信市场英文刊名:TELECOM M
38、ARKET年,卷(期):2008(11)参考文献(13条)参考文献(13条)1.孙利民;李建中;陈渝;朱红松 无线传感器网络 20052.Hill J System Architecture for wireless Sensor Networks 20033.Estrin D;Govindan It;Heidemann J;Kumar S Next century challenges:Scalable coordination in sensornetworks 19994.查看详情5.Vlado Handziski*;Joseph Polastret;Jan-Hinrich Hauer*
39、;Coty Sharpt,Adam Wolisz*and David Culler Flexible Hardware Abstraction forWireless Sensor Networks 20056.张朋;陈明;陈亚萍;何鹏举 无线传感器网络操作系统关键技术研究期刊论文-计算机应用研究 2007(10)7.P.Levis;S.Madden;J.Polastre;R.Szewczyk,K.Whitehouse,A.Woo,D.Gay,J.Hill,M.Welsh,E.Brewer,andD.Culler TinyOS:An operating system for wireless sensor networks8.查看详情9.查看详情10.查看详情11.查看详情12.查看详情13.查看详情 本文链接:http:/