轩志伟,轩春青,程元涛,巩庆民,牛文辉
(1. 河南蓝信科技有限责任公司 蓝信轨道交通安全装备研发中心,郑州 450001;2.郑州成功财经学院 信息工程系,巩义 451200)
当前我国铁路运输处于高速发展时期,自动化程度日益提高,铁路运载能力得到大幅提升。在支撑铁路系统运行发展的众多技术中,位置服务在列车运行控制、调度指挥、安全预警等确保铁路安全运行的应用系统中发挥极大的作用。国内针对列车定位及防护的研究已取得很多重要的成果,主要是采用轨道电路、应答器、里程计以及GPS定位等方式[1];针对站场物理元素的定位服务尚未开展,目前我国铁路站场基本没有数字化地图[2];准确、实时掌握列车、信号机、股道分布位置具有十分重要的意义,铁路站场的数字化显得越来越重要和实用[3]。站场数字化利用北斗技术对站场内的股道、信号机、道岔等相关设备进行精确定位,使用计算机将这些设备的位置信息与站场图相匹配,将卫星定位所得高维位置信息转换为沿轨道的一维坐标系,实现站场图的数字化[4]。机车车载设备通过获取自身定位并使用GIS技术与站场数据进行匹配,与列车位置应用系统形成有效交互,保证车辆在站场内精准运行,为列车安全防护、调度、监控等作业提供可靠保障[5-6]。本文基于北斗实时动态(RTK)载波相位差分定位技术,获取站场信号机、道岔等物理元素的精准位置,实现站场数字化运行管理系统的建立运行与维护,为列车运行控制、调车安全防护等提供科学依据和保障。
基于北斗差分定位技术的站场数字化系统主要由便携式经纬测量仪、手持设备和通信网络等组成,系统总体架构如图1所示。经纬测量仪利用差分基站的数据实现厘米级精准定位。使用时,将天线放置在需要定位的设备上方,差分经纬仪通过天线接收卫星信号,解析出粗略的位置信息,将该信息发送给便携设备和差分服务器;差分服务器通过判断经纬仪的基本位置,调用附近差分基站的位置信息,发送给便携式设备,收到数据后转发给经纬仪。经纬仪接收差分信息并结合自身位置信息,通过差分运算实现精准定位,将最终的差分定位信息持续发送给手持便携设备。利用手持设备的上位机软件,加载站场图,接收经纬仪发送来的数据。在站场图中选定对应的设备实现位置关联。经纬测量仪通过网络接口与外部通信,可以使用无线的方式进行通信,增强了系统使用的灵活性。预留移动通信模块接口,可以通过移动通信网络进行远程操作。
图1 系统架构图
经纬测量仪利用差分基站的数据实现精准定位。主要由定位模块、通信模块、电源管理模块以及状态指示模块等组成。采用电池供电,具备电池电量、通信状态以及定位状态的指示功能。具体架构如图2所示。
电源管理模块负责电源切换、电池充电、电量指示等功能;将电池或外部电源电压转换为系统所需电压,给系统各个模块供电。电源切换用于外界供电与电池之间的切换。主控制器模块获取各个模块状态,协调各个模块工作;读取定位模块数据,通过无线模块发送出去,并接收外部信息进行解析;读取电池电量信息控制状态指示灯工作。通信模块用于和外部进行信息交互,可通过网络接口与外部进行数据传输并能够对定位模块的工作模式进行设定。系统还可在控制器的作用下通过无线与外部进行信息交互。调试接口用于在试验阶段输出系统的调试信息。
图2 经纬测量仪结构图
目前,GPS模块自主定位精度已经无法满足高精度定位的需求, RTK定位技术是基于载波相位观测值的实时动态定位技术,参考站通过数据链将其观测值和观测站坐标信息一起传送给流动站,流动站通过数据链接收来自参考站的数据[7-8],结合采集的GPS观测数据,在系统内组成差分观测值进行实时处理,同时给出厘米级定位结果[9]。为实现定位的准确性,选用支持RTK技术的定位模块,天宝BD930高精度定位模块支持GPS、GLONASS、Galileo和北斗B1、B2、B3频段,能够接受差分基站数据实现差分定位,内置卡尔曼滤波PVT引擎,具有很快的RTK初始化速度,能迅速实现1~2 cm的定位精度。其对外接口包括4个UART口、1个网口和1个USB接口,便于开发集成。
无线通信模块是测试节点与手持设备之间通信的基础。现场使用时通信距离较近、数据量小,对功耗比较敏感。考虑到成本和实际应用环境[10],系统中采用自主搭建数据链路实现无线覆盖进行通信,具有使用灵活、搭建方便,成本低的优点。
表1对几种常用的短距离无线传输技术进行对比,综合考虑本系统在速度、距离和功耗等方面的设计要求,选用蓝牙技术作为系统的通信技术。
选用串口透传蓝牙模块与MCU之间进行通信,模块最高波特率可达到115 200 bps。最大发射功率为 4 dBm,接收灵敏度-85 dBm,利用板载 PCB 天线实现 10 m距离通信。接口能自适应 3.3 V 或 5 V的 TTL 电平,使用灵活,可以根据需要使用AT指令更改模块工作模式、串口波特率、设备名称以及PIN码等参数。
表1 几种短距离无线传输技术对比
接口电路实现数据传输,在指令模式下接收上位机发来的命令,对无线模块的参数进行更改等。蓝牙模块与定位模块均支持标准UART接口协议,可与其他微控制器之间进行数据传输。串口传输具有使用简单、控制方便、占用引脚少等优点。故选用UART作为控制器与无线模块和定位模块之间的通信接口,如图3所示。
图3 无线模块与控制器接口电路
微控制器软件采用C语言利用库函数进行编写,具有易读性好,可移植性强的优点。设计主要内容包括底层驱动开发即SMBUS驱动、串口程序,应用程序的编写等。便携式设备中上位机采用C++ builder开发。
经纬测量仪软件运行在经纬仪内的控制器中,实现定位数据和差分数据的获取以及与上位机通信等功能。MCU与各个外设之间采用独立串口进行通信,保证各个模块之间互不干扰。通过串口2读取GPS模块的位置信息;利用SMBUS协议,获取电池电量、电流等参数信息,解析后控制电源指示灯提示电量信息;微控制器对位置和电量信息进行合理编码后通过无线模块发送给上位机;并接收上位机发来的差分数据,识别后发送给GPS模块,使GPS模块实现差分定位。上位机对接收到的电池信息和位置信息进行解析处理。微控制器作为控制中心对各外设模块进行统一管理,收集分析处理各外部设备状态信息,精简外设模块的任务量。
常用的单片机应用程序架构主要有3种:顺序执行法、时间片轮询法以及操作系统;其中顺序执行法比较简单,适用于实时性,并行性要求不太高的场景,对于较复杂的应用程序,该方法不利于升级维护和代码优化。操作系统具备任务管理等功能,便于管理任务,但是比较复杂,移植麻烦,需要使用许可证。时间片轮询法是将定时器封装成最小时间片,为各个任务分配不同的时间来执行任务。在一个函数延时的时候去执行其他函数,充分利用CPU时间,与操作系统有些类似,任务之间采用全局变量进行数据传递。本系统采用时间片轮询法,具体架构如图4 所示。
图4 嵌入式软件流程图
设计软件时要确定每一个任务的具体执行时间,为每个任务划分合理的时间片,保证每一任务都能在该执行的时间内运行而不能影响其他任务。为保证任务的运行速度,要谨慎使用延时函数。
上位机软件是整个系统的控制中心,用户可以通过其获取整个系统的工作状态并对系统进行控制。采用C++ builder设计,运行在便携式设备上,实现的功能有参数设置,数据采集和数据处理等功能。软件的功能框图如图5所示。参数设置是对通信模块的参数进行设置,以便同经纬仪进行通信;数据采集能够打开站场图、选择物理元素并接收经纬测量仪发来的定位数据;数据处理主要能够完成经纬度与具体物理元素的匹配、位置信息转换以及数据存储等功能。在状态栏中展示需要打点的元素数量和已打过点的元素数量。
图5 上位机软件功能图
为了对整个系统的功能进行测试,搭建出差分基站完成对测试区间的覆盖,将经纬测量仪天线固定在被测位置上方,打开经纬仪与手持设备,二者通过无线自动建立连接。手持设备调用应用程序,打开站场图接收位置信息。选定该位置信息在站场图上对应的元素,完成位置信息与物理元素的匹配,如图6所示。经过多次试验,该系统能够完成位置信息的采集、传输与保存等功能,且定位精准通信链路通畅,能够很好地实现物理元素位置定位及匹配功能。
根据站场信息化的需求,将北斗差分定位技术与站场图进行关联,设计了便携式经纬测量仪、通信网络以及上位机软件。搭建基于北斗差分定位技术的定位系统,对系统功能进行测试验证,实现精准定位、数据传输、位置匹配关联和数据存储等功能。试验结果表明,系统性能稳定,操作方便,能够达到使用要求。
图6 上位机测试界面