某特种车辆TTCAN网络的静态调度设计

2011-07-16 07:37李丽丹王永康南立军
指挥控制与仿真 2011年4期
关键词:实时性报文谐波

李丽丹,王永康,南立军

(中国北方车辆研究所,北京 100072)

CAN(Control Area Network)是一种典型的事件触发总线,不仅在汽车领域得到了广泛的应用,现已扩展到了机械工业、机器人、数控机床、家用电器、军用设备等领域。特种车辆计算机控制系统内部电子设备越来越多,为了降低维修难度,实时、可靠地实现信息的传输、共享,引入了CAN总线。但CAN总线有其不足之处,即多节点自由竞争时,由位仲裁决定访问总线优先权所带来的节点工作时间具有不确定性[1]。为此,有人提出了时间触发协议方法,例如FlexRay、TTCAN 和 Time-Triggered Protocol(TTP/C),由于TTCAN是在 CAN的基础上发展而来,可借用CAN现有的平台,因此,得到人们更多的关注。

在TTCAN的研究中,除了相关的硬件开发之外,主要的研究工作就是要确定矩阵周期的整体结构并将消息合理地安排到各个时间窗口中[2],即静态调度机制。现有的基于均匀装载(AL)算法[3-4]的优化算法——谐波周期算法[5],只是追求时间窗的长度最短,保证时间触发信息和事件触发信息的实时性,并没有考虑每个信息发送的具体内容、重要程度。因此,本文先利用谐波周期算法建立某特种车辆计算机控制系统的调度表,之后根据每个消息的内容对其适当的调整,这样既保证了系统的实时性,又使系统中每个信息的发送时刻达到最佳。

1 TTCAN协议简介

TTCAN协议是由Bernd Mueller博士等提出的在CAN的数据链路层上加的一个高层协议,ISO11898-4已包含了这个协议[6]。它与传统CAN总线系统的区别是:总线上不同的消息定义了不同的时间片段,在同一时间片段内,总线上只能有一条报文传输,这样就既避免了总线仲裁,又保证了信息的实时性。该协议定义了静态调度机制、时间同步、时间进程和错误监测机制等内容。本文主要介绍静态调度机制。

1.1 静态调度机制

TTCAN 协议中的调度机制本质上属于基于表的静态调度,实现该算法必须保证网络各节点之间严格的时钟同步。在 TTCAN 中,时间主节点周期性地发送参考消息来使网络中各节点达到时钟同步,通过调度表实现对网络中消息传输的管理与预测。参考消息标志着一个基本周期的开始,基本周期由若干个时间窗口组成,包括独占窗口、仲裁窗口和自由窗口。独占窗口用于传输周期性的消息,仲裁窗口用于传输事件触发的非周期消息,自由窗口用于将来扩展网络。图1给出了由四个基本周期组成的调度表的结构图。

1.2 系统矩阵建立的主要研究问题

系统矩阵建立得合理与否,直接关系到该系统信息传输的实时性和可靠性。TTCAN 中,系统矩阵的整体结构以及消息的调度主要要求解决以下问题[7]:

1)确定基本周期,及其行数和列数;

2)确定基本周期中每列的长度,即一帧周期性消息所需要的总线传输时间,它必须保证一包完整报文的传输,对于标准帧报文,可由式(1)给出:

其中,TCWj为第 j列的传输列宽;Sm为第 j列消息的最大字节数;τbit为在传输介质上传输一个数据位所需要的时间。

3)确定调度表中各个时间窗口中要调度的消息,即总线中各个消息的传输起始时刻。

图1 调度表

2 谐波周期调度算法

文献[3]中提出了一种基于均匀装载(AL)的调度算法。见图 2。该算法用以保证周期型信息发送周期的最小抖动,并未考虑非周期型报文的实时性。本文使用的谐波周期调度算法是对AL算法的改进,同时保证了周期性消息和非周期性消息的实时性。以下是谐波周期调度算法的建立步骤。

1) 周期性报文的个数N个,按周期升序排列的集合为 P = { P1, P2, · · ·PM} ,M 为周期个数,其中周期为 Ti的报文个数为ni个,1≤i≤M。

