🚗 UDS诊断实战
30章 · 基于CAN
⭐ 色系 · 明快活力
01
CAN总线基础
CAN协议概述
CAN物理层
数据帧结构
总线仲裁机制
02
UDS协议概述
起源与ISO 14229
汽车网络作用
与OBD-II区别
03
UDS服务分类
诊断与通信管理
数据传输类
存储数据传输
输入输出控制
例程功能
上传下载
04
请求与响应机制
单帧与多帧传输
物理/功能寻址
肯定与否定响应
05
诊断会话控制(0x10)
默认会话
编程会话
扩展会话切换
06
ECU复位服务(0x11)
硬复位
钥匙下电复位
软复位
快速/使能复位
07
安全访问服务(0x27)
种子与密钥
安全等级划分
解锁流程与NRC
08
通信控制服务(0x28)
报文使能/禁止
通信类型控制
网络管理报文
09
测试仪在线(0x3E)
保持会话活跃
抑制定时器溢出
发送周期与策略
10
读取数据服务(0x22)
DID概念
读取ECU标识
读取VIN码
故障码快照
11
读取内存数据(0x23)
按地址读取内存
内存范围定义
多块读取策略
12
读取故障码(0x19)
故障码状态掩码
按状态/组读取
快照与扩展数据
13
写入数据服务(0x2E)
DID写入
写入条件与校验
写入VIN码实战
14
写入内存数据(0x3D)
按地址写入内存
写入长度限制
Flash注意事项
15
输入输出控制(0x2F)
控制物理输出
模拟输入信号
短暂/持续控制
16
例程控制服务(0x31)
启动/停止例程
请求例程结果
常见例程(擦除Flash)
17
请求下载服务(0x34)
下载前握手
地址与大小协商
数据格式协商
18
请求上传服务(0x35)
上传前握手
读取ECU数据块
完整性校验
19
传输数据服务(0x36)
数据块分包传输
序列号管理
中止与恢复
20
退出传输(0x37)
正常/异常退出
传输状态清理
21
UDS时间参数
P2_Client/Server
P2*_Server
S3_Server超时
22
网络层(ISO 15765-2)
单帧/首帧/连续帧
流控制帧
多帧传输时序
23
应用层定时器
响应超时
间隔时间
抑制响应位
24
诊断栈集成
诊断栈架构
ASR/DCM/DEM/FIM
25
ODX/PDX描述文件
ODX文件结构
诊断数据定义
服务描述
26
UDS测试与验证
CANoe/CANalyzer
自动化测试脚本
一致性测试
27
UDS刷写流程
预/主/后编程
刷写安全校验
Bootloader
28
故障诊断实战
故障码生成机制
故障码老化
清除策略
29
多ECU协同诊断
网关路由
跨网络诊断
冲突处理
30
常见问题与避坑
NRC处理不当
时序配置错误
多帧丢包
安全访问死锁