基于单片机的Zigbee传感器节点的硬件设计
扫描二维码
随时随地手机看文章
摘要:无线传感网络应用广泛,它通过无数千个微小的节点之间互相通信实现大范围监控的模式。采用IEEE802.15.4/Zigbee低成本、低功耗的技术,实现多个节点间无线通信。首先从节点机的硬件设计描述硬件各个部分的模块设计,再分析节点机的软件设计。阐述传感器网络节点的基本体系结构,重点介绍基于单片机ATMEGA128L和CC2420的Zigbee传感器节点的硬件设计,并对硬件进行组网,并对其测试,测试结果表明该节点的体积小,集成度高,功耗低,通过多层次布线不仅减少了信号的干扰,而且加大了传输的距离。
引言
ZigBee联盟定义
了2种物理设备类型:一种是全功能设备FFD(fullfunctiondevice);另一种叫精简功能设备RFD(reducedfunctiondevice)。网络的构建需要有协调器参与工作(FFD)。整个网络的形成过程:首先进行初始化,之后协调器开始参与后建立网络,网络建立以后再通过路由器(FFD)和终端设备(RFD)发现网络,最后在建立起的网络开始数据管理和传送。
1 节点硬件设计
传感器节点是由几个不同的模块组成,这些模块处理着不同的功能,有传感器模块,传感器模块是传感的硬件基础,接着通过处理器模块,这个模块执行着重要的功能,数据处理后才能进行通信,还有无线通信模块和能量供应模块。传感器节点主要的功能是:首先进行数据节点的数据采集,采集后的数据再进行处理,经过处理后的数据再通过节点转发进行融合,同时还有其他节点转发数据过来,这样再对所有节点的数据进行管理和融合,数据处理后再进行存储。所有传感器的工作原理和结构大致相同,虽然每一种传感器设计不同,但是基本的架构是相同的。传感器节点的这种功能等同于兼并传统网络的路由功能,作为网络终端传送和接收数据,是构成5项网络的基础,网线网络的基本元素是传感器节点,节点是构成无线传感网络的基本平台。
由于传统的节点用来采集数据,不仅节点个数多,而且工作时间长、效率低等,此次设计做了些改进。此次采用的硬件设计综合不同硬件的特点,处理器是采用AVR单片机ATmega128L处理器,它的特点是性能高、速度快、功耗较低,比普通的8位机相比,实用性高、硬件资源丰富。具有高性能、高速度、低功耗和硬件资源丰富的特点。
CPU主要具有几种省电模式:IDLE、POWERSAVE、POWERDOWM、STANDYBY。在不同的省电模式下可以高效率工作。时钟控制由8MHz的晶振提供,时钟频率可以通过软件进行更改和选择。其内部集成的程序存储器大小为128KB,还有4KB静态RAM,同时带有4KB的E2PROM。
1.1通信模块
CC2420是Chipcon公司开发的一款低功耗通信芯片。它的特点是延迟时间短,使得有更多的充足的睡眠时间,保持这个状态不仅可以提高效率,节约了能耗,节点的使用寿命也比较可观。CC2420与处理器的连接方便,通过4个管脚表示数据的状态,分别为它使用SFD、FIFO、FIFOP和CCA。接口是采用SPI接口,它与CC2420交换数据、发送命令,复位时通过VREG_EN和RESET_N2个引脚实现使能和复位,产生和CC2420匹配的工作电压,一般大小为1.8V,保证处理器进入正常工作状态。由于和天线相接的引脚具有高阻抗特点,引脚为RF_P和RF_N。高阻抗匹配需要高阻抗天线,一般要求匹配的负载阻抗为115+j×180。
1.2存储器部分
此次设计采用串行接口的Flash存储芯片AT45DB041,它的存储空间为4Mbit,可以方便地和串口相接。由于1个网络传感节点具备路由器和主机2种功能,处理器ATmega128L的片内存储单元不能满足要求,所以必须进行相应的扩展。每个节点必须有独立的序列号,此次设计选择DS2410Z序列号存储器。它有64位ROM,内含是48位唯一的序列码、8位CRC校验码和8位家族码。数据采用1-Wire协议,无需外部供电,仅通过1个信号引线和1个地回路串行传输。路由功能采用串行接口的Flash存储芯片AT45DB041,它拥有4Mbit的存储空间,可方便地连接在ATmega128L的串口上。
1.3其他模块
设计采用光敏传感器,电源模块由2节1.5V干电池供电。传感器模块的选择相对比较灵活,可以根据实际情况选择不同的传感器。节点设计处理器处于省电模式,射频模块无任务时处于睡眠模式,以尽量减少节点的耗电。
1.4设计要点
为了减少外围信号的干扰,必须把信号线、地线分开,分成几个层次,并且是采用独立的模块设计,考虑到设计的几点体积更精简,更需要减小信号的干扰,可以用多层板,在高电频的工作状态,在该层没有用做布线的面积均需用铜填充并接到地。
2 节点机的软件设计
本文采用的开发软件是WinAVR20050214版本的集成开发环境和AVRStudio4下载程序。软件模块主要包括:CC2420驱动程序、网络路由设计等。
2.1协调器的软件设计
协调器的软件流程图如图1所示。系统刚开始初始化,硬件协议初始化后开始建立网络,判断节点是否接入网络,接入网络成功后运行协议任务,接收节点数据并发送到PC上。
建立过程中若超过次数则接收失败,继续下一次接收。
图1 协调器的软件流程2.2成员节点的软件设计
成员节点主要是采集传感器数据和接受来自协调器的控制数据。当没有数据收发时进入休眠状态,节点功耗降到最低,成员节点的软件设计流程图如图2所示。系统初始化后进行硬件和协议初始化,加载成功后进行协议任务,判断任务后测量传感器数据并发到协调器,进入休眠状态后再执行下一个任务,若超过规定次数,网络建立失败。
图2 成员节点的软件流程
2.3物理层和MAC层的设计
CC2420芯片提供了物理层的数据服务和管理服务,MAC层点到点通信的服务接口通过程序控制CC2420寄存器完成传感器数据的收发。IEEE802.15.4定义的MAC帧格式:MAC层头帧;MAC净载荷;MAC层帧尾。其中,MHR有固定的顺序,并不是所有的帧都包含地址域。
2.4网络层的设计
可以根据实际情况选择AODV路由或者树形路由。
ZigBee的网络层支持多种网络拓扑结构,针对结点数量的限制选择星形网络。在星型网络中,节点被配置成1个全功能节点和1个或多个简化功能节点所有的RFD都只能和FFD通信。节点的网络层协议采用树形路由算法与AODV路由算法相结合的路由算法,其中树形路由算法指的是在做路由选择策略时利用树形结构址;AODV算法则是对AdHoc按需距离矢量路由算法的改进。本文设计节点组网测试选择了星形网络,一个是协调器,另外两个是光传感节点,从可视化后台软件SNAMP可以看到节点组成的网络拓扑图和接收来的数据包,如图3所示。
图3节点硬件实物图与组网测试
3 结论
通过此次设计,实验证明了节点的体积小、集成度高、功耗低,通过多层次布线不仅减少了信号的干扰,而且加大了传输的距离。软件设计可以通过节点编程实现协调器、路由器和网络终端的传输。硬件中的模块设计可以根据具体的需要更改不同的传感模块,具有更高的灵活性。