车载诊断标准ISO 15765-3中文

更新时间:2023-09-06 19:51:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

车载诊断标准ISO+15765-2中文

ISO 15765-3(2004)

道路车辆——控制局域网络诊断——

第3部分:

一元化诊断服务实施(

CANUDS)的

车载诊断标准ISO+15765-2中文

道路车辆——控制器局域网(CAN)的诊断—— 第3部分:

一元化诊断服务实施(CAN的UDS) 1 范围

这部分ISO 15765协议按照ISO 14229-1,描述了在ISO 11898定义的控制器局域网中统一诊断服务(UDS)的实施。它给所有汽车连接至CAN网络服务器及外部测试设备提供诊断服务及服务器存储器编程的需求。它对汽车内部CAN总线架构无任何要求。

2 参考的标准

下述的参考文档对于该文档的应用是必不可少的。

3 术语,定义和缩略词

为编撰该文档目的,这些术语和定义已在ISO 14229-1,ISO 15765-1及ISO 15765-2中给出,以下缩略词术语同样适用。 DA 目标地址 ID 标识符 DLC 数据长度码 GW 网关

LSB 最低有效位 MSB 最高有效位 NA 网络地址 SA 源地址 SM 子网掩码 TOS 服务类型

4 协定

该部分ISO 15765协议基于ISO 14229-1的协定,该协议遵从使用到诊断服务的OSI服务协议。

5 统一诊断服务(UDS)对照OSI模型的应用

见图1

6 应用层及会话层

车载诊断标准ISO+15765-2中文

6.1 应用层服务

该部分ISO 15765协议使用ISO 14229-1的客户机-服务器式的应用层服务。该系统具有测试、检测、监视,诊断及汽车服务器在线编程的功能。

6.2 应用层协议

该部分ISO 15765协议使用ISO 14229-1应用层协议。

6.3 应用层诊断会话管理定时

重要——任何一个服务器端产生的<N_Result>不等于N_OK的N_USData.indication的指示服务,服务器应用层都不应该有一个应答信息。

6.3.1 概况

下述的是应用层及会话层的定时参数及它们如何在客户机-服务器模式中如何处理的。

图1 OSI模型中,基于CAN的UDS实施

下述的几种通信会话方式需区别开: a) 物理的通信在如下期间 1) 默认会话方式

2) 非默认的会话方式——需进行会话处理 b) 功能的通信在如下期间 1) 默认的会话方式

车载诊断标准ISO+15765-2中文

2) 非默认的会话方式——需进行会话处理

所有的情况下,请求服务器否定应答信息的扩展的定时应答,包括应答码78hex应当予以考虑。

定义在ISO 15765-2的网络层主要是处理客户机-服务器的应用层及诊断会话管理的定时。

6.3.2 应用层定时参数定义

用于默认的诊断会话的应用层定时参数值应按照如下表2设置

表2——默认会话的应用层定时参数定义

车载诊断标准ISO+15765-2中文

P2CAN参数被认为是所有系统网络设计参考延时,该延时通过网关及总线带宽加上安全系数(例如最坏情况的50%)。最坏情况(客户机-服务器-客户机信息传输一个来回的必须

得传送时间),基于系统的设计,并受以下因素的影响: a) 包含网关的数量

b) CAN帧发送的时间(波特率)

c)

CAN总线的使用情况

d) CAN设备驱动使用方法(轮询方式还是中断方式)及网络层的处理时间

P2CAN分为两个时间,一是客户机发送请求至服务器的时间,一是服务器发送应答至客户

机的时间。

P2CAN P2CAN

_Req

P2CAN

_Rsp

图2展示的是 P2CAN组成的一个例子。

图2 —— P2CAN组成的一个例子——单帧请求和应答信息

注意:为了简单描述定时参数,在以下所有的图中,假定客户机到服务器在同一个网络中。所有的说明及附图按照时间顺序表述。

车载诊断标准ISO+15765-2中文

6.3.3会话层定时参数定义

当诊断会话而不是默认的会话启动的时,需要按如下表3的会话层定时参数进行会话的操作。

