文档库 最新最全的文档下载
当前位置:文档库 › 2种汽车诊断协议对比浅析_田晓川

2种汽车诊断协议对比浅析_田晓川

6

《汽车电器》2008年第12期

设计●研究Design ●Research

收稿日期:2008-09-23

作者简介:田晓川(1958-),男,高级工程师,启明车载电子有限公司技术总监;王励明(1980-),男,长春工业大学硕士研究生;闫

厉,长春工业大学教授;田丽媛(1986),女,吉林大学计算机科学与技术学院硕士研究生。

随着电控单元(ECU )在汽车中的大量应用,汽车性能已变得越来越好,结构也变得越来越复杂,因此,故障诊断的难度也随之增大,因而有必要建立一个监控系统来监控整个系统的运行状态,不断检测系统的变化和故障信息,进而采取必要的措施,防止事故的发生。众多国际知名汽车公司早在20世纪80年代就积极致力于汽车网络技术的研究及应用。迄今已有多种网络标准,并有在各种网络上的诊断协议。目前,在国内使用的比较多的是

ISO14230、ISO15765和SAE J1939,本文主要讨论

前2种协议。

早在1994年以前,ISO 制定了ISO14230,到目前为止,ISO14230是许多汽车厂商采用的诊断通信标准,是基于K 线诊断的。由于诊断系统独立于车载CAN 网络,这使得系统成本增加,内部网络变得复杂。为解决上述问题,2000年欧洲汽车厂商推出一种基于CAN 总线的诊断系统通信标准ISO15765,它可满足E-OBD 的系统要求。

1与OSI 7层协议的对比

两协议以OSI (Open Systems Interconnection )

7层协议为基础。两者和OSI 7层协议对比见表1。

2物理层

2.1

K 总线

ISO14230-1:协议的这个部分是基于ISO9141-2、

ISO9141,道路车辆—诊断系统—数字信息交换技

术要求。波特率为10.4kb /s ,用单线(K 线)通信,也可用双线(K 线和L 线)通信,目前多用单线通信。逻辑电平定义是:逻辑0———信号发射端电压值小于20%的VB ,信号接收端电压值小于30%的VB ;逻辑1———

信号发射端电压值大于80%的VB ,信号接收端电压值大于70%的VB 。通信前通常要初始化,一般有5波特率、快速初始化2种,根据需

2种汽车诊断协议对比浅析

田晓川1,王励明2,闫厉2,田丽媛3

(1.长春启明车载电子有限公司,吉林长春

130012;2.长春工业大学,

吉林长春

130012;3.吉林大学)

摘要:目前汽车诊断协议比较常见的是ISO15765、ISO14230、SAE J1939,本文就前2种常见的汽车诊断协议进行简单阐述,并在各自协议的相对层进行了比较,分析了各自的优缺点。

关键词:ISO14230;ISO15765;CAN 总线;K 总线中图分类号:U463.601

文献标识码:A

文章编号:1003-8639(2008)12-0006-03

Contrast and Analysis on Two Automotive Diagnostic Protocols

TIAN Xiao-chuan 1,WANG Li-ming 2,YAN Li 2,TIAN Li-yuan 3

(1.Changchun QiMing Vehicle Electronics Co.,Ltd.,Changchun 130012,China ;

2.Changchun University of Technology ,Changchun 130012,China )

Abstract :The common automotive diagnostic protocols at present include ISO15765,ISO 14230and SAE J1939.This paper introduces the former two,contrasts them in the equal layer and analyzes their advantages and disadvantages.

Key words :ISO14230;ISO15765;CAN bus ;K-line

OSI 7层协议诊断应用层应用层会话层表示层传输层网络层数据链路层物理层

ISO 14230(KWP2000)User defined ISO 14230-3

N /A 1)N /A N /A N /A ISO 14230-2ISO 14230-1

ISO 15765(UDS ON CAN )

User defined ISO 15765-3ISO 15765-3

N /A N /A ISO 15765-2ISO 11898-1ISO 11898-1

表1两协议与OSI 7层协议对比表

1)未定义或不可用。

DOI:10.13273/https://www.wendangku.net/doc/391382085.html,ki.qcdq.2008.12.013

7

《汽车电器》2008年第12期

Design ●Research 设计●研究

要,有的ECU 不需要初始化即可通信。K 线本质上是一种半双工串行通信总线。

2.2CAN 总线

ISO15765协议的物理层和数据链路层遵循

