关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于TinyOS的嵌入式无线传感器网络设计

基于TinyOS的嵌入式无线传感器网络设计

作者: 时间:2009-08-26 来源:网络 收藏

2.3 通信模块
收发模块主要完成节点之间、节点与网关之间的数据交换功能,这里采用Nordic公司的nRF24E1芯片。nRF24E1内部集成了2.4 GHz的nRF2401收发器,其增强型8051内核和9输入的10位A/D转换器无线收发模块能够实现点对点、点对多点的无线通信,具有体积小,功耗低和外围电路简单等特点。对于无线中的一些只实现数据采集和传送功能的节点可以由nRF24E1内嵌的8051单片机进行控制处理,所以可直接采用nRF24E1和传感器模块构成传感器节点。然而,对于数据处理要求高,功能复杂,计算量大,要为通信协议、功能协调、应用处理等提供硬件支持的节点(如网关节点),则采用MSP430作为处理器,nRF24E1作为无线通信模块,其连接图如图3所示。

本文引用地址://m.amcfsurvey.com/article/163620.htm

通过配置特殊寄存器,可使nRF24E1工作在ShockBurst无线方式。数据低速输入高速发送,功耗极低,并可通过软件控制开关进一步降低能耗。用 MSP430的P1口控制nRF24E1,通过配置CE,PWR,CS三个控制管脚,使芯片工作在不同的模式。当nRF24E1工作在发送方式时,接口引脚为CE,CLK1和DATA;当CPU请求发送数据时,置CE为高电平。此时,将接收机地址和有效载荷数据送入nRF24E1,置CE为低电平,激活 ShockBurst发射;当nRF24E1工作在接收方式时,接口引脚为CE,DR1,CLK1和DATA。在正确设置射频包输入载荷的地址和大小后,置CE为高电平。此后,nRF24E1监测信息输入,若收到有效数据包,则给处理器一个中断,并置DR1为高电平,使处理器将有效载荷数据取走,待系统收到全部数据后再置DR1为低。此时,如果CE保持高电平,则等待新的数据包;若CE置低电平,则开始其他工作流程。
2.4 电源模块
传感器能量有限,目前主要解决节约电能的方法是采用休眠机制,即节点在没有事件发生时尽快进入休眠状态;而在有事件发生时及时自动醒来,并唤醒邻居节点,形成数据转发的拓扑结构。在光线充足的地方采用太阳能电池代替化学电池,使节点有更长的工作时间。

3操作系统的与实现
无线传感器网络是由大量节点组成的网络系统,每个节点可看作一个微型的平台。现有的操作系统大多是实时操作系统,很少考虑能源供应,而且占用空间很大。由于无线传感器网络节点处理能力、电源及存储能力有限,采用嵌入式系统,并引入轻线程、主动消息、事件驱动和组件化编程。是一种专门为嵌入式操作系统组件的操作系统,由nesC 语言实现,主要应用于无线传感器网络。根据嵌入应用可以轻易增减控制执行的功能,而且编译器可避免数据竞争的现象,可节省硬件资源,并能执行多个快速响应的控制操作。
3.1 组件
TinyOS操作系统一般由Main组件(初始化硬件并执行调度程序)、应用组件(实现具体应用功能)、系统组件(为应用层组件提供服务)、HPL(硬件描述层)构成。这种体系结构使得TinyOS非常方便用户使用,增加了操作系统的移植性和软件的复用性。
3.2 接口
这里的接口是一个双向通道,它具有的功能和事件通知能力是双向的,向调用者提供命令和实现命令者进行事件通告。代码如下:


TinyOS应用程序还要使用testSM,GenericComm等组件实现无线传感器网络的逻辑功能。test5M提供接口的命令,并实现对调用接口事件的响应;GenericComm通过调用其他组件实现从消息包到主动消息、位级数据传送到无线电收发模块的功能。为了能将TinyOS移植到节点平台上,需要根据节点平台修改TinyOS中的初始化代码,编写自己的BSP程序,达到移植操作系统的目的。
GenericComm提供了256个消息收发接口,采用CSMA/AD的MAC协议,消息到达组件test5M中,receive事件就会立刻调用。因此在这个事件中实现不同消息的转换,从而实现通信双方的握手:


4 结 语
在分析无线传感器网络体系结构的基础上,设计以超低功耗单片机MSP430为核心,并结合了无线收发模块nRF24E1的无线传感器网络节点。软件开发平台采用TinyOS操作系统,从硬件、软件等方面对无线传感器网络的节点进行了设计。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