基于K线的BCM诊断的实现

分享到:

引言:
随着汽车电子系统越来越复杂,诊断功能已经成为ECU软件设计的一个重要组成部分,对ECU控制系统的正常运行及其大规模应用的市场化过程非常关键。随着ECU功能的增加以及升级换代的需要,诊断标准及厂商自定义诊断功能越来越丰富,各种服务子功能也越来越细化,增加了诊断的难度,因此,深入研究诊断协议及其实现非常必要。K线和CAN总线是业内广泛采用的两种诊断标准【1】,CAN总线在欧美车中广泛使用,而K线在国产车中应用广泛,笔者结合为某国产车型开发一款BCM(Body Control Module,车身控制模块)的经验,分析K线规范,然后从故障自诊断和在线诊断两个方面讲述一下BCM诊功能的设计与实现。
1 K线协议分析
K线是ISO9141定义的用于诊断通信的串行数据总线,ISO14230在ISO9141的基础上将其总线电压扩展到24V,并完整定义了KWP2000协议,完善了诊断通信标准,扩展了诊断服务【2】。K线通信采用SCI数据格式,数据链路层在串口通信上以软件形式实现,物理层比较简单,通过单根物理线完成半双工异步通信,选择LIN总线物理层芯片即可完成物理电平与逻辑电平的转换。
ISO14230-1定义了K线物理层协议,ISO14230-2定义了数据链路层协议,ISO14230-3定义了应用层协议及各项诊断服务,下面从报文结构、初始化过程、定时参数三个方面重点介绍下其数据链路层协议。
1.1 报文结构
K线诊断报文结构如表1所示:

K线报文由报文头、数据字段及校验和组成。报文头包含格式字节Fmt、目标地址Tgt、源地址Src和附加长度信息Len;数据字段包括服务标识符Sid和数据Data,其长度由Fmt和Len决定;校验和CS为单字节校验,计算方式为对报文头和数据字段中的所有数据累加求和,忽略求和过程中产生的进位。
1.2 初始化过程
诊断仪在对ECU进行任何诊断服务之前,首先需要建立和ECU之间的诊断通讯,这是通过“初始化过程”实现的。ISO14230定义了两种初始化方式-5 Baud初始化和快速初始化,5 Baud初始化是为了向后兼容ISO9141的需要,现在广泛实现的是快速初始化方式。该过程如图1所示,诊断仪发送一个WuP(WakeUp Pattern),然后发送StartCommunicationRequest,ECU检测出WuP,然后发送StartCommunicationResponse,返回ECU支持的报文头格式、定时参数等信息。


图1 快速初始化过程
1.3 定时参数
在诊断过程中,需要遵守一些定时参数的约束,以保证正常的诊断通讯,ISO14230定义了4个定时参数管理字节间定时和报文间定时,图2为定时参数的示意图,表2解释了这4个定时参数的含义及取值区间。


图2 定时参数示意图


 

继续阅读
恩智浦携手广汽集团共同开发新一代车载网关平台

恩智浦半导体(纳斯达克代码:NXPI,以下简称“恩智浦”)今日宣布携手广汽集团共同开发基于以太网和安全的新一代车载网关平台,从而推动国内首个整车制造企业自主研发的以太网网关项目落地。恩智浦将为该平台的开发提供参考设计和完整的网关解决方案,涵盖微控制器和网络接口等半导体器件。双方将通过半导体企业与整车制造企业直接开展技术合作的形式,实现我国汽车产业生态合作模式的突破及创新。

基于K线的BCM诊断的实现

引言:随着汽车电子系统越来越复杂,诊断功能已经成为ECU软件设计的一个重要组成部分,对ECU控制系统的正常运行及其大规模应用的市场化过程非常关键。随着ECU功能的增加以及升级换代的需要,诊断标准及厂商

汽车电子产值破3000亿但核心技术仍缺失

中国的汽车电子业似乎到了爆发的时机,2012年中国汽车电子产值将达3000亿元,谁都没有否认这一产业会发展得如此迅速。在光鲜的背后这一产业的本土成分真正占到了多少,没有人进行统计。 核心技术的缺失注

恩智浦“汽车电子与智能交通”战略星盘

当恩智浦物联星球的大幕缓缓开启,拨开银行卡安全的物联迷云,恩智浦在华“汽车电子与智能交通”的战略星盘,也日渐清晰地呈现在众人眼前。随着汽车新注册量和年增量均达历史最高水平,智能交通已是势在必行。作为全球最大的汽车半导体供应商和安全互联汽车的领导者,恩智浦致力于通过引进国际领先的技术和经验推动中国的“智能交通”互利合作的大潮。本篇文章就带您一览恩智浦在“汽车电子与智能交通”领域的风采。

基于ISO26262的动力电池BMS解决方案

在汽车行业,提高安全性永远是不变的科技趋势。电池管理系统BMS引入汽车电子行业标准ISO26262,有助于规范产品质量体系,推动行业健康发展。BMS即Battery Management System,电池管理系统,作为新能源汽车“三电”核心技术之一,BMS在HEV/EV上扮演重要作用。