1、1换挡控制系统故障诊断通信设计摘 要:文章针对车辆换挡控制系统,采用 SAE J1939/73 协议,设计了故障诊断 CAN 总线通信网络;规定各节点源地址、报文优先级、SPN定义和多包报文传输等,利用单调速率分析方法评价 CAN 网络。结果表明,在总线波特率为 250 kb/s 时,总线平均负载率为 10.67%,通信满足实时性要求。 关键词:换挡控制;故障诊断;SAE J1939/73 协议 中图分类号:U262.27 文献标识码:A 文章编号:1006-8937(2013)02-0100-02 电子技术的广泛应用使换挡控制系统越来越复杂,随着人们对换挡平顺性的要求日益提高,对汽车排放法规
2、的日趋严格,传统的诊断方法已经难以适应要求。 CAN(Controller Area Network)即控制器局域网络最初是由德国的博士公司为汽车监测与控制系统而设计的。现代车辆对采用电控越来越多地,如发动机的电喷,刹车控制及车身稳定系统等,这些控制需要及时检测及交换大量数据。CAN 属于总线式串行通信网络,用来实现汽车内部控制系统与各检测和执行机构间的数据通信,其基本协议只有物理层和数据链路层,而没有应用层。针对面向用户层面的应用开发,不同的行业组织相继在 CAN 的基础上制定了一系列具有应用层的通信协议。 根据 CAN 总线的技术特点,本文设计了一种基于 CAN 总线的自动变2速器故障诊断
3、系统,通过分布式智能控制来提高自动变速器故障诊断的测试、诊断技术水平。 1 诊断协议设计 自动变速器故障诊断的总线标准主要有 ISO15765 标准和 SAE J1939协议。ISO15765 规定了外部故障诊断设备和车载 ECU 之间的报文传输,对两个 ECU 之间的数据传输没有做出规定。SAE J1939 仅规定了外部诊断设备和 ECU 之间的通信,还允许 ECU 相互之间进行故障报文传输,动态更新并显示当前故障代码。当控制系统中的某个 ECU 发生故障时,通过总线通信,其它 ECU 就可以采取相应的容错控制,并及时告知驾驶员。本文正是基于 SAE J1939 协议进行了故障诊断通信设计。
4、 1.1 网络节点组成 1.1.1 网络拓扑结构 自动变速器故障诊断系统通信的总线网络由发动机、变速器控制器、档位选择器、显示屏等 4 个节点组成。控制系统网络拓扑结构如图 1 所示,其中发动机部分包括油门控制、发动机转速,显示屏部分为故障诊断结果或故障显示灯控制,档位选择器包括汽车刹车踏板、驻车手柄位置等,变速器控制器包括油温、输出转速、换挡电磁阀等。 按照 SAE J1939/11 物理层定义,其波特率设置为 250 kbps。 针对自动变速器故障诊断系统的几个节点,其总线节点地址设置如表 1 所示。 1.1.2 总线节点地址 针对可疑参数号 SPN 用来识别具体的部件,与通信参数相对应,
5、对3于实现故障诊断功能至关重要。按照 SAE J1939/21 数据链路层定义,针对可疑参数号 SPN 的请求与响应,以及传输机制,定义应用的可疑参数号 SPN 如表 2 所示。 1.2 故障诊断代码定义 SAE J1939/73 协议通过定义一组诊断报文(DMx)实现诊断功能,本文定义应用的诊断模式见表 3。故障代码指示发生故障的部件,以 4 字节发送,由可疑参数号 SPN、故障模式标识符 FMI、转换方式 CM 和故障发生次数 OC 等 4 部分组成。转换方式位为 0,不定义故障发生次数,全部置 1。定义应用的故障模式标识符 FMI 见表 4。 定义黄色警告灯状态,其它故障灯状态不定义。当
6、控制系统发生故障时,黄色警告灯点亮。 1.3 诊断通信流程 当检测到控制系统当前存在故障时,变速器控制器广播故障报文DM1(参数组 0xFECA) ,并存储冻结帧参数。如需获取冻结帧参数,外部诊断设备应发送请求报文。当系统当前的故障消失时,发送一次不包含故障代码的 DM1,即将包含故障码的 4 个字节全置 0,让显示屏显示的故障消失。同时,存储历史故障码。 当控制系统存在历史故障码时,外部诊断设备可以连接到总线,请求变速器控制器发送历史故障码 DM2。如需清除历史故障码,外部诊断设备发送清除历史故障码报文 DM3。清除完毕后,变速器控制器发送肯定应答,假如不能执行请求,则发送否定应答。 2 C
7、AN 网络性能分析 4CAN 网络的数学分析采用单调速率分析法,该方法可以确定总线平均负载率和报文延迟时间,评价任务能否满足最低实时性要求。 总线负载率是指报文占用总线时间百分比的总和。SAE J1939 协议采用 CAN 扩展帧,每个扩展帧发送一帧报文所需时间 Cm: Cm=(67+8sm+Stuff2+(3+1.6sm) )Tbit 其中,sm 为报文数据域字节数;Stuff2 是报文前 39 位所需要的填充位数,取最大值 4 计算;Tbit 是位时间,波特率为 250 kbps 时,Tbit=4 ms。CAN 网络中各报文的数据域字节数和发送频率见表 2。 由上式可得总线平均负载率。通过
8、估算单位时间内总线上的报文数,得到总线平均负载率。假设系统出现所有能检测到的故障 15 个,则故障诊断多包报文共有 10 个。计算得到的总线平均负载率为 10.67%。为接入发动机节点和缓速器节点预留了总线资源。 3 结 论 基于 CAN 总线是汽车故障自诊断系统的发展趋势。本文采用 SAE J1939 协议,设计了自动变速器 CAN 总线物理层、数据链路层、应用层和故障诊断。明确了各个节点源地址、优先级、参数组编号、多包报文发送和故障诊断管理等一系列规定,并利用单调速率分析法对 CAN 网络进行分析和评价,结果表明,总线平均负载率仅为 10.67%,满足实时性要求,具有一定的实际应用价值。 参考文献: 1 Ken Tindell, Alan Burns.Guaranteeing message latencies on Controller Area Network (CAN)J.In Proceedings of 1st 5International CAN Conference,1994, (9).