微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 基于OSEK_VDX的乘用车车身CAN网络管理与实现

基于OSEK_VDX的乘用车车身CAN网络管理与实现

时间:04-12 来源:山东科学 点击:

可以传送特定的消息帧作为网络管理的主ECU ,其他节点ECU 被网关无声的(mute) 传送某特定的信息帧超时监控。每个节点ECU 必须要发送特定的周期性接受状态存在的(present) 特定消息帧可以被接受的帧来实现被监督。一个网络节点存在两种状消失的(absent) 态:接受状态或者发送状态,如表1 所示。

3. 2  CAN 车身网络状态管理

为了实现车身网络的低功耗,网关系统会协调控制,在这个状态只能接受外部唤醒帧,或内部唤醒帧等,不能接收功能信息帧[4] 。

图1 所示为4 种网络状态的转换图。箭头方向为ECU 状态转换的方向,ECU 初始状态进入休眠状态,如果有网关的唤醒命令,那么ECU 进入唤醒状态,如果在唤醒状态收到网关的正常状态的命令,那么ECU 进入正常的状态。其他状态转换类似[5] 。

4  网络管理的设计方法


图1  网络状态转换

网络节点ECU 通过C MUTE 和C ABSENT 计数器来确定节点是不是达到了MUTE 或ABSENT。当计数器达到255 时,节点就出现了故障。故障的出现或消失, ECU 通过事件类型帧的方式发送故障帧到网关。故障帧设计实例如表2 所示。

帧的ID 为0x499 ,DLC 为8 。其中第1 个字节表明故障是出现还是消失,第2 ,3 两个字节表明了故障代码,第4 个字节表明了故障后是否需要功能降级。第5 到8 个字节表明故障的其他情况。C MUTE 和C ABSENT 的计数加减规则是通过监督不同周期型的帧来完成的。对于C MUTE ,如果ECU 没有成功发送一帧数据,那么C MUTE 加数直到255 ,故障确认。如果ECU 成功的发送一帧数据,那么C MUTE 减数直到0,故障消失。同理,对于C ABSENT ,如果ECU 没有成功接收一帧数据,那么C ABSENT 加数直到255 ,故障确认。如果ECU 成功接收一帧数据,那么C ABSENT 减数直到0,故障消失。在实际例子中,对于周期为200ms 的帧,如果3 帧数据没有发送成功或接收成功,增量为77 , 减量为26 。对于周期为100ms 的帧,如果3 帧数据没有发送成功或接收成功,增量为39 , 减量为13 。所以,如果使用这样网络管理方式,每个ECU 必须有一个100ms 或200ms 周期发送的帧。C MUTE 和C ABSENT 的故障类型可以根据具体情况自己定义。图2 所示为节点K的C-ABSENT 计数规则,分别表示了节点K的技术规则,节点K的缺失或存在状态与计数器之间的关系以及节点K的扩展状态。



图2  节点K的C ABSENT 计数规则

实现网络管理的另一个帧是监督帧。监督帧是一个周期性的帧,ECU 按照周期发送监督帧到网关。主要内容包括ECU 的CAN 总线的物理错误(如果是低速容错CAN) , ECU 单元是否ABSENT,ECU 单元是否MUTE ,ECU 单元的BUSOFF 次数以及ECU 单元的发送超时错误的次数[6] 。通过这些参数,网关会了解到当前ECU 的运行情况。如果出现错误情况,网关会将这些错误记录到EEPROM 中,这样有利于维修人员通过诊断工具进行后期诊断,并且能够判断出在行车时不易跟踪的随机出现的故障。

5 小结

随着中国技术实力的不断提高和国家政策的调整,中国的汽车企业将不再只重视市场,正在逐渐将重点放在了核心技术的突破上。本文的支撑项目就是在这个大背景下实施的。基于CAN 网络的网络管理方法和网络状态管理已经在某车型得到了应用,运行良好,证明了方法的可行性与可靠性。

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

网站地图

Top