01
UDS协议概述
OSI七层模型与汽车诊断协议栈 · UDS历史与ISO 14229 · 车载网络角色
基础协议
02
诊断栈架构设计
模块划分(ASR/DCM/DEM/FIM) · OSEK/VDX关系 · 配置流程
架构OSEK
03
诊断请求与响应机制
SID与子功能 · 单帧/多帧格式 · 正响应与NRC
核心NRC
04
物理寻址与功能寻址
点对点 vs 广播 · CAN总线实现 · 寻址效率影响
CAN寻址
05
诊断会话控制 (0x10)
默认/扩展/编程会话切换 · 状态机 · 超时处理
会话状态机
06
ECU复位服务 (0x11)
硬件/钥匙下电/软件复位 · 复位后会话恢复
复位ECU
07
安全访问服务 (0x27)
种子与密钥 · 安全等级1-3 · 配置与测试
安全密钥
08
通信控制服务 (0x28)
报文使能/禁用 · NM/应用报文控制 · 网络管理影响
通信NM
09
测试仪在线服务 (0x3E)
保持会话激活 · 超时管理 · P2_Server/P2*_Server
在线定时
10
读取数据服务 (0x22)
DID定义与配置 · 多字节读取 · 权限管理
DID读取
11
读取故障码服务 (0x19)
状态掩码 · 快照/扩展数据 · DTC状态位
DTC故障
12
写入数据服务 (0x2E)
写入条件与安全校验 · NVM策略 · 回滚机制
写入NVM
13
输入输出控制服务 (0x2F)
控制物理输出(继电器/LED) · 优先级与安全保护
I/O控制
14
例程控制服务 (0x31)
启动/停止/结果请求 · 擦除Flash/自检 · 同步异步
例程RID
15
诊断栈定时参数配置
P2_Server/P2*_Server/S3_Server · 超时策略
定时P2
16
诊断栈NRC配置与管理
NRC优先级 · 抑制/使能 · 自定义NRC
NRC配置
17
诊断栈DTC配置
编号规则(P0xxx/C0xxx) · 使能/老化 · 快照扩展数据
DTC老化
18
诊断栈DID配置
读写属性 · 存储类型(RAM/ROM/NVM) · 安全等级
DID权限
19
诊断栈RID配置
例程标识符参数 · 输入输出格式 · 触发与执行
RID例程
20
软件分区与多核配置
多核诊断栈分配 · 跨核通信 · 安全性影响
多核分区
21
诊断栈Bootloader集成
UDS刷写(0x34/36/37) · 失败恢复机制
Bootloader刷写
22
诊断栈CAN通信配置
CAN ID分配 · DLC配置 · 硬件过滤器
CANID
23
诊断栈DoIP(以太网)配置
TCP/UDP端口 · 车辆发现/路由激活 · CAN桥接
DoIP以太网
24
诊断栈LIN诊断配置
调度表 · 传输层ISO 17987 · 与CAN差异
LIN调度
25
诊断栈FlexRay诊断配置
静态/动态段 · 通信周期 · 同步机制
FlexRay同步
26
诊断栈测试与验证
单元测试 · 集成测试(CANoe) · 自动化框架
测试CANoe
27
诊断栈配置工具链
DaVinci · EB tresos · ETAS ISOLAR 对比
工具链配置
28
代码生成与集成
配置到代码 · MCAL集成 · 编译链接
生成MCAL
29
故障注入与鲁棒性测试
CAPL脚本注入 · 异常报文处理 · 看门狗监控
故障注入鲁棒性
30
实战案例分析
量产ECU配置复盘 · 性能优化 · 常见问题解决
实战案例