单片机
返回首页

Zigbee节点的硬件设计与实现

2014-12-09 来源:e-works

    无线传感器网络集成了多种技术,包括传感器技术、计算机技术和通信技术,在军事、环境、健康、家庭、商业等许多方面有着巨大的潜在应用前景,它通过无数千个微小的节点之间互相通信,通过接力的方法实现大范围监控的模式不仅提高了工作效率,更有利于技术的监控和管理。通信网络是通过网络协议,使得节点之间通过协议进行协调和传送数据,形成一个无线传感器网络。这种网络的特点是节点密集度高,能够自主控制和构建,并且自主管理,所以无线传感器网络的应用是技术发展的趋势。

    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  结论

    通过此次设计,实验证明了节点的体积小、集成度高、功耗低,通过多层次布线不仅减少了信号的干扰,而且加大了传输的距离。软件设计可以通过节点编程实现协调器、路由器和网络终端的传输。硬件中的模块设计可以根据具体的需要更改不同的传感模块,具有更高的灵活性。

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 如何构建一个触摸传感器电路

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章