通信设计应用
引言
随着数据业务和多媒体业务的快速增加,人们对定位与导航的需求日益增大,尤其在复杂的室内环境,如机场大厅、展厅、仓库、超市、图书馆、地下停车场等环境中,常常需要确定移动终端或其持有者、设施与物品在室内的位置。但是受定位时间、定位精度以及室内复杂环境等条件的限制,比较完善的定位技术目前还无法很好地利用。ZigBee是一种新兴的短距离、低速率无线网络技术,它最显著的特点是低功耗和低成本。利用ZigBee技术实现定位具有低成本、低功耗的优点,且信号传输不受视距的影响。
1 相关核心技术概述
1.1 ZigBee技术概述
ZigBee技术[1]是一种新兴的近距离、低功耗、低成本、低数据率、低复杂度的双向无线通信技术,它是基于IEEE 802.15.4标准开发的无线协议。网络层以上协议由ZigBee联盟制定,IEEE 802.15.4负责物理层和链路层标准。完整的ZigBee协议套件由应用层、应用架构层、网络层以及数据链路层和物理层等组成,协议栈结构如图1所示。
图1 ZigBee协议栈结构
ZigBee可使用的频段有3个,分别是2.4 GHz的ISM频段、欧洲的868 MHz 频段以及美国的915 MHz 频段,不同频段可使用的信道分别是16、1、10个。中国采用2.4 GHz频段,它是免申请和免使用费的频段;采用直接序列扩频技术DSSS(Direct Sequence Spread Spectrum),传输距离介于10~75 m(增加RF发射功率,可达500 m);传输速率为20~250 kb/s,适合传感器数据采集和控制数据的传输。ZigBee技术具有强大的组网能力,可以形成星型、树型和MESH网状网。
1.2 RSSI定位技术
RSSI[2](Received Signal Strength Indicator,接收信号强度指示)是指节点接收到的无线信号强度大小。在基于接收信号强度指示RSSI 的定位中,已知发射节点的发射信号强度,接收节点根据接收到信号的强度计算出信号的传播损耗,利用理论和经验模型将传输损耗转化为距离,再利用已有的算法计算出节点的位置。该技术硬件要求较低、算法相对简单,在实验室环境中表现出良好特性;但由于环境因素变化的原因,在实际应用中往往还需要改进。接收信号强度是发射功率和发射器与接收器间距离的函数。
接收信号强度RSSI理论值可由式 (1)表示:
RSSI=-(10n·lgd+A)(1)
其中,n代表信号传播常量,也叫传播指数;d代表距发射器间的距离;A代表距离1 m时的接收信号强度。
信号的衰减与距离成对数衰减的关系。节点到信号源的距离越近, 由RSSI值的偏差产生的绝对距离误差越小;而当距离大于某一值时,由RSSI波动造成的绝对距离误差将会很大。一个未知节点可能收到n个参考节点的信号, 所以应当采用RSSI值大的前几个参考节点进行定位计算,这样可以避免定位误差扩大。
2 ZigBee技术实现定位的优势
(1) 功耗低
由于ZigBee的传输速率低,发射功率仅为1 mW,而且采用了休眠模式,因此ZigBee设备非常省电。ZigBee设备仅靠2节5号电池就可以维持长达6个月到2年左右的使用时间,其功耗远远低于其他无线设备。
(2) 成本低
与 GPS相比,定位引擎在单芯片 ZigBee RF收发器中与 MCU集成在一起,成本不及 GPS硬件的1/10,功耗也只是 GPS硬件的一小部分,并且ZigBee协议是免专利费的。
(3) 时延短
通信时延和从休眠状态激活的时延都非常短,典型的搜索设备时延为30 ms,休眠激活的时延是15 ms,活动设备信道接入的时延为15 ms。因此ZigBee技术适用于对实时定位要求较高的应用。
(4) 网络容量大
一个星型结构的ZigBee网络最多可以容纳254个从设备和1个主设备,组网方式灵活。随着ZigBee技术的成熟,未来ZigBee设备不断增多,可以利用具有ZigBee RF的设备或基础设施,容易组建ZigBee网络,降低了ZigBee节点设计和组网成本,且利用更多的ZigBee设备可以达到更高的定位精度。
3 室内定位系统设计
3.1 系统结构
定位系统由盲节点(即待定位节点)和参考节点组成,为了便于用户获得位置信息,还需要一个与用户进行交互的控制终端和一个ZigBee网关。系统结构如图2所示。
图2 系统结构图
参考节点是一个位于已知位置的静态节点,这个节点知道自己的位置并可以将其位置通过发送数据包通知其他节点。盲节点从参考节点处接收数据包信号,获得参考节点位置坐标及相应的RSSI值并将其送入定位引擎,然后可以读出由定位引擎计算得到的自身位置。由参考节点发送给盲节点的数据包至少包含参考节点的坐标参数水平位置X和竖直位置Y,而RSSI值可由接收节点计算获得。
一般来说参考节点越多越好,要得到一个可靠的定位坐标至少需要3个参考节点。如果参考节点太少,节点间影响会很大,得到的位置信息就不精确,误差大。对于CC2431,要得到好的定位精度,需要8个参考节点;如果得不到8个节点,则应该使用尽可能多的节点。CC2431的无线定位引擎可以处理最高达64 m的X、Y值。
为了收集计算得到的数据和与无线节点网络交互,特定的控制系统是必需的。一个典型的控制单元是一台计算机,然而一个PC没有一个嵌入的无线接收器,因此接收器需要从外部接入,还需要一个ZigBee网关。ZigBee网关的作用就是将无线网络连接到控制终端,所有位置计算都由盲节点来实现,所以控制终端不需要具备任何位置计算功能。它的唯一目的是让用户和无线网络进行交互,比如获得盲节点的位置信息。
3.2 CC2431芯片简介
CC2431是TI公司推出的带硬件定位引擎的片上系统(SoC)解决方案,能满足低功耗ZigBee/IEEE 802.15.4无线传感器网络的应用需要。CC2431的定位引擎基于RSSI技术,根据接收信号强度与已知参考节点位置准确计算出有关节点位置,然后将位置信息发送给接收端。
CC2431由2.4 GHz直接序列扩频(DSSS)射频收发器核心和增强型工业标准的8位8051微控制器组成,是带有128 KB闪存的8051内核ZigBee无线单片机,并带有定位跟踪引擎。CC2431的设计结合了8 KB的RAM及强大的外围模块,并且有3种不同的版本,它们是根据不同的闪存空间32 KB、64 KB和128 KB来优化复杂度与成本的组合。CC2431的尺寸只有7 mm×7 mm的48脚封装,采用具有内嵌闪存的0.18 μm CMOS标准技术。针对协议栈、网络和应用软件执行时对MCU处理能力的要求,CC2431包含一个增强型工业标准的8位8051微控制器内核,运行的时钟频率为32 MHz。CC2431还包含一个DMA控制器,它能够被用于减轻8051微控制器内核对数据搬移的操作,因此提高了芯片整体的性能。
系统基本硬件连接电路如图3所示。连接50 Ω单极天线的部分由电感和电容构成,其中的电感L1、L2还为芯片内部的低噪声放大器和功放提供直流偏置。也可采用一个无需阻抗匹配电路的折叠式偶极子PCB天线。图3中,XTAL1为一个等效串联电阻(ESR)<60 Ω的32 MHz晶振,R1为其建立精确的偏置电路,C1、C2是去耦电容,用于电源滤波,向电压调节器提供稳定的核心电压。
图3中,CC231还提供了良好的接地保护功能,除了48引脚外,其芯片底层提供了AGND接地引脚,可以有效地抑制噪声,减少电磁干扰,保证电路系统稳定工作。
图3 系统基本硬件连接电路
3.3 定位引擎操作流程
图4 定位引擎操作流程
CC2431的硬件定位引擎与软件定位方法相比的优势是: 速度快、精度高,不占用处理器时间。该定位引擎的主要特点如下:定位估计算法需3~8个参考节点;定位估计以0.5 m为单位;计算节点位置耗时少于40 μs;定位范围为64 m;定位偏差低于3 m;定位引擎采用分布式计算方法,该方法使用已知参考节点的RSSI信息定位。在节点上分布式定位计算可避免集中计算方法带来的大量网络传输与通信延迟问题。定位引擎操作流程[3]如图4所示。
在定位引擎运行之前,必须使能定位引擎寄存器LO2CENG的第4位LOCENG.EN。当要停止定位引擎运行时,应往LOCENG.EN 写入0关断引擎的时钟信号,以降低CC2431的功耗。对定位引擎的操作,主要就是对与定位引擎有关的寄存器的操作。
定位引擎运行时需要输入3~8个参考坐标。参考坐标是以m为单位的,它表示各个参考节点的位置,其数值位于0~63.75,最高精度为0.25 m,以最低2位为小数部分,剩余6位为整数部分。参考坐标存放于RF 寄存器REFCOORD中。在写入REFCOORD之前,寄存器LO2CENG的第1位LOCENG.REFLD 必须写入1,用于指示一组参考坐标将要被写入。一旦坐标写入过程开始(LO2CENG.REFLD=1),8对坐标必须一次性写入。当定位引擎使用少于8个参考坐标时,要将未用的参考坐标写入0.0。
4 定位区域的扩展
定位引擎可以处理最高达64 m的X、Y值,更准确地说是63.75 m,但是这个区域对实际应用来说显得太小,因此扩展区域非常必要。可以通过软件预处理算法来实现。每个节点用2个字节代表X、Y。因为精度为0.25 m, 因此最大范围为16 384 m(214=16 384)。图5是用预处理算法进行区域扩展的示意图。
图5 扩展定位区域示意图
该图所示的区域中,在X、Y方向上每隔30 m放置一个参考节点,虚环中间的白色节点为盲节点,其他节点为参考节点。第1步,确定具有最高RSSI值的一个节点并计算一个补偿值,使之“移动”到64 m×64 m范围的中心。由于已知来自此节点的RSSI值,所以到此节点的距离很容易得到;第2步,确定除“最强”节点之外的其他使用节点,所有节点用第1步中的补偿值进行修正;第3步,所有获得值送入定位引擎,读出由其计算得到的位置;最后一步,将补偿值添加到计算得到的位置中,完成这些计算之后,盲节点在网格中的位置就确定了。
结语
CC2431作为一款集成有定位引擎的ZigBee射频收发器,结合其他ZigBee节点构成的无线网络,可以实现3~5 m的定位精度。ZigBee作为一种高性价比、低成本、低功耗、低复杂度的无线通信技术,以其来实现室内无线定位具有良好的应用前景。随着人们生活水准的提高,人们对定位服务有着越来越高的需求,虽然目前已经有多种定位技术,但是在室内定位方面存在一定缺陷和不足。如果将这些定位技术和ZigBee定位技术结合起来,将会实现更加完美和精准的定位服务。
全部0条评论
快来发表一下你的评论吧 !