时间触发型FlexRay总线星载应用研究

2012-12-29 04:13刘思远杨芳汪小洁刘胜利李国军袁春柱
航天器工程 2012年6期
关键词:实时性时隙静态

刘思远 杨芳 汪小洁 刘胜利 李国军 袁春柱

(1 航天东方红卫星有限公司,北京 100094)(2 北京系统工程研究所,北京 100101)

1 引言

国内外星上电子技术发展的趋势表明,基于串行总线的分布式拓扑结构已经成为星上电子系统的主流架构。鉴于CAN 总线具有可靠性高、实时性好、抗干扰能力强、通信方式灵活、组网简单等优点,国内外均已将其引入星载电子系统,甚至大量小卫星已经将CAN 总线作为星上骨干网络来完成星上设备间的信息传递[1-2]。

但随着小卫星任务复杂度及性能的不断提高,星上电子系统对总线通信的实时性和可靠性都提出了更高的要求,从实时性和可靠性方面分析,目前基于星载CAN 总线星载网络还存在如下问题:

(1)CAN 总线网络是基于事件触发型的总线,而且是基于优先级调度的总线抢占模式,事件触发和优先级抢占虽然增强了总线访问的灵活性,但是存在的最大问题是信息传递延迟的不确定性;

(2)CAN 总线传输码速率较低(小于1Mbit/s),且现有星上电子系统中所采用的轮询应答式通信模式在很大程度上浪费了CAN 总线的有效带宽。

这就使得现有的CAN 总线网络及总线访问方式逐渐不能满足小卫星星上综合电子系统信息传递需求。

为此,本文提出将新一代实时、高可靠车载时间触发型总线FlexRay[3]引入小卫星星上电子系统,首先对其星载应用的适应性进行分析,在此基础上给出网络架构,并初步对通信协议进行了设计,为其星载应用提供技术参考。

2 FlexRay总线及星载应用特性分析

FlexRay是多家知名汽车制造商(宝马、博世、戴姆勒、通用汽车、大众等)和芯片制造商(飞思卡尔半导体、NXP半导体/飞利浦等),针对新一代汽车电子的实时控制及容错需求而研发的新一代总线网络标准,且已经在一些新款汽车(奥迪A6/A8、宝马X5/7系/5系、劳斯莱斯等)中得到推广应用[4]。该总线继承了CAN 总线的优点,同时克服了CAN 总线在传输实时性、可靠性等方面的不足。其优点主要表现在以下几方面[5-7]:

(1)码速率高:最高达到10 Mbit/s,是CAN 总线码速率的10倍;

(2)实时性好:支持时间触发(time triggered,TT)和事件触发(event triggered,ET)两种模式,可确保消息在指定时间段传递;

(3)可靠性高:采用先进的双总线容错机制,确保通信可靠性;

(4)灵活性强:支持多主通信,且支持多种拓扑形式;

(5)时间同步精度高:具有网络时间同步机制,同步精度达到几微秒量级。

2.1 总线访问机制分析

FlexRay总线支持时间触发和事件触发两种总线访问机制,总线访问设计为循环进行的通信周期,同时将每个通信周期划分出静态段(static segment)、动 态 段(dynamic segment)、符 号 窗 口 段(symbol window)和网络空闲段(NIT),如图1 所示。静态段支持时分复用(TDMA)的时间触发总线访问方式,即静态段由多个时长相等的静态时隙(static slot)组成,应用中可根据需要将时隙分配给多个通信节点,每个时隙在同一时刻只允许一个节点传输数据,因此不仅确保了消息传递的实时性,同时可以确切地知道哪个节点的哪条消息在什么时间传输。另外,为了提高总线带宽的利用和通信的灵活性,FlexRay 总线在动态段支持柔性时分多址(FTDMA)的事件触发总线访问,即动态段由多个小时隙(minislot)构成,通信节点可以根据需要在某个小时隙内访问总线,且小时隙的时间长度可以根据总线访问的需要进行扩展。应用中可以根据实际需要对通信周期、静态部分、动态部分的时间长度进行配置,还可以对静态部分和动态部分内时隙的长度进行配置。

图1 FlexRay总线访问机制示意图Fig.1 Bus access mechanism of FlexRay

在现有的基于CAN 总线的分布式星上电子系统中,主通信节点(如星务主机)通过CAN 总线与其它通信节点(如下位机)进行信息传递的主要模式,是通过周期性的数据轮询采集和指令发送,而由于通信节点应答时间的不确定性,一方面导致节点通信起止时间不能严格确定,另一方面也导致后续节点通信的时序顺延,很难满足对时序和实时性要求苛刻的闭环控制场合。FlexRay的周期性通信模式,不仅可以很好地满足分布式星上系统周期性消息传递的特点,更重要的是利用其时间触发的总线访问机制可以变现有的星上消息轮询通信方式为消息订阅通信方式,即可以根据星上综合管理与控制信息传递需要为星上各个网络节点事先分配好通信时隙。系统运行过程中,星上各个网络节点可以根据事先分配好的时隙有序地进行信息交互,可以确保信息传递的实时性,这对实现基于总线的闭环控制非常有利。

