TinyOS移植技术分析及在CC2430平台的应用
- UID
- 872238
|
TinyOS移植技术分析及在CC2430平台的应用
无线传感器网络(Wireless Sensor Network,WSN)由部署在监测区域内大量廉价微型传感器节点组成,通过无线通信方式形成的一个网络系统,其目的是协作的感知、采集和处理网络覆盖区域中感知对象的信息,并发送给观察者,被誉为21世纪最具影响技术之一。传感器节点通常是一个微型的资源受限的嵌入式系统,因此要求一个小型高效的操作系统管理组织硬件并完成软件功能。
由于无线传感器网络节点的资源十分有限,传统的嵌入式操作系统难以正常有效地运行和工作,特别对能量和内存的需求矛盾比较突出。因此,需要一种全新的嵌入式操作系统来满足无线传感器节点的基本需求。近年来,科研机构不断开发出具有多种功能的WSN操作系统。大多数操作系统都使用事件驱动的编程模型,典型的有TinyOS、Contiki、EYESOS、SOS等。
TinyOS操作系统是美国加州大学伯克利分校的研究人员针对无线传感器网络设计的开源嵌入式操作系统,是目前无线传感器网络采用的主流操作系统。TinyOS最初使用汇编和C语言编写,但经研究人员进一步的研究及使用后发现,C语言并不能有效和方便地支持无线传感器网络应用程序的开发。因而在经过研究和设计,并在对C语言进行了一定扩展的基础上,提出了支持组件化编程的nesC语言,该语言可以把组件化、模块化思想和基于事件驱动的执行模型结合起来,具有一些C语言无法比拟的优点。nesC语言提出后,TinyOS操作系统和基于TinyOS操作系统的应用程序全部使用nesC语言编写。
1 TinyOS原理分析
1.1 简介
TinyOS是美国加州大学伯克利分校针对无线传感器网络开发的嵌入式操作系统,核心程序很小,对硬件要求很低,它的事件驱动机制、主动消息机制、组件化结构等特点使其在研究中得到广泛应用。目前,TinyOS支持的平台主要集中在Atmel公司的AVR系列和TI公司的MsP430系列单片机。
1.2 TinyOS的体系结构
TinyOS体现结构如图1所示,其核心部分为TinyOS的硬件抽象3层结构。TinyOS的硬件抽象层使系统的软件和硬件完全独立,从而使系统的设备驱动程序与硬件无关,大大提高了系统的可移植性。TinyOS具有3层硬件抽象结构,并明确规定了每一层的功能,每一层都依赖于下一层提供的接口,这使得TinyOS的移植比较方便。
最底层是硬件描述层(Hardware Presentation Layer,HPL),该层提供硬件层和软件层的直接接口,通过调用函数的方法来屏蔽复杂的硬件层,不仅实现了硬件层和软件层的内部通信,而且为系统其他部分提供了使用的接口。
中间层是硬件适用层(Hardware AdaptationLayer,HAL),位于HPL上层,该层对硬件层的定时器、模数转换器、存储器等模块原型进行较高层的抽象,可以更直接更方便地为上层软件层提供可定制的操作接口。
最顶层是硬件独立层(Hardware Independent Layer,HIL),位于HAL上层,该层提供抽象的独立硬件层接口,通过隐藏硬件层来简化上层应用软件的编写,其功能类似于Windows操作系统下的API。
TinyOS的3层硬件抽象结构有很大的灵活性,具体的应用程序可以将HAL和HIL组件结合使用,以提高代码执行效率和系统的可移植性。 |
|
|
|
|
|