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

news2024/11/24 22:34:07

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执行复位后,会话模式应处于默认会话模式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/648362.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【手撕代码】同步 FIFO、LIFO/Stack

FIFO 是FPGA设计中最有用的模块之一。FIFO 在模块之间提供简单的握手和同步机制,是设计人员将数据从一个模块传输到另一个模块的常用选择。 在这篇文章中,展示了一个简单的 RTL 同步 FIFO,可以直接在自己的设计中配置和使用它,该设…

社区供稿 | RLHF 实践中的框架使用与一些坑 (TRL, LMFlow)

1 前言 之前看见文章总结了常见的一些 RLHF 框架的经验, 但是似乎没看见 Hugging Face 自己维护的 TRL 库的相关文章, 正好最近调 TRL 比较多, 就想写一个文章分享一下使用过程中踩到的坑,另外也介绍一下我们的全流程框架 LMFlow 。 LMFlow 框架示意图。 我们主要用…

架构思维的六要素

很多人都在私信问我随着ChatGPT等技术的兴起,自己的饭碗会不会没了。我的观点是:ChatGPT能做的工作十几年前早就没了。 十几年前还看到过招聘广告上写招程序员的,现在都是工程师起步,工程师是要有架构思维的。 像十几年前的黄金时…

手写SpringBoot启动器主要步骤

这里写目录标题 背景过程2.1自启动实现原理2.2手动实现SpringBoot自启动2.2.1宏观2.2.1微观2.2.1.1三个服务之间调用2.2.1.2自定义注解2.2.1.1业务组装2.2.1.3启动类 升华自定义注解:手动装配组件:简化启动过程:自动化注入依赖:简…

马原第三章复习1.

唯物史观和唯心史观过去出过小题 社会意识出小题 社会存在一般出大题 124 社会存在和社会意识(往往出大题) 社会历史性的基本问题 两种根本对立的历史史观 唯心主义: 至多考察人的思想动机 没有考虑思想背后的物质动因和经济根源 把社会史观看成人的思想,,不懂得…

关于酒店宾馆电气火灾隐患的预防与整改措施介绍 安科瑞 许敏

摘要:本文分析了酒店、宾馆电气火灾隐患的特点及产生的主要原因,并依此提出了消除火灾隐患的整改措施。 关键词:酒店宾馆;火灾;隐患;预防;整改;措施 1前言 随着旅居服务业的快速发展&#xf…

CVPR 2023 | 香港理工提出GrowSP:3D场景的无监督语义分割

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>【目标检测和Transformer】交流群 GrowSP: Unsupervised Semantic Segmentation of 3D Point Clouds 论文链接:https://arxiv.org/abs/2305.16404 代码&#xff1…

2023/6/11总结

CSS Less嵌套 子元素的选择器可以直接写在父元素里面。 如果不是它的后代元素,比如你想写伪类选择器、交集选择器,需要在前面加&号。 Less运算: 加减乘除都可以,运算符必须用空格隔开。如果俩个元素都有单位&#xff0…

binfmt_misc

一:binfmt_misc是什么 binfmt_misc是内核中的一个功能,它能将非本机的二进制文件与特定的解析器自动匹配起来,进行二进制解析。 例如,在x86上解析arm64架构的二进制。 通过binfmt_misc可以注册解析器来处理指定二进制文件格式的请…

Qt|QDialog的创建及使用

文章目录 创建一个新的类继承QDialog设置标题去掉问号,只保留关闭使窗口在屏幕中心显示设置窗口大小QDialog没有任务栏窗口图标问题将窗口永远置于上层可见 不会被遮盖阻塞除当前窗口之外的所有窗口添加closeEvent hideEvent同理调用dialog类接收dialog返回状态&…

华为OD机试真题 JavaScript 实现【跳房子II】【2023 B卷 100分】,附详细解题思路

一、题目描述 跳房子,也叫跳飞机,是一种世界性的儿童游戏。 游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格,然后获得一次选房子的机会,直到所有房子都被选完,房子最多的人获胜。 跳房子的过程中&…

XGBoost超参数调优指南

本文将详细解释XGBoost中十个最常用超参数的介绍,功能和值范围,及如何使用Optuna进行超参数调优。 对于XGBoost来说,默认的超参数是可以正常运行的,但是如果你想获得最佳的效果,那么就需要自行调整一些超参数来匹配你的…

jupyter lab升级或者安装插件后编译失败

错误回显 报错提示:please run ‘jupyter lab build’ on the server for full output,那么就进入prompt执行一下jupyter lab build 继续接着报错 If you dont already have a jupyter_config.py file, you can create one by adding a blank file of th…

线下实体衰落,真是电商惹祸?实是贪婪以及服务理念落后所致

网上时不时就有人指责电商的兴起导致了线下实体衰落,然而如果各位比较了线下实体与电商的差异,就会明白导致如此结果完全是咎由自取,因为线下实体太贪婪以及服务理念落后于时代。 笔者最近就购买了某款国产手机,在该国产手机品牌的…

集显独显并存,ubuntu安装显卡驱动的坑

一、安装和启动黑屏卡死 1、怎么办?显示器先接集显,完成驱动安装。 (1)屏蔽nouveau驱动 只要是安装过NVIDIA显卡驱动的,nouveau一般都被禁止了。可以通过命令: lsmod | grep nouveau 查看。如果没有任…

实现设备的延时控制

1. 引言 当搭建IoT管理后台后,APP、设备、云端三端就可以实现交互;当点击APP中的控制按钮,其控制指令就可以经过云端转发到设备执行,当设备执行后将设备的状态上报到云端,APP通过轮训可以取到设备此时的状态&#xff0…

Spring Boot 优雅集成 Spring Security 5.7(安全框架)

Spring Boot 集成 Spring Security (安全框架) 本章节将介绍 Spring Boot 集成 Spring Security 5.7(安全框架)。 🤖 Spring Boot 2.x 实践案例(代码仓库) 介绍 Spring Security 是一个能够为基…

为行业变革注入新动能,行易道入选“高工智能汽车智驾榜单”

6月8日到9日,2023高工智能汽车开发者大会在上海成功举行。与会期间,北京行易道科技有限公司(以下简称“行易道”)营销副总裁袁泽雁带来了以“车载毫米波雷达进入成像时代”主题演讲,为大家分享了4D毫米波雷达如何以“新…

Java网络开发(Tomcat异步分页+增删改查)——从同步到异步 从jsp 到 js + axios + vue 实现 数据分页显示 数据增删改查

目录 引出一些固定的东西1.固定的响应格式2.name 变成 v-model 进行双向绑定3.下拉框选中--:value"type.id" v-model"companyDb.typeId"4.vue导包固定写法5.script固定写法6.axios的get请求7.axios的post请求---let params new URLSearchParams()8.前端美…

MYSQL 在优化器缺陷在次验证,与MYSQL 熄火了 还是 成熟了??

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…