2.2 数据帧结构分析

在总线访问的静态段和动态段,均可以传递FlexRay总线的通信帧,其帧结构包括三部分,分别是帧头段、载荷数据段和尾段,如图2所示。帧头部分包括:保留位(reserved bit);有效负荷段前言指示(payload preamble indicator),用于指示可选字段是否包含在传送帧的有效数据中。在静态帧中,该位会在有效数据开始端指示网络管理向量的存在,在动态帧中,该位会在有效数据开始端指示消息ID;空帧指示(null frame indicator),用于指明数据帧是否为空;同步帧指示(sync frame indicator),用于指示该帧是否同步;起始帧指示(startup frame indicator),用于指示帧是否启动帧;帧ID(frame ID),指明通信过程中分配到每个节点的ID;有效数据长度(Payload length),用于指明有效数据段的长;头部CRC(header CRC),表明同步帧指示器和起始帧指示器的CRC 计算值以及由主机计算的帧ID 和帧长度;循环计数(cycle count),指明在帧传输时间内传输帧的节点的周期计数。有效负荷部分的数据可以是0~254byte,帧尾部为一个24位的CRC校验,用于校验有效载荷数据的正确性。

图2 FlexRay总线帧格式示意图Fig.2 FlexRay frame format

分析FlexRay 总线的帧格可以看出,FlexRay总线帧格式在一定程度上继承了CAN 总线的帧格式,但同时又进行了一定的提升。

FlexRay总线每帧可以传递更长的有效载荷数据(最大254byte),一方面可以大幅提高总线数据传输的效率,另一方面也避免了现有星载CAN 总线在传递大于8byte的数据包时需要采取分帧/组帧处理。另外,FlexRay总线采取了相对于CAN 更为严格的错误检测,即分别对帧头和数据进行了CRC校验,可有效甄别错误帧,这点对星载应用是非常有利的,可以大幅提高信息传递的可信性,更好地避免因为数据传输错误导致的系统错误甚至灾难。

2.3 容错特性分析

FlexRay总线设计上具有两个通道,两个通道既可以单独传输,也可以作为冗余备份来提高通信的可靠性。每个FlexRay 节点都包括一个控制器和一个驱动器部件。控制器部件包括一个主机处理器和一个通信控制器,如图3所示。驱动器部件通常包括总线驱动器(BD)和总线监控器(BG),总线驱动器将通信控制器与总线相连接,总线监控器监视接入总线的连接。

总线监控器只允许通信控制器在指定的时隙中传输数据,并激活总线驱动器。当某个节点发生故障而不能正常地收发数据或未在指定时隙发送数据时,总线监控器会将通信控制器和总线断开,从而不会影响到其他节点的工作。在双通道系统中是通过冗余备份的方法来实现容错的,即两个通道上传输相同的信息。当一个通道出现故障而无法正常工作时,另一个通道上的数据就可以保证系统的正常运行,而不会因为某一个通道上的数据丢失影响到系统的稳定性。因此,相比现有星载CAN 总线,RlexRay总线在容错性能上有所提升,更加适合星上高可靠网络通信的需求。

2.4 网络时间同步分析

对于支持时间触发总线访问机制的网络,网络上节点间的时间同步尤为重要,目的是保证网络上全部节点的时间差在一定的范围内。FlexRay总线协议使用分布式的时钟同步机制,在FlexRay总线网络上没有绝对的全局时间或参考时间,网络上节点的本地时间(local time)均是由节点自身的时钟获得,所有节点都通过观察其它节点传送的同步帧将自己的时间与网络全局时间(global time)进行同步,因此都有一个自己认为的全局时间,即全局时间存在于每个节点的“心”中。FlexRay总线节点的时间同步主要采取两种途径,分别是频率校正(rate correction)和相位校正(offset correction),其过程如图4所示。节点可根据对网络上同步帧的观察获得本地时间与网络时间的偏差,然后,一方面通过动态调整通信周期的时间长度确保与整个网络通信周期相同,即频率校正;另一方面通过在通信周期的网络空闲时间段插入微时间片(macrotick)来调整通信周期长度,即相位校正。目标是实现整个网络上节点间的时间同步误差小于网络通信允许的偏差内,通常为一到几微秒。星载网络信息的时间同步对后期载荷数据处理尤为重要,尤其是对高分辨率遥感卫星,时间同步精度直接影响图像定位精度,因此,利用FlexRay总线的网络时间同步机制可以更好的实现高精度的网络信息同步。

