引言
随着城市轨道交通的快速发展,乘客对列车的舒适度和安全性提出越来越高的要求。对于上海地铁1、2号线旧型直流驱动列车,当列车车厢内发生紧急情况(如火灾等)时,列车司机在封闭的驾驶室中无法得知灾难情况,而且乘客也没有任何通信手段可以将车厢内的灾情告知司机。基于这种防灾需求,地铁运营单位要求改造列车,加装地铁列车乘客紧急报警系统。
1 系统结构
地铁列车一般为6节编组(A1-B1-C1-B2-C2-A2),每节车厢长24.5 m,司机驾驶室设在A1和A2,乘客车厢为全部6节车厢。本系统在两端司机驾驶室各设1台报警主机,每节车厢安装2个报警分机(车门上方)。当乘客按下车厢内的报警按钮后,按钮上的指示灯会点亮,并伴有报警声音提示。报警分机在监测到按钮动作后,会将该信息通过列车线发送到驾驶室的报警主机。主机接收并处理信息后,点亮主机面板上对应位置的LED指示灯,并利用声音提示。此时,司机需要人工确认报警灯对应按钮,主机监测到确认动作后关闭报警灯和报警声音,并将该信息发送回对应的报警分机。分机接收并处理信息后,关闭报警灯和报警声音。
2 系统硬件设计
报警主机的硬件设计按照模块化原则,可分为如下几个功能模块:主逻辑控制模块、基于MT8888的DTMF通信模块、LED数码管控制模块、LED灯控制模块、蜂鸣器控制模块、键盘扫描模块、时钟控制模块、存储控制模块、数据存储模块等。系统硬件结构框图如图1所示。
报警分机相对简单,提供了乘客报警的人机界面。报警主机和分机之间使用基于MT8888芯片的DTMF通信技术,并附加软件CRC8校验机制,确保通信的高可靠性和安全性。3 系统软件设计
报警主机和分机均使用Atmel公司的AT89C52作为主逻辑控制单元,与MCS-51产品指令和引脚完全兼容。分机的设计和实现相对简单,主机用到了单片机提供的大部分资源,包括定时器中断、外部中断和串行中断,各个功能模块依靠各自中断入口和优先级依次运行。定时器和
中断资源分配如表1所列。
对于中断优先级的考虑:
①与人机接口有关的中断,其优先级为高;
②为了保证串行通信的质量,其优先级为高;
③外部中断采用较低级的中断,其优先级为低(外部中断0,每秒2次;外部中断1,每秒1次)。
3.1 基于MT8888的DTMF通信
由于涉及已运营线路的列车改造,系统的稳定性和安全性是至关重要的,所以该系统在设计时报警主机和分机之间采用了基于MT8888的DTMF通信,并在列车上使用低烟、无卤的线缆构架系统的通信网络,做到与列车原有广播系统的语音信号相互独立,互不干扰。网络拓扑结构是总线型结构,最远分机和主机的距离长达150 m。
DTMF通信每次收发只能处理4位数据,但是对于实际通信数据,就需要设置较大的缓冲区,循环发送多字节数据。下面详细描述主机和分机的通信协议。
3.2 基于CRC8的安全通信协议
根据系统的功能,报警主机和分机的消息类型包括:系统上电自检、分机报警、主机报警回复。系统上电自检是指在系统全部上电后,列车车厢内的分机会自动向主机发送健康信息,主机收到该信息后会在界面上点亮对应分机的指示灯;分机报警是指乘客按下报警按钮后,分机向主机发送的报警信息;主机报警回复是指司机确认报警后,主机向分机发送的报警确认信息。为了保证通信的安全性,采用CRC8标准进行数据校验,多项式为,简记为0x31。
通信协议的详细定义如下:
①上电自检信息格式(3字节)
报头(1字节):FB
报文:车厢号(半字节)+分机号(半字节)
CRC(1字节):CRC8
②报警信息格式(3字节)
报头(1字节):EA
报文:车厢号(半字节)+分机号(半字节)
CRC(1字节):CRC8
③报警回复信息格式(3字节)
报头(1字节):EC
报文:车厢号(半字节)+分机号(半字节)
CRC(1字节):CRC8
在报警主机和报警分机的DTMF编解码结束后,使用Altera公司的EPM1270芯片进行CRC8的生成和校验,基于以下VHDL代码实现了8位CRC码生成电路。代码中,InputData为输入数据,ResultCRC为输出CRC码,midCRC为当前CRC码。
CRC8校验算法的使用,从软件上为报警主机和分机的通信提供了一定的安全保障;CPLD硬件的实现方式,减轻了单片机的运算负担,使其专注于主控制逻辑的调度。
3.3 基于X25045的存储管理
存储芯片使用的是X25045,这个芯片具有看门狗和EEPROM两种功能。使用时,看门狗的复位在定时器T0中实现。EEPROM的容量为512字节,分上下两个半区,每半区地址为00H~0FFH。记录的格式如表2所列。
基于以上提供的记录格式,存储空间做如下划分:
◆000H,存储待写入记录的上下半区地址;
◆001H,存储待写入记录的半区内地址;
◆002H~007H,预留;
◆008H~1FFH,存储报警信息记录。
所以,存储器能够存储的报警信息的总数为(512-8)/7=72条。当存储器存满之后,系统会自动覆盖最早的一条记录,从而循环利用存储器空间。之所以会这样考虑,主要是因为地铁紧急报警系统是在极个别情况下才会使用的,所以真正使用的频率可能会比较低。
存储器的使用保证了系统在断电之后,报警信息仍然可以保存下来。但是,这使得在系统初始化时,存在一个问题;系统断电后,所有的其他信息都会丢失(包括存储器的使用情况),当系统再次上电复位后,系统就无法知道从存储器的哪个字节开始存储信息。所以,需要把存储器的使用情况存储在存储器上(000H,001H)。这样,当系统上电复位的时候就可以读取这个信息,从而正确使用存储器。但是,在这种情况下,需要在使用系统前对存储器进行格式化,就好像安装PC机的操作系统需要格式化 硬盘一样。本设计方案是利用已有的小键盘,通过
输入简单的密码来格式化存储器。
格式化命令:
①按下第一行左数最后一个键,A2-1;
②按下第二行左数第一个键,A1-2;
③按“回车”键。
这时,LED屏会显示“-F-F-F”,这表示报警主机正在对X25045进行格式化。当格式化结束后,LED屏会自动跳回到时间显示状态。
结语
地铁列车乘客紧急报警系统是上海地铁列车安防系统国产化改造的重要成果,解决了既有线路维护工作中的实际问题,是国内企业参与城市轨道交通建设的良好实践。
地铁项目的实施需要以高安全、高可靠的技术为基础,本文描述的项目从硬件和软件两方面着重考虑安全因素,并在几十列列车上实际安装使用,司机和乘客均反映良好。