当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]LM3S9B96与CC2520平台上的ZigBee组网技术及应用

摘要:ZigBee技术是基于IEEE802.15.4的一种新兴的短距离、低功耗、低成本和低速率的无线传感器网络技术。网络节点作为无线传感器网络的物理载体,如何实现众多网络节点的智能化接入成为关键问题之一。本文提出了LM3S9B96+CC2520平台上无线通信节点的智能化设计,分析了ZigBee无线组网与数据通信技术,并实现了智能泊车引导系统的应用。
关键词:无线传感器网络;ZigBee;LM3S9B96;CC2520;CC2530

引言
    基于IEEE802.15.4标准的ZigBee短距离低速无线个域网(LR-WPAN)协议将低速率、低功耗、低成本作为主要研究目标,是目前无线传感器网络的重要支撑协议之一。针对ZigBee无线短距离低功耗解决方案,虽然目前已经有好几家大半导体公司设计、生产了相应的无线芯片并提供了对应的支持协议栈,但是目前的ZigBee网络多是采用性能较低、存储容量较小的8/16位微控制器来实现的。然而,ZigBee无线网络的中心控制节点往往要分析、处理网络中通信的大量数据,在一些对实时及高效率有严格要求的应用场合,有必要采用高性能的微处理器作为节点的数据处理单元。TI公司Stellaris MCU内部拥有一个32位ARM Cortex-M3处理器核,ARM Cortex-M3核具有高速的处理速度且支持芯片厂商自己扩展丰富的外设,比如网口、USB口、LCD等。同时,Stellaris系列微控制器包含了100多种可以向全球供货的32位ARM核的MCU。本文选用基于32位ARM Cottex-M3核的微控制器LM3S9B96作为无线芯片CC2520的微控制器单元构成协调器节点,另将8051核的SoC CC2530芯片模块作为终端采集节点。通过配置节点设备环境,实现了ZigBee协议下的终端数据采集及星型、树型下的无线组网通信功能,验证了不同规格的ZigBee无线模块在同一协议栈环境下能够正常组网通信,厂商提供的不同ZigBee设备可进行互操作。

1 ZigBee应用体系结构
    本平台采用ZigBee标准技术,其具体应用体系结构如图1所示。其中,硬件实体层主要由处理器模块、无线通信模块构成,区别于协调器或路由器的全功能设备,作为精简功能设备的终端节点一般还需再配上传感器硬件模块以实现数据采集;OSAL软件功能模块作为TIZ-Stack协议栈中的操作系统抽象层,统一管理协议栈的运行以及各种任务事件的响应;ZigBee协议栈运行于OSAL抽象系统之上,该协议栈是由层来量化表示其整个协议标准的,每一层负责完成所规定的任务,并且向上层提供相应的数据接口及服务;ZigBee技术体系结构主要由物理(PHY)层、媒体访问控制(MAC)层、ZigBee网络(NWK)层以及应用(APL)层构成,其中物理层与媒体访问控制层协议为IEEE 802.15.4协议标准,网络层由ZigBee技术联盟制定,而应用层的应用则根据用户自己的应用需求进行开发利用。


    在应用系统设计过程中,考虑到LM3S9B96的优良特性以及作为协调器对硬件节点的高性能要求,用该开发板来控制CC2520无线传输模块,并把LM3S9B96+CC2520作为协调器节点,这也是TI公司提供的新的32位无线传感器网络节点方案。同时,将集成了一个8051核及射频电路的CC2530无线模块作为路由和终端节点,终端节点的传感器则采用E18-D80NKDC-5V反射式接近开关传感器,以此构成ZigBee无线组网的硬件平台。在ZigBee协议栈选择方面,CC2520及CC2530使用的是TI公司设计的符合ZigBee2007/PRO标准系统的ZigBee协议栈Z-Stack。Z-Stack是最新功能的协议栈产品,在互操作性、节点密度管理、数据负荷管理、频率捷变等方面有重大进步,且具有支持网状网络和低功耗等特点。在应用程序模块中,通过E18-D80NKDC-5V反射式接近开关传感器进行障碍物检测,利用CC2530终端节点与LM3S9B96协调器进行ZigBee星型网通信,构建了智能泊车引导系统。