ISO11898-1标准。ISO11898即道路车辆—数字信息

交换—高速通信用局域网控制器,第一部分规定了数据链路层和物理层。

CAN 总线用CAN-H 和CAN-L 的差分电压表示显

性和隐性,以此来表示数据的1和0。通信速率和通信距离成反比,见表2。

CAN 总线通信一般不需要初始化,上电以后就

可以直接通信。CAN 通信线上的120Ω电阻,起增大负载、减少回波反射作用,是一种阻抗匹配的补救措施。

3数据链路层

3.1

ISO14230

ISO14230的数据链路层需求在ISO14230-2中定

义,格式如图1所示。

数据链路层完成的功能是把从应用层传来的数据打包,传给物理层,主要是两部分工作,分别是加报文头和在报文尾加校验和。报文头中第1字节的高两位表示了报文类型;第1字节的低六位表示报文数据域的长度,为0时,用报文头的第4字节表示数据域长度,最多255字节。报文头的第2个字节表示目标地址,第3个字节表示源地址;数据部分是应用层传来的数据;校验和能确保报文的正确性,计算方法是报文部分(除最后一个校验和字节)所有字节的累加和,取一个字节,溢出部分舍去。

3.2ISO15765

在ISO11898-1中定义。功能是把网络层传来的

CAN ID+DATA 加上一些信息,打包成在CAN 总线

上传输的CAN 帧。标准CAN 帧格式如图2所示。

ISO15765可以使用标准帧(11位标识符),遵

守CAN2.0A ,11位标识符定义了CAN 节点在总线上的惟一地址。若11位地址全是1,则报文是作为全局广播。报文的优先级是11位标识符从高位到低位按位仲裁,0的优先级高于1。也可以使用扩展帧(29位标识符)遵守CAN2.0B 。

4网络层

网络层为高层屏蔽系统间连接时所使用的数据

传输及切换等技术细节;负责建立、维护以及拆除连接。

ISO14230没有定义此层。

ISO15765的网络层定义在15765-2中,定义了

网络层的功能是组包、分包、位填充和时间控制。

要完成组包分包则需要一个控制信息,这部分协议定义了一个PCI (协议控制信息)来完成数据的传输。

从应用层接收数据后,判断是属于长数据还是短数据。

1)如果小于等于7,则生成单帧PCI (一字节)

放在PDU 的数据域中,加上CAN 标识符一起传输给数据链路层。

2)当大于7时,把前6个字节放到FF 帧中,并

加上PCI (2个字节),一起放到PDU 的数据域中发给数据链路层。启动As 计时器,在As 溢出时仍没有

收到确认帧,向应用层报错。若成功,把数据的7-

13,14-20……分别加上连续帧PCI 组成CAN 帧,其

中连续发送帧的个数要根据FC (流控制)中的BS (BLOCK SIZE )确定;连续发送的时间间隔也要根据FC 中的STmin (STmin 为连续发送CF 时的最小时间间隔)确定。每次都是在收到流控制,再根据FC (流控制)发送剩余数据,直到全部数据发送完。此处还要注意,CF 的序号用的是4位表示,因此可以表示0-15,当序号为15时,下一个连续帧的序号重新计数,也就是再从零开始编号,如此循环编号,直到所有数据传完。

3)当单帧和连续帧的最后一帧加上PCI 信息不

够8个字节,即数据域没有全部使用时,协议规定要填充,具体的填充位可以根据ECU 和诊断设备共同定义。目的是使在CAN 总线上传输的数据都是8个字节,省去数据链路层去计算DLC 。

以上是在发送的时候的拆包过程,相反地,如果接收来自ECU 的数据时,网络层完成的是组包的过程,需要一个缓冲区,可以存放接收的数据,缓冲区要有足够的空间。短数据相对简单,长包则需要把接收到的FF 和CF 中的数据提取出来,按照编号重新组合成长包,返回给应用层

图1

ISO14230

数据格式

图2标准CAN 帧格式

波特率/(kb /s )传输距离/m

510000

100620

250270

500130

100040

表2

通信速率与通信距离成反比关系

8

《汽车电器》2008年第12期

设计●研究Design ●Research

5应用层

在汽车诊断协议中应用层就是有关诊断的应用

了,比如说,要读故障码,那么就要诊断仪和ECU 约定好,哪个号是表示诊断仪请求ECU 的故障码的。ISO14230和ISO15765比较类似,后者在早期的版本中使用的就是ISO14230的应用层,在以后的版本中ISO15765采用了ISO14229的标准,ISO14229即

