耿鹏
(通号城市轨道交通技术有限公司 研究开发中心,北京 100070)
城市轨道交通列控系统广泛采用基于通信的列车控制系统(CBTC),区域控制器(ZC)是CBTC 系统的核心安全控制系统,其安全完整度等级达到SIL4 级。CBTC 系统结构见图1[1],ZC 综合从联锁(CI)[2]收到的锁闭状态、信号机显示、道岔状态、区段占用等信息,从列车自动监控(ATS)收到的临时限速信息,从车载设备(ATP)收到的列车位置、列车运行状态信息,以及从相邻站ZC 收到的控制权移交、接管信息,实时计算列车移动授权信息发送给车载设备,以保障列车间的安全行车间隔。
图1 CBTC系统结构
ZC系统结构由ZC应用软件层和安全计算机平台层组成(见图2)。安全计算机平台通常采用三取二、二乘二取二架构设计,已在航空航天、轨道交通等领域的安全苛求系统中广泛应用,具有长时间可靠运行能力、容错控制能力、安全控制及故障处理能力,是ZC能够7×24 h[3]不间断安全运行的基础。在此,ZC采用的安全计算机平台为基于二乘二取二体系结构[4],双系冗余设置,当主系故障时,系统自动切换至另一系连续执行控制任务[5]。传统ZC 同步方法在ZC 应用软件层未考虑主备系通信的延时影响,完全依赖于安全计算机平台的运行状态,一旦安全计算平台同样未考虑双系同步的延时状态或发生故障,当ZC 切系时会引发安全风险。因此,提出一种跨周期ZC 双系同步方法,实时对ZC 主备系通信的延时状态进行评估,并采取相应的安全策略,ZC 系统在切系时能够无缝切换,提高了系统的实时性和安全性,以保障安全运营。
图2 ZC系统结构
ZC 采用基于实时操作系统的单任务运行方式,包括ZC应用软件层和安全计算机平台层[6],其中安全计算机平台层包括硬件、操作系统、平台系统层。安全计算机平台的同步功能由安全计算机平台系统层完成,ZC 应用软件的同步功能由同步管理模块及安全平台适配层完成。
ZC 系统二乘二取二冗余安全计算机平台采用高性能CPU,通过任务级同步[7]实现双CPU、双系的同步控制,安全计算机平台为ZC 应用软件提供一系列API接口供其实现相关功能。安全计算机平台系统层、ZC应用软件提前设置同步任务点,基于各种硬件接口,双系的平台系统层、ZC 应用层软件彼此交换信息,取得一致的运行步骤,通过软件任务点的同步来保证系统双系同步[8]。
ZC采用的安全计算机平台系统工作状态[9]定义如下:
(1)主系:系统正常运行,且处于正常控制状态。
(2)备系:系统正常运行,且处于正常控制状态,系统与主系同步。
(3)待机:系统正常运行,但与主系不同步,且处于停止控制状态。
(4)停机:系统停止运行。
安全计算机平台独立进行上述工作状态的保持或切换。ZC 系统发生切系的来源主要包括安全计算机平台切系、ZC 应用软件切系。安全计算机平台采用二乘二取二的冗余结构,不论何原因导致ZC 切系,都应保证主备系切换的平滑过渡。
2.3.1 主备系间交互机制
ZC 应用软件周期运行,上电运行的第1 周期执行ZC 应用软件初始化,从第2周期开始,ZC 应用软件进行正常的逻辑运算。ZC 逻辑预算时,首先进行同步区数据的获取操作,然后进行本周期的逻辑处理,在每周期末将同步区数据发送给对系,在下一周期设置安全侧状态后,双系分别以上一周期末获取到的对系同步状态为起点进行同步状态的设置。平台层对ZC 应用软件发送的同步数据进行交叉比较,校验不通过时系统导向安全侧。ZC 应用软件周期处理流程见图3。
图3 ZC应用软件周期处理流程
ZC 双系的工作方式为主备方式,仅当ZC 为主系、备系、待机状态时,ZC 双系间进行同步数据的传输,ZC 只有处于主系状态时才对外输出控制信息,处于备系状态时对外输出维持安全通信连接的生命信号。当该系处于待机或者初始化状态时,同步区设置为安全侧状态,且不对外输出安全信息。
ZC 主系每周期末通过同步区将同步数据全部发送给对系,由对系根据接收到的主系数据更新自身的动态数据,从而实现对系对主系的状态跟随。ZC 备系将同步状态信息发送给主系,供主系判断备系是否与主系处于跟随状态。若对系未完成同步状态跟随,则主系启动阻塞输出机制,即停止对外输出任何信息,仅当对系及时完成同步跟随,主系才能对外输出。若主系超过主备同步最大延时Tms-delay没有收到备系同步状态,主系认为对系不存在,则对外输出。Tms-delay的配置时长应能保证备系在热备情况下能够降级为待机状态。上述机制保证了在ZC主备不同步且发生切系时,ZC对外接口输出数据不会出现逆序。
ZC 应用软件对设备是否处于双主系状态进行安全防御,当ZC 本系为主系,从同步区获取到的状态显示对系也为主系时,ZC 本系应导向安全侧处理,采取宕机或停止对外输出信息的措施,以避免产生安全风险。
2.3.2 主备延时状态评估方法
ZC主系与备系之间同步延时参数(见表1)的传递过程见图4,ZC主系向备系发送同步标识,内容包括主系周期数、收到的备系周期数、主系收到备系同步数据时的主系周期数,备系收到主系的同步数据后,向主系发送同步状态,内容包括备系周期数、备系收到的主系周期数、备系收到主系周期数时的备系周期数。在图4中,ZC主备系的周期数均为每周期增1,例如主系本周期周期数为Nmain,则主系上一周期的周期数为Nmain-1。主系收到备系反馈的同步接收状态后,就可以确定备系同步的延时状态。备系落后于主系的延时Tmain_delay最长不超过Tms-delay,若超出该时间,则ZC 备系应将同步区设置为初始安全侧状态。若主系判断备系延时Tstandby_delay超过1个周期时长,则主系启动阻塞输出机制。
图4 ZC主备同步延时参数的传递过程
表1 主备延时状态评估参数
延时评估计算时,主系、备系将周期数换算为ms,即周期数与Tcycle的乘积,并考虑计算机字长溢出翻转的影响。评估方法如下:
通常情况下,由于机笼内板卡间通信采用交换机板或通信总线进行通信,出现延时概率极低。在此讨论的是典型跨周期同步机制,考虑到上周期末同步的数据下周期使用,则正常情况下同步延时评估为1 个ZC系统周期。
2.3.3 ZC应用软件系间同步数据
ZC 系统平台层的同步数据由安全计算机平台独立完成,在此着重对ZC 应用软件的同步数据进行设计,按照软件分层结构,主要包括逻辑控制数据、外部接口数据、安全协议层数据。
(1)逻辑控制数据。包括列车控制相关信息、站场相关控制信息、临时限速控制信息、控制权交接相关信息等。
(2)外部接口数据。包括通信控制信息、延时参数信息、ATS 接口信息、CI 接口信息、VOBC 接口信息、相邻ZC接口信息。
(3)安全协议层数据。包括RSSP-Ⅰ安全通信协议、RSSP-Ⅱ安全通信协议的同步数据。
此外,ZC主系、备系还需对ZC电子地图版本、安全关键参数版本一致性检查,若检查不通过,ZC 导向安全侧处理,采取宕机或停止对外输出任何接口信息,直到人工接入操作。
ZC主系、备系的同步状态存在如下可能组合:
(1)主系与备系周期正常同步数据,未发生切系。
(2)主系与备系周期正常同步数据,发生切系。
(3)主系向备系同步数据发生延时,未发生同步超时,未发生切系。
(4)主系向备系同步数据发生延时,未发生同步超时,发生切系。
(5)主系向备系同步数据发生延时,发生同步超时,未发生切系。
(6)主系向备系同步数据发生延时,发生同步超时,发生切系。
上述ZC 的同步机制能够保证其自身安全性,还需对ZC 切系过程中对其他设备的影响进行接口安全性分析。ZC 与CI、ZC 与ATS、ZC 与相邻ZC 接口 均采用RSSP-Ⅰ安全通信协议,ZC与VOBC通信采用RSSP-Ⅱ安全通信协议,ZC主备系通信时将RSSP-Ⅰ、RSSP-Ⅱ协议的关键参数进行同步,ZC 与外部设备接口保持备系跟随主系的状态。
ZC 备系周期处理完全跟随主系同步过来的状态信息,在不发生同步延时的条件下,主备系处理的初始状态完全一致。主备系分别采用各自接收到的外部设备信息独立进行逻辑运算,仅由主系对外部设备输出控制信息,ZC 的备系向对等方设备的主备系均发送生命信息,符合系统设计,无安全风险。
ZC 主系与备系间同步正常,发生切系时,主系先降级为待机或停机状态,原备系升级为主系后,开始对外部设备发送安全应用信息,并向对系同步主系状态(见图5)。
图5 主备正常同步后切系
ZC 在主备同步时,RSSP-Ⅰ和RSSP-Ⅱ协议也完成了主备同步,备系跟随主系。此时若发生主备切系,备系基于主系同步过来的RSSP-Ⅰ和RSSP-Ⅱ协议参数进行数据发送和接收计算。ZC 接收到外部接口其他设备信息时,ZC 主系、备系分别收到的消息经过网络传输,可能存在延时、逆序等问题,由于备系同步了主系的状态,采用与主系相同的RSSP-Ⅰ和RSSP-Ⅱ协议参数进行接口数据的冗余及安全处理。在ZC 的数据发送方向,备系完全跟随主系,发送时采用的本方时间戳与主系相同,保证了切系时对外发送消息的时间戳一致性。
在主备系同步正常的情况下发生切系时,对ZC 系统本身和其他设备均未引入安全风险。
N1周期末主备系完成同步,备系未收到主系N2周期的同步数据,此时备系保持N1 周期主系同步的RSSP-Ⅰ、RSSP-Ⅱ协议参数。在N3 周期开始时,备系保持N2 周期的RSSP-Ⅰ、RSSP-Ⅱ协议参数,采用N3周期接收到的外部接口数据,进行N3周期的逻辑运算。N3周期末,主系与备系完成同步,在N4周期备系成功获取到主系的同步数据,备系状态恢复正常(见图6)。
图6 主备同步延时且未超时且未切系
上述过程中,ZC 备系一直保持备系状态,按照ZC与外部设备的通信协议,备系对外仅输出生命信息,外部设备接收到ZC 备系发送的生命信息不做处理,不存在安全风险。
ZC 初始状态1 系为主系,2 系为备系。N1 周期末主备系完成同步,备系未收到主系N2 周期的同步数据,N3周期发生主备切系(见图7)。
图7 主备同步延时且未超时且切系
N3 周期开始时,ZC 的1 系仍处主系状态,2 系处于备系状态。N3 周期末发生切系,此时1 系无法发送同步数据,2系仍未收到1系的同步状态。N4周期开始时,2 系监测到1 系停止运行,在此过程中,2 系一直保持着1系在N1周期主系同步的RSSP-Ⅰ、RSSP-Ⅱ协议参数(此处假设2 系在N2、N3 周期均未收到外部接口的RSSP-Ⅰ和RSSP-Ⅱ协议消息,不会因外部设备消息改变RSSP-Ⅰ、RSSP-Ⅱ协议参数取值)。在N4 周期,ZC 的2 系升级为主系,1 系处于待机或停机状态,2 系采用N4 周期接收到的外部接口数据,进行N4 周期的逻辑运算,主系在判断备系不存在条件下恢复对外输出,逻辑状态连续,发送序列号为从N4 周期的协议参数向上递增,发送过程不会出现逆序等问题,且对外部设备而言,等效于网络丢失了N2和N3周期协议参数的消息,无安全风险。
主备系最初为完成同步的状态,此后超过Tms-delay时间均未完成同步(见图8)。
图8 主备同步超时且未切系
发生同步超时,备系将同步变量的状态设置为安全侧状态,此时备系恢复到上电初始状态,且备系仅对外输出心跳信息,因此无安全风险。若之后备系又收到主系的同步信息,则备系认为同步状态恢复。
发生同步超时后,ZC 主备切系,备系升级主系时同步变量状态为安全侧状态,外部接口均为通信断开状态,且逻辑处理导向安全侧,无安全风险。
针对基于二乘二取二体系架构的ZC,设计一种跨周期双系同步机制,重点阐述ZC的软件结构、ZC的双系同步设计以及同步延时评估的安全处理方法,ZC 在切系时能够实时、安全地无缝切换。通过安全性分析,论证当ZC 系统切系时,对CBTC 系统其他子系统能够保证功能延续,且不会带来风险。进一步延伸探讨该跨周期双系同步机制的应用范围,可在CBTC系统车载ATP、CI等安全系统中应用,对基于纯国产芯片和操作系统的信号系统、车车通信的信号系统[10]、基于安全云平台的信号系统均具有参考价值。