谢和欢
(北京全路通信信号研究设计院有限公司,北京 100073)
在CTCS-3级列控系统中,包含了ATP、RBC、联锁、TCC、TSR、CTC等大量设备。这些设备之间彼此存在大量接口,设备间的数据交换也变得更为复杂和频繁。为了能从底层监测整个CTCS-3系统的运行情况,并在出现故障时,迅速定位故障原因,就需要对CTCS-3系统各设备之间的接口进行综合监测。
CTCS-3列控系统主要设备之间的接口包括ATP Igsm-r接口,RBC PRI接口,RBC与联锁、TSRS的接口,RBC与VIA-CTC服务器的接口,以及TCC与联锁的接口,联锁与CTC的接口,TCC与TSRS的接口等。这些接口中ATP系统的GCD模块与MT2之间是Igsm-r接口,RBC系统的ISDN服务器与ISDN网络之间是PRI接口,其他均通过以太网连接。Igsm-r接口、PRI接口的监测需要专门的设备。而以太网接口的监测采用交换机端口映射的方法就可以实现。
我国目前采用CTCS-3级列控系统的线路越来越多。无论是在线路运行前的测试阶段还是线路正式运营后,CTCS-3级列控系统总是难免出现ATP与RBC之间无线故障、地面设备之间网络故障的情况。因此研究CTCS-3级列控系统接口监测的方法具有重要意义。
Igsm-r接口指的是CTCS-3级列控系统车载设备中TE与MT2之间的接口,如图1所示。TE与MT2之间通过背部总线相连。其中除了RS-422串口的数据收发线外,还包括握手信号线。
ATP的GCD模块与MT2通过TxD+、TxD-、RxD+、RxD- 四根信号线差分传输指令、结果码和数据。其中,指令和结果码以ASCII码传输,数据以比特流方式透明传输。GCD与MT2通过RTS(Request to Send) 、CTS(Clear to Send)、DSR(Data Set Ready)、DTR(Data Terminal Ready)、DCD等硬件握手信号控制数据的传输时机。RTS/CTS和DTR/DSR一起工作,一个作为输出信号,另一个作为输入信号。DTR/DSR用于表示系统通信是否就绪,而RTS/CTS用于控制单个数据包的传输。
ATP Igsm-r接口监测系统需要把这些信号线全部采集。一个基本方法是把这些信号通过RS-232/TTL电平转换芯片先转换为TTL电平,再转换为RS-232信号。监测系统通过读取RS-232串口就可以获取所有这些信号。同时在设计接口采集板时,还需要防止它对ATP的GCD模块与MT2之间数据传输产生干扰。可以考虑采用电源模块隔离和光电耦合隔离技术相结合的办法,来实现这一点。这样监测系统的任何故障和干扰,都不会传到GCD-MT一侧,从而保障GCD-MT之间正常数据的传输。
ATP Igsm-r接口数据监测包括监测通信数据和握手信号。在ATP与RBC建立起物理连接前,MT处于指令工作状态。ATP的GCD模块通过AT指令查询MT状态,向MT发出命令,MT则返回相应状态和执行相关操作。常用的AT指令包括查询MT注册状态、查询无线信号质量、设置MT状态和拨号等。这些指令都是ASCII码,可以直接采集并解析。在GCD向MT发出拨号指令成功后,ATP与RBC建立起物理连接,MT转换为数据工作状态,MT将GCD要求发送给RBC的任何数据通过空中接口发到GSM-R网络,再由GSM-R网将这些数据发送给RBC。根据ATP与RBC的通信协议,从串口直接监测到的底层通信数据满足HDLC协议的帧。
ATP与RBC的通信网络采用分层结构。从上到下包括应用层、安全层、传输层、网络层、链路层和物理层。下一层都在上一层数据的基础上加上数据包头(和包尾)。具体数据封装如图2所示。可以参考《CTCS-3级列控系统无线报文定义及运用原则》、Subset-037协议和ISO/IEC 13239 Highlevel data link control (HDLC)协议。根据这些协议,便可以将监测到的HDLC数据帧,除了在本层做包类型、关键域的解析外,还能通过去掉包头(包尾),得到上一层数据,再在上一层数据基础上做解析,并继续向上还原,直至最后得到RBC与ATP交互的应用层数据,从而完整监测RBC与ATP的各层数据交换。
2.3.1 链路层
数据链路层提供可靠的数据传输,B/Bm-通道提供功能的和程序的方式来建立、维持和释放连接并传输数据,它将检测和纠正发生在物理层的数据传输错误。ATP与RBC通信采用的是满足HDLC协议的链路层帧。
HDLC帧分为3类:I帧、S帧、U帧。
其中:
I帧:信息帧,用来传输普通数据,也可以用来执行确认I帧;
S帧:管理帧,用来管理数据链路,例如确认I帧、请求重传I帧、请求临时暂停I帧、问询、错误恢复等功能。
U帧:无编号帧,用来传输高优先级数据,并提供附加的数据链路控制功能。
2.3.2 网络层
网络层比较简单,是在TPDU的基础上加上2个字节的包头。第一字节表示除本字节外,头部的长度。即1 byte。第二个字节置为1时,表示后面将有更多的数据,因此,对属于同一个TPDU的NPDU,最后一个M值为0,其他为1。
2.3.3 传输层
传输层负责完整的安全层报文在ATP与RBC之间传送。传输层只有当网络连接存在时才建立一个传输连接。传输层在安全层的基础上根据数据类型的不同添加一个5到13 byte的包头。传输层PDU主要包括如下类型:CR TPDU连接请求、CC TPDU连接确认、DR TPDU释放请求、DC TPDU释放确认、DT TPDU数据传输、AK TPDU数据确认、ER TPDU错误报告。
2.3.4 安全层
ATP与RBC之间通过GSM-R网络通信,而GSM-R是个开放网络。而ATP与RBC涉及的安全等级非常高,故需要在ATP与RBC的通信网络中增加安全层。安全层提供安全相关的传输系统功能。主要包括信源鉴定、同等实体鉴定、消息的非法插入、删除、更改检查、数据完整性检查和数据时效性检查等。
安全层在应用层数据的基础上增加包头、消息鉴定代码(MAC)校验。包头为一个字节,该字节用于区分安全PDU类型和方向。安全层PDU主要类型如表1所示。
表1 安全层PDU类型表
MAC是随消息一同发送的认证者,保证接收器能够探测到消息离开发送机后所发生的改动,并保证信源的无误。MAC校验为8 byte。
2.3.5 应用层
ATP与RBC应用层之间交换的数据就是CTCS-3级列控系统无线消息。其中车到地无线消息包括列车位置报告、通信会话开始等。地到车的无线消息包括行车许可、通常消息等。所有这些无线消息都由消息头、预先确定的变量、预先确定的必选信息包、可选信息包和一些填充比特组成,满足一定的格式。可以根据《CTCS-3级列控系统无线报文定义及运用原则》进行解析。以一个简单的例子来说:消息包136,即列车位置报告消息包。该消息包含消息标识号、消息长度、车载设备时钟、车载设备的CTCS标识号等变量。此外还包括信息包0,即位置报告包。位置报告包同样包括信息包标识码、信息包位数、最近相关应答器组(LRBG)的标识号、最近相关应答器组与列车估计前端之间的距离、车载设备操作模式等变量。每个变量都有特定的含义、位长。据此,就能够解析出一个消息包的全部变量的具体值,从而达到解析应用层消息的目的。
PRI接口是指CTCS-3级列控系统的地面设备RBC与GSM-R网络MSC间的基群速率接口,是以E1为物理通道传输的业务,也叫30B+D。E1是一个2 M(2048kbit)的物理通道。它有32时隙,0时隙用于同步,16时隙一般作为D信道来传输信令,其他用作B信道来传输数据。
PRI接口监测的基本方法:将从GSM-R网络过来的一收一发两条同轴电缆经阻抗变换后接入三通高阻隔离器。隔离器将一路网络输出继续送到ISDN服务器,将另一路输出送到专门的PRI接口采集设备。这样就能监测到PRI接口的信号了。
从RBC PRI接口监测到的HDLC数据帧和从ATP Igsm-r接口监测到的数据帧是一样的。因此,除了物理层外,各层的数据解析也是一样的。
RBC与联锁、TSR 3个安全设备通过交换机连接成安全以太网进行通信。RBC和TSR之间的安全通信体系结构与RBC和联锁之间的是一样的。以RBC与联锁的通信为例进行说明。RBC与联锁的安全通信体系结构采用分层模型,如图3所示。
从图3可以看出,RBC与联锁的安全通信体系结构的分层包括:应用层、安全层和通信层。其中,应用层之间交换RBC与联锁的应用信息包,包括RBC发给联锁的列车信息消息和联锁发给RBC的信号授权消息。安全层提供安全相关的功能,主要包括信源鉴定,同等实体鉴定,消息的非法插入、删除、更改检查,数据完整性检查,数据时效性检查等。安全层又分为安全应用中间子层(SAI层)和消息检查安全子层。SAI层主要负责数据的时效性(消息的先后顺序、消息的延迟、消息的删除、消息的重复)检查。消息检查安全子层则主要负责信源鉴定、消息本身的完整检查等。通信层负责完整的安全层报文在RBC与联锁系统之间传送。通信层又分为ALE子层和传输子层。ALE层负责安全层和传输层的适配,重组嵌入在TCP层连续字节流里面的信息包。传输层则利用TCP/IP协议进行具体数据包传送。
交换机的端口镜像功能可以让用户将交换机一个或多个端口的所有数据流都复制到某一个镜像端口。这样,通过在交换机中设置端口映射,可以将每个RBC与联锁、TSR的通信数据都映射到交换机的某一端口,然后将监测系统的交换机的一个端口与该端口用网线直接连接。这样便可以把每个RBC与联锁、TSR的数据交换都在监测系统的交换机上复制一份副本。在此基础上,继续在监测系统的交换机上做二级端口映射。将所有RBC与联锁、TSR数据交换副本的端口再映射到一个端口上。这样监测系统的数据采集服务器通过网卡与该端口相连,便可以监测到所有RBC与联锁、TSR的全部数据通信。
通过端口映射直接获取的RBC与联锁、TSR的接口数据是IP包。IP包的包头有该包的IP源地址和目的地址。通过这两个地址,可以识别出该IP包是哪个RBC和哪个联锁或TSR系统之间的传输的IP包,并判断传输方向。通过去除IP包头部,就得到了TCP包。TCP包的包头有该包的原端口地址和目的端口地址。再去除TCP包头,就得到了ALE层数据包。ALE层数据包的包头是固定的。根据ALE层数据包的包头结构和各数据域定义,就可以很容易地解析出ALE层数据包。
ALE层去除包头后,将得到消息检查安全子层数据包。消息检查安全子层在SAI层的基础上增加包头、MAC校验。包头用于区分安全PDU类型和方向。
消息检查安全子层去除包头和MAC校验后,将得到SAI层数据包。SAI层数据包包头的格式根据SAI层数据包类型的不同分为两种格式。其中一种格式是使用时间戳。另一种格式是用循环计数器。根据SAI层数据包包头的结构,就可以方便地解析出SAI层数据包。
SAI层去除包头后,就得到了RBC与联锁、TSR的应用层数据包。
RBC与联锁应用层数据包括列车状态信息、信号授权信息和紧急区域信息。每种信息均有固定的格式,可根据《RBC-联锁应用层接口规范》进行解析。
RBC与TSR之间的应用信息包包括TSR执行命令、综合刷新请求、TSR综合状态等,可以根据《RBC-TSR应用层接口规范》进行解析。
本文介绍了CTCS-3级列控系统各设备主要接口的监测原理和方法,按照本文构造的CTCS-3级列控系统接口监测系统已经开发完成,在CTCS-3实验室和武广客运专线列车运行控制实验中都得到了实际应用。监测系统能完整无误地采集到各接口的底层数据,并逐层解析,能让用户了解CTCS-3级列控系统各接口每一层当前的工作状态,为定位列控系统无线数据传输和安全数据通信方面出现的故障和问题的原因发挥了重要作用。
[1] CTCS-3级列控系统与GSM-R网络接口规范(V1.0)[S].
[2] Subset-037 Euroradion FIS (V2.3.0) [S].
[3] ISO/IEC 13239 High-level data link control (HDLC) procedures [S].
[4] [1000002139-BA] GSM-Railway Mobile Termination MT2 User Manual[S].
[5] CTCS-3级列控系统无线报文定义及运用原则(武广客运专线)(V0.84)[S].
[6] TSRS-CTC接口规范 报批稿[S].
[7] RBC-联锁应用层接口规范[S].