文献标识码:A
文章编号: 0258-7998(2011)12-0047-03
高速公路在能见度较低时会对车辆驾驶带来安全隐患,所以,在恶劣的天气下,高速公路被迫关闭,这会造成很大的损失。因此需要合理解决此问题以提高高速公路的利用率,而有效监督是确保高速公路上的车辆在极端恶劣天气安全行驶的必要措施。
目前市场上用于车辆定位的是车载GPS,但是由于受制于民用,即使在信号很好的情况也会有5 m的误差。而采用蝙蝠定位原理的超声波技术,其定位精度最高能达到9 cm,但是这类系统的成本太高,无法大面积推广。而近几年发展迅速的无线局域网定位系统很好地解决了上述问题。在一定的区域内安装适量的无线基站,根据这些基站获得的待定物体发送的信息,结合基站的地理数据确定物体的具体位置。这类系统可以利用现有的无线局域网设备,仅需要增加相应的信息分析服务器即可完成定位,成本较低,而且其精度能达到1 m。本文利用基于IEEE802.15.4的ZigBee定位及通信功能设计了一套应用于高速公路上的车辆在极端天气下邻车协调的装置。
1 系统设想
1.1 系统构成
该系统包含无线通信模块ZigBeeCC2431和液晶显示模块。其中,无线通信模块ZigBeeCC2431主要用于通信和定位的功能,在高速公路的两侧每隔一段距离就安放一个ZigBeeCC2430作为参考节点,CC2431安装在车上作为移动节点来定位(CC2431有一个无线定位跟踪引擎,而CC2430没有),通过ZigBee的无线通信功能,将前后车辆的坐标数据互相传递,并将数据以坐标形式显示出来,使驾驶员对周围的车辆情况一目了然。
1.2 ZigBee通信
ZigBee是一种新兴的短距离、低功耗、低数据速率、低成本和低复杂度的无线网络技术,它的基础是IEEE 802.15。但IEEE仅处理低级MAC层和物理层协议,因此ZigBee联盟扩展了IEEE,对其网络层协议和API进行了标准化。有了协议标准后,数千个微小的传感器就可以相互协调实现通信.并且这些传感器只需很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以它们的通信效率非常高[1]。另外,由于网络流量会随着待测节点数量的增加而成比例递增,因此,ZigBee 还允许同一网络中存在大量的待测节点。最后,这些数据就可以进入计算机用于存储和分析。
1.3 ZigBee无线定位
木文采用CC2431无线定位引擎技术,该技术基于RSSI,定位系统由参考节点和移动节点组成。参考节点是已知自身位置并将其通过发送数据包的方式通知其邻节点。移动节点接收参考节点发出的数据包信号,从数据包中获取参考节点位置坐标及相应的RSSI值,并将其写入定位引擎,然后利用定位引擎计算可以读出自身位置。RSSI值由接收节点(移动节点)计算获得,在参考节点发送给移动节点的数据包内,它至少包含参考节点的水平位置坐标参数X和竖直位置坐标参数Y,定位原理如图1所示。
硬件定位引擎CC2431在速度、精度、占用处理器时间等方而都比软件定位方法更有优势。定位引擎的特点:定位估计算法需3~16个参考节点;定位估计分辨率为0.25 m;计算节点位置耗时少于50 μs;定位范围为64 m×64 m;定位偏差小于3 m;采用分布式计算定位估计方法。该方法使用已知参考节点的RSSI信号,进行定位集中计算方法带来的大量网络传输与通信延迟的问题,分布式定位计算都可避免[2]。当CC2431把所有必要的参考读取后,就开始定位计算,然后输出移动节点的定位坐标。
2 系统的硬件设计
无线传感器节点一般由传感器模块、数据处理模块、电源和数据模块组成。由于本文主要涉及通信和定位,因此忽略传感器模块。ZigBeeCC2431自带具有高性能和低功耗的8051微控制器核,故无须再配备其他处理器。系统中其余模块只是芯片的级联,只有天线需要自己设计,系统中使用了两种天线:一种是外界的2.4 G天线,通过SMA头连接,市场上有很成熟的外接天线;另一种是采用倒F型微带天线,其制作成本低且具有较低的传输损耗和较好的微波传输特性。另外,用一个128×64点阵的图形点阵液晶显示屏显示当前车辆之间的位置,提供尽可能详尽的当前信息,完成人机交互。设计中使用一个升压变换器为液晶显示器电路提供7 V的工作电压。图2为系统结构图。
在板上安装4个LED,一个用于电源指示,其余3个连接无线传感器节点插座,用来表示无线传感器节点当前的工作状态,如图3所示。
3 系统的软件设计
无线传感器网络以ZigBee2006协议栈为基础,网络中按照节点完成的功能分为协调器节点、参考节点、移动节点。协调器节点在整个系统中负责建立和配置网络,等待其他类型节点入网。参考节点在网络中充当路由节点或者终端设备节点,负责信号的采集和处理以及外部设备状态的控制和查询。移动节点将收集所有参考节点对它的请求所返回的信息,读出相关的RSSI值,将收集到的数值传输到硬件定位引擎并在之后读出、计算,得到位置并将该位置信息在液晶上显示。
3.1 ZigBee网络的建立
在一个ZigBee网络中,只有协调器具有建立网络、维护邻居设备表、分配逻辑网络地址、允许设备MAC层/应用层连接或断开网络的功能,而路由器则只具有维护邻居设备表、对逻辑网络地址进行分配、允许设备MAC层/应用层连接或断开网络的功能。所有的ZigBee设备都具有连接或断开网络的功能。
协调器通过NLME-NETWORK-FORMATION.request原语来启动一个新网络的建立过程。
NLME-NETWORK-FORMATION.request(Scanchannels, ScanDuration,BeaconOrder,SuperframeOrder,BatteryLifeExtension)
{
}
3.2 加入网络
只有当设备为ZigBee协调器或者路由器时,才允许设备尝试与网络连接,该过程通过NLME-PERMIT-JOINING.request原语来允许设备与网络连接。
NLME-PERMIT-JOINING.request
{
PermitDuration
};
3.3 参考节点应用程序实现
参考节点在网络中充当路由器的角色,在定位系统中由用户指定固定坐标是静态节点,其坐标位置是固定的,不参与定位计算,因此参考节点可由CC2430或者CC2431器件实现,节点的任务是提供包含本身位置X、Y坐标和RSSI值给定位节点。安放参考节点数的经验法则是,使用尽可能多的节点,至少使用3个[3]。如果节点太少,每个节点的影响都很大,一个不正确的RSSI值就会很大程度上影响位置的计算。参考节点工作流程图如图4所示。
3.4 移动定位节点应用程序
移动节点可在参考节点所包围的区域内任意移动。移动节点收集定位区域内所有参考节点的RSSI值,并使用定位算法来计算其坐标位置,定位节点模块选择CC2431。程序实现如下:
Void CalcultePostition
(LOC_REF_NODE refNodes
[LOC_EN-GINE_NODE_CAPA],
uint a_val,uint n_index,uint
*locX,uint *locY)
{
}[4]
移动节点工作流程图如5所示。
3.5 液晶显示
当移动节点计算出位置信息并经过处理器处理以后送给显示器显示,其上用亮点来显示车辆位置:
void Lcd12864DrawPoint( unsigned char X , unsigned char Y, unsigned char Color )
{
}
4 系统测试及显示结果
系统测试步骤如下:
(1)将8个参考节点布置在空旷的区域;
(2)配置参考节点,即给参考节点初始化一个位置信息;
(3)将移动节点放置在参考节点区域内,本次选择1个移动节点作为测试用;
(4)将位置信息通过12864显示出来。
通过多次改变移动节点的位置来测量移动节点的位置,然后与实际位置进行比较,表1是在一个区域内测量的结果。
图6显示的是实际位置(4,5.5),测量位置为(4.4,6.2)的移动节点位置。由图可以看到,需要定位的点不断闪烁,其余静止不动的是参考节点的位置,其待定点的误差不超过1 m,基本上达到本实验的要求。
在此实验的基础上再添加多个移动的节点,利用ZzigBee的通信功能互相传递位置数据,然后显示出它们的位置。
本系统由于受到环境的干扰,信号出现了一点偏差,显示的位置和实际位置有点出入,但是随着技术的发展,利用ZigBee无线通信及定位技术完全可实现在能见度较低或冰雪天气等极端恶劣情况下对车辆的动态定位,从而使高速公路上的车辆能相互协调与监督,确保车辆行驶的安全,提高高速公路的利用率。
参考文献
[1] 王伟杰,黄守志,赵学增.基于ZIGBEE的高速公路车辆间通信技术研究[J].大连交通大学学报,2009(6).
[2] 王中生,曹琦.基于ZigBee技术的无线定位研究与实现[J].计算机技术与发展,2010(12).
[3] 徐志京,胡波.基于CC2431的无线定位技术研究[J].电子设计工程,2009(10).
[4] 宋保业,许琳.带定位引擎的射频芯片CC2431[J].单片机与嵌入式系统应用,2007(11).