取基本周期为周期值最大公约数(GCD):

取矩阵周期为周期值最小公倍数(LCM):

各信号周期值与基本周期的比值为 ki=TiTBC

基本周期个数即行数 NBC=TMCTBC,若 Tm=λTi,m≠i,1 ≤ m , i≤ M,λ为正整数,则Pm组成的集合Qi为 Pi的相关组。

2) 确定列数和列宽

其中,C为周期性消息的列数,第C列可以加载的信息的个数为 a =λ(ki- r em( niki)),rem( ni, ki)表示niki的余数,所有周期性消息的列宽之和为,若 Ls<TBC,说明可以调度。

图2 谐波周期算法的流程图

这样,通过谐波周期算法使得周期性消息传输部分的自由窗口数量减少,缩短了其传输的时间,为非周期性消息的传输提供了更多的时间。

3 谐波周期调度算法在控制系统中的应用

特种车辆如何做到“先敌发现、先敌射击”,很大程度上取决于其计算机控制系统的性能。因此,提高计算机控制系统的实时性、可靠性、灵活性显得非常重要。TTCAN在计算机控制系统中的应用为该系统性能的提高起到了很大的作用。

3.1 系统矩阵周期的建立

特种车辆计算机控制系统的主要功能是:全天候的快速观察、识别、瞄准和跟踪目标,并通过计算采集的有关数据,控制武器系统完成射击。它由三个分系统组成:观瞄分系统、计算机分系统和驱动分系统。这些分系统中各部件间信息的传输是通过 CAN总线网来实现的。

本文研究的计算机控制系统有两个 CAN网:一个是以计算机为主的 CAN网络;另一个是驱动部分的 CAN网络。它们之间通过驱动控制箱连接。这里仅介绍以计算机为主的 CAN总线网,它传输的消息的周期、ID和内容见表1。

表1 系统中传输的部分消息情况

下面利用谐波周期算法建立该计算机控制系统的TTCAN调度表。本文中报文传输速率为500kbps,所以τbit为1 500ms, 由 表 1 可 得 TBC= 3 ms ,TMC= 3 0ms ,n= { 5, 2 ,4,7} ,k= { 1, 2, 5, 1 0} ,NBC=10,信息组T和其相关组Q见表2。

表2 信息组T和其相关组Q

利用谐波周期算法,通过 MATLAB对其进行仿真可得以下调度表,见图3。

图3 谐波周期算法建立的调度表

从图3可以看出,周期性消息的调度表为10行8列,将每列传输消息的最大字节数Sm代入公式(1)中可得表3。

表3 每列的传输列宽统计

3.2 谐波周期算法的不足

从以上分析可以看出,谐波周期算法中信息的编号仅仅是依据该信息发送的周期来确定的,并没有考虑该信息发送内容的重要程度。虽然TTCAN中周期性信息的发送是依靠周期矩阵,不存在冲突,但我们还必须考虑这个信息发送的内容,以及信息间的关联和缓急情况。比如信息编号6代表指挥员测距信息,如果某一时刻出现目标,必须先进行测距,将测距信息发送出去,之后火炮自动跟踪目标,操作手、指挥员及时将位置信息发送给主控计算机,主控计算机再进行计算并发射。但从上面建立的调度表中可以看出,各节点同步之后,需等待0.271× 3+ 0 .231× 2 = 1.275ms才能第一次收到测距的信息,之后火炮自动跟踪目标,还需再等3 - 2 .159 + 0 .191× 2 + 0 .271 = 1 .494ms才得到火炮位置的信息,才能决定该如何射击。这严重影响了该特种车辆的射击响应能力。还有信息编号12、13、14、15发送的信息要比编号 8、9、10、11发送的信息重要,应该将比较重要的信息放在调度表中靠前的时间窗口。

综合以上情况考虑,本文对谐波周期算法建立的调度表进行了适当的修改。

3.3 改进的调度表

