基于北斗导航芯片和ZigBee的无线终端设计
北斗卫星导航系统(BeiDou Navigation Satellite System,BDS)是中国正在实施的自主研发、独立运行的全球卫星导航系统。北斗卫星导航系统致力于向全球用户提供高质量的定位、导航和授时服务,包括向全球免费提供定位、测速和授时服务。目前,北斗卫星系统的建设正按计划稳步推进,目前已成功发射了16颗北斗导航卫星,服务范围覆盖了亚太地区。
无线传感器网络(Wireless Sensor Network,WSN)是由大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络,以协作地感知、采集、处理和传输网络覆盖地理区域内被感知对象的信息,并最终把这些信息发送给网络的所有者。在无线传感网技术中,最为符合低功耗、低成本、高可靠性要求的当属ZigBee技术。ZigBee技术是一种工作在全球、美国和欧洲3个频段上的无线通信技术,基于无线通信协议。它具有低功耗、低成本、低复杂度、自动组网的特点,主要适合于短距离无线通信、组网、自动控制和远程控制等领域,并可以嵌入至各种设备中。
这两种热门技术特点鲜明,如果将它们结合,即把定位导航技术与短距离组网技术结合,就可以实现更广泛和更复杂的应用,满足对于不同规模和要求的检测、定位、导航等各项需求,方便数据传输,弥补现有技术产品的空白。
1创新功能
1.1精确定位
ZigBee节点广泛应用于野外环境勘测、智能交通监控等领域,单纯的ZigBee节点采集的数据是一维数据,孤立的数据不利于分析与决策。如果将采集地的位置信息也一起获取,就可以把采集到的环境信息与位置信息相结合,在汇总、分析时绘制成一个二维的数据地图,更将直观地了解信息的分布状况;而如果再加上精确的时间,就组成了三维的数据体,这样的数据更加综合、全面。
1.2间接定位
卫星定位通常要求在有天空视野的室外,因而在室内就定位困难。利用ZigBee的间接定位,当周围已经存在了包含定位设备的ZigBee网络时,就可以接入ZigBee网络实现间接定位。相当于在这个区域内任意可接入网络的地点提供了实时间接定位的服务,任何设备都可以透过ZigBee网络获取自己当前的位置信息,这样不仅降低了定位服务的成本,也扩大了定位的应用范围。
1.3网络授时
ZigBee网络虽然具备低成本、低功耗、高可靠性的优势,但是考虑到网络延时和较低的数据传输速率,因此在系统实时性方面不尽如人意。当ZigBee网络面对的是某种对实时性要求较高的应用时,势必会因为较大的时延,影响数据的精确性。如果采用从北斗卫星导航系统获取的精确时间,然后对全网所有节点校时,那么节点的同步性就得到了提高,从而提高系统的响应速度。
1.4数据通信
北斗卫星导航系统虽然可以提供精确的时间和位置信息,但是却没有信息的传递能力,ZigBee网络就为这种信息组织提供了一种简便的方式。通过把北斗定位的数据架设于ZigBee网络之中,就可以让位置信息传递起来。
2北斗+ZigBee终端的系统设计
2.1结构体系
北斗导航系统与ZigBee网络结构体系如图1所示,主要由ZigBee网络节点和北斗导航节点组成。传感网子网内一般由一个主节点和多个节点组成。主节点主要负责ZigBee网络的组网和网内设备的管理,同时与北斗定位导航模块通信。
图1北斗-ZigBee网络结构示意图
2.2硬件设计
在ZigBee节点的设计上,选用Freescale公司针对ZigBee技术推出的MC13213芯片。该芯片是完整的单芯片解决方案,其内部集成了HCS 08 MCU和遵循IEEE802.15.4标准的第二代无线射频收发器,也称为Modem.MC13213能够以非常低的总材料成本建立强大的网络节点。其特点是速度快,片内资源丰富。其硬件框图如图2所示。
图2终端硬件功能框图
北斗定位导航模块以芯星通公司的UM220芯片为核心设计。UM220是针对车辆监控、气象探测和电信电力授时等应用而推出的北斗/GPS双系统模块。单芯片支持北斗BD2/GPS功能,无需外接CPU即可直接输出NMEA数据,支持UART、SPI、1PPS、I2C等多种接口。引脚连接如图3所示,本设计通过TXD3、RXD3分别与MC13213的PTE1(TXD1)、PTE0(RXD1)相连,实现数据通信。
图3 UM220与MC13213连接图
2.3软件设计
ZigBee是基于IEEE 802.15.4标准的低功耗个域网协议。根据这个协议规定的技术,是一种短距离、低功耗的无线通信技术。ZigBee设备包括IEEE 802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层--网络层(NWK)、应用层和安全服务提供层。
由于受无线传输功耗的限制,传输有效距离在100 m以内,因此对于在区域范围内的覆盖就需要通过内置的ZigBee协议栈实现自动组网和路径计算功能。在终端设计中,数据传输的承载媒介是ZigBee网络,不管是精确定位的坐标信息,还是间接定位的侦测信息,亦或是时间同步的数据,都依赖于ZigBee所提供的数据服务进行传输。
精确定位的功能依赖于北斗导航定位所获得的精确坐标。UM220模块提供北斗的定位信息。UM220输出数据采用ASCII码,按照NMEA-0183格式进行异步串行通信,因此通过将其通过串口与MC13213相连,设定每秒输出一次定位信息,通过MC13213内置的单片机处理定位信息。UM 220输出语句有$BDGGA、$BDGSA、$BDGSV、$BDRMC等。其中$BDGGA定位数据语句是最为常用的语句,因此我们选用它作为定位信息的输出语句。
$BDGGA语句包括17个字段:语句标识头,世界时间,纬度,纬度半球,经度,经度半球,定位质量指示,使用卫星数量,水平精确度,海拔高度,高度单位,大地水准面高度,高度单位,差分GPS数据期限,差分参考基站标号,校验和结束标记(用回车符和换行符),分别用14个逗号进行分隔。由此便获得了经、纬度和海拔高度的精确信息。这些信息将存储在MC13213的内存中,不仅实现节点的精确定位,作为自己的位置信息,也为其他节点的间接定位提供参考信息。
间接定位常用的算法有两种:基于距离的定位算法、与距离无关的定位算法。距离无关的定位算法的优点是,对节点的硬件结构要求较低;缺点是定位精度不高,难以满足室内定位的精度要求。基于距离的定位则是通过测量节点间点到点的距离或角度信息,再使用一定的计算方法计算节点位置。常用的测距技术有RSSI、TOA、TDOA和AOA等。由于ZigBee无线通信模块可以直接提供RSSI值,因此本设计使用RSSI信息来实现定位功能。
利用RSSI测量距离,需要建立距离与RSSI的模型。由于经验模型在实际定位前,需要先模拟测试环境,建立该环境中各个距离上的位置和信号强度关系的离线数据库,操作起来较为繁琐,数据库也不适合单片机的应用,因此这里采用理论模型,用无线电传播路径损耗模型进行计算。
自由空间无线电传播路径损耗模型公式如下:
Loss = 32.44 + 10klog10d + 10klog10f (1)
式中,d为接收点距信源的距离,单位为km;f为频率,单位为MHz;k为路径衰减因子。
实际应用环境中,由于存在多径、绕射、障碍物等各种影响冈素,因此还要对模型进行改进。这里采用一种对数一常态分布模型,其计算公式为:
式中,Xσ是平均值为0的高斯分布随机变数,取其标准差范围为4~10;k的取值范围为2~5.取d=1,代入式(1)可得Loss,即PL(d0)的值。由此得到未知节点接收锚节点信号时的信号强度公式如下:
RSSI =发射功率+天线增益-路径损耗(PL(d))
假设移动节点0接收到n(n≥3)个固定节点发送的信号,从接收到的n个信号中选取接收信号最强的3个固定节点作为信标节点A、B、C.利用RSSI测距方法,测量到的距离分别为dA、dB、dC,此时就可以根据dA、dB、dC采用图4所示的三边测量法确定位置。如果不相交于一点,则可以根据质心法来实现。
ZigBee 北斗卫星 间接定位 导航 无线终端 相关文章:
- 四种短距离无线监控解决方案的性能对比(09-16)
- 基于MCF5213及Zigbee无线(09-12)
- 面向低速率应用的全球标准ZigBee (上)(09-27)
- 面向低速率应用的全球标准ZigBee (下)(09-27)
- Wibree:一个可供选择的新无线联网技术(11-07)
- 基于ZigBee技术的家居智能无线网络系统(01-11)