[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如下表:


相关文章
|
6月前
|
安全
[UDS] --- TesterPresent 0x3E
[UDS] --- TesterPresent 0x3E
138 1
|
6月前
|
传感器 安全 内存技术
[UDS] --- RoutineCommunicationControl 0x31
[UDS] --- RoutineCommunicationControl 0x31
357 1
|
6月前
HARDWARE --- IIC协议
HARDWARE --- IIC协议
72 1
|
6月前
|
安全
[UDS] --- WriteDataByIdentifier 0x2E
[UDS] --- WriteDataByIdentifier 0x2E
168 0
|
6月前
|
监控 网络协议 Shell
【Shell 命令集合 网络通讯 】Linux 监控和记录网络中ARP(Address Resolution Protocol)活动 arpwatch命令 使用指南
【Shell 命令集合 网络通讯 】Linux 监控和记录网络中ARP(Address Resolution Protocol)活动 arpwatch命令 使用指南
148 0
|
3月前
|
存储 监控 网络协议
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
|
6月前
|
网络协议
攻防世界---misc---神奇的Modbus
攻防世界---misc---神奇的Modbus
|
6月前
|
存储 安全
[UDS] --- ECUReset 0x11
[UDS] --- ECUReset 0x11
102 0
|
6月前
|
安全
[UDS] --- ReadDataByIdentifier 0x22
[UDS] --- ReadDataByIdentifier 0x22
313 0
|
6月前
|
安全 内存技术
[UDS] --- UDS服务应该支持的NRC
[UDS] --- UDS服务应该支持的NRC
707 0