当前位置:首页 > 通信技术 > 通信技术
[导读]1 ZigBee技术及ZigBee2006协议栈简介 1.1 ZigBee技术概述 ZigBee技术是一种短距离、低速率的无线通信技术。由于其短距离、低速率及可以实时定位等特点,被广泛应用于医疗、智能家居、智能建筑、工业自动化、智

1 ZigBee技术及ZigBee2006协议栈简介
1.1 ZigBee技术概述
    ZigBee技术是一种短距离、低速率的无线通信技术。由于其短距离、低速率及可以实时定位等特点,被广泛应用于医疗、智能家居、智能建筑、工业自动化、智能空间等领域。
1.2 ZigBee2006协议栈简析
    ZigBee通信协议的基础是IEEE 802.15.4。这是IEEE无线个人区域网工作组的一项标准,被称作IEEE 802.15.4标准。该标准定义了物理层(PHY)和媒体访问控制层(MAC)的标准。ZigBee联盟则定义了ZigBee协议的网络层(NWK)、应用层(APL)和安全服务规范。TI/Chipcon公司在IEEE 802.15.4标准和ZigBee联盟所推出的ZigBee2006规范的基础上,发布了全功能的ZigBee2006协议栈,并通过了ZigBee联盟的认证。该协议栈全部用C语言编写,免费提供给用户,同时向后兼容。该协议栈在结构上分为应用层、网络层、安全层、MAC层和物理层,每一层的函数都严格按照IEEE 802.15.4标准和ZigBee2006规范所规定的原语格式编写。与此同时,在协议栈内部还嵌入了一个操作系统,用于对任务进行统一的调度。对于用户而言,只需要了解应用层函数并进行恰当的调用,就可以构建功能完善、性能稳定的ZigBee无线网络。

2 系统方案设计
    ZigBee无线传感执行网络必须要有一个协调器作为整个网络的传输与控制中心,另外还要有若干路由器和终端节点。它有3种最基本的连接方式:星状连接、网状连接和串状连接,如图1所示。

    星状连接方式比较简单,只能组建包含较少节点的无线网络,各个终端节点通过协调器实现网络连接。网状连接中任意节点之间都可以传递信息。串状连接中增加了若干路由器,用于对数据进行转发。
    在ZigBee2006全功能协议栈中,网络连接方式的选择可通过在nwk_globals.c和nwk_globals.h中对 STACK_PROFILE_ID的设置来实现。STACK_PRO-FILE_ID有3种量,分别对应着星状连接、网状连接和树状连接网络。
    系统在nwk_globals.h中加入如下语句,从而在家庭环境中构建星状结构的ZigBee无线传感执行网络:
    #define STACK_PROFILE_ID GENERIC_STAR
    系统的整体结构如图2所示。

    系统中布置有一个协调器与PC机相连,同时布置有若干终端节点或路由器,使其连接温度、湿度和光敏电阻等传感器来监测房间环境。另外,房间中还布置有一些终端节点与执行器连接,用于控制窗帘的开关、台灯的亮灭等。协调器和终端节点在房间内组成了一个星状结构的ZigBee无线传感执行网络。
    系统的整体工作过程是:首先由协调器节点成功创建ZigBee网络,然后等待终端节点加入。当终端节点及传感器上电后,会自动查找空间中存在的 ZigBee网络,找到后即加入网络,并把该节点的物理地址发送给协调器。协调器把节点的地址信息等通过串口发送给计算机进行保存。当计算机想要获取某一节点处的传感器值时,只需要向串口发送相应节点的物理地址及测量指令。协调器通过串口从计算机端收到物理地址后,会向与其相对应的传感器节点发送数据,传达传感器测量指令。传感器节点收到数据后,通过传感器测量数据,然后将测量结果发送给协调器,并在计算机端进行显示。

3 系统硬件设计
    系统的协调器、路由器和终端节点的核心采用TI公司的CC2430芯片。该芯片是一款真正的系统芯片(SoC)解决方案,其在单个芯片上集成了ZigBee射频前端、微控制器和存储器。它使用1个8位的8051内核MCU作为控制器,其性能是工业标准8051核的8倍,且程序代码与51系列单片机完全兼容。CC2430具有64/128 KB的可编程Flash和8 KB的RAM,其大容量的Flash完全能够满足ZigBee2006协议栈程序的要求;另外,还具有模/数转换器(ADC)、定时器、AES128协处理器和看门狗定时器等片内外设。
    系统的工作原理是:在协调器端,CC2430通过RS232异步串行通信与PC机进行通信。协调器成功组建网络时,会向PC机发送组网成功指示。当有路由器或终端节点加入网络时,协调器通过RS232向PC机发送节点加入指示。在路由器和终端节点处,上电后CC2430寻找可用信道并加入网络,然后等待指令。路由器或终端节点一旦收到协调器发送来的测量指令,将会读取传感器的数据并传送。
    本系统中温度和湿度测量使用Sensirion公司的SHT11数字温湿度传感器。该传感器具有相对湿度和温度一体测量、超快的响应时间等优良特性。对台灯和窗帘的控制是通过继电器TQ2-3V来实现的。

4 软件设计
4.1 系统采集温湿度的程序设计
    系统温湿度的采集使用的SHT11数字式温湿度传感器采用两线制数字接口,编程十分方便。温湿度采集程序流程如图3所示。

