TTCAN总线技术在汽车电子中的应用研究

2011-07-09 11:10黎军华邹继军
时代农机 2011年6期
关键词:报文时钟总线

黎军华,邹继军

(东华理工大学,江西 抚州 344000)

中国是世界上最大的汽车市场,也是全球汽车增速最快的市场,但是目前大多数中国人还是没有车的,随着中国人的收入和财富不断增长,中国的汽车市场非常具有吸引力,,也为汽车电子行业带来巨大发展,在过去30年里,汽车中汽车电子设备逐渐增加,以网络技术为基础的X-by-wire(线控技术)在汽车中得到广泛的应用,大大提高了汽车的安全系数。

CAN总线技术广泛应用于中国本土汽车行业中,但不能满足一些实时性比较高的系统(例如线动制动系统和线控转向系统),会产生消息传送的延时,不能保证消息传输延时的确定性,这将会带来巨大的安全隐患,TTCAN(Time Trigged Control Area Network)协议正是应这种需求并提出发展起来的,TTCAN对CAN进行了扩展,提供了时间触发机制以提高通信实时性。

1 TTCAN

TTCAN是在Bosch公司的标准CAN总线协议基础上扩展了支持时间触发的高层协议。TTCAN节点完全兼容CAN节点,无论是在数据链路层还是在物理层,它们使用同样的总线线路和总线收发器。TTCAN协议可以同步整个通信网络中所有节点的通信调度表,并且还提供了一个全局参考时间,当总线上所有节点的时钟都同步时,任何Message(报文)都可以在时间窗口中被发送出去,在TTCAN系统中所有的报文都是由调度表决定的,所有的时间窗口可以被设计成完全正交,信息的传送时间都可以通过调度表提前预知。

1.1 时间触发通信

时间触发系统中任务是由全局时间触发的,由于时间触发系统保证在同一个时刻,系统中只有一个任务被触发,而且在任何时刻系统中都有任务在执行。这样,就使系统的使用效率得到了提高,而且不会发生任务阻塞的现象。由于系统中各个节点间存在着时间的漂移 (由于每个节点所处的环境以及其时钟晶振的制作工艺等存在差异),所以必须动态的对每个节点的时钟进行调整,使整个系统的各个节点时钟能够同步。如图1 所示,当系统时钟到达3和8时发送消息A。当系统时间到达5时发送消息B,当系统时间到达13时发送消息C。

图1 时间触发通信方式

1.2 TTCAN实现网络内节点同步的方式

TTCAN实现网络内节点同步的方式有两种,一种遵从级别1的TTCAN规范,另一种遵从级别2的TTCAN规范。

(1)级别1 TTCAN规范实现网络内各节点同步的方式。在TTCAN网络内向其它节点广播发送报文的节点逻辑上称为时间主机,其它节点称为时间从机。时间主机发送的用于同步网络内各节点的报文称为参考报文,时间主机发送参考报文不是单次的,而是每隔一定时间就会发送一次,以此来使网络内其它节点重新同步于时间主机,这个间隔时间称为一个基本循环。由于网络内各节点的本地时钟都要同步于时间主机的时钟,故时间主机的时钟可以看作是全局时钟。级别1的TTCAN规范,使用传统CAN控制器结合微控制器的软件控制便可以实现。

(2)级别2 TTCAN规范实现网络内各节点同步的方式。级别2的TTCAN规范为每个节点增加物理的时钟部件并把它的时间作为本地时钟。时间主机将自身时钟模块内的时钟作为网络的全局时间,当它广播发送参考报文时,连同这个时钟放入报文的数据区同时发送出去。时间从机接收到参考报文后,根据参考报文里的时钟与本地时时钟的差计算出全局时间,如图2 所示,从而实现网络内各节点的同步。

图2 从节点的全局时间

1.3 TTCAN时间调度表

(1)参照报文与基本循环。在TTCAN中的时间触发通信是基于参照报文的周期通信,参照报文是一个CAN数据帧,由时间主机有规则地发送的,通过它的标识符很容易被识别。两个连续的参考帧之间的时间叫做基本循环。

(2)系统矩阵。设计TTCAN系统时,可以根据网络节点数目、节点实现功能等设计若干互不相同的基本循环,再进一步根据系统需要将它们联合起来构成系统的时间调度表,称为系统矩阵,如图3 所示。

在一个系统矩阵的实现过程中,网络内各节点在时间同步条件下按照系统矩阵的调度安排来获得对总线的使用权,在规定的时间窗口内完成相应的动作,从而确保总线上定期报文的实时性。整个TTCAN的通信实际上是各节点在系统矩阵的安排下,周期性地完成系统矩阵中所规定的任务,即系统矩阵的周期性循环。

图3 系统矩阵

2 TTCAN总线技术在汽车电子中的实现

现代汽车系统中由若干个控制系统组成,各个控制系统通过紧密的配合才能让汽车性能安全,可靠。系统整体设计思路是在现有CAN总线技术上的升级与改进,兼容原有的CAN总线线路,在系统硬件和软件上做相应的改进,如图4 所示,各个控制系统通过CAN总线网络连接,并用TTCAN通信协议进行数据传输。

图4 整体内部系统

2.1 节点硬件设计

TTCAN节点接口模块主要分为三个部分:模块控制器;CAN控制器;CAN收发器,如图5 所示,节点硬件部分跟CAN节点硬件部分是兼容的,TTCAN模块与CAN模块最大的不同就在于TTCAN模块具有时间触发功能,TTCAN内核比CAN内核多了帧同步块和触发寄存器,硬件设备均可以通过模块控制器的内部扩展功能实现。

图5 接口模块

2.2 软件设计

软件设计语言用C语言编写,总共分为7个部分,各时间单元初始化;循环时间控制;本地时间控制;全局时间控制;主节点控制;总操作控制;时间调度表;设计实现时间调度表可以采取静态调度和动态调度两种方法。静态调度是指,系统设计者在组网之前将整个网络里每个节点在哪一个窗口发送或接收报文的顺序规划好,然后按照规划设计出调度表,再根据每个节点不同的特定知识设将调度表相关内容分散到各节点。这样设计的网络,运行起来之后调度表不能改变。动态调度是指按照系统动态的需求,在系统动作中动态地生成调度表,系统节点再按照调度表发送信息。系统的调度表可以根据不同的系统生成不同的调度表,若系统变化时,调度信息也随之变化。

3 结语

TTCAN系统的应用前景很大,中国正处在高速发展阶段,居民拥有的汽车数据逐年上升,交通事故率也相对增加给交通造成了很大影响,此系统对于构建智能交通系统是个很好的设想,具有重要的科研意义和使用应用价值。

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

[2]饶运涛.带时间触发的CAN网络设计[J].计算机工程,2008,34(21):216-218.

[3]周震,杨正林.时间触发CAN—TTCAN[J].汽车电器,2005.

[4]卞卡明,黎光显,秦利升.TTCAN的硬件实现及在智能压路机上的应用[J].中国工程机械学报,2007.

[5]Leen G,Hefferman D.TTCAN:a new time-triggered controller area networks[J].Microprocessors and Microsystem,2002,26:77-79.

猜你喜欢
报文时钟总线
基于J1939 协议多包报文的时序研究及应用
别样的“时钟”
古代的时钟
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
有趣的时钟
ATS与列车通信报文分析
时钟会开“花”