李 忠,赵兴强,赵 学
(中国铁路济南局集团有限公司电务部,济南 250001)
CTCS-3级列控系统(简称C3)作为高速铁路运行控制系统,出于其安全运行的需求,对数据连接的可靠性要求很高。在导致数据连接异常断开的各种因素中,数据链路层的帧校验漏检、错检等机制问题分析判断颇有难度,其作为一大类问题越来越受到重视,针对C3列控系统数据链路层的帧校验设计、设置、改进问题进行研究,对保障C3安全运行至关重要。
数据链路层是开放系统互联(OSI)参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层的数据可靠地传输到相邻节点的目标机网络层。为达到目的,数据链路必须具备相应的功能:一是将数据组合成数据块(数据块被称为帧frame);二是数据链路层完成对帧的传送。
《CTCS-3级列控系统无线通信功能接口规范》(Q/CR 604-201)第4章对C3的无线通信参考模型做出定义,其中数据链路层居于第二层,参考规范为ISO 7776和ISO 3309。如图1所示。
图1 C3列控系统的无线通信参考模型Fig.1 Reference model of radio communication system for C3 train control system
数据链路层主要负责如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率使其与接收方相匹配,以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。
在C3无线通信功能接口规范中对数据链路层的传输特性也进行了定义,主要包括:“根据OSI参考模型,数据的可靠传输由数据链路层提供”,“数据链路层对发生在物理层的数据传输错误进行纠错检错”,“第2层协议应符合高级数据链路控制(HDLC)标准”,“HDLC基本规程应提供以下检错及恢复机制:确认丢失后的自动重传、16 bit帧校验序列”等。
明确数据链路层是C3数据通信中唯一提供可靠数据传输的层,其检错机制为16 bit的帧校验。
数据在传输过程中可能会因为外界的影响使数据产生差错。使原来的0变为1,原来的1变为0,这叫作比特差错。在一段时间内,传输错误的比特占传输比特总数的比率称为误码率。因此开始采用各种检验差错的措施,目前C3数据链路层就是采用的循环冗余检验(CRC)。CRC是一种数据传输检错方法,对数据进行余式计算,而帧校验序列(FCS)是添加在数据后面的一个16 bit序列,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。
余式运算的16 bit余数共有216=65 536种可能,即两个不同帧的余式相同概率为1/216=1/65 536,另一方面,一个错误帧能通过校验的概率也为1/65 536。由此导致以下两种可能的漏检现象。一是帧错误未发生在FCS字段,但出现错误的帧内容其余式运算结果刚好等于正确的FCS;二是错误既发生在帧内容字段,也发生在FCS字段,但出错后的帧内容余式运算结果刚好等于出错后的FCS字段。
实际的漏检率取决于帧长度和错误比特数量,在帧长度很长和错误比特较多时会贴近此值,一般会低于这个值。漏检帧的特点是能够通过检验算法,不会显示为校验错误。
与漏检不同,错检的帧本身并不能通过校验,会显示为校验错误,但是却被接收方通过检验并进行处理,这是一种接收方的系统问题,并不是校验的机制问题。
通信过程中的误码是导致帧出现错误的直接原因。一般来说,通信过程中的干扰和噪声都可以导致误码发生,但在GSM-R承载的C3列控系统中,小区切换造成的误码概率远高于干扰和噪声,是产生错帧的主要因素。
导致C3数据通信误码的主要因素是GSM-R小区切换。作为C3列控的无线通信承载网,GSM-R提供物理层、数据链路层、网络层的服务,为保证无线覆盖,铁路沿线设置多个GSM-R基站,列车在运行过程中会不停的更换服务小区,这就导致发生大量的GSM-R小区切换,切换过程中需要进行无线信道的更换。
在切换时复帧操作会在移动终端离开老信道前暂停,并在信道更换结束后恢复,这就是所谓的“硬切换”。复帧操作恢复后,终端会采用“偷帧”方式在业务信道(TCH)内传输控制消息,从而导致正常传递的码流中出现解码的错误。如果这时与C3数据链路层的帧发送时间出现重叠,就会产生错帧。由于硬切换是GSM系统的特点,由此导致的误码及可能的C3数据链路层的错帧无法避免。
需要指出的是,切换发生时间和帧发送时间无必然联系,所造成的错帧率无法直接计算,只能通过统计结果观察。
由于GSM系统本身的硬切换特点,C3消息必然受切换过程中误码的影响。影响的概率主要取决于3个方面。一是切换发生的概率,其取决于列车的速度和GSM-R小区覆盖范围;二是消息的长短,更长的消息就需要更长的传递时间,受切换影响的概率就会增加;三是误帧率,误帧率也会影响消息传递的时延。
欧 洲 铁 路 标 准《ERTMS/ETCS-Class 1 GSM-R Interfaces Class 1 Requirements》(SUBSET-093)中,对GSM-R切换影响到列控消息的概率进行分析和模型计算。假定列车速度360 km/h,小区覆盖范围2 km(每20 s发生一次切换);消息包大小为200 Byte,误帧率(FER)=2.5×10-1~3×10-2,切换影响到的消息包概率从10%~1%之间,取5%的值,表示每20个消息会有一个被影响。
因此,列控系统采用GSM-R进行承载是在考虑错帧率3%~25%,消息被影响的概率5%基础上进行设计。
京沪高铁济南局段的实际统计数据:列车速度:350 km/h;小区覆盖范围:3 km;约每30 s发生一次切换;消息包大小:不定长,最长的未超过200 Byte。
对京沪高铁济南局段的误帧率进行抽样统计,FER=0.08×10-2,如表1所示。
表1 京沪高铁济南局段错帧率统计Tab.1 FER statistics in Jinan section of Beijing-Shanghai high-speed railway
实测结果证明,京沪高铁济南局段的错帧率指标满足最初的列控设计并优于其范围。
京沪高铁济南局段的帧漏检统计:抽样的每一列车的错帧数在济南局管段平均约为15个,京沪高铁每天运行约200次列车,一天的错帧数量为15×200=3 000个,以漏检概率为1/65 536来计算,约22天即会发生一次CRC漏检现象。自2020年至2021年6月,京沪高铁济南局段共记录帧校验导致的C3问题17件,低于以22天为基数计算出的约24件预期值,符合前述的概率分析。另外,京沪高铁济南局段共123个站,每车均需切换123次,但错帧平均为15个,也符合前述切换并不必然带来错帧的分析。
数据链路层帧校验的漏检和错检,将会把错误数据进行正常处理,根据错误数据在帧中所处的位置,会导致数据链路层、传输层、安全层的各种异常现象。
目前,C3列控应用模128的FRMR帧结构,如表2所示。
表2 数据链路层FRMR的格式定义Tab.2 Format of FRMR in Data Link Layer
其中字段的功能如下。
1)被拒绝帧的控制字段应是所接收的引起帧拒绝的帧控制字段。当被拒绝帧为无编号帧时,被拒绝帧的控制字段应位于比特1~8,而比特9~16置为“0”。
2)N(S)是报告拒绝状态DCE或DTE的当前发送状态变量值(比特18为低阶比特)。
3)C/R置为“1”,表示被拒绝的帧是响应帧。C/R置为“0”,表示被拒绝的帧是命令帧。
4)N(R)是报告拒绝状态DCE或DTE的当前接收状态变量值(比特26为低阶比特)。
5)W置“1”,表示所接收到的并在比特1~16内送回的控制字段没有定义或不能实现。
6)X置“1”,表示所接收到的并在比特1~16内送回的控制字段被认为是无效。因为该帧包括不允许的信息字段,或该帧是具有不正确长度(包含长度32~39比特帧)的监控帧。W比特与该比特一起置“1”。
7)Y置“1”,表示所接收到的信息字段超过报告拒绝状态的DTE或DCE的最大设定容量。
8)Z置“1”,表示所接收到的并在比特1~16内送回的控制字段包括无效的N(R)。
9)17和37~40比特应置为“0”。
FRMR响应的信息字段中W、X、Y和Z比特都可置为“0”,用以指示上面未列出的一种或多种状态所引起的帧拒绝。
因此,FRMR帧中会显示被拒绝帧的控制字段,同时通过在标志位W、X、Y、Z处置1的方式,来表示发生帧拒绝的原因,其中帧校验的漏检一般会导致W=1、X=1的发生,帧校验的错检一般会导致Y=1的发生,而Z=1一般与校验无关。
1)W=1、X=1的FRMR消息
以某日京沪高铁C3降级为例,在接口监测系统基群速率接口(PRI)数据中发现无线闭塞中心(RBC)发送了FRMR消息,拒绝原因提示为W=1,X=1,即控制字段被认为无效,因为包括不允许的信息字段,如图2所示。
图2 PRI接口的FRMR(W=1、X=1)跟踪记录Fig.2 Record of FRMR(W=1, X=1)in PRI interface
PRI接口显示被拒绝的数据链路层帧的控制位为01 f4,而01 f4这个消息在数据链路层中不存在。结合同车次的Abis接口数据分析,此时刻正处于小区切换过程中,判断为小区切换后出现乱码,导致错误的帧出现。而此帧又通过了校验,RBC接收到后无法处理,是一种典型的帧校验漏检现象。
2)Y=1的FRMR消息
以某日京沪高铁C3降级为例,在接口监测系统PRI接口数据中发现RBC发送FRMR消息,拒绝原因提示为Y=1,即收到信息字段超过最大长度。PRI接口数据如图3所示。
图3 PRI接口的FRMR(Y=1)跟踪记录Fig.3 Record of FRMR(Y=1)in PRI interface
PRI接口显示被拒绝的数据链路层帧的控制位为9E 4C,而9E 4C这个I帧的CRC校验是错误的。按照规范应该抛弃,但接收方仍然分析处理这个帧,最终造成RBC发送FRMR,Y=1,导致列车降级。结合该车Abis接口数据发现,故障为小区切换后出现乱码,导致9E 4C的帧出现变化,校验无法通过。但接收方却错误的对其进行分析,是一种帧校验错检现象。
3)传输层的ER消息
以某日济青高铁C3降级为例,在接口监测系统PRI接口数据中发现车载通信单元(OBU)向RBC发送ER消息,错误原因值为3,代表传输层出现无效的参数值。PRI接口数据如图4所示。
图4 PRI接口跟踪记录Fig.4 Record of PRI interface
由于该车安装车载空口监测设备,将车载的空口数据、IGSM-R接口数据进行比对。Um接口数据如图5所示,IGSM-R接口数据如图6所示。
图5 Um接口跟踪记录Fig.5 Record of Um interface
通过比对以上数据发现:RBC 发送的S:119,R:34数据帧对比PRI接口数据帧长度及内容发生变化,数据帧在PRI接口数据长度为42,在IGSM-R接口数据长度为61,且发生变化的S:119,R:34数据帧在I接口校验正确,此问题应该是帧校验漏检,长度、内容都不正确的帧刚好能通过校验算法。最终导致ATP传输层接收到的数据异常,发送了传输层的ER拆链指令。
4)安全层的DI消息
以某日济青高铁C3降级为例,在接口监测系统PRI接口数据中发现OBU向RBC发送DR/DI消息,链接释放。链接释放前OBU与RBC交互未见明显异常。PRI接口数据如图7所示。
图7 PRI接口的DI跟踪记录Fig.7 Record of DI in PRI interface
通过接口数据分析发现,RBC下发N(S)=105,N(R)=82的I帧,长度为40 Byte,该帧在PRI接口显示校验正确。在车载记录中显示收到一条N(S)=105,N(R)=82的I帧,长度为39 Byte且校验正确,如图8所示 。
图8 PRI接口的I帧跟踪记录Fig.8 Record of I frame in PRI interface
通过比对接口数据,看出该帧从PRI接口传到车载设备时,最后几个字节从85 7D 5E 77变成85 7E 77,如图9所示。结合Abis口数据发现,此时正在进行小区切换,综合判断是一种典型的小区切换叠加帧校验漏检造成的现象。
图9 IGSM-R接口的I帧跟踪记录Fig.9 Record of I frame in IGSM-R interface
综上所述,导致C3数据链路层出现校验问题的主要因素为GSM-R切换导致错帧及帧校验机制可能存在错帧的漏检,或接收方在面对错帧的系统问题导致的错检。
此类问题的比例并不高,但作为引起C3超时/降级的因素却不容忽视,作为一种具体问题的研讨,考虑应用如下建议,来降低故障概率。
现有的高铁GSM-R设计主要采用单网交织覆盖方式,在单网交织覆盖方式下,列车运行需切换至每一个小区,在高速运行过程中连续切换间隔时间较短,切换与数据发送重叠时间较多。因此,可改为双网交织覆盖模式,如图10所示。
图10 GSM-R双网交织覆盖方式Fig.10 Double interleaved networks of GSM-R
优点:由于单独的奇数站覆盖、偶数站覆盖和全数站覆盖均为联调联试验收通过的测试项目,此方案具备可实施性,无需修改现有工程建设标准、验收标准,仅通过无线设备参数控制即可完成。
在双网交织覆盖方式下,列车单向运行时采用奇数站切换,另一方向采用偶数站切换,可将切换数量降低近一半,有效降低切换过程对数据传输的影响。
缺点:单基站故障退服时,会导致此方向的后续列车控制中断,需要进行重新连接。
将帧校验序列FCS16修改为FCS32。
优点:漏检概率大幅降低为1/232,约43亿分之一,基本不会发生漏检现象。可有效解决帧校验问题。
缺点:此方案的施工升级需要在车载设备和地面设备同时完成,工程实施难度极大。
研究车载数据发送逻辑或软件机制,尝试在MT单元进行小区切换期间停止发送应用层数据,切换完成后再继续发送。
优点:可有效降低高速铁路频繁小区切换产生的误码对数据帧影响,减少错误帧触发的C3系统链接中断。
缺点:此方案仅针对车载向地面发送的上行数据、下行数据受切换的影响无法解决,为有限的方案。