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