📘 UDS · BSW 实现
30章 完全版
🚗 诊断协议栈 · 友好色系
1
UDS协议概述
ISO 14229
协议起源 · 标准体系 · AUTOSAR BSW位置
2
OSI模型与UDS
CAN/LIN/FlexRay
七层映射 · 物理层与数据链路层选择
3
UDS服务分类
6大类
强制/可选 · 诊断通信/数据传输/存储/IO/远程激活/上传下载
4
诊断会话控制
0x10
默认/编程/扩展会话 · 状态机 · SID子功能
5
ECU复位服务
0x11
硬复位/钥匙下电/软复位/快速复位/Rapid Power Down
6
安全访问服务
0x27
种子与密钥 · 安全等级 · AES/Custom · 防重放
7
通信控制服务
0x28
使能/禁用收发 · 网络管理报文 · 应用报文控制
8
测试仪在线服务
0x3E
保持会话激活 · 抑制正响应 · 定时器管理
9
读取数据服务
0x22
DID定义 · 标识符范围 · 多帧传输 · 响应格式
10
读取故障码服务
0x19
DTC状态掩码 · 子功能 · 快照与扩展数据
11
写入数据服务
0x2E
写入DID · 安全访问前置 · 条件检查 · NRC处理
12
输入输出控制
0x2F
控制IO · 物理/功能地址 · 强制/冻结/释放
13
例程控制服务
0x31
启动/停止/检查 · 例程ID · 擦除Flash/自检/校准
14
上传下载服务
0x34/36/37
请求下载 · 数据传输 · 退出 · 块大小 · 内存对齐
15
文件传输服务
0x3D
文件系统操作 · 打开/读取/写入/关闭 · 路径管理
16
BSW架构概览
AUTOSAR
分层模型 · BSW与RTE · 诊断栈(DCM/DEM/FIM)交互
17
DCM模块详解
诊断通信管理器
PDU路由 · 会话层管理 · 服务分发机制
18
DEM模块详解
诊断事件管理
DTC存储 · 事件优先级 · 老化计数器 · 冻结帧
19
FIM模块详解
功能抑制
功能ID · 抑制条件 · 与DCM/DEM协同
20
NVM模块与诊断
非易失存储
DTC存储策略 · 写入周期优化 · 掉电保护
21
CAN诊断实现
CAN TP
单帧/多帧/流控帧 · 网络层定时器 N_As/N_Bs/N_Cr
22
DoIP诊断实现
以太网
TCP/UDP · 车辆发现(VIN/GID) · 并发连接管理
23
诊断配置工具
DaVinci/EB
DEXT文件生成 · SWC与BSW映射
24
诊断栈集成测试
CANoe/CAPL
测试用例 · CANalyzer · 自动化脚本(Python)
25
NRC处理机制
0x10~0xFF
NRC分类 · 优先级 · 响应抑制关系
26
诊断时间参数
P2/P2* /S3
P2_Server · P2*_Server · S3_Server · 系统性能
27
多控制器诊断
网关路由
功能/物理地址 · 诊断请求转发 · 跨网络诊断
28
UDS on CAN FD
CAN FD
DLC扩展 · 传输层适配 · 兼容性考虑
29
UDS on LIN
LIN诊断
主从节点诊断 · 调度表与诊断帧
30
UDS on FlexRay
FlexRay
静态/动态段 · 时隙分配 · 诊断PDU封装