APP下载

安全计算机平台的主备切换板设计

2020-03-04

铁路通信信号工程技术 2020年2期
关键词:序列号通信协议校验

马 研

(中国铁道科学研究院集团有限公司标准计量研究所,北京 100081)

1 概述

安全计算机平台为应用提供高可靠的运行环境,是所有铁路信号安全设备的基础,其核心技术包括安全运算技术、实时故障检测技术、安全操作系统技术、安全通信技术等,安全完整性等级达到SIL4级[1-4]。

二乘二取二架构是目前安全计算机平台的主流架构之一[5-7]。安全平台由双系构成,在正常情形下,其中一系为主系,另一系为备系,备系的工作状态始终与主系保持一致。当主系出现严重故障时,安全平台自动完成切系操作,备系升级为主系,继续执行原主系的动作,确保安全平台整体功能不受影响。但在特殊场景下,安全平台的两系都将升级为主系,两系的工作状态有可能不一致,从而面临安全风险[8]。因此,有必要研究主备切换板,以防护安全平台的双主风险。

2 主备切换板结构

主备切换板借鉴了安全平台的设计理念,结构如图1 所示,同样由双系构成,安全完整性等级也为SIL4 级。每一系包含CPU1、CPU2 和CPU3,其中CPU1 和CPU2 承担安全功能,主要实现二取二处理、主备切换板与安全平台之间数据的处理以及对继电器的操作等;CPU3 主要实现CPU1、CPU2 与安全平台之间以太网通信数据的转发,不承担安全功能。与安全平台不同,主备切换板的双系硬件结构完全一致,地位平等,无主系备系之分,双系之间也不存在系间通信,而是各自分别与安全平台进行通信。

图1 主备切换板结构示意Fig.1 Schematic diagram for the structure of host and backup switching board

为保证在系间通道全部中断的情况下只能有一个系为主系,避免出现双主运行,每个系设置一个“主备继电器”(ZBJ),由各系通过PIO 输出控制,如图2 所示。ZBJ 采用符合EN 50205 标准的小型安全继电器,1ZBJ 和2ZBJ 两个继电器通过前后节点互相串接实现互斥,任何情况下最多只能有一个继电器吸起。

3 主备切换板的工作逻辑

安全平台双系上电后,如果本系两个CPU 的系间通信通道未出现同步中断的情形,则优先通过系间通信的方式获取对系的工作状态,并结合本系的工作状态判定本系应为主系、备系或待机状态。此时,安全平台仅有一系作为主系,并驱动主备切换板对应的继电器吸起;另一系为非主系,对应的继电器则会落下。如果安全平台本系两个CPU 的系间通信通道同步中断,双系均会试图使本系对应的继电器吸起。但两个继电器只有一个可以吸起,对应的安全平台该系可以升级为主系,另一系则不能升级为主系,因此可防护安全平台潜在的双主风险。

图2 主备切换板继电器示意图Fig.2 Schematic diagram for relay ofhost and backup switching board

4 主备切换板的硬件设计

主备切换板的主要硬件模块如下。

1)电源模块:提供稳定的5.0 V、3.3 V 和1.2 V 电源。

2)逻辑比较处理模块:逻辑比较功能由CPU1和CPU2 实现,其芯片经过安全认证,达到SIL3的安全等级;通信数据转发处理由CPU3 实现。CPU1、CPU2 之间的通信,以及它们和CPU3 间的通信通过UART 直连。

3)继电器驱动和采集模块:安全继电器为TE公司SR6A6K24 型,其驱动模块由CPU1 和CPU2通过“与”的逻辑关系控制,即当CPU1 和CPU2均发出吸起指令时,继电器才能够吸起。CPU1 和CPU2 通过采集通道可独立地获取本系和对系继电器节点状态。

4)对外通信模块:主备切换板与安全平台通信采用以太网。同时为了适应更广泛的平台设备,还预留了CAN、RS-422 和RS-232 等多种对外通信接口。

5)状态指示灯显示模块:共设有6 个LED 指示灯,分别表示主备切换板本系的供电是否正常、是否存在故障、与安全平台通信是否正常以及对应的安全平台的本系工作状态(主系、备系或离线)。

5 主备切换板的软件设计

5.1 软件功能设计

主备切换板软件采用单线程方式,不存在任务间的轮转、抢占等调度机制。通过对硬件定时中断的响应产生统一的时钟,触发软件各项功能。

软件的主要功能如下。

1)初始化

初始化各项配置数据,驱动继电器落下,本系离线指示灯亮起。

