通过配置特殊寄存器,可使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 接口
这里的接口是一个双向通道,它具有的功能和事件通知能力是双向的,向调用者提供命令和实现命令者进行事件通告。代码如下:
|