CAN总线通讯发展的过程中,为了兼容实时操作系统,是否也有与之对应的实时通讯网络协议? 今天我们就来学习兼容性更强大的通讯系统。
ISO11898前3部分的解读提高了对传统CAN网络的理解,无论是高速CAN还是低速CAN,亦或者是最基础的物理层定义都进行了详细的阐述。传统的CAN网络总线通讯基本都是事件触发的,当同时有许多信息需要传输时可能会造成总线过载,为了避免这种现象,传统CAN网络采用仲裁机制按信息优先级进行传输。
图1 新能源汽车CAN总线透视图
显然,传统分布式的CAN网络如果能用于实时操作系统(基于时间触发调度而非事件触发),对于系统的兼容性和综合集成性将大有提高,但问题是我们如何才能将并非同样遵从时间调度的两者结合起来呢?
一、时间触发CAN
1、概述
时间触发CAN是建立在标准CAN上的高层协议,它会对网络中所有节点通讯进行同步调度,也就是每个节点在一个固定的时间里发送信息,这样就不用再对信息进行优先级仲裁,由于每个节点分配到的时间是固定的,所以还可以预判整个网络的延迟时间。
1.1 要实现这样的时间触发CAN通讯有两种方式
方式一:用于周期信息传输。
方式二:支持全局系统时间传输。
1.2 几个重要概念
-
基本周期:两个参照帧之间的时间被称为一个基本周期,基本周期由数个时间窗组成;
参照帧:开始一个基本周期的数据帧,为网络提供一个全局时间,其作用就好像格林尼治时间之于世界时间一样,用以同步所有节点的时间;
时间窗:系统矩阵里为传输信息分配的时间段,包括仲裁时间窗、自由时间窗和专用时间窗,见图2。
图2 一个周期内的数个时间窗
所谓的时间触发就是上面已经分配好的的数据从左到右按顺序发送,下面介绍一下这三种时间窗:
-
专用时间窗(Exclusive Windows):用来传输特殊的周期信息,这些消息不会参与总线竞争,是置身事外的一个记录员角色。
仲裁时间窗(Arbitrating Windows):CAN节点在总线不是空闲的时候是不能传输消息的,而在时间触发CAN的仲裁时间窗里可以安排网路内的几个节点同时发送报文,不过没有重发功能。
自由时间窗(Free Windows):保留用作系统扩展,可以配置成增加节点的仲裁时间窗或专用时间窗,相当于机动部队。
图3 系统矩阵
上图的系统矩阵有4个基本周期,一个基本周期可由不同类型、长度的时间窗组成,矩阵的纵列也叫做传输阵,传输阵里的时间窗有相同的长度但是可以拥有不同类型。
二、接收和发送
明确完了概念,我们接下来了解时间触发CAN是如何接收和发送信息的。
1、信息的发送
信息发送触发器
在时间触发CAN网络里,节点发送的信息由信息发送触发器控制。信息发送触发器会显示信息是由系统矩阵里面的哪个时间窗以及怎么来进行传输的。
所以,信息发送触发器有多个功能组,一是信息正确性判断,二是发送的时间标示,三是判断传输阵里的发送位置,四是重发因数,一个信息发送触发器的触发条件满足时,即使信息的传输出错导致信息失效时它也将立即启动。
图4 举例一个专用信息的发送触发器
上图是一个专用信息D的信息发送触发器,它表述了在系统矩阵里第三个基本周期的第五个时间窗(专用窗)发送,周期偏差为0,重发因素为2。
2、信息的接收
信息接收触发器
在时间触发CAN里,信息的接收是由信息接收触发器控制的,信息接收触发器的构成与上述的信息发送触发器一样,信息接收触发器的时标会在信息接受完成后确定时间点。
3、参照帧的发送
信息接收触发器
参照帧发送触发器是一个特殊的信息发送触发器,它只存在于备用的时间主节点里。在严格的时间触发网络中,只用唯一的一个参照帧发送触发器来确保参照帧的周期发送,只要时间到了,参照帧就会被发送。
而在事件同步的基本周期系统中会有两个参照帧发送触发器,其中一个参照帧发送触发器按系统矩阵基本周期定时发送,另一个作为后备,在事件同步异常时重新发送参照帧。
三、时间主节点初始化和错误处理
1、时间主节点初始化概念
虽然正常通讯建立起来时只有一个时间主节点,但在时间触发CAN中备用的时间主节点可能超过8个。系统启动时,硬件初始化,所有备用时间主节点根据优先级和等待时间可以开始尝试发送参照帧。硬件初始化后有高优先级的CAN标识符的帧同步实体(数据链路层和媒体访问控制层的执行单元)可以优先传输。
2、错误处理
CAN的失效处理遵循ISO 11898-1的规定,当帧同步实体检测到调度表有误时,会通过CAN的ISO 11898-1协议来处理。
图5 错误处理
四、小结
至此,我们将时间触发CAN网络进行了一个概述,简单介绍了这个有别于传统CAN标准的高层协议,需要CAN总线协议ISO11898标准的,请在以下地址下载:
CAN总线协议国际规范下载-ISO11898_1-5-CAN分析仪,CAN FD,LIN,CAN2.0,LIN总线分析,USBCAN卡,USBCANFD接口,CAN总线记录仪,CANedge,CANmod.gps,Vehicle Spy,ValueCAN,ES581,ES582,英特佩斯,MW60CK,VCI60CL,INCA,UDS诊断,ECU标定卡-菲益科电子CAN总线协议国际标准规范下载-ISO11898_1-5英文原版,免费下载https://www.vecll.com/download/iso11898.html