而且,服务器转变到非默认会话时,应当改变它的应用层定时参数P2CAN

*

P2CAN

_Client

_Server

,以完成适用于诊断会话的操作。非默认的诊断会话适用的定时参数在诊断会

话控制应答信息中报告,当一个应答需要传递(见图9.2.1服务说明)或需要提前通知客户不传递任何应答信息时。当客户机启动功能的非默认会话时,它应当调整响应的服务器的定时参数。

表4定义了客户机和服务器开启/重启的S3Client/S3Server定时条件。对于客户机,周期性发送功能地址(0x3E)请求信息,应当与连续地发送物理地址(0x3E)请求信息区别开,后者仅仅在没有其它任何诊断请求时发送。对于服务器,不需要这两种(0x3E)的操作方式。表4说明S3Server定时器操作是基于网络层服务的,也就是说,S3Server定时器在接收到不支持的诊断请求信息时,重启。

6.3.4 客户机和服务器定时器资源要求

对于客户机及服务器在默认会话及任何非默认会话完成上述时间定时的定时器资源要求应按照表5及6所示。在非默认会话期间,表6所示附加的定时器资源要求适用于客户机及服务器。

车载诊断标准ISO+15765-2中文

表 4 ——客户机及服务器的会话层定时启动/停止条件 定时 参数 动作 物理和功能通信, 使用功能地址, 周期性发送请求信息 N_USData.con 用于指示诊断会话控制 (10hex)请求信息的完成。只适用于 非默认会话的会话类型。 N_USData.con 指示功能地址(0x3E) 请求信息的完成, 它是在 S 3Client 定时 每次到时时发送。 物理通信, 使用功能地址, 连续发送请求信息 若不需应答, N_USData.con 指示诊断会话 控制(10 hex)请求信息的完成。 若需一个应答, N_USData.ind 指示诊断会 话控制(10 hex)请求信息的完成。 若不需应答, N_USData.con 指示诊断会话 控制任何请求信息的完成。 若需一个应答, N_USData.ind 指示诊断会 话控制任何请求信息的完成。 N_USData.ind 在接收到多帧应答信息时, 指示出

错。

S 3Client

初始化 开始

随后的 开始

S 3Server

初始化 开始

如果需要一条应答信息被传送的话,N_USData.con 指示诊断会话控制应答信息的 完成,表示从默认会话转变为非默认会话。 如果不需应答。成功地完成请求的服务,该请求为诊断会话控制( 10 hex)请求 信息要求从默认会话转变至非默认会话,

随后的 结束 随后的 开始

N_USDataFirstFrame.ind 指示多帧请求信息开始,N_USData.ind 表示任何一个单 帧请求信息的接收。如果使用默认会话, S 3Server 被禁用。 如果需要一条应答信息被传送的话(包括肯定及否定应答) ,N_USData.con 指示任 何应答信息的完成,确定一条服务的执行(最后回复信息) 。否定应答应答码 0x78 不会重启 S 3Server 。 如果不需要任何应答信息(肯定或否定) ,请求动作的完成(服务结束) N_USData.ind 指示接收多帧请求信息时的出错。 当请求发送未被请求的信息,如基于某一事件的周期性数据及应答,见 6.3.5.4 服务器关于 S 3Server 更多的处理。

表 5——默认会话下定时器资源要求 定时参数 客户机 服务器

P 2CAN

_ Client

为每一个逻辑通信通道(物理和功能通信) N/A 设置一个单独的定时器是需要的,例如,点

车载诊断标准ISO+15765-2中文

6.3.5具体的定时参数描述 6.3.5.1物理通信

6.3.5.1.1默认会话下物理通信

图3描述了客户机和服务器在默认会话下物理地址请求信息定时的操作。

车载诊断标准ISO+15765-2中文

图3——默认会话下物理通信

a) 客户端诊断应用层通过发送N_USData.req到网络层开始发送请求信息。网络层传递该请求信息至服

务器。该请求信息要么以单诊的形式或多帧的形式。

b) 在多帧信息情况下,请求开始于网络层发送的N_USDataFF.ind通知服务器。