2)接收平台发送的驱动数据

安全平台每系统周期向主备切换板发送一次驱动数据,内容包括本系的系别(I 系或者II 系)、工作状态、系统周期值等。CPU1 和CPU2 接收经过CPU3 转发的驱动数据,并进行双CPU 二取二比较和安全通信协议的校验,以确保数据安全。CPU1和CPU2 随后对通过校验的数据进行解析,以获取平台的控制参数,识别本系的系别、工作状态。

3)采集继电器状态

CPU1 和CPU2 定期采集本系和对系的继电器状态,形成采集数据。

4)安全关键数据二取二比较

CPU1 和CPU2 定期将采集数据、接收的安全平台驱动数据发送给对方,进行双CPU 二取二比较,比较失败时执行故障安全处理。CPU1 和CPU2 还对系统运行的状态数据进行双CPU 同步,确保双CPU 的时钟、故障等级始终保持同步。

5)驱动继电器

CPU1 和CPU2 根据从驱动数据中获取的安全平台工作状态,驱动本系继电器吸起或落下。如果CPU1 和CPU2 在规定时间内未收到驱动数据,应使本系继电器落下。

6)发送采集数据

CPU1 和CPU2 将通过双CPU 二取二比较的继电器状态按照安全通信协议打包,形成采集数据并发送给CPU3。CPU3 收到后,再转发至安全平台。由于主备切换板双系CPU3 的以太网口IP 地址相同,主备切换板向安全平台发送的采集数据应当包含系别,以便安全平台识别数据来源。

7)自检、故障处理和维护数据发送

软件定期对系统进行自检,发现故障时完成故障安全处理。CPU1 和CPU2 定期将维护消息形成数据包发送至CPU3,并由CPU3 发送至安全平台。CPU1 和CPU2 还能根据工作状态控制面板LED指示灯。

5.2 安全通信协议设计

EN50159 规定了传输系统需要防范的7 种风险。由于主备切换板CPU1 和CPU2 之间的通信,以及主备切换板与安全平台之间的通信均在封闭的传输系统中进行,因此无需考虑数据伪装的风险。在设计安全通信协议时,采用双向序列号校验以防御数据重复、删除、重排序和延迟的风险,采用64位CRC 校验码防御数据损坏的风险,采用目的地址和源地址标识以防御数据插入的风险,如图3 所示。当双向序列号、目的地址、源地址或者CRC 校验码校验失败时,应当丢弃数据。

图3 安全通信协议数据格式Fig.3 Data format for safety communication protocol

由于二取二比较数据的实时性要求比安全平台驱动数据更加严格,因此进行双向序列号校验时需采取不同策略。主备切换板与安全平台的通信存在建立连接与断开连接的过程。如果本次接收对方序列号与上次接收对方序列号差值,以及本方发送序列号与本次接收的本方发送序列号差值均在规定区间内,记为校验成功一次;否则,记为校验失败一次。至少连续3 次校验成功时,认为连接已建立,序列号校验成功。若连续3 次失败,则连接断开,序列号校验失败。

主备切换板CPU1 与CPU2 之间的二取二数据通信则不存在建立连接与断开连接的过程。只要本次接收对方序列号与上次接收对方序列号差值,以及本方发送序列号与本次接收的本方发送序列号差值均在规定区间内,即认为序列号校验成功;否则序列号校验失败。

5.3 采集数据的拆包和拼包处理

CPU1 和CPU2 向CPU3 发送采集数据时,首先将采集数据按照安全通信协议组包,然后进行奇偶拆包,即CPU1 只保留偶数字节,CPU2 只保留奇数字节。CPU3 接收到CPU1 和CPU2 发送的采集数据后,进行拼包处理,形成完整的一包数据,再发送至安全平台。

6 总结

介绍一种基于安全继电器的主备切换板。通过合理的硬件设计,主备切换板两个继电器不得同时吸起,可防护安全平台潜在的双主风险。同时给出软件设计和安全通信协议设计。

猜你喜欢

序列号通信协议校验
使用Excel朗读功能校验工作表中的数据
一种离线电子钱包交易的双向容错控制方法
一种控制器硬件序列号的更新方法
关于《国家税务总局 工业和信息化部关于加强车辆配置序列号管理有关事项的公告》的解读
智能电能表的现场快速校验方法探讨
车载网络通信协议标准化问题研究
电子式互感器校验方式研究
电动汽车充电接口及通信协议新国标发布
浅谈微电子故障校验
手机使用中的“秘诀”