UDS诊断

本文详细阐述了诊断体系结构中各层次的功能,涉及网络层协议、CAN数据帧的传输、通信流程、物理与功能寻址,以及UDS服务标识符、请求响应格式和错误处理机制。重点讲解了多帧报文传输、网络时间参数和地址格式,为理解和实现汽车电子控制单元(ECU)间的诊断通信提供技术指南。
摘要由CSDN通过智能技术生成

诊断体系结构

在这里插入图片描述

功能
应用层诊断服务实现
网络层中间层,数据转换桥梁
数据链路层底层驱动等
物理层底层连接

网络层协议:IOS15765-2

网络层功能

  • 应用层诊断服务数据 — CAN数据帧
  • 多帧数据传输,进行数据的打包、解包,协调上下层工作
  • 对等实体间的通信,数据同步,时间管理,错误处理

在这里插入图片描述


在这里插入图片描述

通信流程

在这里插入图片描述


概念和术语

  • 客户端(Client)
    • 诊断请求的提出者 – Tester(诊断仪),发送诊断请求
  • 服务器端(Server)
    • 诊断响应的提供者 – 某个ECU,发送诊断响应
  • 远程客户端 / 服务器(Remote Client / Server)
    • 与Server(Client)不在同一 “网段”

在这里插入图片描述

  • 物理通信
    • 采用物理寻址方式通信的场景,及客户端与服务器之间一对一的诊断通信方式
  • 功能通信
    • 采用功能寻址方式通信的场景,及客户端向多个服务器发出同一功能的诊断请求的通信方式
  • 源地址
    • 发送节点地址,SA
  • 目标地址
    • 接收节点地址,TA
  • 协议数据单元
    • 协议数据单元是一组信息和数据的集合,表示了发送方和接收方对等实体之间传递的信息和数据。协议数据单元包括:
      • 协议控制信息(PCI)
      • 数据(Data)
  • 单帧传输
    • 数据长度 < 6 / 7个字节
    • 报文类型 单帧(SF)
  • 多帧传输
    • 数据长度 > 6 / 7个字节,最多允许 4095 个字节
    • 报文类型
      • 第一帧(FF):描述传输的起始
      • 留控制帧(FC):传输过程中,报文流控制
      • 连续帧(CF):传输数据

单帧报文传输

在这里插入图片描述

多帧报文传输

在这里插入图片描述

网络层时间参数

在这里插入图片描述
在这里插入图片描述

网络层格式

PDU说明

  • N_PDU : { N_AI,N_PCI,N_Data }
参数名称缩写描述
寻址信息N_AI隐含源地址、目标地址和寻址方式信息
协议控制信息N_PCI用于标示N_PDU类型:单帧、第一帧、连续帧和流控制帧
数据N_Data包含应用层协议控制信息A_PCI和数据A_Data

7E0h 8 02 10 01 55 55 55 55 55

N_PCI结构

在这里插入图片描述

例子:

7E0h8Tx02 10 01 55 55 55 55 55
7E0h8Tx10 0F 2E F0 10 04 05 06
7E8h8Rx30 0A 0A 55 55 55 55 55
7E0h8Tx21 07 08 09 0A 0B 0C 0D
7E0h8Tx22 0E 0F 55 55 55 55 55

FS含义

  • 0:继续发送。让发送方继续发送接下来的连续帧,表示接收方已经准备好了接收最大为BS数量的连续帧。
  • 1:等待。发送方等待下一帧流控帧并重置自己的计时。一般用于接收方没有处理完上一次接收到的连续帧。
  • 2:过载。发送方打算发送的数据长度超过了接收方的储存能力。

BS含义

  • 1~FF表示发送方在发送BS数值的连续帧之后,需要等待接收方的流控帧。
  • 0表示不需要任何流控帧,直接发送全部数据。

STmin含义

  • 表示发送方发送的两个连续帧之间,最小需要的时间间隔。
  • 00~7F单位为ms;
  • F1 ~ F9表示0.1 ~ 0.9ms;
  • 0表示按照发送方最快的速度发送。

网络层地址格式

将N_PDU映射到CAN数据帧的不同位置,构成了4种地址格式

  • 常规寻址(Normal addressing)- 11位CANID,N_AI映射到CAN ID,但没有规定N_AI与CAN ID的具体映射关系
  • 常规固定寻址(Normal fixed addressing)- 29位CANID,与混合寻址编排方式类似,完整定义了N_AI如何映射到29位CAN ID
  • 扩展寻址(Extended addressing)- 11位CANID,N_AI中的N_TA映射到CAN数据帧的第一个字节,N_AI中的其他映射到CAN ID
  • 混合寻址(Mixed addressing)- 11或29位CANID仅用于远程寻址

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

错误识别与处理

  • 数据帧格式错误识别与处理
  • 超时识别与处理
  • 非预期帧识别与处理

SF_DL错误:SF_DL=0或者SF_DL > 7(常规寻址)

  • 接收方网络层应忽略接收到的单帧,且接收方无indication;

在这里插入图片描述

FF_DL错误

  1. FF_DL > 接收方的缓存,那么接收方网络层应中断报文接收,接收方发送FC,其中FS=Overflow,接收方无indication;

在这里插入图片描述

  1. FF_DL < 8/7(常规寻址模式为8,扩展或混合寻址为7),网络层忽略FF,接收方无indication,且不发送FC;

在这里插入图片描述

SN错误

  • CF N_PDU中的SN错误,报文接收应被中断,接收方网络层应指示上层 < Result>=N_WRONG_SN

在这里插入图片描述

FS错误

  • 如果发送方网络层发现接收到的FC N_PDU中的FS错误,那么报文发送应被中断,发送方网络层应确认上层 < Result>=N_INVALID_FS;

在这里插入图片描述

N_WFTmax

  • 接收方最多连续发送多少个等待FC帧个数,本地变量,仅可以在多包报文发送过程中接收方网络实体中定义,系统初始化时应设置正确,使用这个变量用于避免发送方节点一直处于等待FC状态

在这里插入图片描述


统一诊断服务UDS(ISO 14229-1)

在这里插入图片描述

服务标识符SI

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

请求、肯定/否定响应的格式

  • 请求服务标识符SI
    • 类型:1字节无符号整数,范围:00 ~ FF
    • 请求服务的ID:X0XXXXXX(第6位为0)
    • 示例:ReadDTCInformation服务Request 0x19
  • 肯定响应服务标识符SI
    • 类型:1字节无符号整数,范围:00 ~ FF
    • 肯定响应服务的ID:X1XXXXXX(第6位为1)
    • 肯定响应服务的ID=请求服务的ID+0x40
    • 示例:ReadDTCInformation服务Response 0x59
  • 否定响应服务标识符NR_SI
    • 类型:1字节无符号整数,范围:7F
    • 示例:
      • 否定响应服务标识符NR_SI:0x7F
      • 请求服务标识符SI:0x19
      • 错误代码:0xXX(按情况回复)

服务响应的执行规则

  1. 带子功能参数的请求消息的响应 对物理寻址的客户端请求消息

在这里插入图片描述

  1. 不带子功能参数的请求消息的响应 对物理寻址的客户端请求消息

在这里插入图片描述

  1. 带子功能参数的请求消息的响应 对功能寻址的客户端请求消息

在这里插入图片描述

  1. 不带子功能参数的请求消息的响应 对功能寻址的客户端请求消息

在这里插入图片描述

应用层定时参数

在这里插入图片描述

会话层定时参数

在这里插入图片描述

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值