c) 请求信息的完成通过客户机N_USData.con指示。当接收到N_USData.con时,客户端使用默认重载

值为

P2CAN

_Client

,启动

P2CAN

_Client

定时器,该定时器的值应当考虑到车载网络设计上(通信网关,

总线带宽,等)所有的延时。为了简单化,该图假定客户机和服务器在一条总线上。

d) 服务器通过N_USData.ind指示请求信息的完成。 e) 服务器在接收到N_USData.ind指示时,要求在

帧回复信息条件下,首帧必须在

P2CAN

_Server

时间内开始回复信息。也就是说,在多

P2CAN

_Server

时间内发送,对于单帧回复信息,该单帧必须在

P2CAN

_Server

时间内回复。

f) 在多帧应答信息情况下,客户机通过网络层N_USDataFF.ind指示首帧的接收。当接收到首帧时,客

户机停止

P2CAN

_Client

定时器。

g) 如果完整的信息接收到,或者在接收过程中出现了错误,网络层最后都产生一个N_USData.ind。在

单帧响应信息,通过单个的N_USData.ind指示单帧的接收。当接收该单帧指示时,客户端停止

P2CAN

_Client

定时器。

h) 服务器通过N_USData.con指示响应信息的完成。

6.3.5.1.2 默认会话期间扩展了应答定时的物理通信

图4描述了默认会话期间客户机和服务器物理地址请求信息定时操作,及服务器请求扩展的响应定时(否定应答码0x78的处理)。

车载诊断标准ISO+15765-2中文

图4 ——默认会话期间的物理通信——扩展了应答定时

a) 客户端诊断应用层通过发送N_USData.req到网络层开始发送请求信息。网络层传递该请求信息至服

务器。该请求信息要么以单诊的形式或多帧的形式。

b) 在多帧信息情况下,请求开始于网络层发送的N_USDataFF.ind通知服务器。

c) 请求信息的完成通过客户机N_USData.con指示。当接收到N_USData.con时,客户端使用默认重载

值为

P2CAN

_Client

,启动

P2CAN

_Client

定时器,该定时器的值应当考虑到车载网络设计上(通信网关,

总线带宽,等)所有的岩石。为了简单化,该图假定客户机和服务器在一条总线上。

d) 服务器通过N_USData.ind指示请求信息的完成。 e) 服务器在接收到N_USData.ind指示时,要求在

帧回复信息条件下,首帧必须在

P2CAN

_Server

时间内开始回复信息。也就是说,在多

P2CAN

_Server

时间内发送,对于单帧回复信息,该单帧必须在

P2CAN

_Server

时间内回复。

f) 服务器在给定的

P2CAN

_Server

时间内无法提供请求的信息时,它可以通过发送应答码为0x78的否定

应答信息请求扩展的定时窗。客户端接收到否定应答信息时,客户端网络层产生一个N_USData.ind。接收到应答码为0x78的否定应答信息,客户端重置它的

*载的P2CAN

_Client

P2CAN

_Client

定时器,但使用的是扩展的重

定时值。

车载诊断标准ISO+15765-2中文

g) 服务器在发送否定应答信息N_USData.con之后,要求在给定的扩展的

*

时间内应答信息。如果在给定的扩展的P2CAN

_Server

P2CAN

_Server

*

(P2CAN

_Server

时间内仍无法提供请求的信息,服务器则继续发

送应答码为0x78的否定应答。

*

客户端使用的是扩展的重载的P2CAN_Client定时值重置它的

P2CAN

_Client

定时器。为了简单起见,图中只显示了一个应答码为0x78的否定应答信息。

h) 一旦服务器可以提供请求的信息(肯定的否定的应答,而不是应答码0x78的应答),它就启动最后

结果的应答信息。

i) 在多帧应答信息情况下,客户机通过网络层N_USDataFF.ind指示首帧的接收。当接收到首帧时,客

户机停止

P2CAN

_Client

定时器。

j) 如果完整的信息接收到,或者在接收过程中出现了错误,网络层最后都产生一个N_USData.ind。在

单帧响应信息,通过单个的N_USData.ind指示单帧的接收。当接收该单帧指示时,客户端停止

