摘 要:本文以磁浮列车自动防护系统(ATP)为应用背景,对磁浮列车车载安全型计算机进行了研究。本文根据磁浮列车车载ATP系统对安全性的要求,对双机比较这一模式展开了研究,利用单片机作为实验平台,设计并实现了满足“故障-安全”原则的安全型计算机系统,并对各种可能出现的故障现象进行了实验验证。
关键词:磁浮列车,自动防护系统,双机比较,安全性,“故障-安全”
随着科学技术的发展,磁浮列车作为一种新型的交通工具已经逐渐进入了我们的生活。如何保证磁浮列车的可靠性和安全性,就成为了摆在科研工作者们面前的现实问题。磁浮列车自动防护(MATP)系统是保障列车可靠运行的重要一环,它本身必须有很高的可靠性,为避免出现ATP系统故障时引起严重后果,一般采用冗余结构来对ATP进行设计。本文就是以磁浮列车ATP系统为应用背景,设计了一套基于“故障—安全”原则的安全计算机系统。
在冗余系统中,双模冗余以其较高的可靠性以及较低的硬件成本成为首选。而双模冗余系统中,双机比较结构是较为常用的方案。该方案在开机运行后,同步采集外部数据,并对两处理机的计算结果进行比较,若二者结果相同,则对外输出相应的控制信号,若不同就将外部系统导向安全侧,因此该系统是基于“故障—安全”原则的,具有较高的安全性,但不具有容错功能。磁悬浮列车作为一种面向大众的交通工具,安全性无疑是最重要的,因此该系统基本可以满足需要。为了提高系统可靠性,也可以结合软件设计将双机比较结构配置成基于“故障—安全”的冗余系统。
1. 整体结构设计
系统主要是由输入电路板,两块主CPU板,一块仲裁CPU板和输出电路板组成。系统框图如图1所示。 (图片)
图1 系统结构总图外界状态经相关电路转换为CPU可以处理的数据,通过输入电路被两路处理CPU同时锁存,以保证读入的数据相同,两处理CPU把采集到的信号各自按照相应的ATP算法,对相关数据进行计算处理,计算出结果并暂存入缓冲区,然后将其传送到仲裁CPU。
仲裁CPU把两者的结果进行比较。如果相同就输出结果,并反馈发送成功信息告知两处理CPU,否则仲裁CPU向处理CPU发送重发命令,让其重新发送处理结果,若在两次重发后结果仍然不同,则系统停机并报警,将外部系统直接导向安全侧。为了防止输出总线出现故障,而比较系统却无法判断,本系统还建立回读机制,将输出的信号回读再次比较,以进一步判断系统的完好性。
输出电路则完成相关控制数据的传输工作,并能锁存前一次发送出的控制信号,以备回读比较。
2. 主CPU板设计
该单元是整个ATP系统的处理核心,主要完成对外部已采集到的状态信息同步读入、同步计算ATP相关数据、输出供仲裁CPU比较的结果数据、对外输出控制数据等工作。主CPU板单元电路结构框图如图2所示。(图片)
图2 主CPU板硬件框图该板由两块CPU构成,它们同时读入外部数据,在并行状态下对其进行处理,待计算结束就将结果编码输送给仲裁CPU判定。该板对仲裁机的结果输送及相关通信在整个系统运行过程中显得相当重要,所以传输的可靠性必须得到保证。本系统主要采用双口RAM来传输数据,双处理CPU相互之间通过串口来辅助通信,完成同步等工作。处理单元为了保证通信的可靠性,采用CAN总线作为通信冗余,在双口RAM和上位机通信失败的情况下,启用备用CAN通信链路可以极大的提高系统的可靠性。
两处理CPU在收到仲裁CPU的读外部信号的命令,为了保证两者读到的数据相同,需要锁存外部信号并读入,两处理CPU必须在读到外部信号后,两者相互发送所读数据并进行比较,若不同,再重新锁存并读入,再比较。在重复比较N次后(N值由试验确定,本系统中N=5)仍失败的情况下,将外部系统导向安全侧,否则重复的读取操作必然会导致系统始终处于等待状态,令系统陷于死循环而无法正常工作。
3. 仲裁CPU板硬件设计
仲裁CPU板主要负责判断处理器板上双处理器的状态,完成与处理单元相互交换数据的功能,并在结果比较成功后控制处理CPUA经过输出电路输出,或者自己直接输出。
两个主CPU板对经过ATP算法处理过后的数据,按照一定规则进行编码,然后经过双口RAM(或者备用CAN总线)传送给仲裁CPU板。
仲裁CPU板在精确的周期内分别接收来自两个处理单元CPU板发来信息后,首先进行比较,比较结果一致,则控制处理CPUA板安全输出;若比较结果不一致,则认为系统故障,系统停机,断开处理CPUA板的输出,将系统导向安全侧,并发出警报通知工作人员检修。仲裁CPU板硬件电路如3所示。(图片)
图3 仲裁板结构图仲裁CPU与处理CPU之间的通信主要通过双口RAM来实现,当处理CPU完成数据处理,便将处理结果送到双口RAM,而仲裁CPU根据需要直接在双口RAM中取出数据进行处理。CAN作为备用的通信通道,一旦发现双口RAM失效,立即启用现场总线CAN来完成通信任务。
为了实现两处理CPU的同步处理,仲裁CPU在收到完整的比较数据之后,通过发送中断信号的方式给两处理CPU发送读外部数据命令,然后再对两处理CPU的计算结果进行比较。整个处理流程当中,处理CPU的数据处理时间相对仲裁CPU的比较和输出时间要长很多,按此可以使处理CPU与仲裁CPU的工作实现流水作业,提高系统的数据处理效率。仲裁CPU比较成功后,仍然需要发信息通知两处理CPU,以便下一次计算结果传过来之前,删除保存在缓冲区的过时数据结果。
4. 输入板和输出板设计
输入板提供数字量和模拟量输入。该板能够锁存外部的信号,以保证两处理CPU板同步读入外部信号,同时还能够在系统启动时给处理CPU提供自检信号,帮助系统进行故障监测和故障定位,使系统具有更高的可靠性。
输出板则连接处理CPUA和仲裁CPU的端口,保证控制信号能够顺利地传输给控制器。该板与仲裁板之间设计了回读电路,每次送出控制信号后仲裁CPU都进行回读,保证控制信号的正确性,同时也是对处理CPU和输出电路之间输出总线的监督,仲裁CPU在该总线失效的情况下启用自身与输出板之间的总线输出,更进一步的提高系统可靠性。
5. 系统安全性设计
为了保证系统的高安全性,一旦双机结果比较不成功或者相互检测出故障,系统停止工作,导向安全侧,并报警通知维修人员维修。故障的确认通过定时超时技术和通信数据编码校验技术来完成。
处理CPU处理完数据后,将结果编码发送,待发送完毕,定时等待接收仲裁CPU发送的特定状态信号和读外部数据命令,如果状态信号不对或者发生等待超时,就会认定仲裁CPU故障,从而将仲裁CPU的运行状态记录改变成故障,系统停止工作,导向安全侧。
由于磁浮列车ATP算法的确定性,每个周期的时间都可以事先确定,这样在仲裁CPU接到第一个数据后、接到两个数据后都可以定时等待下一个数据的到来,并且对每个结果进行校验,如发生超时或者校验发生错误,都将认定为处理CPU的故障。仲裁CPU在收到处理CPU的数据之后,立即回复一个确认码,让处理CPU确认仲裁CPU的状态,防止错误认定仲裁CPU出现故障。
通过以上的设计安排,系统内部就建立了相互之间的故障监督机制。三块CPU将监督对象的状态编码输出,最后将这三者的信号整合成整个系统的状态信号,任意一个内部状态的改变都将引起整个系统状态的改变,又可以由整个系统的状态信号来完成导向安全侧的任务。
6. 仿真实验验证
本套安全计算机装置设计完后,在实验室里进行了仿真测试实验。假定输入板上输入一个周期为1秒的方波信号,处理CPU板每隔10毫秒读取输入板上的数据,由双CPU进行比较后,实时改变输出继电器的状态。比较结果不一致,则切断输出并报警。
模拟系统故障情况对本系统进行测试:
1、将其中一个CPU拔掉,模拟一个CPU出现故障或是处理错误,系统立刻就能够断开输出继电器,同时系统停机,不再对任何外部信号响应,将外部系统导向安全侧。
2、将仲裁板的微控制器拔掉或使该板重启,这时系统也立刻就能够使继电器断开,使输出无效,同时系统停机,不再对任何外部信号响应,导向安全侧。
3、将CAN通讯控制器件断开,同上面两种情况一样,本系统同样能导向安全侧。
4、将输出板断电,由于系统回读不正确,也能立即停机,导向安全侧。
值得注意的一点是,在上述故障状态下,系统并不能自动恢复,说明系统不具备在线可维修能力。但以上测试结果符合设计要求,也基本满足磁悬浮列车ATP系统对安全性的要求。
7. 结论
该系统的创新点主要有如下几个方面:一是输出控制与输出数据由不同的部分完成,这样就可以将错误输出的概率进一步降低,便于故障导向安全功能的实现;二是该电路引入了输入自检以及输出回读,使系统可靠性进一步增加;三是双机比较系统的“故障—安全”机制使系统可以规避危险。对该安全计算机结构利用马尔可夫理论进行分析 5,可得知其安全度大大高于一般双机冗余方案。该系统应用在磁悬浮列车ATP系统中,可完全满足系统设计要求。
参考文献
1 胡谋.计算机容错技术.中国铁道出版社.1995年,北京
2 李贻斌,刘明,王晓明.双机容错系统的仲裁器设计.微计算机信息,1997,第13卷第四期:71-73
3 王珍熙.可靠性·冗余及容错技术.航空工业出版社.1991年
4 赵志熙.微机联锁系统技术.中国铁道出版社.1995年,北京
5 闫剑平,汪希时.两种方式双机热备结构的可靠性和安全性分析.铁道学报.2000,第22卷第3期:124-127
7/9/2008
|