图3 FlexRay总线节点结构示意图Fig.3 Node structure of FlexRay bus

图4 FlexRay总线时间同步方法Fig.4 Clock synchronization mechanism of FlexRay bus

3 基于FlexRay总线的星载网络设计思路

FlexRay总线支持多种总线拓扑形式,包括总线型拓扑、有源星型拓扑和无源星型拓扑,还可以采用这几种拓扑结构组成混合型网络结构,节点间最大网络长度为24m。另外,FlexRay总线设计上具有两个通道,两个通道既可以单独传输,也可以作为冗余备份来提高通信的可靠性。鉴于星上电子系统对节点间信息传递的可靠性要求很高,同时考虑设备连接的简洁性,本文给出的基于FlexRay总线的星上分布式架构,在设计上采用双冗余总线型网络架构,与CAN 总线相同,拓扑结构如图5所示。其中的网络节点可以是星上计算机、下位机等设备,也可以是敏感器、执行器等部件。采用基于FlexRay总线的星上分布式网络,通过事先设计静态调度表,在数据通信模式上可以变现有的消息轮询通信方式为消息订阅通信方式,即事先约定好每个通信节点发送的数据和发送数据时间段,总线上的各个通信节点,可以根据事先分配好的时间段来有选择地接收所需要的信息。

图5 基于FlexRay总线的分布式星上网络架构Fig.5 Distribution network structure based on FlexRay bus for on-board application

星上网络节点间的信息传递以周期性信息交互为主(如遥测信息采集),同时也有突发性的信息传递(如遥控指令、上注数据等)。针对星上信息传递特点,结合FlexRay总线访问机制,应用中可以将周期通信的数据传递配置在FlexRay 总线通信周期的静态段,以确保信息传递的实时性和时序的稳定性,另外,将突发性信息传递配置在动态段,以充分利用总线带宽。对于星上周期性交互的信息传递,设计中在FlexRay总线通信周期的静态段(static segment)划分出静态时隙(static slot),为相应的数据发送节点分配固定的时隙,静态时隙长度主要由通信帧的最大长度决定,由于在通信周期内静态时隙的长度必须相等,因此通信帧长度设置将直接影响着总线利用率,需要根据实际节点的数据收发情况进行优化处理。FlexRay总线通信帧长度的确定需要考虑多个因素,包括节点数目、每个节点数据包长度、通信频率等。设网络上有3个通信节点,则节点时隙分配示意图如图6所示。

图6 基于FlexRay总线的节点时隙分配示意图Fig.6 Time slot distribution of FlexRay bus nodes for on-board application

另外,基于FlexRay总线的星上网络设计,还需要根据卫星系统信息交互周期的需求进行FlexRay总线通信周期的设计,由于FlexRay总线协议规定的通信周期T最大为16ms,如果星上信息交互周期小于T,则可以直接配置通信周期;如果信息交互周期大于T(如1s),则可以对FlexRay总线的通信周期进行整数倍的扩展以满足通信需求。另外,对于节点通信周期不等的应用场合,在时隙分配时可以通过周期匹配处理来满足需求。假设节点A 的通信周期与FlexRay 总线的通信周期(T)相等,节点B 的通信周期为FlexRay总线的通信周期2倍(2T),节点C的信周期为FlexRay总线的通信周期4倍(4T),则周期扩展方法如图7所示。

FlexRay总线的单帧可传输的有效数据为0~254byte,因此,基于FlexRay总线的星上数据通信每个数据包的有效数据长度设计为均小于254byte,这样可以避免分包组包的过程。初步考虑可以采用如图8所示的应用层通信协议,帧ID 的11bit表示发送帧所占时隙编号,同一个节点在一个通信周期内,如果需要在多个时隙内发送数据,则需要在发送时配置多个帧ID。在有效数据域中,设置前2位字节为数据包类型,最后1位字节为累加和,中间为要传输的有用数据信息,但须确保有效数据域的数据长度为偶数个字节。

图7 FlexRay总线通信周期扩展示意图Fig.7 Communication cycle extend of FlexRay bus for on-board application

图8 FlexRay总线通信应用协议设计Fig.7 Communication protocol design of FlexRay bus for on-board application

接收节点可以通过设置帧ID 滤波、通道ID 滤波、消息ID 等来接收所需要的节点信息,屏蔽不相关节点发送的数据。

