APP下载

基于GPS自动提示的铁路行车操作系统设计

2022-01-04吴肇中邢亚航

河北省科学院学报 2021年4期
关键词:语音单片机列车

吴肇中,邢亚航

(1.中国铁路北京局集团有限公司邯郸机务段,河北 邯郸 056000;2.中国铁路北京局集团有限公司石家庄电力机务段,河北 石家庄 050000)

能源、环境是近些年普遍关注的两大主题问题,铁路作为长距离运输的节能环保龙头,受到了国民的青睐,随着国家“路转铁”的实施,铁路运输行业的货运量急剧增加,从而面临着机车司机工作量的增加[1],机车司机需要对担当区段的线路情况进行学习,但凡在行车中任何一点细节漏记错记都有可能导致机车运行的事故,损害到国家利益。为此设计了基于GPS自动提示的铁路行车操作系统,发挥与机车司机互控提示的作用,减少因司机错记漏记而产生的事故。

1 系统的设计与原理

本系统主要是设计一款基于STC89C52单片机[2]的GPS自动提示设备,根据目标需要,采用的硬件由GPS定位、语音播报、液晶显示以及显示灯与按键组成,主控芯片采用STC89C52单片机,选用VK2828U7G5LF作为GPS模块,液晶显示运用标准的LCD12864显示屏,WT588D模块用于音频播放,以及其他的按键电路等组成。系统结构如图1。

图1 系统结构图

利用GPS模块实时获取机车的经纬度坐标,将获取的数据传输给单片机,并与预先储存的提示地点坐标进行对比,对比成功后进行互控提示。由WT588D模块播放语音,显示屏对互控提示信息进行显示,机车离开当前互控地点后进行下一互控地点的预告。出现GPS信号弱时,切换至手动模式,保证此系统的安全可靠性。

2 系统硬件电路设计

2.1 主控电路

STC89C52单片机、晶振电路和复位电路作为主控电路,两个电容和一个晶振构成晶振电路,XTAL1和XTAL2连接晶振,复位电路接至复位引脚“RESET”,该引脚将会在得电瞬间产生一个正脉冲,用来复位系统。

2.2 语音播报电路

WT588D模块,通过VoiceChip上位机将提前编辑好的提示语音下载到SPI-Flash存储器,播放语音时调用语音地址[3]。其中WT588D模块DATA数据端、CLK时钟端和CS片选端与引脚P2.1至P2.3相接,通过这些引脚来控制语音模块,扬声器的播报通过PWM+和PWM-驱动,LED的亮灭可以反映出语音模块是否正常,AMS1117稳压器将5V电压降为3V电压,为语音模块供电。

2.3 GPS模块

GPS采用NEO-6M芯片设计,此模块将位置信息传输到单片机[4-5],模块引脚分别是:

(1)PPS,定位后又脉冲输出,LED指示灯亮,脉冲周期1s。

(2)GND,接地。

(3)TXD,与主控电路引脚3.0相接,模块的数据输出。

(4)RXD,模块的数据输入,不进行时,悬空处理。

(5)VCC,接5V电源。

2.4 LCD液晶显示电路

点阵式LCD功能强大,LCD12864是由128个8×16点阵字符组成,8192个16×16用中文表示的点阵,能显示字符、数字、图形和曲线等,每个屏幕可用32个汉字显示,满足互控提示的播报需求。LCD接口DB0至DB7接主控芯片P0.0至P0.7, P2.5、P2.6和P2.7分别由RS、RW和EN连接,其中PSB用于接高电平。

2.5 键盘电路

虽然本系统设计的互控提示是自动的,但是由于列车运行中会出现各种地理位置和天气的变化,这就会导致GPS在某些情况下出现信号弱或者接收不到的情况,所以保留了手动提示模式[6],手动提示模式设计预留了4个按键,自动与手动切换键K1。上行与下行选择按键K2。K3表示选择上一互控提示地点,K4表示选择下一互控提示地点,同时可以显示相应的提示信息。图2为总体硬件电路。

