【AUTOSAR】UDS协议的代码分析与解读(五)----ECU诊断服务

8   诊断服务

8.1 总览

此章节定义了本规范中可使用的诊断服务及其执行规则

下表列出h事业部定义的所有UDS诊断服务。ECU最终实现与下述定义不符之处必须得到h事业部 的认可。服务实现内容需在零部件诊断规范中详细说明。

 9 诊断服务支持列表

断服务列表

APP

Bootloader

全访 问

寻址限制

SID  (HEX)

服务名称

扩展

扩展

物理

10

断会话控制

M

11

电控单元复位

M

14

清除诊断信息

M

19

读取诊断故障代 码信

M

22

据标识符读取 

M

23

取内存

U

27

安全访问

M

28

通讯控制

M

2A

取数据(周期标 符)

U

2C

态定义数据标 

U

2E

据标识符写入 

 1

√FBL

M

2F

据标识符输入 出控制

 1

U

31

例程控制

 1

√FBL

U

34

求下载

√FBL

U

36

输数据

√FBL

U

37

请求退出传

√FBL

U

38

请求文件传

√FBL

U

3D

入内存

 1

U

3E

试工具保持连 接

M

85

控制诊断故障代 码设

M

1) √ 1:需要通过安全访问等级1,扩展安全级

2) FBL:需要通过安全访问等级FBL,刷新安全级

下表列出了需要支持禁止肯定响应位的诊断服务。其他服务是否支持取决于ECU供应商的具体需 求,但需得到h事业部诊断工程师的认可。

L 禁止肯定响应位支持列表

诊断服务列表

禁止肯定响应

SID  (HEX)

服务名称

10

断会话控制

Y

11

电控单元复位

Y

14

清除诊断信息

Y

19

读取诊断故障代码信息

Y

22

根据标识符读取数据

N

23

取内存

N

27

安全访问

N

28

通讯控制

Y

2A

取数据(周期标识符)

N

2C

动态定义数据标识符

N

2E

根据标识符写入数据

N

2F

根据标识符输入输出控制

N

31

例程控制

N

34

求下载

N

36

输数据

N

37

请求退出传

N

38

请求文件传输

N

3D

入内存

N

3E

测试工具保持连

Y

85

控制诊断故障代码设置

Y

8.2 诊断会话说明

8.2.1 默认会话

此诊断会话模式使能ECU的默认诊断会话,该会话模式不需要任何诊断应用程序的超时处理(例如: 无需3E服务保持此会话模式激活)。

如果任何其它非默认式的会话模式被激活, 而默认模式再一次被启动,则须遵守以下执行规则:

a)当ECU发送默认会话模式肯定响应报文后, ECU应终止当前诊断会话模式并进入默认诊断会 模式;

b)当ECU发送默认会话模式肯定响应报文后,如果在之前的诊断会话模式下解锁了ECU,则ECU 将被重新锁定;

c)当ECU送默认会话模式肯定响应报文后,将复位之前诊断模会话模式下激活的状态和控制 服务。例如:28服务、85服务、 2F服务;

d)如果ECU发送该服务否定响应报文,激活的会话模式保持不变

e)在ECU初始化后,诊断会话模式为默认会话模式。

8.2.2 编程会话

此诊断会话模式允许支持ECU内存编程所有需要的诊断服务。

在此会话模式下, ECU只能通过诊断工具发起的电控单元复位(11服务)、会话类型为默认会话的 断会话控制(10服务) 或ECU会话(S3_server) 超时退出此会话。

8.2.3 扩展会话

此诊断会话模式可用来支持对ECU变量进行调整所需的所有诊断服务,也可用来使能一些服务。

8.2.4 下线检测会话

诊断会话模式可用来支持下线检测操作所需的所有诊断服务,也可用来使能一些服务。

8.3 诊断会话控制 DiagnosticSessionControl (10h)

