zigbee节点设计
- 格式:docx
- 大小:168.50 KB
- 文档页数:13
0引言目前发展较成熟的几大无线通信技术,往往比较复杂,不但耗费较多资源,成本也较高,不适于短距离无线通信。
ZigBee 技术的出现就弥补了低成本、低功耗和低速率无线通信市场的空缺,大大减少资源的浪费,且有很大的发展前景。
ZigBee 技术是在IEEE 802.15.4协议标准的基础上扩展起来的,是一种短距离、低功耗、低传输速率的无线通信技术。
该技术主要针对低速率传感器网络而提出,能够满足小型化、低成本设备的无线联网要求,可广泛应用于工业、农业和日常生活中。
ZigBee 无线网络根据应用的需要可以组织成星型网络、网状网络和簇状网络三中拓扑结构。
ZigBee 网络有两种类型的多点接入机制。
在没有使能信标的网络中,只要信道是空闲的,任何时候都允许所有节点发送。
在使能信标的网络中,仅允许节点在预定义的时隙内进行发送。
协调器会定期以一个标知为信标帧的超级帧开始发送,并且希望网络中的所有节点与此帧同步。
在这个超级帧中为每个节点分配了一个特定的时隙,在该时隙内允许节点发送和接收数据。
超级帧可能还含有一个公共时隙,在此时隙内所有节点竞争接入信道。
1无线传感器网络节点硬件设计本文采用集成MCU+射频收发模块的SOC 设计方式,这种组合方式的兼容性与芯片之间的数据传输可靠性强,而且能实现节点的更微小化和极低的功耗。
1.1无线传感器网络节点组成无线传感器网络节点一般由传感器模块、处理器模块、无线通信模块和电源管理模块组成,如图1所示。
数据采集单元用来采集区域的信息并完成数据转换,采集的信息包含温度、湿度、光强度、加速度及大气压力等;数据处理单元控制整个节点的处理操作、路由协议、同步定位、功耗管理和任务管理等;数据传输单元用于与其他节点进行无线通信、交换控制消息及收发采集数据;电源管理单元选通所用到的传感器。
1.2CC2430模块本文采用CC2430芯片为核心来设计传感器节点。
CC2430芯片是挪威Chipcon 公司推出的符合IEEE 802.15.4标准ZigBee 协议的Soc 解决方案。
zigbee设计方案Zigbee 是一种基于IEEE 802.15.4标准的无线网络技术,常用于物联网设备的通信。
下面介绍一个基于Zigbee的设计方案。
首先,我们将以家庭安全和智能化为目标设计一个Zigbee系统。
这个系统主要包括安全传感器、控制节点和中央控制器。
安全传感器是系统的基础组件之一,它可以检测房间内的烟雾、温度、窗户和门的状态等。
我们可以选择合适的Zigbee无线传感器模块作为安全传感器的核心组件,并设置定时上报数据。
控制节点是系统的核心组件,它可以接收安全传感器的数据,并根据需要采取相应的操作。
我们可以选择具有处理和存储能力的嵌入式系统作为控制节点,例如ARM处理器或者树莓派等。
控制节点通过Zigbee无线通信模块与安全传感器进行通信,并通过控制节点内的程序进行数据处理和决策。
中央控制器是系统的最高级别的组件,它可以集中管理和控制所有的控制节点。
中央控制器可以采用一台计算机或者专门的控制器设备。
通过中央控制器,用户可以远程监控和控制整个系统。
中央控制器也可以与今后的设备实现互联互通,例如智能手机、平板电脑等。
在系统的设计过程中,需要考虑一些关键因素。
首先,需要选择合适的Zigbee无线模块,并对其性能进行评估,例如通信距离、传输速率以及功耗等。
其次,安全传感器的选择也需要根据实际的安全需求来确定,例如可以选择烟雾传感器、温度传感器、窗户和门的状态传感器等。
还需要设计一个稳定可靠的通信协议,以确保传感器和控制节点之间的数据传输可靠。
最后,除了实现基本的安全功能,我们还可以通过扩展其他模块和功能来增加系统的智能化。
例如,可以添加人体红外传感器来检测房间内的人员活动,以进一步提供安全保护。
还可以添加灯光和风扇的控制模块,使系统可以根据环境变化自动调节室内的光线和温度。
综上所述,一个基于Zigbee的家庭安全和智能化系统可以通过合适的无线传感器、控制节点和中央控制器实现。
这个系统可以帮助家庭实现安全保护和智能化控制,提高家庭生活的便捷性和舒适性。
基于ZigBee的低功耗无线传感节点设计与实现戴由旺;李增有;韦俞锋【期刊名称】《现代电子技术》【年(卷),期】2011(034)018【摘要】Wireless sensing node for temperature and humidity measurement was designed by taking CC2430 chip as a core. By improving the design of ZigBee protocol stack, sensing node can run in idle mode, trigger mode or active mode. The opportune moment and rate of sampling are controlled in accordance with actual demands, so as to reduce the node's energy consumption for wireless communication and to meet the low-power requirement of the wireless sensor network. The lifetime of sensing node is reckoned according to the known parameters. An experimentation was performed to validate the design.%以CC2430芯片为核心设计一种用于温湿度测量的无线传感节点,为了降低节点功耗,在ZigBee协议栈的基础上进行改进,为传感节点设计了空闲、触发和主动等3种工作模式,使节点能够按照实际需求控制采样的时机和速率,以减少传感节点用于无线通信的能量开销,从而满足无线传感器网络对节点低功耗的设计要求,同时根据已知参数预测传感节点寿命,并通过实验进行了验证.【总页数】4页(P121-123,126)【作者】戴由旺;李增有;韦俞锋【作者单位】中国人民解放军91550部队,辽宁大连116023;中国人民解放军91550部队,辽宁大连116023;中国人民解放军91550部队,辽宁大连116023【正文语种】中文【中图分类】TN911-34;TP393【相关文献】1.基于CC2431的智能小区无线传感器网络节点低功耗的设计与实现 [J], 范晶晶2.基于CC2430的低功耗Zigbee无线传感器网络节点的设计 [J], 刘琼;周志光;朱志伟3.基于ZigBee的无线传感网络节点的设计与实现 [J], 罗回彬;吴方;潘维松;吴婉娜;吴庆光4.基于ZigBee无线传感网络技术节点设计与实现 [J], 隋浩;徐国凯;孙炎辉5.基于STM32的低功耗无线传感器节点的设计与实现 [J], 严冬;王瑞涛;陈俊生因版权原因,仅展示原文概要,查看原文内容请购买。
目录第一章无线传感器网络(WSN)......................................................................... 1. .第二章ZigBee 网络节点设计......................................................................... 2. .1. ZigBee 精简协议栈简介............................................2..2. ZigBee 协议编程..................................................3..2.1节点程序设计...............................................3..2.2发送消息4...2.3接收消息5...2.4编写用户应用程序........................................... 5.. 第三章温度数据采集节点的设计.......................................... 7..1cc2430 核心芯片7...2DS18B20 温度传感器............................................... 8..3节点的温度数据采集............................................... 9.. 第四章总结. (11)参考文献............................................................. (12)第一章无线传感器网络(WSN )无线传感器网络WSN (Wireless Sensor Network )是一种由传感器节点构成的网络,能够实时地监测、感知和采集节点部署区的观察者感兴趣的感知对象的各种信息(如光强、温度、湿度、噪音和有害气体浓度等物理现象),并对这些信息进行处理后以无线的方式发送出去,通过无线网络最终发送给观察者。
无线传感器网络在军事侦察、环境监测、医疗护理、智能家居、工业生产控制以及商业等领域有着广阔的应用前景。
在传感器网络中,传感器节点具有端节点和路由的功能:一方面实现数据的采集和处理;另一方面实现数据的融合和路由,对本身采集的数据和收到的其他节点发送的数据进行综合,转发路由到网关节点。
网关节点往往个数有限,而且常常能量能够得到补充;网关通常使用多种方式(如Internet 、卫星或移动通信网络等)与外界通信。
超声波传感器而传感器节点数目非常庞大,通常采用不能补充的电池提供能量;传感器节点的能量一旦耗尽,那么该节点就不能进行数据采集和路由的功能,直接影响整个传感器网络的健壮性和生命周期。
因此,传感器网络主要研究的是传感器网络节点。
常用的无线通信协议有802.11b 、802.1 5.4(ZigBee)、Bluetooth 、UWB 和自定义协议;处理器从 4 位的微控制器到32 位ARM 内核的高端处理器都有所应用。
本文介绍的就是zigbee 节点技术的设计。
ZigBee 是一种新兴的短距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术。
主要用于近距离无线连接。
它依据IEEE 802.15.4 标准,在数千个微小的传感器之间相互协调实现通信。
802.15.4 强调的就是省电、简单、成本又低的规格。
802.15.4的物理层(PHY)采用直接序列展频(DSSS , Dir ect Sequence Spread Spectrum )技术,以化整为零方式,将一个讯号分为多个讯号,再经由编码方式传送讯号避免干扰。
在媒体存取控制(MAC )层方面,主要是沿用WLAN 中802.11 系列标准的CSMA/CA 方式,以提高系统兼容性,所谓的CSMA/CA 是在传输之前,会先检查信道是否有数据传输,若信道无数据传输,则开始进行数据传输动作,若有产生碰撞,则稍后重新再传。
可使用的频段有 3 个,分别是 2.4GHz 的ISM 频段、欧洲的868MHz 频段、以及美国的915MHz 频段,而不同频段可使用的信道分别是16、1、10 个。
第二章ZigBee 网络节点设计ZigBee 可以组成星形、网状、树形的网络拓扑,可用于无线传感器网络(W SN )的组网以及其他无线应用。
ZigBee 工作于 2.4 GHz 的免执照频段,可以容纳高达65 000 个节点。
这些节点的功耗很低,单靠 2 节 5 号电池就可以维持工作6~24 个月。
ZigBee 协议由ZigBee 联盟制定,是ZigBee 的核心。
目前国外带有ZigBe e 协议栈的全功能开发系统的价格非常高昂,而且ZigBee/802.15.4 协议栈全部只提供二进制/不可修改的目标代码库供用户使用。
ZigBee 精简版协议栈代码开放,在某些应用中可以达到标准版协议栈的效果,但是费用却低很多,因此应用十分广泛。
1 ZigBee 精简协议栈简介美国密西西比州立大学的Robert Reese 教授出于教学、科研目的开发出一套精简版(subset )ZigBee 协议栈。
标准协议栈和精简协议栈的功能对比如表 1 所列,可以看出,精简协议栈实现了ZigBee 的主要功能。
国内一些研究机构在此精简协议上进行扩充,实现了一些其原本不具备的功能。
协议栈术语:IEEE Address 节点的8 位802.15.4 网络地址,也称为长地址。
Network Address 节点的 2 位网络地址,也称短地址。
PAN 个人局域网。
PAN ID 个人局域网标识符。
HAL 协议栈物理抽象层。
PHY 协议栈物理层。
MAC 协议栈媒体访问控制层。
NWK 协议栈网络层。
APS 协议栈应用支持层。
APL 协议栈应用层。
精简协议栈的代码结构如表 2 所列。
2 ZigBee协议编程对于实际应用来说,最重要的是协议栈的APL函数。
协议栈的每一层都有自己的有限状态机(FSM)以追踪要进行的操作。
顶层的状态机函数为apsFSM(),这个函数需要最早被调用以使协议栈运行,这与标准栈中的APLTask()函数等价。
所有的应用层函数都以apl或者aps开头,这些函数被分为两类:一类是对栈内数据的存取函数,一类是数据传输过程触发一系列事件的服务函数(调用)。
这里需要说明的是服务调用不能重叠,这可以通过调用apsBusy()函数进行判断。
表1标准协议栈和精简协议栈的功能对表2精简协议栈的代码结构如果节点作为协调器(coordinator),那么需要定义LRWPAN_COORDINAT OR ;而如果节点作为路由器(router)则需要定义LRWPAN_ROUTER ;如果两者都没有定义,将作为RFD节点。
协调器节点形成网络,然后进入一个无限循环并调用apsFSM()运行协议栈。
调用aplFormNetwork()服务后调用函数aplGetStatus(),如果返回了LRWPAN _SUCCESS则表示服务调用成功。
代码如下:mai n(){halInit();〃初始化HAL 层evbInit();〃初始化评估板aplI ni t();〃初始化协议栈ENABLE_GLOBAL_INTERRUPT();〃开中断aplFormNetwork();〃形成网络while(apsBusy)()) {apsFSM();}// 等待完成while(1) {apsFSM();}// 运行协议栈栈}路由器节点通过调用aplJoinNetwork() 运行协议栈。
代码如下:main(){halInit();// 初始化HAL 层evbInit();// 初始化评估板aplInit();// 初始化协议栈ENABLE_GLOBAL_INTERRUPT();// 开中断尝试接入网络直至成功do { aplJoinNetwork(); // 接入网络while(apsBusy)()) {apsFSM();}// 等待完成}while(aplGetStatus() !=LRWPAN_SUCCESS);while(1) {apsFSM();}// 运行协议栈}2.2 发送消息应用程序通过调用aplSendMSG() 函数发送消息包。
此函数的定义如下:aplSendMSG(BYTE dstMode,// 目标地址的地址模式LADDR_UNION * dstADDR, //目的地址的指针BYTE dstEP,// 目标端点(直接消息方式不用)BYTE cluster,// 簇号(仅用于直接消息)BYTE scrEP,// 消息源端点BYTE* pload,// 用户数据缓冲区指针BYTE plen,// 缓冲区字节数BYTE tsn,// 消息的事务队列数BYTE reqack// 如果非0 则要求确认)消息从源节点的源端点发送到目标节点的目标端点。
消息分直接消息(指定了目标地址)和非直接消息(仅定义了源节点、源端点和簇,没有指定目标地址)。
端点号从 1 到255 由应用程序设置(端点0 由栈保留使用)。
消息发送以,协议栈会向父节点路由此消息。
如果收到APS 的ack 确认,协议栈就会将消息发送给目标端点。
2.3接收消息协议栈使用以下APL访问函数接收数据包。
即IGetRxDstEp()返回目的端点即IGetRxCluster()返回簇号即IGetRxSrcEp()返回源端点aplGetRxSADDR()返回源端点的短地址即IGetRxMsgLen()返回消息长度即lGetRxMsgData()返回消息数据的指针即IGetRxRSSI()返回收到消息的信号强度而后用户回调函数usrRxPacketCaIIback()将被调用。
这个函数将使用用户数据结构保存数据,设置已收到数据的标志位。
此函数结束后消息数据的指针将会被释放,所以在函数结束之前要将数据保存以防止下一个包将数据覆盖掉。
2.4编写用户应用程序编写用户应用程序时,要确定端点的连接方式。
一种简单的方式是RFD节点周期性地向协调器节点返回数据。
这样做比较简单,因为协调器的地址总是0。
图2-2-1表3 APL服务调用表表4 APL/APS访问和功能函数入网络的顺序和深度决定的,事先并不知道。
当然可以在协调器节点上增加程序告知RFD节点它们的地址,但这使复杂程度增加了。
比较好的方式是使用非直接消息方式进行RFD节点间通信。
RFD节点都将消息发送给协调器节点,协调器节点根据绑定表向正确的节点发送数据。
整个程序的运转是靠一个有限状态机维持的。
图1给出了这个状态机的状态转移图。