图2 总体硬件电路

3 系统软件设计

3.1 系统设计步骤

Keil软件作为当今较为流行的单片机软件开发调试工具,采用C语言编程,具有通用性,此系统设置了自动语音提示和手动语音提示两种模式,本文主要叙述自动语音提示系统,此程序由GPS数据的采集和转换、自动语音提示控制算法、互控提示的信息播报和互控提示的显示等构成。图3为主程序流程图。

图3 主程序流程

3.2 GPS数据解析及转换

GPS以NMEA-0183协议格式将数据串传输给STC89C52单片机,传输的数据将储存到寄存器中,以其中一个纬度为例,其数据包格式为“$GPGGA,<1>,<2>,<3>....”其中<2>为纬度,格式为ddmm.mmmm,dd代表度,mm.mmmm代表分,<3>代表北纬或者南纬,纬度不可直接使用,需要将其值转变为度、分、秒,分别用x、y、z表示,转化过程如下:

x=int(ddmm/100);

y=int(ddmm/100);

z=int[(mm.mmmm-y)*60];

(1)

经度操作与此类似,不再进行说明。

3.3 自动提示系统设计

以京广线邯郸站至磁县站为例,一次将上下行12个互控提示信息以单向循环列表方法存入至单片机中,如图4所示。单片机接受来自GPS的定位信息,与互控提示地点的匹配中进行全局化搜索,从而精确地匹配[7],列车的当前位置与互控提示点的线性距离≤L时,进行互控提示点的语音播报与显示,因列车运行速度较快,因此采样周期采用T=1s,取L=500m。

图4 互控提示地点示意图

3.3.1 进入互控提示地点的判定

设列车当前位置与任意互控地点间的线性距离为Ld,列车当前位置与任意互控地点的上一个互控地点的线性距离为Ld+1。列车当前位置与任意互控提示地点间的线性距离Ld为[8]:

(2)

当上行和下行线路上互控提示点比较近时,1个周期T内可能采取到两个互控提示地点,因此,将互控提示地点的匹配分成下列4种情况。

(1)两个连续周期T内只能采集到1个互控提示地点的信息,并且互控提示地点相同的两个周期内Ld+1在逐次减小,则可以确定此时即将进入一个互控提示地点[9]。

(2)在前一个周期T内采集到1个互控提示地点,而在下一个周期T内采集到两个互控提示地点[9]。

(3)在前一个周期T内采集到两个互控提示地点,而在下一个周期T内采集到1个互控提示地点。

(4)在前一个周期T内采集到两个互控提示地点,而在下一个周期T内采集到两个互控提示地点。

因为(2)和(3)类似,所以本文重点叙述(3)和(4)的对比设计。设前一个周期T内接收到的两个可能到达的互控提示地点HD1.1和HD1.2,HL1.1和HL1.2分别为前一个周期T内列车位置与这两个可能到达的互控提示地点的前一个互控提示地点间的线性距离。当前周期T内接收到的可能到达的两个互控提示地点HD2.1和HD2.2,HL2.1和HL2.2分别为当前周期T内列车位置与这两个可能到达的互控提示地点的前一个互控提示地点间的线性距离。

当上述(3)情况发生时,在前一个周期T内接收到的两个互控提示地点肯定有一个与当前周期T内采集的互控提示地点一致,在这一前提下,可以根据前后的两个周期T内Ld+1的数值来判断,如果Ld+1逐次递减,则表示该一致的互控提示点为即将进入一个互控提示地点,反之,则代表该那个不一致的互控提示点为当前的互控提示地点,其流程图如图5所示。

图5 第(3)种情况控制算法设计步骤

上述(4)情况发生时,前后两个周期T内采集到的四个互控提示地点应该是点点对应的,所以,对其中一对对应的互控提示地点进行对比,若Ld+1呈递减模式,则可以将此点当作即将进入的一个互控提示地点,反之,则可以认为另一对互控提示地点为当前即将进入的点,其流程图如图6所示。