2 ZigBee网络节点结构
2.1 硬件模块介绍
    TI公司的CC2520、CC2530芯片是符合ZigBee技术的具有高集成度的无线射频收发器件,CC2520和CC2530芯片的PHY与MAC层协议符合IEEE 802.15.4标准,模块可工作在2 394~2 507 MHz的2.4 GHz ISM免费频段。该频段可提供16个物理通信信道,工作速率可达到250 kbps,码片速率为2 Mchip/s。CC2520和CC2530无线芯片均是有着低功耗的特点,在接收数据帧时电流消耗仅为18.5 mA,其输出功率编程可控,最大输出功率可达5 dBm,此时电流消耗33.6 mA,支持IEEE802.15.4标准与ZigBee协议。芯片的RF电路部分还提供丰富的硬件功能支持,如封包处理、数据缓冲、爆发传输、数据加密、数据验证、空闲信道评估、链路质量指示和封包时间信息,可大幅减轻主机控制器的作业负荷。
    TI公司LM3S9B96微控制器内含DMA、数字/模拟转换器(DAC)和模拟/数字转换器(ADC)等功能模块且提供以太网、CAN及USB口通信,又兼具高性能及超低功耗的特点,能为ZigBee应用提供良好的硬件支持。无线传感网络节点的具体硬件结构如图2所示。


2.2 无线通信节点平台分析
    通过了解IEEE802.15.4标准、ZigBee规范,并在此理论基础上研究TI公司的标准ZigBee协议栈Z-Stack,对其底层驱动、协议栈的初始化以及事件机制进行了研究与分析。LM3S9B96+CC2520节点作为当前较新的ZigBee节点平台,基于任务调度机制,采用功能模块化设计。[!--empirenews.page--]
2.2.1 协调器的功能模块配置
    LM3S9B96微控制器提供了3个UART通信口,在zstack_collector工程中选择UART0作为串行通信端口。在系统时钟配置上,为使协调器节点运行在50 MHz的频率上,需使用PLL(Phase Locked Loop,锁相环)进行系统时钟4分频配置。另外,程序中使用定时器timer0A与time0B以支持协议栈任务的运行。CC2520与LM3S9B96之间采用SPI接口,其他引脚配置为:FIFOP作为接收数据包判断的重要引脚,对应开发板上的中断引脚PC6;数据缓存判断引脚FIFO则对应PC7。在接收模式下,当发生越界或帧接收完毕时,FIFOP引脚可以用来中断微处理器,FIFO引脚可以用来判断数据是否都处于接收FIFO中。CC2520与LM3S9B96微控制器的接口如图3所示。


    CC2520利用SFD、FIFO、FIFOP和CCA 4个引脚查询数据收发状态,利用SPI接口(CSN、SO、SI、SCK)与LM3S9B96微控制器进行数据交换及命令传送。另外,利用RSTn引脚复位芯片并使用VREG_EN引脚使能CC2520的电压调整器,使其产生CC2520正常工作所需的电压,CC2520的电压规格范围为1.8~3.8 V。本平台的CC2520与CC2530使用单极天线进行通信。
2.2.2 协调器的软件环境配置
    使用“#include"config/lm3s/f8wConfig.h"”与“#include"config/lm3s/f8wCoord. h"”将该工程配置为协调器工程项目。然后在ZigBee网络设置上,通过“#define DEFAULT_CHANLIST 0x00000800”宏定义将物理信道配置为11,通过“#define ZDAPP_CONFIG_PAN_ ID0xFFFF”宏定义使得协调器运行时可自行设置PAN ID,若ZDAPP CONFIG_PAN_ID值不为0xFFFF时,PANID由其指定。ZigBee节点的2.4 GHz频段有着良好的抗干扰性能,不同信道下的通信互不干扰。在组网过程中务必保证网络节点拥有相同的PAN ID及物理信道,处在同一网络下,否则将无法正常组网通信。

