微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 无线传感器网络自组网协议的实现方法

无线传感器网络自组网协议的实现方法

时间:08-01 来源:《单片机与嵌入式系统应用》 点击:

2.2 节点设计

图2为传感器节点的框图,该节点使用电池供电,体积小巧,只有打火机般大小。

MSP430系列单片机是TI公司生产的一种混合信号控制器,其突出优点是低电源电压、超低功耗,可采用电池工作,有很长的使用时间。

nRF905是挪威Nordic VLSI公司推出的单片射频收发器,低电压工作,功耗非常低,工作于433/868/915MHz三个ISM(工业、科学和医学)频道,频道之间的转换时间小于650μs。ShockBurstTM工作模式,能自动处理字头和CRC(循环冗余码校验)。通过SPI串口与微控制器通信,使用非常方便;内建空闲模式与关机模式,易于实现节能。nRF905适用于无线数据通信、无线开锁等诸多领域。

天线的设计是整个系统设计的一个非常重要的环节。系统功耗的高低以及网络性能的好坏与天线的设计都有密切关系。天线部分的设计采用整体PCB环行差分天线。与传统的鞭状天线相比,不仅节省空间,降低生产成本,机构上也更稳固可靠。

因为本文主要研究无线传感器网络的自组网和低功耗技术,所以只选择了MSP430系列单片机的内部集成热敏二极管来测量节点的工作温度,但预留了大量外接传感器接口,外接传感器的信号能以中断方式唤醒节点。

2.3 系统功耗

传感器节点采用电池供电,功耗的高低直接影响整个网络的生命期。系统的功耗不仅与选择的元器件有关,还与整个网络的控制策略有关。采用不同的控制策略,系统的工作时间就会不同。若希望节点工作一年的时间(365×24=8 760小时),则理论上要求平均工作电流约为263μA(2 300÷8 760)。发射数据到接收应答的工作时间约为50 ms,这样可推算出每次工作前的平均休眠时间为2.3 s。实际应用中,可以根据网络的反应速度和信息的采样率来选择系统工作和休眠的时间。

3 软件开发

低功耗系统的设计是一种综合硬件和软件为一体的技术,必须在使用低功耗芯片的同时,采用智能的控制策略。例如,让系统在需要工作时全速运行;而当整个系统处理完事件就进入低功耗模式,等待外部事件的唤醒。

系统软件包括基站节点软件、传感器节点软件和上位机处理软件。

3.1 基站节点软件

基站节点的主程序比较简单,初始化后就进入低功耗模式,等待外部事件唤醒。外部事件包括串口中断事件、接收到数据事件和定时器的中断事件。

图3给出了基站节点的串口中断流程。

为了防止串口通信过程中丢失数据,软件设计上加了握手协议。当基站节点每发送一个数据包给上位机时,上位机都会向基站节点发送应答信号,直到数据包发送给上位机。接收到数据包后,节点会从低功耗模式中唤醒,根据接收到的数据中标志位的不同字符分别进入不同的处理单元。

当多个传感器节点同时与某个传感器节点通信时,存在挣抢信道的现象。为了避免多个传感器节点同时与某个传感器节点通信造成数据丢失,软件上采用一定的退避机制。一方面,利用射频芯片nRF905的CD(载波侦听)信号来产生随机延时,以避免同时发送信号;另一方面,当一个传感器节点与某个传感器节点建立了通信通道时,其他发送数据的节点会增加发射数据的次数。

3.2 传感器节点软件

传感器节点初始化后,首先发送请求基站节点分配级别的命令,同时打开一个定时唤醒的定时器;然后进入低功耗模式,等待外部事件的唤醒。若传感器发送请求基站节点分配级别的次数达到设定上限,仍未确定节点在网络中的级别,则该节点就会向周围传感器节点广播信息。当广播次数达到设定值时,传感器节点就根据收到的信息确定自己的级别以及与该节点有直接联系的节点的信息,并把这些信息发送给基站节点。传感器节点的外部中断事件包括接收到数据事件、定时器中断事件、状态突变事件。

当传感器节点检测到状态突变后,会从低功耗状态唤醒,并及时采集此时的环境参数(包括状态量、温度值及节点电压值),将这些数据发送出去。该数据包通过单跳或多跳到达基站节点并在上位机软件上显示。

3.3 上位机处理软件

为了监测整个网络情况,需要在主机上建立良好的人机交互界面。采用Visual Basic(VB)来设计人机界面。利用VB的MSComm控件实现上、下位机的串口通信,利用其他控件实现对无线传感器网络的分析、显示和操作。

上位机主程序主要完成一些变量和控件初始化,然后等待串口数据。数据的接收和发送都是由中断程序完成的,其流程如图4所示。

上位机接收到完整的数据包后,会根据数据包中的关键字进行不同的处理。发送数据时,根据保存的网

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top