P2CAN

_Client

定时器。

k) 服务器通过N_USData.con指示响应信息的完成。

6.3.5.1.3 非默认会话期间的物理通信 6.3.5.1.3.1 功能地址(0x3E)信息

车载诊断标准ISO+15765-2中文

图5 ——非默认会话期间的物理通信——功能地址

图5描述了客户机和服务器非默认会话期间物理通信及使用功能地址的定时处理。客户机周期性发送(0x3E)请求信息,不需要服务器的应答信息。

P2CAN

_Client

与P2CAN

_Server

定时处理与6.3.5.1.1和6.3.5.1.2小节中描述的处理方法相同。

车载诊断标准ISO+15765-2中文

唯一的区别是客户端重置的值及服务器端发送结果应答时间会有不同。这是由于转变到另一会话层而不是使用默认会话层,因此使用的是不同的P2CAN会话控制(0x10)服务对定时参数更详细的描述。)

a) 客户端诊断应用层通过发送N_USData.req至网络层,传递诊断会话控制(0x10)请求信息。网络层

传递该请求信息至服务器。

b) 请求信息是单帧信息。它的完成通过客户端N_USData.con指示。6.3.5.1.1和6.3.5.1.2描述的应

答定时适用于此。客户端产生的N_USData.con促使S3Client定时器开启(会话定时器)。 c) 服务器通过N_USData.ind的发送器一个应答。服务器应当发送诊断会话控制(0x10)的肯定应答信息。 d) 服务器通过N_USData.con指示应答信息发送的完成。然后服务器开启S3Server定时器,只要它不超

时,它就一直处于非默认状态。客户机负责保证S3Server定时器在它超时之前复位,以保证服务器处于非默认会话状态。

e) 一旦客户机开启了S3Client定时器,这会促使不需应答信息的功能地址(0x3E)请求信息的发送。

每一次发送的时机都是在S3Client超时时发送。

f) 在网络层通过N_USData.con指示(0x3E)请求信息传递完成之后,客户机再次启动S3Client定时器。

这就是说,功能地址请求信息是在每一次S3Client定时超时之后,周期性发送的。 g) 服务器在处理诊断服务的任何时间内,它都停止S3Server定时器。

h) 当诊断服务处理完之后,服务器重启S3Server定时器。这就是说,诊断服务,包括(0x3E),都重置

_Client

的值。(见9.2.1节诊断

S3Server定时器。诊断服务是在接收到请求信息(N_USDataFF.ind或者N_USData.ind服务)与完成

最后结果应答这个期间内处理的。这里是需要一条应答信息的。或者请求然后诊断服务动作的完成

不需要任何应答信息。(及时到达一个点会促使一个应答信息的发送)

i) 所有(0x3E)请求信息,在服务器处理另外一条请求信息期间接收的话,都会被服务器忽略。因为

它已经停止了S3Server定时器,并且在服务处理完之后重启。

6.53.5.1.3.2 物理地址(0x3E)信息

图6描述了非默认会话期间客户机与服务器物理通信的定时处理。以及使用物理地址(0x3E)请求信息需要服务器返回应答信息以保持在没有其它诊断服务的时候诊断会话的持续。

车载诊断标准ISO+15765-2中文

图6 ——非默认会话期间的物理通信——物理地址

车载诊断标准ISO+15765-2中文

a) 客户端诊断应用层通过发送N_USData.req至网络层,传递诊断会话控制(0x10)请求信息。网络层

传递该请求信息至服务器。

b) 请求信息是单帧信息。它的完成通过客户端N_USData.con指示。6.3.5.1.1和6.3.5.1.2描述的应

答定时适用于此。客户端产生的N_USData.con不会促使S3Client定时器开启(会话定时器)。这与使用功能地址不同,使用功能地址会周期性发送(0x3E)信息保持诊断会话一直处于激活状态(见6.3.5.3.1)。

c) 服务器通过N_USData.ind指示请求信息的完成。6.3.5.1.1和6.3.5.1.2描述的应答定时适用于此。 d) 图上给出,假定客户机需要服务器一个应答。服务器应当发送诊断会话控制(0x10)的肯定应答信

