铁路信号领域安全计算机的应用及发展
2019-11-29任喜国王巨汉
李 夏,丁 欢,任喜国,王巨汉,曹 源
(1. 北京全路通信信号研究设计院集团有限公司,北京 100070;2. 北京交通大学 电子信息工程学院,北京 100044;3. 北京交通大学 轨道交通运行控制系统国家工程研究中心,北京 100044)
安全计算机的核心功能是:系统在运行过程中,一旦发生故障,则自动转向安全状态,从而避免故障升级导致事故发生。安全计算机的核心思想是:承认系统运行过程中故障不可避免;使用特殊设计来保证系统能够屏蔽故障并且解除故障影响。
安全计算机因其 “故障- 安全” 特性而在轨道交通领域得到广泛应用[1]。我国铁路信号领域安全计算机多采用三取二或二乘二取二结构,通过冗余实现容错、检错、避错的能力[2]。文献[1]介绍了安全计算机的通用架构及其在LKJ-15 型列车监控系统中的应用。文献[2]介绍了一种基于三取二架构和VxWorks 操作系统的安全计算机的设计以及实现。文献[3]介绍了用于铁路车载控制设备的三取二安全计算机系统。文献[4]介绍了满足安全苛求标准的嵌入式系统设计。文献[5]介绍了一种面向城市轨道交通的安全计算机总体设计思路。作为保证安全的核心元件,安全计算机一直收到人们的重视。本文重点介绍安全计算机在铁路信号领域的应用情况及其研究热点。
1 安全计算机相关标准
1.1 铁路领域安全计算机相关标准
比较基本和核心的国际标准为IEC 61508,它没有指定具体的应用领域,而是以通用性见长。
具体到铁路领域, 欧洲电气标准化委员会(CENECLEC)制定了以计算机控制的信号系统为对象的铁路标准, 即EN50126、EN50128、EN50129和EN50159。其中:
EN50126 为有关铁路应用中可靠性、可用性、可维护性、安全性(即RAMS)的规范和说明;
EN50128 为铁路控制与防护系统的软件要求与规范;
EN50129 为铁路应用中安全相关的电子系统,主要是通信、信号和处理设备;
EN50159 主要为铁路安全通信相关标准。
1.2 安全相关定义
IEC 61508 中有2 个重要概念:(1)安全生命周期,通过定义安全生命周期的各阶段安全性目标和必须达到的要求,对系统设计把关,进而实现系统安全;(2)安全完整性等级(SIL),是指在规定的时间周期内、规定的条件下安全相关系统成功完成其安全功能的能力。IEC 61508 中将安全完整性等级划分为4 级,其中,SIL4 级最高。
安全完整性可划分为系统安全完整性和随机硬件安全完整性2 类,设备需要同时满足这2 类安全完整性的要求方可达到某个SIL 等级。(1)系统安全完整性无法量化,它代表的是系统、子系统和设备在安全功能生命周期内人为错误导致的规范错误、设计错误、安装错误等;(2)随机硬件安全完整性可以量化,根据系统的不同,分为要求的危险失效概率(PDF,Probability of Dangerous Failure On Demand)和每小时危险失效频率(PFH,Average Frequency of Dangerous Failure Per Hour),分别用于低要求模式、高要求模式以及连续模式。
2 铁路信号领域安全计算机的相关应用
铁路信号系统的计算机联锁、无线闭塞中心、车载列车自动防护系统等均基于安全计算机平台搭建。为了保证铁路信号系统的高可靠性和高安全性,安全计算机平台的设计与开发直接关系到信号系统的可靠性,进而影响铁路系统的安全运行。
目前,铁路安全计算机平台普遍采用通用硬件结构、通用操作系统以及面向任务的特殊应用软件。其架构如图1 所示[3]。
图1 安全计算机平台通用架构
2.1 安全计算机在车站联锁系统中的应用
联锁指的是车站内信号设备(信号机、道岔、轨道电路)之间的互锁关系。车站联锁系统作为保证列车在车站内高效运行的控制核心,先后经历了机械联锁、电气集中联锁、计算机联锁等几个发展阶段,现在以电气集中联锁和计算机联锁为主,以计算机联锁为发展方向。
计算机联锁通常采用专用或通用的安全计算机平台、运行专门的联锁软件用于实现车站的信号机、轨道电路、道岔之间固定的互锁关系。
实际应用中,铁路信号领域安全计算机硬件多采用三取二、二乘二取二结构或双机热备结构。最早的计算机联锁曾使用单机结构、之后出现了双机热备结构,使用1 台主机1 台备机完成相同功能。鉴于双机热备结构存在切换失败可能产生危险后果等问题,三取二结构和二乘二取二结构得以应用。三取二结构中,3 套逻辑单元两两比较,能够屏蔽错误,但是存在无法停机检修的不足。二乘二取二结构则采用两套二取二结构,主机中2 套CPU 互相比较,如果无法达成一致则切换至备机,由后者的2 套CPU进行处理,在保证安全功能的同时降低了维修难度。目前,国内外比较有代表性的安全计算机及其冗余结构如表1 所示[6-10]。
表1 常见安全计算机系统及其结构
对比几种冗余结构,双机热备冗余方式成本最低,对同步的要求较低,但是对于系统自检的要求很高,如果自检无效则有可能出现危险输出。三取二和二乘二取二的性能相近,但是三取二只能屏蔽单系故障,对于多系故障无能为力。二乘二取二具备了双机热备的高可用性、可维护性,同时还具有高可靠性和高安全性。
2.2 安全计算机在铁路无线闭塞中心中的应用
无线闭塞中心(RBC)根据联锁、临时限速服务器、相邻RBC、调度集中(CTC)、车载设备等信息生成行车许可,之后通过无线通信方式传递给车载设备,用以保证自己管辖范围内列车的平稳、高效、安全运行,如图2 所示。
图2 无线闭塞中心(RBC)结构
RBC 由主机、接口单元、无线通信单元和维护单元组成。其中,主机单元和接口单元通常采用通用安全计算机平台,前者一般采用三取二结构或者二乘二取二结构,实现RBC 的安全相关逻辑与控制(如列车的注册和注销、行车许可的计算和发送、RBC移交等);后者主要采用硬件冗余结构,实现RBC与外界设备的数据交换。
2.3 安全计算机在铁路车载系统中的应用
列车车载设备包括车载安全计算机、轨道信息接收单元、应答器信息接收单元、人机界面、测速测距模块、制动接口单元、记录单元、轨道信息接收天线等部分,其中,车载安全计算机是列控系统车载设备的核心。
车载安全计算机负责接收其它车载设备提供的信息(如来自测速模块的列车速度数据、来自轨道电路或无线通信天线的地面信息等),同时,根据列车参数、线路参数、行车许可、临时限速等信息生成目标- 距离模式曲线,采集列车速度信息并与目标- 距离模式曲线进行对比,在必要时输出制动命令,保证列车的安全运行。
国内工程实践中,车载安全计算机普遍采用二乘二取二或三取二结构。
3 铁路信号领域安全计算机的研究方向
3.1 表决策略
实际应用中,安全计算机普遍采用冗余设计,以计算机联锁系统为例,设置多个通道对数据进行采集处理,同时,设置软件冗余,使用多种程序编写方案,并使用多种编程语言实现其设计功能。为了实现可靠性、可用性、可维护性和安全性(RAMS)要求,除了硬件冗余(使用多个传感、处理等设备)、软件冗余(使用多种编程语言,多种设计方案)之外,还有时间冗余(重复执行程序来检测故障或者令系统从故障中恢复)、信息冗余(通信过程中附加信息来增加数据传输的可靠性)等冗余方法。
文献[11]中设计了一种新的二乘二取二结构安全计算机,其创新之处在于新的表决策略。文章中包含2 种表决方案:(1)针对数据及状态信息的表决;(2)针对系统输出的表决。
针对数据及状态信息的表决由第三方调配,其中,安全等级不高的表决任务只设置系内表决,安全等级较高的表决任务需要将表决结果和被表决的数据同时输出来进行系间再次表决。
针对系统输出的表决和传统安全计算机采用逻辑电路进行硬件表决的方法不同,设置了二乘二取二、三取二和二取二表决模式。
系统工作正常时,施行二乘二取二表决:系统A、B 两系共4 个冗余模块中某个单元出现故障时,其余3 个模块施行三取二表决;系统4 个冗余模块中某2个单元故障时,剩余2 个模块施行二取二表决。其表决模式及安全性如表2 所示。
表2 新的二乘二取二安全计算机工作模式表
3.2 通信方式
安全计算机中,通常包含串口通信、CAN 总线通信和以太网通信3 大类通信协议。如文献[5]中,二乘二取二的系内通信采用外设部件互联(PCI)接口的千兆以太网,逻辑部分和安全输入、输出之间的通信采用控制器局域网(CAN)总线。文献[12]中采用包括RS232 和RS485 在内的串口通信、CAN总线通信和以太网通信3 种方式。其中,串口通信作为传感器接口、CAN 总线作为CPU 与I/O 板卡间通信、以太网通信负责整个安全计算机与外部设备的通信。
文献[11]中针对系内通信和系间通信采用不同的方式:系内通信采用串口;系间通信采用CAN 总线。在通信安全防护方面,针对不同故障情况设置了不同的解决方案:针对数据重复的情况设置了周期数用于辅助表决;针对数据损坏导致危险的故障情况,系内通信由帧头和帧尾担保,系间CAN 通信由其自带的循环冗余校验(CRC)解决;针对数据延迟,时限内延迟不影响系统工作,时限外延迟首先从软件商修复偏差,不能修复者作为不同步处理,系统降级运行。
3.3 同步方式
现有安全计算机的同步方式主要包括时钟同步和任务同步。其中,时钟同步完全依靠硬件时钟提供同步基准,两路CPU 单元使用同一个时钟,通过系统时钟实现内部运算单元同步工作以及总线数据比较;任务同步则完全依靠软件实现同步功能,在软件开发时预先设置一系列时间点,软件通过硬件进行信息交换,确定自己的时间,从而实现整体同步。
时钟同步完全依赖系统时钟提供同步信息,其对于共模故障的抑制能力较差[13]。但是,同一个时钟源并不能保证系统的完全同步。任务同步由于并不是完全同步,各个设备间存在同步时间差,因此对共模故障的抑制能力较强,但是同步偏差大,系统效率不高。
文献[14]中提出了应用于二乘二取二计算机的新的同步机制。新的同步机制包括硬件同步控制器、软件同步时间点和总线硬件比较,分为系内同步和系间同步2 部分。其中,系内同步部分设置有多级时间同步窗口,当系统内同步控制逻辑电路认为系内两路CPU 进入同一时间同步窗口时,立刻发出同步中断给CPU,实现两路运算单元的任务点同步。在两路CPU 开始数据比较时,启动总线输出时钟电路,两路总线数据位对齐。
在实际应用中,计算机联锁设备同步工作顺序如下:(1)某系CPU 确定本系工作模式并确认是否需要同步;(2)将同步后的数据信息传输至应用软件;(3)后者接受同步后的数据信息,读取现场执行单元状态和监控机指令并进行计算;(4)当运算输出单元的输出进行同步后,在硬件表决通过的前提下输出至执行单元进行操作。
对于不同的设备,计算机联锁系统设置了不同的同步控制和处理机制。如主用系向非主用系同步数据时,主用系内部两路CPU 首先进行同步及数据比较,一致后方可向备用系输出;联锁主机在收到操作命令后,确认主用系两台CPU 接收的同步命令相同时方能认为该命令有效等。
文献[5]中,面向地铁的安全计算机在设计过程中,为了保证其安全性能,才用了时间同步、相位同步等几种安全措施。其中,时间同步方面采用的是网络时间协议的RFC5905 标准。相位同步方面,每个时钟周期被分为9 个阶段:输入获取,输入数据同步,输入数据表决,故障诊断,数据处理,输出数据同步,输出数据表决,故障诊断,输出驱动。其中,每个周期均包含两个包含同步的表决阶段,保证系统数据的同步性。
3.4 安全性评估
传统的安全性评估方法是一种综合的、结构化的、逻辑性强的方法,包括但不限于故障树分析法(FTA),故障模式与影响分析法(FMEA)和事件树分析法等。
在采用这些方法分析之前,均需对被分析对象进行一系列假设:(1)只关注系统的技术部分;(2)单一化系统运行状态;(3)系统单元的统计独立性;(4)系统单元仅有两个状态(故障/ 非故障);(5)系统不可修复;(6)系统故障数据可以获得。但在情况复杂的实际应用过程中,这些假设条件未必成立。为此,对传统的安全评估方法进行了诸多改进,如在故障树分析法的基础上产生了动态故障树分析/ 时间故障树分析;同时,新的方法得到应用,包括Markov 模型分析[15-16]、仿真法(蒙特卡罗仿真)、Petri 网分析法和Bayesian 网分析法[17-18]等。
Markov 模型分析法主要侧重于指数分布,对于复杂系统建模来讲,使用要求较高,存在状态空间爆炸的问题。
仿真法可用于指数分布/ 非指数分布系统,但是,仿真法需要较大的存储空间,运行时间长。
传统Bayesian 网分析法适用于静态领域的系统建模,不考虑系统的时间行为。而传统Bayesian 网分析法与时间变量结合之后产生了新的方法,如动态Bayesian 网分析法、时间Bayesian 网分析法、面向对象的动态Bayesian 网分析法等。
通常,Bayesian 网分析法的某个节点只代表离散或连续变量,但是混合Bayesian 网分析法在一个模型中可能同时含有离散和连续时间变量。
传统Petri 网分析法分析难度低,但是,对于复杂系统的分析同样存在状态空间爆炸的问题,另外,它不适合对系统中与时间相关的动作进行分析。
随机Petri 网分析法[20-21]考虑了服从指数分布的转换延迟,在其基础上发展的通用随机Petri 网分析法允许同一模型中立刻变迁和演示变迁同时存在。其中,立即变迁通常由黑色方形表示;延时变迁由白色方形表示,且立即变迁的优先级高于延时变迁。
3.5 COTS部件和FPGA部件的使用
3.5.1 商用现成品和技术(COTS)部件的使用
文献[22]提出了用于安全计算机的商用现成品和技术(COTS)部件安全性分析方法,使用危险和可操作性(HAZOP)分析法对COTS 部件的危险源进行分析,包括基于结构参考模型的HAZOP 分析法、基于功能分层模型的HAZOP 分析法两种。
COTS 部件具有 “更好、更快、更低廉” 的特点,属于一种通用的、标准化设计,但是,COTS 部件的使用给通用安全计算机平台带来2 个问题:(1)使用COTS 部件设计通用安全计算机平台时,后者的冗余部件很可能采用相同的硬件或软件,随之而来的是共因失效频率的上升,如何在控制成本并满足通用化的基础上降低共因失效带来的风险成为一个研究重点。(2)现有的COTS 部件本身无法满足通用安全计算机对可靠性和安全性的苛刻要求,关于如何对COTS 部件进行安全评估以及利用COTS 部件实现安全功能成为研究的重点。
3.5.2 基于现场可编程门阵列(FPGA)的使用
文献[12]中,基于现场可编程门阵列(FPGA)的硬件平台设计了应答器报文系统。FPGA 技术正日益成熟,从只能作为中央处理器变为能独立承担很多系统的控制任务。由于FPGA 具备高度灵活性,可以作为安全计算机的逻辑控制核心,方便地设置硬件冗余结构,从而降低整套系统的研发时间和研发成本,更好地适应现场需求。
4 结束语
安全计算机是保证列车安全运行的核心组件。文章介绍了铁路领域安全计算机的相关标准及安全计算机平台通用架构,从计算机联锁、车载系统、无线闭塞中心等方面总结了安全计算机在铁路信号领域的应用,从表决算法、同步方式、通信方式、安全性计算等方面研究了安全计算机的发展情况。研究表明,铁路信号领域安全计算机的研究热点主要集中在表决与同步的设计与实现、安全通信设计、安全评估算法、利用COTS 部件和FPGA 实现安全需求等方面。