列车以太网总线及TRDP的概述



一、列车以太网总线及TRDP的概述

以太网的标准IEC61375-3-4-2014中规定了列车通信网络(Train communication network TCN)中以太网通讯网络(Ethernet Consist Network ECN)的标准。此标准制定的主要原因是目前列车通讯的数据量剧增,而传统列车总线无法满足大数据量传输,所以采用以太网通讯,可以满足数据的传输要求。比如车载广播系统、视频系统、下载固件程序等,由于其在价格相对MVB,较低廉,速度快,数据量大等优点,使之成为未来TMS网络发展的一个重要方向。本次通过在自身研发经历及在与株洲研究所做通信测试经验进行讲述。

以下是公司常用的三种公司接触的TMS网络类型:

由上表可以得知,列车以太网的应用有以上优点,存在一种发展趋势,但是由于自身成熟度原因,需要发展时间。

TRDP(Train Real-time Data Protocol)协议,用于轨道交通实时以太网络,对于铁路用以太网,提高实时性、确保可靠性也是必不可少的条件。研究表明,铁路控制系统需要确保延迟时间在50ms左右,使用以太网TRDP协议即可满足这一要求。标准将通过行业团体“TCNOpen”,以开源的形式公开。其目的在于促进相应产品的开发,以及铁路用以太网的普及,同时削减铁路运营商和铁路车辆企业采购构件的成本。本次使用的是TCNOPEN团体的开源代码。

TCNOPEN主要成员:

 

除庞巴迪、西门子、东芝、捷克UniControls等项目成员外,还有遵守成员,其中中国企业包括中车在其中。由于开发人员及遵守人员处于行业极重要地位,所以此协议有可跟进开发的必要。

此外,TRDP开源程序遵守MPL(除TRDPSpy 源码) ,TRDPSpy 源码遵守GPL。也就是说,TRDP的相关设备除了相关软件工具包无法申请专利,利用TRDP生产出的产品是允许专利申请的。

 

 

 

 

 

 

 

 

二、技术实现条件

2.1硬件技术条件:

本次使用的ARM2416开发平台,并且外配两个以太网MAC芯片,其中MAC地址需要全球唯一。

外部接口使用列车通用M12接口,在IEC61375-3-4-2014 第38页可以得到结果。

 

2.2软件技术条件:

开发环境:

LINUX 也可以在WINDOWS SourseInsight中进行编写,在Linux进行编译生成所需程序。

2.3运行环境:

Arm-Linux、Linux。

2.4开发语言:

C语言

 

三、TRDP通信运行结构、拓扑结构

3.1 TRDP通信运行结构:

由上图可知:工具API 和 功能实现的API的相关函数,不过我们处于简单开发的范畴,所以可以理解一些关键信息即可。

以下是技术文档中的:几个重要信息的解释。

Process Data (PD) is data that is cyclically distributed among many applications. Payload size is limited to 1436 bytes (without SDT).

Message Data (MD) is data that is sent event driven from one application to one or more other applications. Payload using UDP can be up to ~64 Kbytes, using TCP up to ~4 GBytes.

The TRDPLight contains the base functionality for PD, UDP-MD and TCP-MD.

The TRDPXML contains the functionality for reading TRDP XML configuration files.  

The TRDPSpy contains the wireshark plugin for interpreting TRDP telegrams.

--TRDPSpy 包含解读TRDP报文的wireshark插件。

对于PIS与TMS系统通信来说,只需要了解PD(过程数据)通信结构即可。

3.2拓扑结构:

根据《TCN终端设备以太网接口规范》要求,采用交换机星型结构,目前列车中大部分采用M12通讯电缆方式,可以保证较好的性价比,采用以太网接口主要优点是传输大数据量时,可以减少传输时间,但是会增加布线成本、布线难度,以及以太网通讯由于极度依赖于交换机的稳定性,一旦交换机死机或者损坏,全部节点将都无法通讯。

 

 

 

四、代码编写:

4.1 Arm-Linux底层修改

要求,双网口设置,需要内部设置为百兆、自协商,外部网卡设置为百兆、强制全双工,这是由于现使用linux没有控制网卡配置指令,需要底层驱动进行修改。

4.2 LINUX应用编程

现对基础代码进行讲解:

1、使用的端口数据定义 

由结构体定义可知:

数据最多可支持,1432字节。

可以存在应答地址,不过以现在的项目,是组播发送,不需要应答。

端口类型: 

消息推送分类:推动(Push)模式和拉动(Pull)模式

Push:保持长连接,能实时无延迟的收到服务推送过来的消息。Push的好处是实时,维护通道的流量超少,只需要每30分钟维护一次通道。

Pull:就是定时获取。优点是实现简单,技术难点和异常很少。缺点不够实时,若获取的时间间隔太短,设备的耗电量超快。

所以无论是发送还是获取模式,封装的代码是Push类型。

设计模式:

订阅模式 Subscribe 对应获取

发布模式 Publish   对应接收

现本人已经将函数进行封装、关于COMID的创建由通信协议决定:

以跨座式列车协议举例说明:

 

1、要有自身IP和组播地址

 

通过设置自身IP地址和组播地址,可以将数据PIS->TMS网络规定的组播中。

2、在接收数据,做宿主的需要设置对方组播地址,进行配置以完成数据的接收。

发送字节目前允许较大,不计字数要求,本次要求发送200字节,周期100ms,组播发送。

3、发送内容

void process_data()

{

}

在这个函数中进行字节填充,发送。若下图所示,我发送的数据为1-200,发送的数据也是如此如下结果。

 