诊断话控制服务用于在ECU所支持的诊断会话中转换会话模式。一个诊断会话使能ECU的一个特 定诊断服务集以及相关诊断功能。某些诊断服务在特定的会话下会限制使用。

8.3.1 报文格式

 11 诊断会话控制服务的请求报文

Byte

Name

Cvt

Value  (Hex)

#1

Request Service Identifier

M

10

#2

Sub-Function=[sessionType]

M

00--FF

 12 诊断会话控制服务的肯定响应

Byte

Name

Cvt

Value  (Hex)

#1

Positive Response Service ID

M

50

#2

Session Type

M

00--FF

#3

#6

Session Parameter Record[]=[

P2_server_max  (Highbyte)

P2_server_max  (Lowbyte)

P2*_server_max  (Highbyte)

P2*_server_max  (Lowbyte) ]

M

00--FF

 13 会话参数记录定义

Parameter

No.ofBytes

Resolution

(ms/bit)

MinValue

(ms)

MaxValue

(ms)

P2_server

2

1

0

65535

P2*_server

2

10

0

655350

8.3.2 支持的否定响应码

 14 诊断会话控制服务的否定响应码

Hex

Cvt

ErrorText

12

M

功能不支持

如果子功能参数不支持,发送此否定响应码。

13

M

报文长度错

如果报文长度错误,发送此否定响应码

22

C

条件未满足

如果ECU不满足切换会话模式的条件,发送此否定响应码。

:开始执行编程模式是, NRC 22将被使用

8.3.3 参数定义

15义了我司要求的诊断会话类型, 如有其它诊断会话需求, 需向h事业部申请并通过诊断工程 同意。

15 诊断会话控制服务类型定义

Hex

Description

Cvt

1

DefaultSession认会话

M

2

ProgrammingSession刷写会话

U

3

Extendeddiagnosticsession扩展会

M

40

EOL diagnosticsession下线检测会话

U

8.3.4 执行规定

a)诊断工具通过此服务使ECU进入不同的诊断会话模式。要执行一个诊断服务,必须在适合的 会话模式下;

b)一时刻只能有一个诊断会话模式被激活;

c)电后如果没有诊断会话请求,ECU需自动进入默认会话模式(01h);

d)如果ECU需要满足一定的条件才能启动一个新的诊断会话, 需在零部件诊断规范中说明。

e)图7述了模式切换的过程, 默认会话模式可以直接切换到扩展会话模式,但是不能直接切换编程会话模式, 如果想进入编程会话模式,则必须先进入扩展会话模式。同样, 编程会话模式不能直 接进入扩展会话模式,只能进入默认会话模式。ECU复位以及S3_server超时将导致ECU进入默认会话 式。

 7 诊断会话模式的转换

8.4 电控单元复位 Ecu Reset (11h)

此服务要求电控单元根据重置类型参数的内容执行有效的ECU复位功能操作。

8.4.1 报文格式

表 16 复位服务的请求报文

Byte

Name

Cvt

Value  (Hex)

#1

Request Service Identifier

M

11

#2

Sub-Function=[resetType]

M

00--FF

表 17 复位服务的肯定响应

Byte

Name

Cvt

Value  (Hex)

#1

Positive Response ServiceID

M

51

#2

Reset Type

M

00--7F

8.4.2 支持的否定响应码

 18 复位服务的否定响应码

Hex

Cvt

Error Text

12

M

功能不支持

如果子功能参数不支持,发送此否定响应码。

13

M

报文长度错

如果报文长度错误,发送此否定响应码

22

M

条件未满足

如果ECU不满足复位的条件,发送此否定响应码。

8.4.3 参数定义

 19 复位服务类型定义

Hex

Description

Cvt

01

Hard Reset

硬件复位

M

02

Key OffOn Reset

钥匙复位

U

03

Soft Reset

软件复

M

8.4.4 执行规定

ECU位的肯定响应应在复位操作执行之前发送, 并在肯定响应发送成功后100ms内执行。 ECU执行复位后,会话模式应处于默认会话模式。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大道生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值