充填工作完成后,根据设计要求钻探取心验证工作共钻孔2眼,总进尺78.6m。钻孔布设充分考虑到两充填孔衔接处充填效果,钻探过程未发生掉钻现象,岩心采取率91.4%(取心区域平均值),RQD指标80%(取心区域平均值),填充物高度2.6m和2.8m,岩层与充填物衔接处较好,充填率可达75%以上,说明治理采空区采取中粗砂处理的方法工艺可行,空洞基本被填充物充填,充填治理效果良好,达到了设计要求。项目实施后地面稳定得到保证,消除了采空塌陷地质灾害隐患,保障了当地人民群众的生命财产安全。

图6 第(4)种情况控制算法设计步骤

3.3.2 离开互控提示地点的判定

根据3.3.1确定出当前进入的互控提示地点后,再次以周期T内接收到的GPS数据为依据,计算列车与当前进入的互控提示地点的距离,当L大于500m时,及时对下一个互控提示地点进行预报。

3.4 语音提示流程

语音提示程序是在GPS模块接收到互控提示地点信息后,经单片机处理匹配到相对应的地址,然后将此地址数据串传输给语音模块,语音模块根据传输的互控地址信息进行语音提示。

时钟线、数据线和片选线三线串口控制模式来控制语音模块。片选信号置5ms后语音芯片工作,将200μs定义为时钟周期,接收数据由低位到高位变化,接收数据成功后使片选信号置高。当语音播放20ms以后,播放忙信号转为下一段语音播放。该互控提示地点相应的语音信息在数据完成匹配时进行播报。

3.5 LCD显示流程

在即将进入的互控提示地点信息被显示子程序接收后,第一步要对LCD子函数进行初始处理,第二步对定位子函数以及字符子函数进行调用[10],对互控提示地点信息进行设置和调用,使互控提示信息显示在LCD屏上。

4 系统测试

在列车高速中对GPS芯片进行测试,测试所得GPS定位精度范围基本在10m左右,满足此系统对定位精度的要求,对列车运行做了如下测试:

以1号互控地点为起始点,在没有设定上下行线路的前提下,当列车在1号起始点时,接收到GPS数据经处理可能会认为此点为结束点,这样常用的方法在此点会出现混淆,利用单向循环列表方式将互控提示点存入,换言之就是将上下行的互控地点信息以序号的方式区别开。测试列车从1号互控提示地点到2号互控提示地点,由于2号互控提示地点与11号互控提示地点距离较近,所以在连续两个周期内匹配到2号互控提示地点与11号互控提示地点,利用情况4进行处理,结果说明该系统可以解决上下行问题并可将2号互控提示地点的提示进行实现。

列车运行时任意两个互控提示点分为以下两个方面:

(1)进入一个互控提示地点,接近互控提示地点500m内,进行接近的互控提示地点的播报,LCD显示当前互控提示地点信息。

(2)离开一个互控提示地点,离开互控提示地点500m外,进行下一个互控提示地点的播报,LCD显示下一个互控提示地点信息。

对M次列车进行测试,图7为进入互控提示地点的显示,测试结果表明,该系统能够准确实现定位并对互控提示地点进行判定。

图7 进入互控地点提示显示

5 结束语

设计了基于STC89C52单片机的铁路行车操作的GPS自动提示系统,设计了单向循环列表和全局互控提示地点匹配的控制算法,经过实测,无需人工确认上下行线路,即可实现互控提示地点的判定,该系统功能完善,定位准确,智能化程度较高,具有实用性。

猜你喜欢

语音单片机列车
登上末日列车
关爱向列车下延伸
基于单片机的SPWM控制逆变器的设计与实现
魔力语音
基于单片机的层次渐变暖灯的研究
基于MATLAB的语音信号处理
穿越时空的列车
基于单片机的多功能智能插排
基于MQ3与MP3的价廉物美的酒驾语音提醒器
基于单片机的便捷式LCF测量仪