一、列车以太网总线及TRDP的概述

以太网的标准IEC61375-3-4-2014中规定了列车通信网络(Train communication network TCN)中以太网通讯网络(Ethernet Consist Network ECN)的标准。此标准制定的主要原因是目前列车通讯的数据量剧增,而传统列车总线无法满足大数据量传输,所以采用以太网通讯,可以满足数据的传输要求。比如车载广播系统、视频系统、下载固件程序等,由于其在价格相对MVB,较低廉,速度快,数据量大等优点,使之成为未来TMS网络发展的一个重要方向。本次通过在自身研发经历及在与株洲研究所做通信测试经验进行讲述。

以下是公司常用的三种公司接触的TMS网络类型:

由上表可以得知,列车以太网的应用有以上优点,存在一种发展趋势,但是由于自身成熟度原因,需要发展时间。

TRDP(Train Real-time Data Protocol)协议,用于轨道交通实时以太网络,对于铁路用以太网,提高实时性、确保可靠性也是必不可少的条件。研究表明,铁路控制系统需要确保延迟时间在50ms左右,使用以太网TRDP协议即可满足这一要求。标准将通过行业团体“TCNOpen”,以开源的形式公开。其目的在于促进相应产品的开发,以及铁路用以太网的普及,同时削减铁路运营商和铁路车辆企业采购构件的成本。本次使用的是TCNOPEN团体的开源代码。

TCNOPEN主要成员:

 

除庞巴迪、西门子、东芝、捷克UniControls等项目成员外,还有遵守成员,其中中国企业包括中车在其中。由于开发人员及遵守人员处于行业极重要地位,所以此协议有可跟进开发的必要。

此外,TRDP开源程序遵守MPL(除TRDPSpy 源码) ,TRDPSpy 源码遵守GPL。也就是说,TRDP的相关设备除了相关软件工具包无法申请专利,利用TRDP生产出的产品是允许专利申请的。

 

 

 

 

 

 

 

 

二、技术实现条件

2.1硬件技术条件:

本次使用的ARM2416开发平台,并且外配两个以太网MAC芯片,其中MAC地址需要全球唯一。

外部接口使用列车通用M12接口,在IEC61375-3-4-2014 第38页可以得到结果。

 

2.2软件技术条件:

开发环境:

LINUX 也可以在WINDOWS SourseInsight中进行编写,在Linux进行编译生成所需程序。

2.3运行环境:

Arm-Linux、Linux。

2.4开发语言:

C语言

 

三、TRDP通信运行结构、拓扑结构

3.1 TRDP通信运行结构:

由上图可知:工具API 和 功能实现的API的相关函数,不过我们处于简单开发的范畴,所以可以理解一些关键信息即可。

以下是技术文档中的:几个重要信息的解释。

Process Data (PD) is data that is cyclically distributed among many applications. Payload size is limited to 1436 bytes (without SDT).

Message Data (MD) is data that is sent event driven from one application to one or more other applications. Payload using UDP can be up to ~64 Kbytes, using TCP up to ~4 GBytes.

The TRDPLight contains the base functionality for PD, UDP-MD and TCP-MD.

The TRDPXML contains the functionality for reading TRDP XML configuration files.  

The TRDPSpy contains the wireshark plugin for interpreting TRDP telegrams.

--TRDPSpy 包含解读TRDP报文的wireshark插件。

对于PIS与TMS系统通信来说,只需要了解PD(过程数据)通信结构即可。

3.2拓扑结构:

根据《TCN终端设备以太网接口规范》要求,采用交换机星型结构,目前列车中大部分采用M12通讯电缆方式,可以保证较好的性价比,采用以太网接口主要优点是传输大数据量时,可以减少传输时间,但是会增加布线成本、布线难度,以及以太网通讯由于极度依赖于交换机的稳定性,一旦交换机死机或者损坏,全部节点将都无法通讯。

 

 

 

四、代码编写:

4.1 Arm-Linux底层修改

要求,双网口设置,需要内部设置为百兆、自协商,外部网卡设置为百兆、强制全双工,这是由于现使用linux没有控制网卡配置指令,需要底层驱动进行修改。

4.2 LINUX应用编程

现对基础代码进行讲解:

1、使用的端口数据定义 

由结构体定义可知:

数据最多可支持,1432字节。

可以存在应答地址,不过以现在的项目,是组播发送,不需要应答。

端口类型: 

消息推送分类:推动(Push)模式和拉动(Pull)模式

Push:保持长连接,能实时无延迟的收到服务推送过来的消息。Push的好处是实时,维护通道的流量超少,只需要每30分钟维护一次通道。

Pull:就是定时获取。优点是实现简单,技术难点和异常很少。缺点不够实时,若获取的时间间隔太短,设备的耗电量超快。

所以无论是发送还是获取模式,封装的代码是Push类型。

设计模式:

订阅模式 Subscribe 对应获取

发布模式 Publish   对应接收

现本人已经将函数进行封装、关于COMID的创建由通信协议决定:

以跨座式列车协议举例说明:

 

1、要有自身IP和组播地址

 

通过设置自身IP地址和组播地址,可以将数据PIS->TMS网络规定的组播中。

2、在接收数据,做宿主的需要设置对方组播地址,进行配置以完成数据的接收。

发送字节目前允许较大,不计字数要求,本次要求发送200字节,周期100ms,组播发送。

3、发送内容

void process_data()

{

}

在这个函数中进行字节填充,发送。若下图所示,我发送的数据为1-200,发送的数据也是如此如下结果。

 


  • 6
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值