本文在尽量不改变总列宽的前提下,根据信息的重要程度,对系统矩阵做如下调整:当指挥员发现目标,首先按下测距按钮,进行测距并将数据发出去,之后总线上的其他节点才能根据该数据进行位置解算,进而瞄准目标并射击。因此,这里将测距信息放在了所有信息的前面,这样从测距数据的发出到解算信息的发出就比图 3所示的调度表中时间缩短了1.494ms,自动跟踪信息也比图3提前了1.275ms。而且图2中的控制信息和状态信息要比参数调整信息重要,所以应尽量将参数调整信息放在靠后的时间片。另外,电源信息应为系统中主要部件提供过载保护的功能,这里将其放在了所有信息的最后发送。这样更加合乎系统的工作原理和满足实时性的要求。调整后的矩阵周期见表4。

表4 调整后的调度表

从表4中可以看到:该表中参考报文的列宽与上面8列的列宽和相同,仍为 Ls= 2 .159ms ,且满足信息发送的缓急情况,信息安排更加合理。

3.4 结果分析

利用MATLAB建立文献[3]中提到的AL算法,调度表见图4。

图4 AL算法建立的调度表

对比改进的谐波周期算法调度表(见表4)和AL算法建立的调度表(见图4)可得以下结论。

1)AL算法要求调度表中每列列宽相同,且为所有报文中字节最大的报文传输所需的时间,而谐波周期算法只需要列宽为本列字节最大的报文传输所需的时间,每列列宽可以不同(见表3)。两种算法传输消息所需的总时间见表5。

表5 两种算法的传输时间对比表

从表5中可以看出,改进的谐波周期算法在每个基本周期中周期型消息所占带宽减少了0.28ms,即在保证周期型信息实时性能的前提下,表4中非周期信息可以比图4中的获得更大的传输带宽,随机的非周期信息可以取得更好的时间响应特性。

2)AL算法和原谐波周期算法都只是按照消息的传输周期来建立的,而改进的谐波周期算法是在不改变列宽的前提下,根据消息间的关联程度、发送的先后顺序和重要程度进行的调整,使其信息分配更加合理,更加符合实际情况,实时性更加有保证。

4 结束语

谐波周期调度算法为每个基本周期空出了更多的时间来传输其他信息,但它仅仅考虑了传输消息的周期,并没有结合系统本身信息发送的具体内容,使得有些相关联的信息中间等待时间过长,或者需要提前发送的信息安排得靠后。本文首先利用谐波周期算法求出了周期性信息传输时间窗最短的调度表,之后在尽量保证时间窗长度不变的条件下,对系统矩阵进行适当修改,使得该系统信息调度表安排得更加合理,且在保证周期型信息实时性能的前提下,非周期信息也可以取得良好的时间响应特性。这对其它利用TTCAN保证实时性的控制系统来说,具有一定的指导意义。

[1]饶运涛,邹继军,等.现场总线CAN原理与应用技术[M].北京:北京航空航天大学出版社,2007.

[2]周杰克.CAN总线测试系统与TTCAN调度器的研究[D].天津:天津大学,2008.

[3]曹万科,张天侠,刘应吉,等.基于TTCAN的汽车控制系统信息调度设计与分析[J],农业机械学报,2007,29(12).

[4]曹万科,张天侠,刘应吉.基于混合调度算法汽车TTCAN网络设计及实时性分析[J].中国工程机械学报,2007 (1):62-66.

[5]Shuju Wang,Tianxia Zhang,etc.Scheduling Design of Automotive TTCAN Control System Based on Average Loading[C].Proceeding of the 8th World Congress on Intelligent Control and Automation.[J].IEEE,2010.

[6]ISO.11898-4.Road vehicles-Control Area Network(CAN)-Part 4:Time-Triggered Communication[S].ISO,2004.

[7]吕伟杰,宫丽华,陈曦,等.基于电动汽车的 TTCAN 调度算法的研究[J].制造业自动化,2009,31(2):68-70.

猜你喜欢
实时性报文谐波
基于J1939 协议多包报文的时序研究及应用
基于波动量相关性分析的多谐波源责任划分方法
低轨星座短报文通信中的扩频信号二维快捕优化与实现
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
SFC谐波滤波器的设计及应用
电力系统谐波检测研究现状及发展趋势
电力系统谐波状态估计研究综述
航空电子AFDX与AVB传输实时性抗干扰对比
计算机控制系统实时性的提高策略