微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > CAN总线实时性分析

CAN总线实时性分析

时间:03-25 来源:互联网 点击:
1 引言

CAN(Controller Area Network)即控制局域网,是国际上认为是几种最有前途的现场总线之一。CAN最初由德国的Bosch公司因汽车监控和控制系统的需要而设计,并且被世界各个大的汽车制造厂商采用。目前CAN已经成为国际标准,它的应用范围已经不仅仅局限于汽车行业。在工业过程控制、机械工业、纺织工业、农用机械、机器人、安全检测、数控机床、工业锅炉、医疗器械及传感器等领域也被成功应用,并取得了一定的效益。

虽然CAN的应用非常广泛,但随着自动化技术的不断发展,它的局限性也日趋明显。传统的CAN总线采用了非破坏性总线仲裁技术,当数据传输发生冲突的时候,具有较高优先级的站点会在竞争中胜出.获得数统中,网络结构将越来越复杂,网络负载也越来越大.会造成优先级较低的站点在多次发送数据时与优先级高的站点冲突,并且在竞争中失败而不能发送数据。这样就会导致优先级较低站点数据传输延时的不确定性,时而较大,时而较小,整个网络的实时性和可靠性会大大下降,甚至不能满足控制的需求。目前,解决这一问题的主流思路有两种。第一种是在原有CAN事件触发协议的基础上对总线仲裁方式做一些改进;第二种是采用TTCAN协议。

2 调度算法

2.1动态优先级算法

动态优先级是基于原有CAN事件触发协议的基础上。随着时间的推移动态调整各个站点的优先级的一类算法,相对于原有的固定优先级,它使每个站点都有相同的权力来享受总线的带宽,避免优先级较低的站点得不到总线占有权,保证网络数据传输的实事性。下面介绍一种动态优先级算法。

初始条件下,每个站点的优先级各不相同,在没有发生冲突的情况下,各个站点按初始固定优先级完成数据的发送。当发生冲突后,优先级高的站点在竞争中胜出发送数据,为了能让失败的站点在下次的竞争中有更大的概率胜出,可以把竞争失败站点的优先级提高一个等级来参加下一次的竞争。如果仍然失败再进一步提高优先级等级。即使失败了若干次,但这时候该站点的优先级已经相当高了,竞争胜出的概率也会很大。需要注意的是当优先级低的站点在优先级提高的情况下获得数据发送权并发送完数据后,必须把升级的优先级降低为初始优先级.以保证网络的正常运行。

为了避免在站点优先级提高后网络中有出现两个或者多个站点具有相同的优先级,可以采用下面的方法来避免,假设在帧格式中,表示站点优先级的位数为m,可以表示的最大数为2m-1。网络中的站点数必须满足n≤m,每个站点的初始固定优先级为2m-1-a,a为[0,m-1]区间的一个值。当站点竞争失败后。优先级的增加算法是:

新优先级=原站点优先级-n

n=5,m=6,2m=64时各站点升级优先级如下表所示:

表1各站点优先级升级表



图1 动态优先级算法流程图

2.2 TTCAN协议

TTCAN(时间触发CAN)是CAN协议的另一种扩展,它依赖于一个静态TDMA时间表来保证确定的响应时间。该协议通过主定时器把CAN的通信分割在基本周期内。在每个基本周期内,主定时器将信道的使用时间分成一个个的时间窗口(时隙),并且按一定规则将这些时间窗口分配给不同类型的信号,信号只能在各自的时间窗口内独占信道进行传输,消除了信号之间的互相干扰。TTCAN的一个基本周期包括参照信息、独占窗口、仲裁窗口、自由窗口四类窗口。参照信息是由主定时器发送的控制基本周期的时态。它的发送表明了一个基本周期的开始。在扩展层1,参照信息仅持有一位控制信息,剩下的CAN信息用于数据传输。在扩展层2.参照信息持有附加的扩展信息,如当前主定时器的全局时间信息。在保证向下兼容时,这层的参照信息占有4位,余下的4位也是用于数据传输。独占窗口仅为某个特定的信息传输预留的时间窗口。在此窗口中,无法成功传输的信息的自动重发机制被禁用,以保证信息传输不产生延时。在仲裁窗口中,信息可以采用CAN的非破坏性冲突解决处理方式来进行传输。自由窗口是为网络的进一步扩展预留的窗口。这个协议的一个相关特性就是不能使有错的报文自动再传送。这个特性对TITAN通信的数据一致性有很大的影响,从而在确保在可靠性的基础上提高实时性。

3 仿真实验

3.1为了比较动态优先级和TrCAN两种调度算法的性能, 建立CAN总线通讯系统仿真实验平台,如图2。

3.2实验平台功能

模拟网络的拓扑结构;
模拟总线参数;
记录消息帧的发送和接受时刻。
整个仿真平台由三大系统组成,即:网络环境模拟系统、网络错误产生系统、网络监控系统。


图2实验平台结构示意图

3.3实验方案

仿真系统模拟数控机床的通讯系统,有8个节点,向每个节点分别放送周期型和事件型消息帧.同时改变网络的负载率(10%,20%,30%)。分别在CAN和TTCAN两种调度算法下进行实验,比较分析两种算法下网络节点的时间延迟。

3.4实验结果及分析

1、周期型消息帧在两种iJ司度算法F的仿真实验。各节点发送200帧消息,得到各帧消息的延迟时间,以节点1为例,实验统计结果如下:

表2周期型帧消息实验结果


表2所示数据表明。随着负载率的升高,动态优先级下周期型消息帧的延迟时间也明显增加;随着负载率的升高,TIEAN下周期型消息帧的延迟时间比较稳定。比较发现相同负载率下,TTCAN的周期型消息帧时间延迟均值要比动态优先级的周期型消息帧时间延迟均值略小。

2、事件型消息帧在两种调度算法下的仿真实验。各节点发送200帧消息,得到各帧消息的延迟时间,以节点1为例,实验统计结果如下:

表3 事件型消息帧实验结果


表3所示数据表明,随着负载率的升高,动态优先级下事件型消息帧的延迟时间增加量较小;随着负载率的升高,TTCAN事件型消息帧的延迟时间也有明显增加。比较发现,发现相同负载率下,动态优先级下的事件型消息帧时间延迟均值要比TTCAN下的事件型消息帧时问延迟均值略小。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top