🚗 UDS 实战课程
30章 · 车规级诊断
⚡ 风格 · 明快易懂
01
UDS协议概述
背景
汽车电子地位
与OBD-II区别
02
OSI七层模型与UDS
OSI回顾
应用层定位
CAN/LIN/FlexRay
03
UDS协议栈架构
协议栈分层
服务与子服务
请求/响应
04
CAN总线基础回顾
CAN帧结构
标识符与优先级
仲裁机制
05
UDS on CAN
N_PDU/N_AI
物理/功能寻址
单帧多帧
06
诊断会话控制 (0x10)
会话状态机
默认/编程/扩展
切换条件
07
ECU复位服务 (0x11)
硬件复位
钥匙下电复位
软件复位
08
安全访问服务 (0x27)
种子与密钥
安全等级
防重放攻击
09
通信控制服务 (0x28)
报文使能/禁用
网络管理
诊断报文控制
10
测试仪在线服务 (0x3E)
保持会话激活
非主动响应
超时机制
11
读取数据服务 (0x22)
DID概念
读取ECU数据
多DID读取
12
读取内存数据服务 (0x23)
内存地址/长度
物理内存读取
安全限制
13
读取故障码服务 (0x19)
DTC状态掩码
按状态/组读取
快照扩展
14
写入数据服务 (0x2E)
写入DID
写入条件
安全校验
15
清除故障码服务 (0x14)
清除DTC
清除条件
清除后状态
16
输入输出控制服务 (0x2F)
控制I/O引脚
短时/持续控制
安全保护
17
例程控制服务 (0x31)
启动/停止例程
请求结果
常见示例
18
请求下载服务 (0x34)
下载前协商
内存地址/大小
数据格式
19
请求上传服务 (0x35)
上传前协商
上传数据块
上传完成
20
传输数据服务 (0x36)
数据块传输
序列号控制
错误处理
21
请求退出传输服务 (0x37)
终止传输
释放资源
状态回退
22
诊断故障码 (DTC) 详解
DTC结构(3字节)
状态掩码
老化与冻结
23
UDS时间参数
P2_Server
P2*_Server
S3_Server
24
UDS负响应码 (NRC)
常见NRC列表
优先级
处理逻辑
25
UDS刷写流程实战
预/主/后编程
S19/HEX/BIN
刷写文件
26
UDS测试用例设计
等价类划分
边界值分析
状态机覆盖
27
UDS自动化测试
Python脚本
CANoe/CANalyzer
测试报告
28
UDS在AUTOSAR中的实现
DCM模块
DEM模块
FIM模块
29
UDS在新能源车中的应用
BMS诊断
MCU诊断
VCU诊断
30
UDS实战项目
从零搭建诊断系统
需求/架构/编码/测试