息。 e) 服务器通过N_USData.con指示应答信息发送的完成。然后服务器开启S3Server定时器,只要它不超

时,它就一直处于非默认状态。客户机通过N_USData.ind指示诊断会话控制(0x10)的接收。这将促使S3Client的开启。客户机负责保证S3Server定时器在它超时之前复位,以保证服务器处于非默认会话状态。

f) 客户机任何时候发送一条请求信息至服务器(包括(0x3E)信息),它都会停止S3Client。 g) 接收到请求信息的单帧或首帧,服务器都停止S3Server定时器。服务器通过N_USData.ind标识请求

信息的完成。6.3.5.1.1和6.3.5.1.2描述的应答定时适用于此。

h) 客户机通过N_USData.ind指示应答信息的完成,这促使客户机开启S3Client,服务器通过

N_USData.con指示应答信息的完成,这促使服务器开启S3Server。还有一种客户机不需要应答的情况,客户机接收到网络层N_USData.con确认标识请求信息发送完时,开启S3Client,服务器完成请求的动作时,开启

S3Server

,为简单起见,图中显示的是需要应答的情况。

i) 如果客户机在S3Client超时之前,没有发送任何诊断请求信息,这促使客户机在S3Client超时时,发送一条物理地址(0x3E)请求信息。 j) 服务器通过N_USData.ind指示(0x3E)请求信息的接收。这促使服务器停止S3Server定时器。

6.3.5.1.1和6.3.5.1.2描述的应答定时适用于此。

k) 客户机通过N_USData.ind指示(0x3E)应答信息的完成,这促使客户机开启S3Client,服务器通过

N_USData.con指示(0x3E)应答信息的完成,这促使服务器开启S3Server。还有一种客户机不需要应答的情况,客户机接收到网络层N_USData.con(0x3E)标识请求信息发送完时,开启S3Client,服务器完成请求的动作时,开启

S3Server

,为简单起见,图中显示的是需要应答的情况。

6.3.5.2 功能通信

6.3.5.2.1 默认会话期间的功能通信

车载诊断标准ISO+15765-2中文

图7描述了默认会话期间,一个客户机与2个服务器功能地址请求信息的定时处理。从服务器角度看,这与物理地址请求信息的定时处理没什么区别。但是客户机对定时的处理就与物理通信不同。

图 7——默认会话期间的功能通信

a) 客户端诊断应用层通过发送N_USData.req至网络层开始发送功能地址请求信息。网络层传递该请求

信息至服务器。功能地址请求信息只能是单帧信息。 b) 客户机通过N_USData.con指示请求信息的完成。当接到N_USData.con时,客户机启动

定时器,使用默认的重置值

P2CAN

_Client

P2CAN

_Client

。该定时器的值应当考虑到车载网络设计上(通信网关,总

线带宽,等)所有的延时。为了简单化,该图假定客户机和服务器在一条总线上。 c) 服务器通过N_USData.ind指示请求信息的完成。 d) 功能地址服务器在接收到N_USData.ind后,要求在

在多帧回复信息条件下,首帧必须在

P2CAN

_Server

时间内发送应答信息。也就是说,

P2CAN

_Server

时间内发送,对于单帧回复信息,该单帧必须在

P2CAN

_Server

时间内回复。

e) 在多帧应答信息情况下,客户机通过网络层N_USDataFF.ind指示首帧的接收。当接收到首帧时,客

户机停止

P2CAN

_Client

定时器。

f) 当接收到首帧/单帧指示接下来的应答信息,客户端要么知道服务器即将应答或已经应答过了,则停

止P2CAN

_Client

,要么不是所有服务器应答或它不知道服务器即将应答(客户机等待进一步的应答信

。如果完整信息接收到或者在接收过程中产生了一个错误,网络层产生最

息)时,重启P2CAN

_Client

车载诊断标准ISO+15765-2中文

后结果N_USData.ind。对多帧信息的最后一个N_USData.ind不对P2CANg) 服务器通过N_USData.con指示应答信息发送的完成。、

_Client

定时器产生影响。

