🚗 诊断协议 · 30章
🎓 车载ECU诊断通信协议详解
01
诊断协议概述
OBD起源与发展
UDS vs KWP2000
诊断在电子电气架构中的位置
➜
02
物理层与数据链路层
CAN总线基础 (2.0A/B)
CAN FD 简介
LIN总线诊断应用
DoIP 入门
➜
03
网络层与传输层
ISO 15765-2 (CAN TP)
单帧与多帧传输
流控制与时间参数
网络层寻址 (N_AI / N_TA)
➜
04
UDS应用层基础
ISO 14229-1 概述
服务分类 (强制/可选)
诊断会话控制 (0x10)
安全访问 (0x27)
➜
05
UDS数据读取服务
读取数据 DID (0x22)
周期标识符 (0x2A)
动态定义标识符 (0x2C)
内存读取 (0x23)
➜
06
UDS数据写入服务
写入数据 DID (0x2E)
内存写入 (0x3D)
例程控制写入场景
➜
07
UDS故障码相关服务
读取故障码 (0x19) 子功能
清除故障码 (0x14)
故障码状态与老化
➜
08
UDS输入输出控制
IO控制标识符 (0x2F)
例程控制IO场景
安全访问与IO联动
➜
09
UDS例程与上传下载
例程控制 (0x31) 详解
请求下载 (0x34)
请求上传 (0x35)
传输数据 (0x36) / 退出 (0x37)
➜
10
UDS时间参数与定时
P2_Server / P2*_Server
P2_Client / P2*_Client
S3 会话超时
应用层时间参数配置
➜
11
诊断会话管理
默认 / 编程 / 扩展会话
会话切换规则
安全等级
➜
12
安全访问机制
种子与密钥 (Seed & Key)
安全等级划分
解锁流程详解
常见安全漏洞与防护
➜
13
通信标识符与地址
物理请求与功能请求
CAN标识符分配 (11/29位)
诊断地址 (TA/SA/RA)
网络层地址映射
➜
14
诊断仪与ECU交互流程
连接建立 / 会话初始化
安全解锁 / 服务执行
连接释放
典型用例 (刷写/读码/标定)
➜
15
KWP2000协议详解
ISO 14230 标准概述
KWP2000 vs UDS 差异
地址模式与定时参数
➜
16
OBD-II协议详解
ISO 15031 概述
OBD-II 服务 (模式$01-$0A)
OBD PID 与 UDS DID 映射
OBD-II 与 UDS 共存策略
➜
17
诊断刷写 (Reprogramming)
刷写流程 (预/主/后编程)
刷写文件格式 (S19/HEX/Bin)
安全校验 (CRC/签名)
➜
18
诊断刷写进阶
Bootloader 设计
刷写失败恢复机制
多节点并行刷写
刷写时间优化
➜
19
诊断测试与验证
一致性测试 / 集成测试
功能测试用例设计
自动化框架 (vTESTstudio/CANoe)
➜
20
诊断协议栈架构
分层模型 (应用/网络/数据链路)
诊断栈集成与配置
供应商对比 (Vector/EB/KPIT)
➜
21
诊断事件管理
事件存储机制
优先级与去抖动 (Debounce)
事件与故障码关联
时间戳管理
➜
22
诊断数据管理
DID 设计原则
数据格式 (原始/物理/文本)
快照与扩展数据
安全等级配置
➜
23
诊断例程管理
RID 设计 / 执行模式
典型例程 (写入VIN/学习/校准)
例程与安全访问
➜
24
诊断故障码管理
DTC 格式与分类 (P/C/B/U)
状态掩码 / 老化策略
快照与扩展数据记录
➜
25
多ECU诊断与网关
网关路由诊断报文
多ECU并行诊断
跨网络诊断 (CAN→DoIP)
网关对诊断的影响
➜
26
DoIP (以太网诊断) 详解
ISO 13400 概述
物理层与传输层 (TCP/UDP)
车辆声明与发现
路由激活与诊断连接
➜
27
DoIP 进阶
DoIP 安全 (TLS认证)
DoIP 与 SOME/IP 关系
在自动驾驶域控制器应用
测试挑战
➜
28
AUTOSAR 诊断实现
诊断栈 (DCM/DEM/FIM)
DCM 配置 (服务/DID/RID表)
DEM 配置 (事件与DTC映射)
FIM 功能抑制
➜
29
新能源车特殊应用
BMS / MCU / OBC 诊断
热管理系统诊断
高压互锁诊断
➜
30
诊断未来发展趋势
远程诊断与OTA
基于服务的诊断 (S2S)
AI 诊断数据分析
诊断与功能安全 (ISO 26262)
➜