0 引 言
无线传感器网络是集信息采集、信息传输、信息处理于一体的综合智能信息系统。由于它由大量体积小,成本低,具有无线通信、传感、数据处理能力的传感器网络节点组成。所以功耗、成本、体积、处理能力等受到严格的限制。以此超低功耗单片机MSP430为,结合无线收发模块nRF24E1,对无线传感器网络的普通节点和网关节点进行了设计。
1 无线传感器网络
由于传感器节点功率的限制,传递的距离非常有限,网络节点除了从外界环境采集数据外,还要接收邻近节点的数据,对数据进行处理、融合、转发。图1中节点A通过节点B,C,D将数据传送至网关节点E。再由网关节点与外部网络相联,将数据发送给用户。
2 硬件设计
无线传感器网络节点主要由传感器模块、处理器模块、无线收发模块、电源模块构成,如图2所示。
2.1 数据采集模块
数据采集模块直接与外界接触进行信息感知和采集。它将采集的物理量通过积分、放大电路的整形处理后经过A/D转化为数字信号送给处理器。
2.2 数据处理和控制模块
数据处理和控制模块是传感器节点的,它主要实现设备控制、任务调度、资源管理等功能。作为硬件平台的中心模块,应该具有集成度高,功耗低,运行速度快,I/O和扩展接口多等特点,并应适应整个网络的需要。基于以上原因,可以采用TI公司的 MSP430系列超低功耗处理器、高效的16位.RISC CPU确保任务的快速执行,以缩短工作时间;可以从睡眠模式到活动模式的6μs转换时间延长待机时间,降低电池的功耗;集成12位A/D转换器、温度传感器、FLASH程序存储器和2 KB RAM,具有丰富的端口资源,可以与各种传感器连接。
2.3 通信模块
无线收发模块主要完成传感器节点之间、节点与无线传感器网络网关之间的数据交换功能,这里采用Nordic公司的nRF24E1芯片。nRF24E1内部集成了2.4 GHz的nRF2401无线收发器,其增强型8051内核和9输入的10位A/D转换器无线收发模块能够实现点对点、点对多点的无线通信,具有体积小,功耗低和外围电路简单等特点。对于无线传感器网络中的一些只实现数据采集和传送功能的节点可以由nRF24E1内嵌的8051单片机进行控制处理,所以可直接采用nRF24E1和传感器模块构成传感器节点。然而,对于数据处理要求高,功能复杂,计算量大,要为通信协议、功能协调、应用处理等提供硬件支持的节点(如网关节点),则采用MSP430作为处理器,nRF24E1作为无线通信模块,其连接图如图3所示。
通过配置特殊寄存器,可使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 接口
这里的接口是一个双向通道,它具有的功能和事件通知能力是双向的,向调用者提供命令和实现命令者进行事件通告。代码如下:
TinyOS应用程序还要使用testSM,GenericComm等组件实现无线传感器网络的逻辑功能。test5M提供接口的命令,并实现对调用接口事件的响应;GenericComm通过调用其他组件实现从消息包到主动消息、位级数据传送到无线电收发模块的功能。为了能将TinyOS移植到节点平台上,需要根据节点平台设计修改TinyOS中的初始化代码,编写自己的BSP程序,达到移植操作系统的目的。
GenericComm提供了256个消息收发接口,采用CSMA/AD的MAC协议,消息到达组件test5M中,receive事件就会立刻调用。因此在这个事件中实现不同消息的转换,从而实现通信双方的握手:
4 结 语
在分析无线传感器网络体系结构的基础上,设计以超低功耗单片机MSP430为,并结合了无线收发模块nRF24E1的无线传感器网络节点。软件开发平台采用TinyOS操作系统,从硬件、软件等方面对无线传感器网络的节点进行了设计。
[1]. MSP430 datasheet https://www.dzsc.com/datasheet/MSP430_490166.html.
[2]. nRF24E1 datasheet https://www.dzsc.com/datasheet/nRF24E1_1085635.html.
[3]. nRF2401 datasheet https://www.dzsc.com/datasheet/nRF2401_521030.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。