4.2 光敏电阻阻值读取
    光敏电阻阻值的读取用CC2430内部的ADC实现。通过设置CC2430的 ADCCON3寄存器可对A/D转换的一些参数进行设置。具体如下:使用14位的分辨率,采样通道设置为AINO,参考电压设置为内部1.25 V。通过实验可以测定,当P0.1的电压值等于1.25 V时,环境光照强度已经足够弱,可以控制空间中的其他执行器做出动作,如开灯、打开窗帘等。
4.3 ZigBee2006协议栈常用函数及工作过程
    系统软件基于TI/Chipcon公司免费提供的Zig-Bee2006协议栈,程序中嵌入了实时操作系统,用于对网络组建、节点加入、数据收发等功能运行统一调度。进行程序设计时,首先在协议栈应用层程序中添加相应的任务,然后运行任务即可处理。ZigBee2006协议栈的main函数流程如图4所示。

    OSAL层初始化时,通过osalAddTasks函数提供任务列表,向实时操作系统中添加用户所需要的任务。在该函数中,TI公司已经添加了一些任务,如硬件应用层初始化及处理函数、网络层初始化及处理函数、应用层初始化及处理函数等。在该函数中添加自己的任务,添加任务函数如下: osalTaskAdd(CSCE_Init,CSCE_ProcessEvent,OSAL_TASK_PRIORI-TYLOW);
osalTaskAdd函数在OSAL层中的OSAL_Task.C文件中定义,其作用是添加一个任务到任务列表。其中,第1个参数CSCE_Init为用户任务的初始化函数的函数名,第2个参数CSCE_ProcessEvent为用户任务的处理函数的函数名,第3个参数 OSAL_TASK_PRlORITY_LOW为用户任务的优先级。
    任务初始化函数CSCE_Init和任务处理函数CSCE_ProcessEvent都需要遵循ZigBee2006协议栈的格式。其中,CSCE_Init函数和CSCE_ProcessEvent函数需要在应用层头文件SampleApp.h中进行声明。
    CSCE_Init函数有一个参数task_id,该参数为任务ID,具体值由OSAL进行分配。CSCE_ProcessEvent函数有2个参数:第 1个参数与CSCE_Init函数相同,为任务ID;第2个参数events为需要处理的事件,它是一个16位的二进制数,每一位代表一个事件。
    利用OSAL层进行任务设计时,必须保留系统任务事件SYS_EVENT_MSG(0x8000),该事件为强制事件。进行任务处理时,首先要对系统任务事件是否发生进行判断,任务处理流程如图5所示。由于ZigBee2006协议栈为全功能协议栈,不需要对IEEE 802.15.4和ZigBee规范进行全面的了解,只需要在应用层进行一些设计和改动,即可实现数据的发送、接收以及网络组建功能。在终端节点的 CSCE_ProcessEvent函数的上电初始化处理部分,加入物理地址和短地址提取函数,然后调用发送函数将物理地址向协调器发送。协议栈中的物理地址获取函数为NLME_GetExtAddr(),其返回结果为一个指向节点的64位IEEE地址的指针。短地址的获取函数为 NLME_GetShortAddr(),其返回结果为一个16位的无符号整型数据。
    数据发送函数在ZigBee2006规范的原语中已经规定了其参数的顺序及意义。具体到TI/Chipcon公司所提供的ZigBee2006协议栈中,该函数为AF_DataRequest,其具体形式如下:


    在协调器端和路由器(或终端节点)的CSCE_Pro-cessEvent函数中接收到数据部分(即CSCE_MessageMS-GCB函数)中对数据进行处理,将所接收到的数据(即物理地址和短地址)通过串口发送到计算机端,进行显示。
    ZigBee2006协议栈中设计了串口接收处理函数:

  
    该函数在MT目录的SPIMgr.C中。实验中,在协调器端调用该函数,即可从PC机端接收数据并进行相应的处理。


4.4 传感器程序与ZigBee2006协议栈的融合
    系统程序中,传感器端的物理地址及短地址的发送部分程序,添加在ZigBee2006协议栈中的CSCE_ProcessEv-ent函数的上电初始化部分,即ZDO_STATE_CHANGE消息下。协调器及传感器端的数据接收都添加在CSCE_ProcessEvent函数的数据接收部分,即AF_INCOMING_MSG_CMD消息下。系统整体工作过程如图6所示。

4.5 PC机端程序
    在系统中,节点上电加入网络后,协调器会通过RS232向PC机发送新加入节点的IEEE地址。PC机将从串口接收到的物理地址和短地址进行存储,并改变计算机中所存储的房间地图中的节点颜色进行指示。该程序使用Visual C++6.O编写。
    对用户而言,当想要获取房间内传感器所测量区域的温湿度、光照等情况时,只需要点击PC机所显示的地图上相应的节点。程序会调用已存储在相应位置的传感器节点的物理地址,通过串口和ZigBee网络向该节点发送测量传感器数据的指令,并等待接收传感器传回的温湿度,并在PC机界面进行显示。

5 结 论
    实验表明,节点的功耗较低,每个节点使用电池供电可以工作3~6个月,可见应用ZigBee构建家庭环境的传感执行网络是可行的。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