3 ZigBee无线组网研究
3.1 LM3S9B96+CC2520协调器的组网流程
    CC2520协调器软件初始化的基本思路是:先对LM3S9B96与CC2520控制端口进行初始化;使能触摸屏ADC通道,使能UART通信端口,使能SPI口,并通过SPI口按照CC2520芯片的操作时序初始化CC2520;操作系统抽象层加载协议栈运行任务,并提供信息管理、任务同步、时问管理、中断管理、任务管理、内存管理、电源管理以及非易失存储管理等服务。开启无线收发机后,就可以运行任务程序等待数据的收发。协调器设备的组网程序流程如图4所示。


3.2 LM3S9B96+CC2520与CC2530组网研究
    ZigBee有着大规模的组网能力,每个网络理论上最大可支持65 535个节点,本设计利用多达十几个节点构成ZigBee平台,研究发现LM3S9B96与CC2530进行无线组网,必须具备以下几个条件。
    (1)采用相同的标准协议栈
    因相同协议栈组网握手协议及流程一样,要保证网络中信息传输过程一致,协调器、路由器和终端设备之间只有采用相同的协议栈,才能实现互操作。在组网实验中,统一采用了ZigBee 2007/PRO协议栈。
    (2)PAN ID号和信道的配置
    协调器和路由器、终端设备的PAN ID号必须保持一致,所采用的信道也必须相同。网络设备的PANID号与ZDAPP_CONFIG_PAN_ID宏值的设置有关,若其值为0xFFFF,则协调器将产生一个随机的PAN ID,而路由器和终端设备将在自己的信道上随机选择一个网络加入,并以协调器的PAN ID作为自己的PAN ID;若其值介于0x3FFFF与0xFFFF之间,则协调器将根据自己的IEEE地址随机产生一个PAN ID,而路由器和终端设备将以ZDAPP_CONFIG_PAN_ID的值作为其PAN ID;若其值小于等于0x3FFFF,则协调器、路由器和终端设备均会以ZDAPP_CONFIG_PAN_ID的值作为其PAN ID。2.4 GHz的射频频段被分为0x0B~0x1A共16个独立的信道,在组网过程中,协调器、路由器和终端设备必须采用相同的信道。[!--empirenews.page--]
    (3)相应的事件处理机制
    CC2530芯片初始化完毕后,触发ZB_ENTRY_EVENT事件启动设备,该事件在用户自定义的事件处理函数zb_Handle()salEvent()中被处理,调用zb_StartReqtaest()函数启动路由器或者终端设备并加入LM3S9B96协调器建立的网络。


    该函数主要用来处理3个网络事件:
    ◆ZB_ENTRY_EVENT,负责启动设备组建或加入ZigBee网络。
    ◆MY_FIND_COLLECTOR_EVT,负责CC2530路由器、终端设备和LM359896协调器之间的绑定。
    ◆MY_REPORT_EVT,负责定时维护LM359896协调器和CC2530路由器、终端设备之间的父子关系。
    设备启动完毕后,作为路由器或终端节点的设备将自动调用回调函数zb_StartConfirm()确认设备是否启动成功,同时在函数内部触发设备绑定事件MY_FIND_COL_LECTOR_EVT。其核心代码如下:

    CC2530路由器、终端设备和LM359B96+CC2520协调器完成设备绑定后,还必须定时触发MY_REPORT_EVT事件,该事件负责每隔myReportPer iod时间(默认为2s)向LM359B96+CC2520协调器发送父子节点绑定关系的消息以维护父子关系,其发送消息的关键函数为zb_SendDataRequest()。
3.3 ZigBee平台上智能泊车引导系统设计
    针对目前大中型停车场中普遍存在的停车难、收费麻烦等问题,在以LM3S9B96+CC2520为协调器、CC2530作为终端节点的ZigBee星状网络的基础上,构建了一个新型的停车场智能泊车引导系统。该系统采用N18-D80NK反射式接近开关传感器采集每个车位当前是否被占用的状态信息,通过CC2530无线节点模块利用ZigBee传输到LM3S9B96协调器。LM3S9B96协调器对信息汇总后进行初步处理,以UDP通信的形式与OMAP35 30嵌入式网关进行局域网通信,并在OMAP3530嵌入式网关的显示屏上对当前所有车位状态进行同步更新并显示,以便车主能够直观地选择空闲车位。同时,还在现有的基础上将OMAP3530的串口通信与短信查询模块集成在一起,实现了停车场空闲车位的短信查询功能。系统也可以用LM3S9B96协调器上的网络或USB口把采集的信息直接传送给微机进行统计和管理。

