[UDS] --- CommunicationControl 0x28

简介: [UDS] --- CommunicationControl 0x28

1 0x28功能描述

根据ISO14119-1标准中所述,诊断服务28服务主要用于网络中的报文发送与接受,比如控制应用报文的发送与接收,又或是控制网络管理报文的发送与接收,以便满足一定场景下的应用需求。

2 0x28应用场景

一般而言,对于28诊断服务,主要应用场景为以下场合:

存在某些特殊的测试场景,比如只希望接收或者发送对应的网络管理与应用报文;绝大多数情况下应用在刷写ECU的过程中,即在预编程条件下执行28服务功能寻址便可以抑制总线应用报文与网络管理报文的发送与接收,以便减少网络总线负载,提高ECU下载效率,同时刷写结束后也要执行28服务使能对应控制报文的发送与接收,在此过程中一般会配合85服务一起使用,后期会给大家介绍,敬请关注。

上述这些应用场景较为常见,这里就不一一列举。

3 0x28服务请求

3.1 0x28 request格式

按照ISO14229-1标准所述,下图所示为28通信控制原理中诊断服务请求格式:

- #1参数为service ID 28

  • #2参数为子功能码
  • #3参数为通信类型
  • #4 #5 参数nodeIdentificationNumber仅在subFunction等于4或者5才有效,否则#4,#5参数可以不存在

3.2 子功能码

子功能码各个数字含义如下:

3.3 communication type

  • Bit0-1:
    0x1:正常应用报文
    0x2:网络管理报文
    0x3:应用与网络报文
  • Bit4-7:
    0x0:表示使能或者抑制所有的Dcm控制的comM通道;
    0x1:使能或者抑制特定的comM通道;
    0xF:仅能接受请求的comM通道

4 0x28请求和响应

4.1 正响应及示例

以抑制网络管理报文发送为例

28服务诊断请求实例如下图所示:

正响应格式

如下图所示,为28诊断服务的正响应格式:

从上图中可以看出,28诊断服务的正响应由以下2个部分组成:

  • Response ID:该参数固定为SID+0x40 = 0x68;
  • SubFunction:该参数为上述诊断请求格式中controlType;

其中,0x01就是跟诊断请求中的controlType保持一致即可

4.2 负响应NRC

绝大多数情况下,Server针对Client的请求都会给到正响应,比如发生重启前需确保整车处于安全状态,如引擎熄火,车速不能超过3km/h等,或者为了防止不按照诊断请求格式进行请求,那么Server需要通过某种方式来告诉Client执行不成功的原因在哪里以便于调查问题直至得到正响应。

因此ISO14229-1针对所有的诊断服务提供了一种统一的诊断负响应的诊断格式:7F +SID + NRC。

其中NRC全称为Negetive Responce Code,每个NRC具有唯一的含义来代表当前诊断请求错误的原因所在。当然每个诊断服务支持的NRC不尽相同,具体支持的NRC需要参考ISO14229-1标准文档,对于28服务而言支持的NRC如下表:


相关文章
|
存储 安全 算法
一文理解UDS安全访问服务(0x27)
一文理解UDS安全访问服务(0x27)
一文理解UDS安全访问服务(0x27)
|
监控 网络架构
CAN-TP传输协议详解
CAN-TP传输协议详解
CAN-TP传输协议详解
|
传感器 安全 内存技术
[UDS] --- RoutineCommunicationControl 0x31
[UDS] --- RoutineCommunicationControl 0x31
2479 1
|
边缘计算 网络协议 网络架构
DoIP看这篇就够了,吐血整理
DoIP看这篇就够了,吐血整理
DoIP看这篇就够了,吐血整理
|
编解码 监控 网络协议
一文读懂以太网与CANoe的配置
一文读懂以太网与CANoe的配置
一文读懂以太网与CANoe的配置
|
数据格式
一文读懂A2L文件和ASAP2 Studio的使用
一文读懂A2L文件和ASAP2 Studio的使用
一文读懂A2L文件和ASAP2 Studio的使用
[UDS] --- DiagnosticSessionControl 0x10 service
[UDS] --- DiagnosticSessionControl 0x10 service
2726 0
|
芯片
灌电流与拉电流的含义及电路解析
上拉电阻是用来解决总线驱动能力不足时提供电流的,一般说法是拉电流。下拉电阻是用来吸收电流的,也就是灌电流。在数字电路中,拉电流和灌电流是衡量电路输出驱动能力(注意:拉、灌都是对输出端而言的,所以是驱动能力)的参数。 在集成电路中,拉电流输出和灌电流输出是一个很重要的概念。 一、什么是拉电流 由于数字电路的输出只有高、低(0,1)两种电平值,高电平输出时,一般是输出端对负载提供电流,其提供电流的数值叫“拉电流”。例如在使用反向器作输出显示时,当输出端为高电平时才符合发光二极管正向连接的要求,但这种拉电流输出对于反向器只能输出零点几毫安的电流用这种方法想驱动二极管发光是不合理的(因发光二极管
969 2
|
安全
[UDS] --- ReadDataByIdentifier 0x22
[UDS] --- ReadDataByIdentifier 0x22
2391 0

热门文章

最新文章