FlexRay总线节点的硬件实现方案主要有两种形式:一种是采用集成FlexRay协议处理模块的微处理器+总线驱动器实现,另一种是采用微处理器+独立的FlexRay协议处理通信控制器+总线驱动器实现。目前常用的集成FlexRay协议处理模块的微处理器有Freescale公司生产的 MC9S12XF512 和MPC5561/MPC5567芯片、NXP公司生产的SJA2510芯片;独立的FlexRay协议处理通信控制器有Freescale公司生产的MFR4300、MFR4310等[8];物理层总线驱动器以NXP 公司生产的TJA1080为主[9]。鉴于星载网络节点根据功能的不同其硬件架构和性能需求通常差异较大,处理器的配置通常也要根据需求而定,且要求适应空间辐照环境,如现有型号通常选用X86、8031、TSC695、AT697、BM3803等型号处理器,因此,星载FlexRay总线节点的硬件实现,不宜采用FlexRay协议处理模块和微处理器集成在一起的方案,故建议采用上述第二种方案来实现星上网络节点。

4 结论

本文主要结合星载应用,对FlexRay总线的特性进行了分析,结果表明FlexRay 总线在传输速率、实时性、容错性、同步性、灵活性等方面都优于现有的CAN 总线。采用基于FlexRay总线的星载网络,一方面可以确保节点间信息传递的实时性,即可以通过总线信息调度设计准确的预测信息传递的时刻和时间长度,为基于总线的闭环实时控制奠定基础;另一方面,由于FlexRay总线传输码速率可达到10Mbit/s,也可大幅提高信息传递的速率和通信容量,满足未来复杂任务卫星系统信息传递需求。因此,该总线理论上是非常适合于未来小卫星星载应用的,但从工程应用角度考虑,要想真正将该总线应用到卫星系统中,还需进一步开展协议的细化设计和测试验证,从空间环境适应性角度考虑,还需要针对实现该总线协议的控制芯片开展一系列空间环境试验。

(References)

[1]李孝同,施思寒,李冠群,微小卫星综合电子系统设计[J],航天器工程,2008,17(1):30-35

Li Xiaotong,Shi Sihan,Li Guanqun.Integrated electronics system of micro-satellite[J].Spacecraft Engineering.2008,17(1):30-35(in Chinese)

[2]Li Xiaotong,Shi Sihan.Integrated micro-electronics system on CAST-mini bus[C]//58th International Astronautical Congress.Paris:IAF/IAA,2007:1-6

[3]FlexRay Consortium.FlexRay communications system protocol specification,Version 2.1Rev.A[Z/OL].[2012-03-21].http://www.flexray.com/index.php?sid=a6bbd9fa-4c2d9c6bf17f8e4d7286c774&pid=93&did=1&lang=de

[4]王锴,王宏,徐皑冬.下一代车载网络FlexRay及其应用研究[J].计算机工程与应用,2008,44(20):77-79

Wang Kai,Wang Hong,Xu Aidong.Research of next generation in-vechicle network FlexRay and its application[J].Computer Engineering and Applications,2008,44(20):77-79.(in Chinese)

[5]陈智琦,罗峰,陈觉晓,等.FlexRay特性分析及应用实现[C]//2007中国汽车工程学会年会论文集,北京:中国汽车工程学会,2007:1201-1205

Chen Zhiqi,Luo Feng,Chen Juexiao,et al.Characteristic analysis and application & implementation of FlexRay bus[C]//2007SAE-China Congress.Beijing:Sino-Automobile Engineering Institute.2007:1201-1205(in Chinese)

[6]FlexRay Consortium.FlexRay communications system preliminary node-local bus guardian specification,Version 2.0.9[Z/OL].[2012-03-21].http://www.flexray.com/index.php?sid=a6bbd9fa4c2d9c6bf17f8e-4d7286c774&pid=93&did=9&lang=de

[7]FlexRay Consortium.FlexRay communications system electrical physical layer specification,Version 2.1Rev.A[Z/OL].FlexRay Consortium.[2012-03-21].http://www.flexray.com/index.php?sid=a6bbd9fa4c2-d9c6bf17f8e4d7286c774&pid=93&did=4&lang=de

[8]Freescale.FlexRay communication controllers MFR4310 reference manual,Rev.2 2008[Z/OL].[2012-03-21].http://cache.freescale.com/files/peripherals_coprocessors/doc/res_manual/MFR4310.pdf?fpsp=1

[9]NXP.FlexRay transceiver TJA1080Apreliminary data sheet[Z/OL].[2012-03-21].http://www.nxp.com/documents/data_sheet/TJA1080A.pdf

猜你喜欢
实时性时隙静态
最新进展!中老铁路开始静态验收
静态随机存储器在轨自检算法
基于时分多址的网络时隙资源分配研究
基于市场机制的多机场时隙交换放行策略
航空电子AFDX与AVB传输实时性抗干扰对比
一种基于时隙优化的邻居发现算法研究
计算机控制系统实时性的提高策略
一种高速通信系统动态时隙分配设计
可编程控制器的实时处理器的研究
油罐车静态侧倾稳定角的多体仿真计算