孙振超,朱广超,2,3,李申龙,2,闫迷军,赵红卫,2,3
(1 北京纵横机电科技有限公司,北京100094;2 中国铁道科学研究院集团有限公司 机车车辆研究所,北京100081;3 动车组和机车牵引与控制国家重点实验室,北京100081)
新时期轨道交通正在向高速化、舒适化和智能化方向发展,列车控制、监视、故障诊断及乘客娱乐等网络信息数据量也不断增大。传统现场总线 如TCN[1]、ARCNET、LonWorks 和CAN 等 网 络因带宽受限,难以满足未来列车大容量数据通信的需求。与此同时,在IEC 61375-3-4-2014 中规定了列车通信网络(Train Communication Network TCN)中以太网通讯网络(Ethernet Consist Network ECN)的标准[2-3]。基于以太网的车辆网络控制系统相比于传统现场总线其传输速率大大提高,能够很好的应对未来多样化和高带宽的传输需求,而且网络拓扑灵活,系统的可扩展性好。
近年来,国内外对列车以太网的研究逐渐成为热点[4],2008 年加拿大庞巴迪公司首次在德国和荷兰的区域性列车上配备了车载以太网系统。德国西门子于2017 年在ICE 4 高铁列车配备了基于PROFINET 实时工业以太网的Sibas PN 控制系统。美国西蒙公司开发了基于Ethernet IP 的列车实时以太网控制系统。在日本,日立、三菱等公司采用的是基于以太网改进的ARCNET 总线列车网络。杜根、阿密特等公司也相继推出TRDP(Train Real-time Data Protocol)以太网卡产品。
文中重点介绍基于Xilinx SOC 芯片ZYNQ 7000 硬件平台开发的列车TRDP 协议实时以太网卡的自主化研制,重点包括系统的硬件设计、软件设计。结合以太网卡的功能需求进行了功能测试和验证。该网卡通过以太网一致性测试,具有良好的实时性,支持多COMID 收发,满足以太网控车的需求。
列车实时数据协议TRDP 是由IEC 61375-2-3标准定义,位于TCP/UDP 传输层之上。列车实时数据协议TRDP 规定了TCN 过程数据和消息数据在列车通信网络中的通信流程。以标准以太网协议栈为基础,列车实时数据协议在传输层与应用层之间增加了TRDP 层,TRDP 协议层规定了报文的数据发送序列(SequenceCounter)、消息类型标识(MsyType)、用户数据标识(COMID)、数据长度、首部校验等重要协议层信息,如图1 所示。使其能够为列车网络中任意2 个设备之间的过程数据和消息数据通信提供有安全保障的端到端数据传输。
图1 TRDP 以太网协议栈
TRDP 网卡是列车以太网控车的关键设备,通过该网卡可以将终端设备连接到整车的以太网网络中,实现控制信息和状态信息的交互,TRDP 网卡主要有如下几项功能特点:
(1)TRDP 网卡保证列车以太网数据的通信,具有实时性和可靠性。
(2)支持双网口独立收发,以满足列车控制的冗余功能,完成过程数据、维护数据以及消息数据等多种信息交互。
由于研制的TRDP 以太网卡是作为列车关键设备(中央控制单元、制动控制单元、牵引控制单元等)的以太网通信接口网卡,既要满足大容量、高带宽的特性还要满足不同实时性要求的数据传输。因此在设计网卡时的平台选型上既要满足当前任务,还要兼顾未来功能、服务的升级。另外,考虑到中央控制单元等上层设备的CPU 板卡要运行自身的多种逻辑软件,任务繁重,因此要求作为下层通信板卡的TRDP 以太网卡在功能设计上要尽量少占用上层CPU 板卡的资源,最大程度地减少上层CPU 的负担。
根据上一节以太网卡功能需求分析,在硬件设计中采用Xillinx 公司的ZYNQ 系列可扩展处理平台。该芯片将高性能ARM Cortex-A9 系列处理器和高性能FPGA 在单芯片内紧密结合,内部ARM 处理器和FPGA 之间采用AXI 标准总线互联,充分发挥ARM 处理器和FPGA 的性能优势。此外该芯片集成度高,将FPGA 和ARM 芯片集成在同一块芯片中,节省硬件布线面积,省掉ARM和FPGA 中间通信总线的能量消耗。
文中开发的TRDP 以太网卡采以ZYNQ7020芯片为基础,设计硬件架构如图2 所示。
图2 基于ZYNQ7020 的TRDP 以太网硬件板卡架构
核心的ZYNQ7000 系列的芯片型号为XC7Z020-2CLG484,芯片可分成处理器系统部分Processor System(PS)和可编程逻辑部分Programmable Logic(PL)。PS 部 分 基 于ARM 双 核CortexA-9 的 应 用处理器,ARM-v7 架构高达1 GHz,满足网卡高速收发的应用程序的运行需要。外围设计包括4 GB的EMMC 存储芯片用于挂载驱动和应用程序;1 GB 的DDR3 缓存用于存储收发数据;32 MB 的QSPI flash 烧录网卡的启动程序和硬件逻辑,另外还外留UART 接口用于板卡的监控与调试。设计了RTC 模块,完成掉电时间保持功能。PL 端引出2 个以太网网口(网口1 和网口2),用于列车实时以太网信息收发通道;PS 端引出以太网网口3,用作于板卡的调试、配置以及板卡运行监控。
TRDP 以太网的FPGA 逻辑基于Xilinx 公司的Vivado 工 具 进 行 开 发,在ZYNQ 的PL 中 基 于IP 核结构搭建2 个独立的以太网数据包收发通路,细节框图如图3 所示。
图3 TRDP 以太网卡FPGA 逻辑框图
设计中,主要IP 核包括:以太网MAC 控制器、DMA 控制器、中断连接器、ISA 总线交互模块等。在各模块之间通过AXI 总线连接器进行数据交互。PL 端中各模块控制接口通过AXI_lite 总线与PS 端的GP 接口连接,对各模块的寄存器进行读写,完成模块的配置、控制与检测等功能。
DMA 控制器启动S/G 传输模式,通过独立的AXI S/G 通道从DDR 中获取描述符信息,协调以太网和DDR 间的数据传输。在设计中,描述符和数据都是通过AXI_stream 型总线与HP 接口交互,数据方向分为存储区到以太网数据流MM2S(Memory Mapped to Stream)和以太网数据流到存储 区S2MM(Stream to Memory Mapped)。 利 用AXI_Stream 总线完成DDR 和DMA 之间网卡交互数据的搬运,可以保证网卡信息高速率传输。
以太网MAC 控制模块(Ethernet MAC Ctrl)主要完成以太网链路层报文封装与解包、数据帧的校验以及通过MII 总线对PHY 芯片进行配置和控制等功能。
ISA 总线交互模块中例化RAM 和寄存器实现上层CPU 与网卡ZYNQ 的ARM 之间的网络信息交互。此外,可以根据上层应用CPU 不同的接口需求,充分利用ZYNQ 芯片的高扩展性扩展实现SPI、LVDS、CAN 等串行总线接口,方便实现与上层CPU 之间的信息交互。
TRDP 以太网卡的软件设计分为2 部分:一是运行在上层CPU 上的驱动软件;二是运行在板卡ZYNQ PS 端ARM 上的嵌入式软件。2 部分软件相互配合,实现TRDP 以太网卡的各项通信功能,软件结构如图4 所示。运行在上层CPU 上的软件通过板卡背板ISA 总线的硬件接口和板卡ARM 软件提供的软件接口,完成板卡的启动、初始化配置、COMID 端口订阅和发布,以及过程数据的发送和接收等功能。整个TRDP 以太网卡的软件架构基于QNX 实时操作系统,底层通过QNX BSP 驱动完成对板卡硬件的控制,包括以太网物理接口、背板接口、串口以及状态指示灯。通过实时以太网底层接口程序驱动DMA 和以太网MAC 控制器完成报文数据搬运。
图4 TRDP 以太网卡的软件结构图
板卡上电后,加载QNX 系统启动板卡应用程序,完成网卡的初始化配置,开启网口收发线程和背板交互线程,等待上层CPU 的命令。上层CPU的命令接口函数见表1。
表1 TRDP 以太网卡应用程序主要接口函数
在发送数据时,上层CPU 通过接口程序下达发送数据命令,利用背板总线将数据写入板卡缓存,同时该数据包的相关发送周期、COMID、超时时间等相关信息一同传达给板卡,板卡上的过程数据应用接口通过TCNopen 维护程序将数据添加TRDP 协议,按照发送周期将数据包传递给QNX操作系统自带的UDP 发送程序,通过socket 函数将数据包传递给MAC 层发送模块进行实时发送。
同样,当有以太网帧到达时,网卡对数据包包头进行识别,如果该数据包不符合接收条件,则被丢弃;如果该数据包符合接收条件,程序对数据包进行解包,将应用数据填入板卡的缓存区,等待上层CPU 通过背板总线周期性提取。
双网口双通道的设计可以满足以太网控车系统中的冗余功能,2 个通道可以发送不同VLAN 的数据,彼此互不影响,上层通过逻辑来取信其中一路数据,待取信路出现异常时,切换取信另一路。此外,除了PL 端搭建的用于传输实时数据的2 个以太网口外,在PS 端还引出1 个网口3,通过QNX操作系统内部命令的设置,可以将网口3 的数据以桥接的方式转接到PL 端的网口。在实车应用中,将PS 端的网口3 连接到网卡所在的整机设备的维护接口,维护口的数据就可以共享控制网络的线路通道。该功能可以实现列车网络中的控制网和维护网的融合,双网合一。
研制的TRDP 以太网卡采用了标准的3U 板卡结构,可以方便地集成在中央控制单元等网络设备的机箱中,自主研制的TRDP 以太网卡实物如图5 所示。
图5 3U 标准的TRDP 以太网卡实物图
列车以太网和传统以太网除通信协议的差异外,主要区别在于需要考虑列车上更为复杂的电磁环境,以太网信号传输将受到更多的干扰。接入列车以太网的终端设备,必须通过其在复杂的电磁环境中保障数据传输质量的以太网传输标准的符合性验证[5],需要对TRDP 以太网卡的物理层信号进行测试。
为了验证研制板卡的以太网一致性功能,按照测试要求,在实验室的以太网一致性测试平台上对研制的TRDP 以太网卡物理层信号及链路层通信进行一致性测试。测试项点及结果见表2,眼图的测试结果如图6、图7 所示,阻抗回输损耗的测试结果如图8、图9 所示。通过测试结果表明研制的TRDP 以太网卡符合以太网一致性测试标准。
图6 眼图测试结果(正面)
图7 眼图测试结果(反面)
图8 阻抗回输损耗测试结果(发送)
图9 阻抗回输损耗测试结果(接收)
表2 TRDP 以太网卡一致性测试结果
列车实时以太网卡发送数据和接收数据的实时性是最重要的特性之一。目前列车的实际应用中,用到的最小发送周期为30 ms。为了验证TRDP 以太网卡的实时性功能,将研制的TRDP 插入中央控制单元主机中,中央控制单元模拟列车应用,通过上层驱动程序控制TRDP 以太网卡收发数据,利用电脑开启wireshark 工具连接以太网网口进行抓包监视。
在测试中,TRDP 网卡可以成功连续发送30个不同COMID 的数据包,研制的TRDP 以太网卡满足多COMID 收发功能。其中挑选发送周期为30 ms、COMID 为21304 的数据包进行单独观测,其抖动测试结果如图10 所示。结果显示周期为30 ms 的数据包的抖动在±1.2 ms 以内,满足IEC 61375-3-4 标准中周期为30 ms 的报文抖动在±10 ms 以内的要求。
图10 TRDP 以太网数据包发送抖动测试结果
上述结果验证了所研制板卡满足当前的应用需求,为了进一步测试板卡的性能,进行更高指标的测试。经测试TRDP 可以同时完成200 个COMID 的收发;缩小发送周期至10 ms,结果网卡发送数据包的抖动在±1.5 ms 以内。该结果显示,研制的基于ZYNQ 平台的TRDP 以太网卡具有良好的实时性,满足大容量多通道数据的收发。
研制的TRDP 网卡进行了一系列的功能测试,并通过了高低温、振动、电磁兼容等相关的型式试验,速度250 km/h 复兴号动车组装车考核表明,TRDP 以太网卡设计方案可行,完全达到预期设计要求。
TRDP 以太网卡是列车以太网控车网络中关键设备,文中介绍了基于Xilinx 公司ZYNQ 平台研制的TRDP 以太网卡的硬件设计和软件设计。该网卡通过了以太网一致性测试和实时性功能验证,并在速度250 km/h 复兴号动车组上实现了装车应用。研制TRDP 以太网卡对于我国实现新型以太网控车技术具有重要意义。