新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于K线的BCM诊断的实现

基于K线的BCM诊断的实现

作者:马建辉,庄汝科,王知学时间:2012-02-13来源:电子产品世界

  引言

本文引用地址:http://www.eepw.com.cn/article/128876.htm

  随着汽车电子系统越来越复杂,诊断功能已经成为ECU软件设计的一个重要组成部分,对ECU控制系统的正常运行及其大规模应用的市场化过程非常关键。随着ECU功能的增加以及升级换代的需要,诊断标准及厂商自定义诊断功能越来越丰富,各种服务子功能也越来越细化,增加了诊断的难度,因此,深入研究诊断协议及其实现非常必要。和CAN总线是业内广泛采用的两种诊断标准,CAN总线在欧美车中广泛使用,而在国产车中应用广泛,笔者结合为某国产车型开发一款(Body Control Module,车身控制模块)的经验,分析规范,然后从故障自诊断和在线诊断两个方面讲述一下诊断功能的设计与实现。

  K线协议分析

  K线是ISO9141定义的用于诊断通信的串行数据总线,ISO14230在ISO9141的基础上将其总线电压扩展到24V,并完整定义了KWP2000协议,完善了诊断通信标准,扩展了诊断服务。K线通信采用SCI数据格式,数据链路层在串口通信上以软件形式实现,物理层比较简单,通过单根物理线完成半双工异步通信,选择LIN总线物理层芯片即可完成物理电平与逻辑电平的转换。

  ISO14230-1定义了K线物理层协议,ISO14230-2定义了数据链路层协议,ISO14230-3定义了应用层协议及各项诊断服务,下面从报文结构、初始化过程、定时参数三个方面重点介绍其数据链路层协议。

  报文结构

  K线诊断报文结构如表1所示。

     

  K线报文由报文头、数据字段及校验和组成。报文头包含格式字节Fmt、目标地址Tgt、源地址Src和附加长度信息Len;数据字段包括服务标识符Sid和数据Data,其长度由Fmt和Len决定;校验和CS为单字节校验,计算方式为对报文头和数据字段中的所有数据累加求和,忽略求和过程中产生的进位。



关键词: K线 BCM

评论

技术专区

关闭