邱建东,蒋兆远,汤旻安
(1 兰州交通大学 机电技术研究所,甘肃兰州730070;2 兰州理工大学 机电工程学院,甘肃兰州730050)
机车运行关键位语音提示系统设计*
邱建东1,蒋兆远1,汤旻安2
(1 兰州交通大学 机电技术研究所,甘肃兰州730070;2 兰州理工大学 机电工程学院,甘肃兰州730050)
根据铁路单司机值乘改革的需要,设计了基于高性能AVR单片机的机车运行关键位语音提示装置。该装置从TAX箱中提取数据,模仿副司机对运行关键位的瞭望与语音提示功能。经现场实际使用,起到了良好的效果。
机车;关键位;AVR
随着铁路改革的进一步深化,单司机值乘已经成为现在主要的机车乘务员值乘模式。这种值乘模式虽然能有效地节约成本,但是给机车乘务员带来了很大的精神和身体压力,这些压力极易转化成行车安全隐患。
机车乘务员由“双司机”模式到“单司机”模式过渡,需要一个过程。在这个过程中,如果能够模拟原来双司机操作时的一些工作环境和场景,不仅能帮助司机尽快渡过不适应阶段,还能够有效促进司机标准化操作,确保行车安全。基于此思想,通过机载信息平台的数据共享方式,设计了机车运行关键位语音提示系统,该系统能够补充LKJ机车监控装置的报警提示信息,部分模拟原副司机的一些工作职能,从而更好地为“单司机”值乘模式做好服务。
在机车行驶中的一些关键位置,副司机会通过呼唤应答的方式提醒正司机进行某些操作或者提高注意力。呼唤应答的主要内容有注意防护信号、注意慢行、注意仪表、机械间巡查、注意信号、注意前方道口等。这些呼唤应答的内容,基本上都是和线路上相对固定的某些点对应的,例如注意慢行就是在长大上坡道前,注意信号就是在进站信号灯、出站信号灯等位置。因此,这些固定点就是机车运行中需要司机重点关注的“关键位”。本系统设计是根据机车实时运行公里坐标与关键位比对,并模拟副司机播放相对应的提示语音,就能够实现副司机的提醒提示功能。
目前国内机车均配备了“机车安全信息综合监测装置”(简称TAX箱)。它是一个开放式信息平台,装置内通讯记录单元通过RS485串行通信方式从LKJ监控装置中获得各种信息,并将这些信息通过另一个485接口周期地传送到装置内各个功能单元。所有与列车运行及安全检测设备的数据信息均能够从TAX箱通过RS485总线获取,这为本系统的设计奠定了基础。
运行关键位语音提示系统设计从TAX箱中获得机车实时公里标数据,并和在软件中设置好的“关键位”坐标进行比对,然后根据关键位的不同,播报不同的语音,给司机以提醒。如果和机车音频、视频监控装置结合,可以要求司机听到语音播报后进行应答,部分实现了副司机的工作职能。
该系统基于高性能单片机设计,主要由通信模块、中央处理模块、语音播放模块组成,其基本结构如图1所示。通信模块提取TAX平台的RS485信号,并根据传输协议进行解析,中央处理模块根据解析结果,和设置参数进行比对处理,需要播放提示语音的时候,发出播放指令,由语音播放模块进行播音。
图1 系统结构
2.1 单片机选型及中央控制单元设计
单片机选择了ATMEL公司的ATMEGA128,这款单片机性价比很高,具有32×8个通用寄存器,128 kb的系统内可编程flash,可进行万次擦写,片内还有万次可擦写4 kb EEPROM,以及4 kb SRAM等。AT-mega128资源丰富,通过相关寄存器的设置可以很容易的控制具有SPI接口的语音芯片,ATMEGA128这些功能不仅可满足系统的要求还有利于系统的扩展。中央控制单元围绕单片机设计,主要还有晶振电路、指示灯电路、复位电路、JTAG电路等[1-2]。
2.2 通信模块设计
TAX箱作为机务部门对外提供的一个信息管理记录平台,对外提供9个插槽,编号3~11,其中7,9,10,11插槽是备用插槽,为用户扩展开放。为了实现和TAX箱通讯,系统设计了“数据接口板”,安装在7#插槽上,用于从TAX箱中引出RS485信号。接口板的作用相当于导线延长线,一端使用TAX标准48针插座,485信号的正端A+、副端B-和地线分别从插座的18D、18B、18C引脚接出,连接另一端DB9通信插头的2,3,5引脚,然后通过DB9插座和通信线缆相连。
机车上TAX箱输出的是RS485信号,而单片机能够识别的是RS232信号,通信单元的主要设计功能就是将485信号转化为232信号,考虑到抗干扰因素,系统选用MAX1480B做信号处理。MAX1480B是完备的电气隔离型的RS485/RS232数据通信接口芯片,采用混合微电路结构。可确保数据传输的可靠性。通信单元电路图如图2所示。74 HC86芯片的3脚和9脚连接到MCU的串口,其12脚是该模块的使能端[3]。
图2 数据通信模块
2.3 语音模块设计
系统语音模块由语音芯片和功率放大电路组成。语音芯片选用美国ISD公司的ISD4003,可进行8 min的长时语音录放,将需要播报的语音都提前录制在芯片中,按照地址调用。考虑到机车嘈杂的环境,播放的语音声音要大,系统采用了二级功率放大设计,分别选用LM386和TDA2822芯片,可获得清晰大音量的声音。其设计电路如图3所示[4]。
图3 语音处理单元
2.4 工艺设计
机车运行环境非常恶劣。电磁干扰、灰尘、噪声、振动等都严重影响本系统的正常工作。电路EMC设计主要措施有①将电源功率区、数字电路区、模拟电路区设计成相对独立区域,尽量减少互相干扰;②各集成元器件地线电源线间分别100%接入去耦电容;③信号线按照功率强弱分开布设,信号线上开孔尽量少;④双面印刷版3总线互相垂直,尽可能短。地线和电源线尽量成梳状布设;⑤数字电路中的有关逻辑器件相互靠近,并远离振荡器,具有存储记忆的电路相互靠近,并与CPU总线靠近。
为了适应机车运行振动大、灰尘大、噪声大的环境要求,本系统在第1次设计运行基础上又进行了2次改版设计。第1版系统采用了塑料外壳,连接线也采用普通的DB9接头,经实际运行考验,满足不了现场要求,易发生器件脱落而停止工作的情况。第2版采用铁质外壳,航空插头,并重新设计了扬声器的位置,电路板预留梯形槽安装扬声器(第1版扬声器悬挂安装在外壳上盖上,易脱落,且音响效果不好),扬声器从侧面发声,音响效果得到了大大提升。同时系统整体刚度和稳定性也得到了极大提升,完全满足了现场要求。
图4 二级功率放大电路
该装置在设计软件的时候,主要分单片机软件和系统测试软件2部分。
单片机软件基于ATmega128设计,采用C语言编程,AVR Studio 4编译环境下调试。主要实现功能有①从TAX箱中捕获数据帧;②提取相关信息并转化;③按照系统功能要求对数据进行比对处理;④实现播放语音功能。
软件实现的难点和关键环节有:
(1)串口获取TAX数据帧,如何有效捕捉帧头,以确保读取数据的正确性;
(2)数据提取并快速转换成需要制式;
(3)如何在比对数据库中定位下一个比对数据;
(4)比对数据和语音对照的数据结构设计。
3.1 实时运行公里标数据提取
机车实时运行的公里标数据都存储在TAX箱内。正常情况下,TAX箱通讯记录单元每隔50 ms周期地向各检测单元(或使用数据的设备)发送统一内容的列车运行情况信息,每帧40个字节,以0x39开头,内含年月日、时分秒、公里标、实速、车次、机车号等,各检测单元同时接收此帧信息,并不断刷新自己的坐标系统。本系统数据接收传输路径为“TAX箱数据源→数据通信板→DB9插头→双芯屏蔽电缆→系统航空接头→1480B芯片(转化成232电平)→单片机串口”,所以接收信息的方式设计为串口接收中断的方式。通过判别0x39捕获帧头以后,采用Static变量,统计接收帧的字节,直到获取16,17,18这3个公里标字节。
软件中根据需要设计了全局互控标志,例如串口中断中,用到了全局标志Uart_RecvFlag。如果一帧数据成功接收完成,该标志置1,进行数据比对处理,同时清空接收计数器,闪烁计数器等。数据处理完成后,该标志清0,用以接收下一帧数据[5]。
3.2 数据处理
公里标3个字节是十六进制,需要转化成10进制。这种转化有几种常用方式,例如左移位等,但是算法不仅计算时间长,满足不了实时性要求,同时非常占用CPU宝贵的资源。本系统采用了共用体的方式,仅仅简单几句就能够实现功能,其代码如下,根据编译后的代码效率对比,这种解决方案能够比移位计算节省70%的空间。
3.3 关键位置坐标设置、数据比对与语音播报
机车运行公里标数据经过采集、传输、读取转换等环节后,需要和系统预设的关键位置坐标进行比对,以便进行下一步工作。系统预设的关键位置坐标是根据线路实际的里程坐标设置的,分成上行和下行两组数据。例如宁东地方铁路公司70 km线路上有38个平交道口,这些道口的绝对公里坐标数据经过准确测量核实后,都作为系统关键位置坐标录入。关键位置不同,播放的语音不同,系统软件设计时采用了结构体的数据结构,关键位置坐标数据和需要播放的语音编号一一对应。同时设置标志位,每一个已经比对过的参数都会打上标志,这样新的实际运行数据需要比对时,能够快速定位、提取要比对的预设数据。实际运行数据与比对数据相差达到预设的阈值范围,则系统提取该比对数据的语音播放编号,播放相应语音。
由于ATMEGA128内部具有128 kb flash存储空间,完全能够满足预设比对公里标数据的存储要求,加之这些数据在线路固定以后,一般不会变动。因此本系统设计时将这些数据直接写入源程序代码中。同时系统预留外部存储器接口,可以设计“数据写入软件程序”,通过本系统外接RS485口,经转换后和CPU进行RS232通讯,将比对数据写入外部存储器。
系统单片机软件主函数流程图如图5所示。
3.4 其他设计
系统采用了模块化的编程思想,将主要的功能实现都封装在函数内,书写在不同的C文件中。例如data.c文件中主要实现数据处理操作,就分别有公里标获取、上行比对、下行比对、比对数据定位、方向判别、交路判别以及LED灯操作等函数,这样主函数内容就很简洁,条理清晰,可读性好[6]。
3.5 模拟测试源
系统需要在试验室试验和调试,但是没有TAX源是个掣肘环节。为此,在系统设计的同时,还专门设计了模拟源软件。
该软件用VB设计,按照TAX的协议格式和不同的测试要求,主要能够实现如下模拟功能:
(1)持续地按照选定波特率和上下行方式发送数据帧,数据帧中的16~18字节每一帧累加1(下行)或者递减1(上行);
(2)以单帧方式,直接输入测试公里标,点击发送数据帧,以利于单片机软件调试;
(3)在数据帧中插入“车号”、“车速”等信息,用于系统的扩展功能调试。
模拟源工作时,模拟TAX箱,按照28 800的波特率,通过计算机串口发出数据帧。调试时,还需要外接一个RS232~RS485的研发模块,就能够完全模拟TAX箱的数据源了。模拟源的界面如图6所示。
图5 系统软件主流程图
图6 测试软件界面
本系统的1代机和2代机已经在宁东地方铁路全部运行机车上装车应用。宁东地方铁路管辖的线路由于没有全封闭,线路情况比较复杂,上文提到,其一条主要线路,羊场湾电厂站到大沙沟站,70 km的线路,仅平交道口就有38处,非常容易出现危及行车安全的状况。加装本系统以后,司机反映有效地起到了安全警示作用。图7为东风4B3936号机车实际装车照片。
图7 系统装车实景照片
机车运行关键位语音提示系统的设计思想,紧扣铁路新值乘制度实行给值乘工作带来困难的客观实际,结构原理虽然简单,但是功能稳定,语音播放清晰,关键位置提取准确,有效地部分替代了副司机的职能,受到了现场的好评。
[1] 马 潮.AVR单片机嵌入式系统原理与应用实例[M].北京:北京航空航天大学出版社,2007.
[2] 沈建良.ATmega128单片机入门与提高[M].北京:北京航空航天大学出版,2009.
[3] 沈立春,林 红,邓 欣.自动语音提示系统在焦炉生产中的应用[J].测控技术,2012,31(9):141-143.
[4] 郭治国,许新伟,苗卫东.全自动站场信息无线语音提示系统设计[J].铁道运输与经济,2005,27(6):68-69.
[5] 王崇华.机车语音记录装置的改进[J].铁路计算机应用,2013,22(7):51-54.
[6] 颜秋容,等.车站列车进路语音提示与报警系统[J].铁道运输与经济,2007,29(7):43-45.
Design of Voice Prompt System for Key Running Positions of Locomotive
QIU Jiandong,JIANG Zhaoyuan,TANG Minan
(1 Mechatronic T&R Institute Lanzhou Jiaotong University LanZhou 730070 Gansu,China;2 School of Mechanical and Electronic Engineering,Lanzhou University of Technology,Lanzhou 730050 Gansu,China)
According to the need for the reform of the Railway Single Driver system,a set of voice prompt system for key running positions of locomotive based on high-performance microcontroller AVR has been designed in this paper.This device extracts data from the TAX box,and mimics co-driver to lookout key positions and prompt voice.From the effect used in the actual field,it can meet the actual requirements very well.
locomotive;key running positions;AVR
U260
A
10.3969/j.issn.1008-7842.2014.03.13
1008-7842(2014)03-0052-05
*甘肃省科技支撑计划项目(090GKCA009,1304GKCA023);甘肃省自然科学基金支持(1208RJZA292)。
4—)男,高级工程师(
2013-11-17)