利用RFID和卫星导航技术实现车距监测的预警
引言
汽车为人类社会的发展做出了突出的贡献,但也带来了触目惊心的伤害。近年来,随着高速公路的发展,汽车行驶速度提高,恶性交通事故频发。在车祸造成的死亡事故中,追尾占25%。因此,研究能够随时获取道路和车辆信息,并及时提醒汽车驾驶员采取措施避免危险的车距监测预警系统就成为解决公路交通安全问题的重要手段。
本文基于RFID和卫星导航技术实现车辆之间的相互通信,通过向周围车辆报告本车精确的地理信息,并获取周围车辆发送的地理信息,实时计算获取车辆距离。
此方案与雷达测距等其他实现方案相比,具有成本低、结构简单、精准度高等优点。
1 RFID和卫星导航技术简介
RFID技术最早出现在二战时期,当时成功应用于飞机的敌我识别系统。现在已经发展成为21世纪最重要的技术之一。其基本原理是利用射频信号的空间耦合(电感或电磁耦合)或反射的传输特性,实现对被识别物体的自动识别。
卫星导航技术最早应用于20世纪70年代由美国陆海空三军联合研制的全球卫星定位系统(GPS),现已全球性民用。由于卫星的位置精确可知,在GPS观测中,我们可得到卫星到接收机的距离,应用三维坐标中的距离公式,利用3颗卫星,就可以组成3个方程式,解出观测点的位置(X、Y、Z),实现对对象位置的确定。
2 系统整体设计方案
本系统设计包括单片机控制模块、射频通信模块、卫星导航模块、液晶显示模块、声光报警模块和稳压电源模块。系统采用LM1575芯片将车载12V电源转换为5V电源,以凌阳SPCE061A型16位单片机为控制中心,使用nRF2401无线射频收发模块实现数据的发送和接收,使用OTrack-32北斗/GPS/GLONASS多模兼容导航芯片模块实现经纬度坐标的获取,同时使用12864型LCD显示模块实时显示车距检测信息,并使用蜂鸣器和LED实现声光报警。系统框图如图1所示。
图1 系统整体框架图
系统工作时,首先通过卫星导航芯片获取本车的精确经纬度信息,然后对信息进行编码。编码信息主要包括本车识别序列号、经纬度信息和车速[3]。完成信息编码后,将编码信息通过射频收发模块的通道1进行信息发送,接收地址应设置为统一的公用地址,本设计规定为5位十六进制地址:0xAAAAA。同时采用通道2接收周围车辆发送的信息,将接收到的信息发送给单片机进行处理。
当同时接收多个射频模块发送的信息出现通信碰撞时,采用RFID防碰撞算法进行处理。单片机不断接收来自射频收发模块的车辆识别序列号、经纬度信息和车速,并按照车辆序列号对这些信息进行数据结构队列排序处理。
通过汽车测距测速算法和汽车行驶方向判定算法实时获取周围每辆车的行驶方向和车距。将周围车辆车距车速与不同车速对应的安全车距进行对照,当汽车车距小于安全距离时,通过声音和灯光向驾驶员进行报警。
3 系统硬件设计
3.1 微控制器
SPCE061A是台湾凌阳科技生产的16位结构的微控制器,其采用了μ’nSPTM系列的单片机内核,内嵌32k字的闪存,具有较高的处理速度,不仅可应用于传统的控制领域,还可扩展应用于控制处理、数据处理以及数字信号处理等领域,具有广泛的应用空间。本系统以凌阳单片机为控制中心,实现对射频收发模块、卫星导航模块、LCD显示模块和声光报警的控制。
3.2 射频收发模块
nRF2401芯片是一种工作于2.4GHz的单片无线射频收发芯片,可同时实现一路数据发射和两路数据接收功能。
它将射频、8051MCU、9通道12位ADC、外围元件、电感和滤波器全部集成在单芯片中,功耗非常低,输出功率和通信频道可通过程序进行配置,应用范围非常广泛。本设计采用的以nRF2401芯片为核心的nRF2401模块共有两组接口,分别采用接口1发送数据;接口2接收数据,从而实现信息的双向传输。
3.3 卫星导航模块
本系统所需卫星导航模块采用北京东方联星所产卫星导航芯片Otrack-32,可同时接收北斗二号、GPS、GLONASS卫星信号,实现多系统联合导航定位、测速、定时。Otrack-32芯片实现了当今世界上最快速的1s热启动、国际最短的35s冷启动、稳定的1s重捕获;高达每秒20次的真值定位;定位精度5m;差分定位精度0.5m;高可靠、抗干扰;适应恶劣环境;通过了严格的地面测试和多种载体动态试验。Otrack-32芯片为导航、测量、授时等专业导航领域提供了完全国产化的高性能核心器件。
3.4 12864液晶显示模块
本系统采用12864点阵型LCD显示模块,可显示周围车辆、最小车距、本车经纬度等相关信息。点阵型LCD显示模块不仅能够显示常用字符,还可显示图形和汉字。
12864LCD显示模块横向显示128点,纵向显示64点,最多可同时显示16×16中文字符4行8列,可以满足大量的信息显示需求。模块引脚连接如图2所示。
3.5 声光报警电路
当车距较近时,通过单片机输出信号,使声光报警器工作。本系统采用一个LED和蜂鸣器实现声光报警,使用2个单片机输出端口分别实现对LED和蜂鸣器的控制。
电路原理如图2所示。
4 系统软件设计
系统工作时,首先进行系统自检和初始化设置,并通过LCD模块显示“欢迎使用”界面。然后通过卫星导航模块接收经纬度信息并输入到单片机,单片机通过控制射频收发模块,采用nRF2401模块的通道1发送经纬度信息,同时采用通道2接收周围的经纬度信息,并将接收到的周围车辆的经纬度信息输入到单片机进行处理。
由两车的经纬度通过测距测速模型计算出两车之间的距离,并将两车车距与安全距离进行比较,如果车距小于安全距离,判断车辆的相对行驶方向及前后方位,若为同向且小于安全距离,则单片机控制LED灯闪烁,距离越小LED灯的闪烁频率越快,同时控制蜂鸣器发出声音报警。
系统软件流程如图4所示。
图4 系统软件流程图
5 算法模型
5.1 汽车测距测速模型
射频收发模块接收到的信息主要是经纬度信息,系统通过对这些信息和本车的实时经纬度信息进行动态处理,可获得每一时刻的最新车距信息。首先对经纬度信息进行格式定义。定义纬度信息北纬为“正(+)”,南纬为“负(-)”;经度信息东经为“正(+)”,西经为“负(-)”。地球的周长大约40008km。则平均纬度1度大约等于111km。本系统采集到的经纬度信息精度为0.0001,则每万分之一单位代表距离近似等于11.1m,可满足系统精度需求。于是,可得一般测距模型:
其中,E1和E2分别表示本车和其他车辆的经度信息,W1和W2分别表示本车和其他车辆的纬度信息,a表示经纬度1°代表长度,约1.11×105m。对于特殊情况,例如在东经180°与西经180°分界区域,需在运算前进行经度换算处理。本车车速的计算,可应用上述测距模型对本车测得的两次经纬度计算得出卫星导航芯片经纬度扫描周期T内车辆移动距离,从而得出车速v。
5.2 汽车行驶方向判定模型
在实际情况中,周围汽车行驶方向与本车主要有同向和相向两种情况。此两种情况的经纬度变化方向完全相反。则设某车多个时刻的经纬度信息矩阵分别为[A1,B1],[A2,B2]…[An,Bn],通过判断[An,Bn]的正负,及与[An-1,Bn-1]的值进行比较,可判断其大致的行驶方向。用矩阵
表示汽车行驶方向,其中E、W、S、N分别表示东、西、南、北方向。设汽车驶向的方向为1,若其他汽车与本车行驶方向相同,将代指两车行驶方向的矩阵相减,即可得到零矩阵。通过对零矩阵进行判别,可粗略获知周围汽车与本车的相对行驶方向,还可得知周围汽车在本车前后的方位。6 系统测试
系统测试和验收测试重点在于检验设计的合理性和验证系统的功能和可靠性。对于本设计的测试,主要从电路原理测试、系统硬件模块测试、软件系统测试和软硬件联合调试四个方面进行。
(1)稳压电源模块测试。将电源输出端接到示波器上,观测电压波动范围在系统要求范围内,可满足系统应用要求。
(2)对12864LCD显示模块进行测试,实现了字符、汉字及特定图像的显示,模块测试无误。
(3)卫星导航模块测试。将程序写入单片机,连接卫星导航模块,将接收到的数据在LCD显示器上显示,显示结果稳定。
(4)射频收发模块测试。连接单片机,用两组模块进行收发测试,全部正确收发信息。
(5)声光报警模块检测。该模块的电气连接良好。将检测声光报警的程序写入单片机中,该模块可正常发出声光信号。
7 结语
本系统利用卫星导航和RFID技术实现车距测量,通过调试,系统运行正常,达到了预期目标。但是,还有许多地方需要进一步探究,比如卫星导航的精确度及RFID的更远距离通信等。由于条件有限,仅在实验室中做了测试,在抗干扰试验等方面还需要更深入地研究。