UDS (统一诊断服务)。

这2个协议的应用层分别定义在ISO14230-3和

ISO15765-3中。其数据格式如下:

SID (服务号)+[SUBFUNC (子功能)]+[PID

(参数列表)]+[数据]

相同点:这些请求的消极响应都是一个统一的服务号7F SID NRC ,NRC 表示的是消极相应码,表示失败原因。

例如:要建立会话,发送的数据就是1081,这个数据在ISO14230中的含义是要建立标准会话,而在ISO15765中则是1001,建立默认会话。10是请求会话的服务号,而81和01表示的是子功能。没有PID 和其他数据。

积极响应ISO14230是5081,ISO15765的则是

5001XX XX XX XX (表示应用层的时间参数定

义),50表示积极响应的服务号,81和01是子功能。

两协议的使用基本上相同,但是在一些具体的服务也有些差别,比如,在ISO14230进行通信前是需要建立连接的,建立的服务号是0x81,在结束的时候要断开连接,而且要发送3E (诊断仪在线服务)。而后者则不需要建立连接,上电后就进入默认会话,可以直接通信,在这个会话下不需要发送

3E ,只有在其他非默认会话的时候才需要发送3E ,

保证会话不断开,而且这个非默认会话的时间控制由会话层完成,可以把这个会话层认为是应用层的附属层。其他的不同点就是服务上的,在ISO14230中,要做Routine 的服务则被分成了3个服务号,而

ISO15765中的Routine 则是在一个服务号下完成的,

只是子功能不相同而已。

62种诊断协议的比较

ISO15765因为它的格式非常固定,CAN ID 表

示请求的地址,而后就是数据域。而ISO14230的头格式则不是非常固定,有的是3或4个字节,后者不用分包,最大可传255个字节。CAN 总线要分多包传输,在另一端组包,K 线的传输速度较慢,多用

10.4kb /s ,CAN 一般用的是500kb /s 或250kb /s 。CAN 帧中的CRC 可以使报文被准确及时地传输到接

收方,K 总线的校验和使用的是数据累加和。

目前多数汽车用于控制的CAN 总线,利用现有的CAN 做诊断是个不错的选择,这样可以降低汽车的生产成本,同时增加CAN 总线的负载。如果要再建立一个K 线网络的话,会增加汽车的成本,K 线做诊断专用,报文互不干扰。CAN 网络上任意一个节点可在任何时候向网络上的其他节点发送信息而不分主从,具有点对点、一点对多点及全局广播接收传送数据的功能。

7结语

KWP2000专用通信协议是目前汽车故障诊断领

域应用较为普遍的串行通信协议,有助于产品的进一步开发,并具有极强的通用性,保证开发的电控系统能够与车辆发动机更好地匹配并实现批量生产。大众集团以前的车型都是KWP2000协议。ISO15765符合现代汽车网络总线系统的发展趋势,已被许多汽车厂商采纳,并将可能成为未来汽车行业的通用诊断标准。大众并非用于排放诊断,而是用于整车诊断。欧洲最新采用的E-OBD 则是基于CAN 的,协议采用ISO15765。

在我国,汽车的诊断还是比较落后的。目前来说,国内车辆多数还是基于K 线的诊断,不过已经有不少开始转向了基于CAN 的诊断,国内的一汽集团的轿车已经开始使用ISO 15765协议做诊断。只有充分理解和掌握这些诊断协议,才能更加方便地了解汽车的故障,准确快速地解决汽车出现的问题,另外对于OBD 的诊断,可以严格地控制汽车的排放,使之符合更高的OBD 排放标准,因此在诊断协议方面,我们还有很长的路要走。参考文献:

[1]ISO15765:Road Vehicles-Diagnostics on Controller Area

Networks (CAN ),2004.

[2]ISO14230:Road Vehicles-Diagnostic Systems ,Keyword

Protocol 2000-Part 3-Application Layer ,2000.

[3]Road vehicles-Diagnostic systems-CARB requirements for

interchange of digital information-ISO 9141.International Organization for Standardization ,1994.

[4]邬宽明.CAN 总线原理和应用系统设计[M ].北京:北京

航空航天出版社,1996.

(编辑文珍)

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

在《汽车电器》上发布广告

能够产生明显的经济效益及社会效益

其效果显著而久远!

相关文档