www�ele169�com  |  23
实验研究
随着我国城市轨道交通的迅猛发展,越来越多的地铁列车网络采用以太网TRDP 协议进行通信。以太网大大提升了网络的带宽和传输速率,提高了信息传输能力,但同时存在可靠性、实时性方面的缺陷,可能会影响列车实时控制性能,威胁行车安全,采用TRDP 协议并不能解决这些问题。
本文针对SDTv2协议进行了研究,并通过实际项目应用,
实现了地铁列车重要数据安全实时的传输。
1 TRDP 协议
列车实时数据协议(Train Real-Time Data Protocol,
TRDP)是一种列车实时传输协议,定义在IEC61375-2-3的附录A 中。TRDP 层位于应用层和传输层之间,传输层使
TRDP 协议通过FCS-32生成多项式对TRDP 头进行
CRC 校验,生成头部校验码HeaderFCS,但协议并未对用户数据段进行校验。
TRDP 协议过程数据有PUSH 和PULL 两种模式,常用的是PUSH 模式,如图2所示。TRDP 协议简要描述了一下超时判断机制,并未对数据
传输实时性要求进行详细规定。
2 SDTv2协议
安全数据传输协议(Safe Data Transmission version
2,SDTv2)是一种在应用数据层增加安全数据传输的协议,主要适用于列车以太网通信,也可用于MVB 通信。定义在
IEC61375-2-3的附录B 中。
图2
SDTv2提供了在一个安全相关(重要)
数据源(SDSRC)
和一个/多个安全相关数据宿(SDSINK)之间的安全通信路径。该安全通信路径称作“SDTv2通道”。SDSRC 侧SDTv2层的主要任务是添加协议信息,在发送之前构成传输层数据安全传输所必需的VDP。SDSINK 侧SDTv2层确认已接收的VDP,如果确认成功则在SDTv2应用接口呈现
已包含的重要数据。地铁列车TRDP 安全数据传输协议研究
朱少华,吉凡
(中车南京浦镇车辆有限公司,江苏南京,210031)
摘要:目前地铁列车以太网通信主要采用TRDP协议。该协议存在如下问题:(1)只对TRDP头进行了校验,缺少对用户数据段的校验;(2)缺少对数据收发实时性的具体要求。为此,本文研究了安全数据传输协议SDTv2。该协议在TRDP的基础上,增加了对用户数据段的校验,同时对数据收发实时性进行了具体要求。通过该协议的使用,有效的提升了数据传输的正确性和实时性,保证了地铁列车重要数据的传输。
关键词:地铁;以太网; TRDP;SDTv2;安全数据传输
SDSRC使用2.1中计算的SID作为初始值,对重要过程数据、用户数据版本、安全序列计数器进行SC-32循环冗余校验计算得到SafetyCode,生成VDP发送出去。SDSINK接收到VDP后,通过TRDP定义的源IP、目的IP、ComId到对应发送方,根据发送方的预定义信息得到SMI等数据,使用SC-32计算对应SID,然后用SID作为初始值,对接收到的重要过程数据等信息再次使用SC-32计算应该得到的SafetyCode,与实际接收到的SafetyCode进行对比,判断VDP的是否正确。SDTv2应用程序接口。
2.3.2.1 VDP种类
VDP可以分为以下种类:
正确VDP:SafetyCode校验正确且用户数据版本正确的VDP。
重复VDP:本次经过校验的SafetyCode与上次经过校验的SafetyCode相同的VDP。
初始VDP:不是重复VDP,或者上电/重启后第一个正确VDP,或者通信中断恢复后第一个正确VDP,或者SDSRC冗余切换后第一个正确VDP。
新鲜VDP:正确VDP,且不是初始VDP,且SID是初始SID,且SSC延续上个初始或新鲜VDP的SSC。
有效VDP:新鲜或者重复VDP。
2.3.2.2 VDP有效性检查
SDSINK在收到初始VDP之后,记录下当前SSC i,然后等待接收下一个VDP。如果下一个VDP的SSC i+1范围在:SSC i +1 <= SSC i+1 <= SSC i+ T rx_safe / T tx_period,则为新鲜VDP,如果SSC i= SSC i+1,则为重复VDP。此时SSC i+1作为新的SSC i记录下来,再次等待接收下一个VDP。其他SSC 无效。
SDSINK将通过校验正确且SSC新鲜或者重复的VDP 判断为有效VDP,呈现给应用程序接口。
南京汽车网2.3.2.3 宿时间监测
SDSINK接收到初始VDP之后开始计时,如果在T rx_safe 时间内收到新鲜VDP,则重新开始计时。当超过该时间未收到新鲜VDP时,SDSINK判断数据接收超时,安全通信丢失,等待再次收到初始VDP后开始计时,安全通信恢复。
24  |  电子制作    2021年05月
实验研究
2.3.2.4 保护时间检查
保护时间检查用于检测两个冗余SDSRC均激活的情况。保护时间T guard应从接收初始VDP之后开始计时,并且持续时间为T rx_safe的倍数(可配置)。SDSINK在接收到一个SDSRC初始VDP之后开始计时,如果在T guard时间内收到了其冗余SDSRC的初始VDP,则SDSINK判断保护时间违反,安全通信丢失。此时保护时间重新开始计时,直到T guard内未收到冗余SDSRC的初始VDP停止计时,安全通信恢复。
2.3.2.5 延迟监测
延迟监测用于监督VDP传输的延迟。在网络故障的情况下,延迟时间平均值可能会随时间增加。SDSINK在接收到新鲜VDP的SSC i之后,对于下个VDP有一个预期SSC E=SSC i+1,实际采样得到的是SSCs,当SSC E-SSCs >= T rx_safe / T tx_period时,SDSINK判断延迟时间违反,安全通信丢失。当SSC E-SSCs < T rx_safe / T tx_period时,安全通信恢复。
2.3.2.6 通道监测
通道监测用于检测SDTv2通道发生硬件或者软件故障后,传输故障率突然增加的情况。如果单位时间内接收到的带有不正确SafetyCode的VDP数量超过预定义的阈值(通道监测阈值),则SDSINK判断通道故障,指示安全通信丢失。当不正确SafetyCode的VDP数量小于阈值时,安全通信恢复。
3 协议应用
无锡3号线智能列车网络采用实时以太网进行通信,通信协议为基于TRDP过程数据的SDTv2协议。
本项目将列车网络系统与各个子系统划分不同系统编号,根据系统编号、车辆号、设备号分配设备IP地址、通信组播地址、ComID、SMI等信息,并配置SDTv2时间参数。网络系统与子系统之间通过上述信息和参数互相收发数据,按照SDTv2协议验证数据的正确性和实时性,实现了列车安全数据传输。
■3.1 ComID
TRDP定义了通信标识符(Communication Identifier,ComID)作为协议数据单元的独特标识符。本项目的ComID按表1规则进行分配(ABCDDE,其中A表示过程数据流向)。
■3.2 SMI
SDTv2定义了安全消息标识符(Safe Message Identifier,SMI)作为用户定义的安全数据传输标识符。本项目的SMI按表2规则进行分配(ABCDDEF,其中A表示过程数据流向)。
表1
参数描述
A
表示过程数据流向。
A=1,表示网络系统发送给子系统的过程数据;
A=2,表示子系统发送给网络系统的过程数据;
A=3,子系统之间通讯的过程数据。
B
表示通信方式。
B =0,表示组播;
B =1,表示单播。
C
表示子系统设备所在车号。
单B =0时,C=0。
备注:子系统之间通讯的数据,定义为接收设备所在车车号。
DD表示子系统编号。
备注:子系统之间通讯的数据,定义为接收设备系统编号。
E设备顺序号,用于区分同一系统多个设备或多个通信周期的需求。表2
参数描述
A
表示过程数据流向。
A=1,表示列车主控设备;
A=2,表示子系统设备。
B置为0。
C表示设备所在车号。
DD表示系统编号。
E表示报文号。
F表示设备号。
■3.3 时间参数配置
T tx_period:本项目规定与TRDP发送周期一致。
T rx_period:本项目规定为CPU执行周期,注意T tx_period 应为该值的整数倍,即T tx_period = N * T rx_period。
T rx_safe:本项目规定为T tx_period的5倍,即T rx_safe = 5* T tx_period。
T guard:本项目规定为T rx_safe的10倍,即T guard = 10 * T rx_safe。
4 总结
SDTv2协议在TRDP协议的基础上,增加了对数据传输的正确性和实时性要求。通过双重SC-32循环冗余校验、VDP有效性检查、通道监测等方式,SDTv2确保了数据收发的正确性。通过宿时间监测、保护时间检查、延迟监测等方式,SDTv2确保数据收发的实时性。
参考文献
* [1] IEC 61375-2-3 Electronic railway equipment – Train communi cation network (TCN) – Part 2-3: TCN communication profile.* [2]李亭蓄. 基于TRDP协议的列车以太网网络通信实时性研究[D].大连交通大学,2019.
www�ele169�com  |  25