摘要:定位节点是室内定位系统中的关键模块,其性能对定位系统的定位精度等关键指标起着十分重要的作用。本文介绍了基于ZigBee的定位网络的架构,阐述了定位节点硬件和软件设计中的关键技术和设计方法,对定位节点主要的功能和性能指标进行了测试验证。结果表明,本文设计的定位节点能够满足室内定位系统的需求。
关键词:ZigBee;室内定位;节点;CC2530
引言
公共安全领域内,室内定位技术在羁押场所预警监控、取保候审、监视居住,以及紧急情况救援与救灾应急指挥调度等应用中具备良好的应用前景。ZigBee技术是一种基于IEEE 802.15.4标准的低复杂度、低功耗、低成本的无线通信技术,具有自组网、低延迟、可实现128位的AES加密和组网方式灵活等特性,非常适合用于室内定位技术的应用需求。基于ZigBee技术的室内定位系统,具有成本低、节点续航时间长、自组网方便灵活、便于快速部署和安全性较高等优点。
1 基于ZigBee的室内定位节点简述
基于ZigBee的定位网络是一个WSN网络(Wireless Sensor Network,无线传感器网络),为定位应用系统提供定位特征信息及节点状态报警信息,由网络协调器、参考节点和盲节点组成。定位算法需要至少3个参考节点对1个盲节点进行定位。定位网络结构图如图1所示。
定位网络中,ZigBee网络协调器承担着ZigBee网络的发起和管理功能。ZigBee网络协调器汇集定位网络内所有参考节点产生的定位信息,并将定位信息发送给应用系统。
参考节点固定布置在定位区域范围内的特定位置上,接收盲节点发送的特征信息数据信号,并提取出该信号的场强特征信息,即RSSI(Re ceived Signal Strength Indication,接收信号强度指示)值。参考节点将其自身的特征信息和盲节点的特征信息数据、RSSI值打包生成定位信息,通过ZigBee网络发送给ZigBee网络协调器。参考节点是网络中的路由节点。
盲节点佩戴或安装在被定位人员或物品上,周期性地通过ZigBee网络广播发送自身的特征信息数据。盲节点是网络中的终端节点。
参考节点与盲节点使用相同的硬件,通过下载参考节点或是盲节点的应用程序,实现参考节点或盲节点的功能。本文所述定位节点包括参考节点和肓节点。
2 基于ZigBee的室内定位节点硬件设计
基于ZigBee的室内定位节点硬件电路主要由CC2530主控电路、射频前端电路、电源模块、加速度传感器电路等部分组成。
2.1 CC2530主控电路设计
本文选择TI公司的CC2530为核心来设计节点。CC2530是一款低成本、低功耗、高集成度的ZigBee协议SoC解决方案,工作在2.4 GHz ISM频段。CC2530内部集成有射频收发器、增强型8051核MCU、丰富的片上存储器和外围接口资源,能够为ZigBee协议栈及应用软件提供有力的支持。CC2530功耗低,在以1 dBm功率发射时,电流消耗为29 mA;接收时,电流为24 mA。CC2530支持多种低功率工作模式(空闲模式和休眠模式等),休眠模式切换到主动模式的超短时间特性使节能设计更方便,特别适合要求电池寿命长的应用。
节点以CC2530芯片为核心,配合软件优化,在实现节点功能的同时,能够有效节省功耗、减少体积和BOM成本。主控电路的原理图如图2所示。
2.2 射频前端电路设计
CC2530是无线SoC设计方案,只需采用较少的外围电路即可实现基本的信号收发功能。然而,要达到理想的性能,需要设计和优选射频电路参数,才能够实现稳定的无线信号传输、最大的通信距离和良好的电磁兼容性能。
CC2530的射频输出为差分信号,需要经过差分一单端转换电路,才能与常用的鞭状或贴片天线连接;另外CC2530射频输出端的差分阻抗为(69+j29)Ω,为实现信号的高效传输,需要进行阻抗变换,使射频收发系统的天线接口端的阻抗等于标准的50 Ω。以上两点功能是射频前端电路设计的主要任务与设计目标。
差分一单端转换电路基于TI公司提供的参考设计进行了参数仿真和优化,阻抗匹配网络根据定位系统需求及节点硬件设计特点重新设计,保证在阻抗匹配、收敛性及电磁兼容性能等方面符合系统要求。
射频前端电路手册图如图3所示。其中,Term2为50 Ω天线接口,Term1与Term3及Balun器件CMP1是模拟CC2530射频输出端的虚拟器件。
在ADS2011环境下对该设计进行S参数仿真及Z参数仿真,仿真结果略——编者注。
仿真结果显示,匹配网络正向传播系数为-0.685dB,即插入损耗小于0.076;回波损耗为-22.733 dB,即小于0.073;输入阻抗为69.181 Ω,输出阻抗为50.221 Ω,匹配网络较好地达到了设计目标。
2.3 电源模块设计
节点核心芯片CC2530的工作电压为2~3.6 V,其射频输出功率和接收灵敏度受到供电电压的影响。射频信号强度信息是定位的关键信息,因此,必须保证供电电压的稳定,才能保证定位信息的准确。同时,参考节电与盲节点根据应用场合不同,将采取普通碱性电池、充电电池、锂电池、直流电源等多种供电方式,输入电源电压范围较宽。最后,电源模块需要采用DC—DC转换的方式,以提高电源转换效率,延长电池使用时间。
TI公司的TPS63001为一款升降压转化器,输入电压范围为1.8~5.5 V,输出电压3.3 V,最大输出电流800mA,采用3 mm×3 mm微型封装,效率可高达96%。适用于普通碱性电池、充电电池、锂电池等多种供电模式,具有适应范围宽、效率高、体积小等优点,能够满足电源设计的需求。电源模块原理如图4所示。
3 基于ZigBee的室内定位节点软件设计
3.1 软件结构
节点的软件设计基于OSAL操作系统、用户应用任务(UserApp)和ZigBee设备对象任务(ZDO)一起在OSAL操作系统的调度下运行,其调度机制基于优先级。其中,用户应用任务优先级最低。节点软件架构如图5所示。
ZigBee系统任务在TI公司提供的Z—Stack协议栈的基础上设计实现。ZigBee协议从上到下由应用层APS、网络层NWK、媒体访问控制层MAC和物理层PHY组成。应用层的主要功能与定位信息的采集与传输密切相关。网络层的功能包括配置设备、路由发现和维护,确保数据安全、有效地传输到目的设备。媒体访问控制层MAC控制着设备接入无线信道的时间和方法,确保数据链的可靠性。物理层PHY主要实现数据的发送和接收,完成信道的评估和射频信号能量的测量。应用层APS数据从一个ZigBee设备发送到另一个ZigBee设备,是一个层次封装,然后层次解析的过程。数据传递流程如图6所示。
3.2 ZigBee软件设计
节点加入ZigBee网络运行是定位系统运行的基础,关系到定位数据的可靠性和系统的稳定性。节点上电后,首先进行硬件初始化和网络初始化。节点加入网络的过程如下:节点在预先设定的信道上资料存入自己的相邻表。在相邻表所有父节点中选择一个深度最小的,并对其发出入网请求信息。如果发出的请求被批准,父节点会分配给它一个2字节的网络地址,此时入网成功;如果请求失败,那么重新查找相邻表,继续发送请求信息,直到加入网络或相邻表中都没有合适的父节点,则入网失败,中止过程。
当节点与网络链接中断,则需要重新入网,这类节点被称为孤节点。孤节点的相邻表中存有原父节点的信息,它可以直接给原父节点发送加入网络的请求信息。如果父节点有能力同意它加入,则直接告之它以前被分配的网络地址,孤节点重新入网成功;如果此时原父节点的网络地址已经分配满,父节点便无法批准它加入网络,孤节点只能以新节点的身份重新寻找并加入网络。孤节点的入网处理方法对于定位系统稳定和数据可靠具有重要意义。
ZigBee节点加入网络的流程图如图7所示。
节点在ZigBee网络内的数据传输是系统定位的关键。ZigBee定位网络存在两种数据的交互:RSSI特征信息数据和定位信息数据。簇ID是ZigBee协议定义的重要配置信息,用于区分ZigBee网络传输中不同的数据类型。盲节点向参考节点发送自身特征信息数据时采用的簇ID为GETRSSI—CLU,参考节点向协调器转发定位信息数据时使用的簇ID为INFO—CLU。
ZigBee数据的发送通过调用AF_DataRequest()函数实现。ZigBee数据的接收由Z—Stack完成,接收数据完成后协议栈触发SYS_EVENT_MSG事件和AF_INCOMING_MSG_CMD消息,OSAL在接收到该事件和消息后,调用用户应用任务进行后续处理。
3.3 软件流程
节点加入网络后,通过应用任务进行程序设计,实现节点特征信息的定时广播发送、定位信息的生成和发送、路由转发、节点状态信息的检测与报警信息发送等功能。盲节点和参考节点的应用程序流程如图8所示。
4 测试结果
为验证节点功能,对本文描述的基于ZigBee的室内定位节点进行了相应的测试。测试环境为室内走廊环境,2个参考节点分别放置在长度为58 m的走廊两端位置,测试者持盲节点在走廊的两端之间匀速往复走动,实时记录节点收发数据、报警状态信息,以及实时跟踪定位信息随距离变化的结果,测试结果略——编者注。
为验证节点的功耗性能,本文对盲节点工作模式和空闲模式的功耗分别进行了测试。盲节点供电电压为3.3 V,正常工作时,以2 Hz的频率更新定位信息数据,平均电流实测为11.3 mA;空闲模式实测电流低至1.2 mA。节点设计较好地实现了低功耗的设计目标。实验表明:本文所设计的节点在室内定位系统测试中,能够满足定位系统对节点的功能及性能要求。
结语
本文讨论了基于CC2530的室内定位节点的设计与实现,对节点设计中的关键技术进行了介绍。经实验证明,节点具有网络通信稳定、工作距离远、功能丰富和功耗低等优点。在歼展的基于ZigBee的室内定位系统测试和应用中取得了良好的效果。