结语
    LM3S9B96作为32位ARM Cortex-M3微处理器,在性能方面具有处理速度快、外围接口丰富等优势,它与CC2520一起组成的协调器在ZigB ee无线组网方面有着广阔的发展前景。本文在了解CC2530、CC2520等无线芯片的原理与技术的基础上,实现了基于LM3S9B96+CC2520为协调器,CC2530为路由器或终端设备的无线组网方案。在ZigBee技术迅猛发展的今天,相信LM3S9B96+CC2520平台将会为解决ZigBee技术在实际应用中的问题带来更大的自由度和选择性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在我们家,WTW已经运行了14年了。它是一种非连接(不在线)的通风机,从房子外面吸收新鲜空气,经过过滤后空运到房子里。新鲜的环境空气是用从房子里大多数房间取出的空气预热的。再加热的能量是通过热交换器从流出的“脏”空气中获...

关键字: Zigbee LED 传感器

在智能家居系统中,无线传感器、控制器等设备对电源的稳定性与能效提出严苛要求。尤其在采用Zigbee协议的场景中,低功耗待机与智能唤醒机制成为延长设备续航、保障网络可靠性的核心设计要素。本文从电源架构设计、Zigbee模块...

关键字: Zigbee 低功耗

在物联网(IoT)技术生态中,低功耗广域网络(LPWAN)凭借其长距离、低功耗的特性,成为机器对机器(M2M)通信的核心支撑技术。LoRaWAN、NB-IoT与Zigbee作为三大主流技术,在能效管理、覆盖范围及应用适配...

关键字: LoRaWAN NB-IoT Zigbee

ZigBee是短距离通信的一种新兴双向无线通信技术。它具有近距离、低复杂度、低功耗、低数据速率、低成本的优点,使用2.4GHz波段。

关键字: Zigbee

为增进大家对智能家居的认识,本文将对智能家居技术ZigBee予以介绍。通过本文,您将了解到ZigBee技术的特点以及ZigBee和WiFi的区别。

关键字: 智能家居 指数 Zigbee

半导体技术持续向纳米尺度推进的过程,晶体管结构的创新成为突破物理极限的关键。从FinFET到GAA(全环绕栅极)晶体管的技术迭代,本质上是对量子隧穿效应、短沟道效应等微观物理现象的主动应对。GAA晶体管通过纳米片或纳米线...

关键字: LoRa Zigbee

Zigbee是智能家居生态系统中最流行的无线通信协议之一,以其可靠性、低功耗和强大的网状网络功能而闻名。在本教程中,我们将探讨如何利用Zigbee在强大而紧凑的DFRobot Beetle ESP32-C6微控制器上创建...

关键字: 智能照明 Zigbee Beetle ESP32-C6

如果您希望涉足Zigbee开发领域,那么这个项目非常适合您。在本教程中,我们将指导您使用Omnimo nRF52840开发板与Temp&Hum 24 Click (HDC3021传感器)配对构建无线温湿度传感器。...

关键字: Zigbee 传感器 HDC3021 Omnimo nRF52840

传感网作为物联网技术的核心支柱,其发展历程映射了从短距离通信到广域覆盖的技术跃迁。自2003年ZigBee协议问世以来,传感网技术经历了从局域网到广域网的范式转变,而LoRa等低功耗广域网(LPWAN)技术的崛起,更推动...

关键字: Zigbee LoRa

我想集成一个继电器与HomeAssistant来轻松控制我的LED条。最近,我一直在深入研究ESP32C6的Zigbee功能,我发现它的低功耗和易于连接非常适合我的需求。使用Zigbee可以让我无缝地将继电器集成到Hom...

关键字: LED EP32C6 Zigbee 继电器
关闭