6.5.3.2.2默认会话期间扩展应答定时的功能通信

图8描述了默认会话期间客户机与2个服务器功能地址请求信息的定时操作。这里一个服务器通过应答码为0x78的否定应答请求一个扩展的应答定时。从服务器角度看,这与

物理地址请求信息的定时处理没什么区别。但是客户机对定时的处理就与物理通信不同。

图8——默认会话期间功能通信——扩展的应答定时

车载诊断标准ISO+15765-2中文

a) 客户端诊断应用层通过发送N_USData.req至网络层开始发送功能地址请求信息。网络层传递该请求

信息至服务器。功能地址请求信息只能是单帧信息。 b) 客户机通过N_USData.con指示请求信息的完成。当接到N_USData.con时,客户机启动P2CAN

定时器,使用默认的重置值P2CAN

_Client

_Client

。该定时器的值应当考虑到车载网络设计上(通信网关,总

线带宽,等)所有的延时。为了简单化,该图假定客户机和服务器在一条总线上。 c) 服务器通过N_USData.ind指示请求信息的完成。 d) 功能地址服务器在接收到N_USData.ind后,要求在P2CAN

在多帧回复信息条件下,首帧必须在P2CAN

_Server

_Server

时间内发送应答信息。也就是说,

时间内发送,对于单帧回复信息,该单帧必须在

时间内无法提供请求的信息时,它可以通过

P2CAN

_Server

时间内回复。服务器在给定的P2CAN

_Server

发送应答码为0x78的否定应答信息请求扩展的定时窗。

e) 客户端接收到否定应答信息时,客户端网络层产生一个N_USData.ind。接收到应答码为0x78的否

定应答信息,客户端重置它的P2CAN

_Client

*

定时器,但使用的是扩展的重载的P2CAN

_Client

定时值。

并且,客户端应当在挂起应答信息列表存储一个服务器标识。一旦在存储在客户端挂起的服务器开始它最后结果应答信息(肯定或否定应答信息包括应答码为0x78的应答),它将从挂起应答信息列表中删除。当无任何应答信息挂起时,客户端重新为P2CAN

_Client

使用默认的重载值。为简单化,图

中,显示了从服务器#1的仅一个应答码为0x78的否定应答。

f) 只要至少有一个服务器在客户机端挂起时,从任一服务器端任何进一步的应答信息,都会促使

P2CAN

_Client

*

定时器使用扩展的值P2CAN

_Client

重启(见图9,该图显示了当客户机接收到第二个服

务器应答信息开始的情况)。

g) 至于物理的通信,服务器请求扩展的应答定时要求在扩展的时间P2CAN

_Client

*

(P2CAN

_Client

)内,

应答信息。一旦服务器能提供请求的信息,它就通过发送N_USData.req至网络层开启最后结果应答

*信息。如果服务器仍然不能在扩展的P2CAN

_Client

时间内

提供请求的信息,它将继续发送应答码为

定时器,使用扩展的重载值

0x78的否定应答信息。这会促使客户机再次重启P2CAN

_Client

*P2CAN_Client。已经存储在客户端挂起应答信息列表中,服务器端包含应答码为0x78的否定应答信

息不影响客户端该信息列表。

h) 如6.3.5.2.1,在多帧应答信息情况下,从任一服务器端接收的首帧,客户机都是通过网络层

N_USDataFF.ind指示的。单帧应答信息通过N_USData.ind指示。当接收到首帧/单帧指示接下来的

应答信息,客户端要么知道服务器即将应答或已经应答过了,则停止P2CAN

_Client

,要么不是所有服

务器应答或它不知道服务器即将应答(客户机等待进一步的应答信息)时,重启P2CAN

_Client

i) 如果完整信息接收到或者在接收过程中产生了一个错误,网络层产生最后结果N_USData.ind。这对

P2CAN

_Client

定时器不影响。而且适用挂起应答信息列表的处理。

车载诊断标准ISO+15765-2中文

j) 服务器通过N_USData.con指示完成发送。

6.3.5.2.3 非默认会话期间的功能通信

本文来源:https://www.bwwdw.com/article/o4ch.html

Top