CAN总线开端是由德国BOSCH公司于20世纪80年代初提出的,其时首要应用于轿车电气通讯,它将轿车上各种信号的接线只用两根简练的电缆线替代,而各种电子设备经过CAN操控器挂到这两根电缆上,设备之间进行数据通讯和数据同享,然后大大减少了轿车上的线束。CAN总线结构共同,功用牢靠,现在被公认为是最有出路的现场操控总线之一。
1、依据CAN总线的轿车电子操控网络中潜在问题
从信息同享视点剖析,现代典型的轿车电子操控单元有:电控燃油喷发体系、电控传动体系、防抱死制动体系(ABS)、防滑操控体系(ASR)、巡航体系、空调操控体系等,用CAN总线将各个单元节点连接起来,组成实时通讯网络。
轿车CAN总线网络在实践运转过程中,很多节点之间需求进行很多的实时数据交流,不可避免会呈现总线负荷过大的状况。当信息帧的磕碰概率到达必定程度时,体系中一部分信息帧的收发就会发生延时,乃至底子不能收发成功。这样,当驾驶员刹车时,即便时延只要几个毫秒,但时速100公里的轿车也可能在这期间内全速驶出3~4米,结果将无法想象。
为了处理上述问题,本文提出了一种结合TTCAN(Time Triggered Controller Area Network)技能和动态提升机制[4]各自所长的“动态结合”的调度算法。该算法有用处理了数据的发送时延和抵触问题,改进了CAN总线数据传输的实时性。
2、依据TTCAN技能的时刻触发调度方法
TTCAN由时刻进程驱动,其时刻触发调度由次序固定的时刻窗组成。时刻窗是用于交流报文的时刻片断,一般有三类时刻窗:专用时刻窗(特定的周期性报文)、裁定时刻窗(经过裁定拜访总线的报文)和闲暇时刻窗(为总线扩展所保存),如图1所示。专用时刻窗类似于TDMA(时分多路拜访),归于离线进行的静态调度,一切流程和时刻参数均需求预先指定,并能够在多级或多个TTCAN网络内完成同步。TTCAN的大局时刻由时刻主机周期发送的参阅报文发生,它的总线最多能够装备8个具有优先级的时刻主机节点,以保证总线的接连、确定性通讯,优先级最高的时刻主机为当时时刻主机。
图1 TTCAN的根本周期和时刻窗
在节点编程时,能够使用处理器的定时器中止周期作为NTU(Network Time Unit),其值界说为在CAN总线上以1Mbps的速率传输1帧8字节数据帧所需时刻的八分之一,约为16.75μs。对周期中止次数进行计数,总线的调度从主节点发送参阅报文开端,当计数器值与节点设定值相符时,则发送周期报文。传输数据帧时的时刻窗使用率能够界说为:时刻窗使用率=(传输数据帧所需的NTU数/时刻窗长度)×100%。在实践测验中能够发现,其时刻窗小、调度周期数大时,误码率较大;其时刻窗增大即时刻窗使用率较低时,误码率根本维持在很低的水平。
3、依据动态优先级调度算法的事情触发调度方法
裁定窗发送事情触发报文,假如选用传统的静态优先级分配机制,将会在网络担负深重的状况下呈现发送传输时延或许丢掉报文。而动态优先级调度算法则能很好地处理这一问题。以下是该算法的根本原理。
首要,将CAN的裁定域(以扩展帧格局为例)分红优先级和标识两部分,如图2所示。标识部分是固定用来标识协议帧的,这也是协议帧的专一标识,与传统协议帧标识符的含义完全相同;优先级部分现已不再具有协议帧的标识功用,而仅仅表明协议帧的优先级功用,所以它能够依据总线调度机制分配给协议帧的优先级的改变而改变。
图2 CAN扩展帧格局的裁定域的区分
其次,当协议帧第一次发送、且当它在发送时和其他协议帧磕碰并失掉裁定时,即退出发送,并置优先级上升一位后,再从头发送。由于这时其优先级高于其他协议帧,在整个网络中假如没有其他与之具有相同优先级的协议帧一起发送,即便和其他的协议帧(处于第一次发送的)磕碰,也会赢得裁定,所以发送成功的概率很大。