吕媛媛
(1.北京全路通信信号研究设计院集团有限公司,北京 100070;2.北京市高速铁路运行控制系统工程技术研究中心,北京 100070)
随着通信系统性能、容量的不断发展,CAN总线传输数据容量有限、速率较低,已经不能适应目前通信系统大数据的发展需求,FlexRay作为新一代总线,因其具有高速率、可确定性、容错性等优点,被誉为是CAN总线的升级版。目前FlexRay总线仅在汽车领域应用广泛,本文将FlexRay总线应用于铁路信号地面控制系统中的全电子目标控制系统,对于FlexRay总线在铁路交通信号领域的研究与推广具有一定的参考意义。
FlexRay总线与传统的CAN总线相比的优点如下。
传输速率高。FlexRay总线为硬件双通道,单通道传输速率可达10 Mbit/s,通过配置,也可以 设置为8 Mbit/s、5 Mbit/s、2.5 Mbit/s,提高带宽的灵活性;双通道设置为传输不同数据帧时,速率可达20 Mbit/s。而CAN总线最高速率为1 Mbit/s,远远优于CAN总线。
时间确定性准,同时灵活性高。FlexRay总线采用调度表机制,有“时间触发”、“事件触发”两种方式。每个通信周期的静态段基于“时间触发”方式,消息在每个周期中拥有固定位置的时槽,以固定的时序传输数据,极大地保证传输时间的准确性、通信延迟小;每个通信周期的动态段采用“事件触发”方式,时槽长度可变,带宽可动态分配,灵活性好。
容错性强。FlexRay支持双通道的互相冗余,通过双通道传输相同的信息来实现冗余备份,在一个通道故障时,另一个通道可以正常运行,不影响系统的稳定性。同时,单节点发生故障时,总线监控器将该节点断开,不影响总线上其他节点正常工作。
载荷容量大。FlexRay帧具有高达254 Byte的数据容量,更适合大容量数据传输。
FlexRay总线目前只规定了数据链路层和物理层的通信协议。
FlexRay可支持各种拓扑结构,如总线型、星型和混合拓扑等。并且节点可以支持两个通信通道,可以开发单信道和双信道两种系统。
FlexRay数据帧由帧头、有效数据段和帧尾3部分组成。如图1所示。
图1 FlexRay数据帧格式Fig.1 FlexRay data frame format
FlexRay总线是固定周期通信方式。每个通信周期时长可配置,每个通信周期的组成如图2所示。
图2 通信周期时间分层Fig.2 Layers for communication cycle time
在静态段中,采用时分多址TDMA技术实现时间触发。每个节点拥有固定数量的时槽大小,在这些时槽内,不允许其他节点传输数据,该节点的数据容量也不能超过这些时槽的长度。这种访问方法,保证静态段中传输的特定数据帧在每个周期中拥有固定的位置。动态段则采用更灵活的时分多址FTDMA技术,各个节点利用信息 ID(帧ID)中定义好的优先级竞争带宽,保证一些具有高优先权的数据能够在总线忙时也有机会发送信息。并且时槽长度会按照需要的时间来扩展,因而总线的带宽是动态可变动的。
通用全电子目标控制系统是以全电子的驱动层执行模块为基础,配备上层安全逻辑平台,搭建成的一个通用安全控制平台。该平台作为若干安全应用的支撑,可以完成诸如联锁系统、列控中心等多种安全系统,适用于铁路及城市轨道交通环境中。
全电子目标控制系统内的安全相关电子执行模块包含道岔模块、信号机模块、输入输出模块、64D模块等,所有模块均采用2乘2取2架构进行设计,模块内部(系内双CPU间以及双系间)需具备通信的能力,来实现时钟同步和数据交互等功能。每次传输数据约200 Byte,需要一种高速、可靠的通信结构。
FlexRay具有时间触发、高带宽、灵活性、安全性等优点,结合上述原因,全电子系统模块内部通信网采用FlexRay总线,总线型拓扑结构。4个主控单元CPU作为4个FlexRay节点进行组网通信,4个CPU均可以互相通信;双通道冗余工作,数据双份传输;整个网络平台设计通信速率为10 Mbit/s。模块间网络拓扑结构如图3所示。
图3 模块网络拓扑结构Fig.3 Module network topology
在全电子目标控制系统中,主控芯片采用TI公司的TMS570LS3137,内部集成FlexRay通信控制器,支持FlexRay V2.1版本协议;物理层收发器驱动芯片采用NXP公司的TJA1082,用于实现FlexRay信号的转换。FlexRay节点结构框如图4所示。
图4 FlexRay节点结构Fig.4 FlexRay node structure
TJA1082与TMS570LS3137之间的接口电路简单,接口信号主要有发送/接收管脚TXD/RXD、发送使能脚TXEN、总线检测使能管脚BGE、工作模式控制管脚STBN、故障指示管脚ERRN等,BP、BM为差分输出线。电路如图5所示。
图5 FlexRay节点硬件电路Fig.5 FlexRay node hardware circuit
FlexRay节点软件设计主要包含节点初始化、发送数据、接收数据3部分。
4.3.1 节点参数设置
在FlexRay通信流程中,节点的配置和状态控制是关键。节点初始化配置主要流程如图6所示。
图6 FlexRay通信控制流程Fig.6 FlexRay communication control flow chart
FlexRay节点配置参数:一类参数是根据实际应用的系统对于通信速率、数据容量等需求以及系统自身的功能要求而确定的;另一类参数是与FlexRay总线结构、硬件元件性能、物理层特性等相关,根据FlexRay协议规定的计算公式或约束条件计算得到的。同时,全电子目标控制系统的设计需求为:内部通信周期32 ms、通道冗余传输、每个CPU数据类型两种(CPU间/系间)等。
综上而言,设计的基本参数如表1所示。
表1 FlexRay基本网络参数设置Tab.1 FlexRay basic network parameter
4.3.2 发送/接收数据流程
全电子目标控制系统采用了uc/os II操作系统,多任务并行方式运行。
内部通信发送数据时,根据发送方序列号、接收方上一次序列号、源系统ID等数据,在“内部通信发送任务”中,通过FlexRay发送函数发送出去。
内部通信接收数据时,采用中断接收方式。首先,接收到CPU间或系间数据时会中断CPU;然后,在中断服务程序中完成数据接收,包括:读取FlexRay Buffer编号确认数据类型,把接收数据拷贝到内部通信缓存队列,Post内部通信信号量触发“内部通信接收处理任务”;最后,在“内部通信接收处理任务”中完成数据解析过程及存储过程。
同时,考虑到安全性,在“自检任务”中,会定周期执行FlexRay节点号自检。总线上的每个节点都有可能变化,为了防止节点冲突,需要周期对节点号自检。若被窜改,需要重新设定为原始节点号。
4.3.3 仿真分析
由于FlexRay网络参数多、手动配置非常繁琐复杂、总线数据抓包分析困难,为简化设计分析过程,在设计中借助Vector公司的一系列FlexRay工具。首先使用Network Designer FlexRay定义网络参数、节点、报文、信号、映射关系,将配置好的协议参数写入TMS570LS3137相关协议参数寄存器中,生成FIBEX格式调度表;然后将调度表导入CANoe.FlexRay,进行节点测试、仿真和分析:跟踪总线数据传输、显示报文的交互式发送、总线负载及干扰统计、诊断测试等。
FlexRay总线作为新一代的汽车总线,已经在汽车车载通信领域得到广泛应用。本文借助其总线优势将其应用在全电子目标控制系统,根据系统应用条件给出了设计方案,来提高系统的实时性、可靠性和安全性。同时表明FlexRay总线在铁路信号领域中有着很好的应用前景。