UDS诊断开发工具链

🧰 30章 · 从入门到实战 v2.0
01
UDS (ISO 14229) 起源与发展 · 汽车电子电气架构角色 · 与OBD-II区别 · 协议栈分层模型
02
诊断开发工具链定义 · 典型组成 (需求/设计/实现/测试/刷写) · 主流商用与开源工具概览
03
CAN 2.0 vs CAN FD · 报文帧结构 (SOF, ID, DLC, Data, CRC) · 物理层与数据链路层要点
04
单帧/多帧传输 · 流控制协议FC · 分段与重组 · 网络层定时参数
05
SID · 子功能 · 肯定/否定响应 (NRC) · 诊断会话控制 (0x10) 与服务控制 (0x11)
06
默认/编程/扩展会话 · 会话切换条件与行为
07
种子与密钥算法 · 安全等级划分 · 解锁流程与漏洞 · 防重放攻击设计
08
ReadDataByIdentifier · ReadMemoryByAddress · DID与地址映射规则
09
WriteDataByIdentifier · WriteMemoryByAddress · 写入前安全校验
10
控制单个/多个IO信号 · IO控制与安全访问联动 · 模拟传感器故障
11
StartRoutine · StopRoutine · RequestRoutineResults · 典型例程 (擦除Flash, 自检)
12
硬件复位 · 钥匙下电复位 · 软件复位 · 复位后会话行为 · NVM影响
13
启用/禁用通信 · 特定类型通信 (应用报文/网络管理) · 总线休眠踩坑
14
DTC结构 (P/B/C/U) · 状态掩码 (testFailed, confirmed, pending) · 快照与扩展数据
15
ClearDiagnosticInformation · ReadDTCInformation · 按状态掩码过滤DTC
16
编写诊断规范 (DBC/CDD/ODX) · 需求与系统关联 · 需求管理工具 (DOORS, Polarion)
17
CANdelaStudio/ODXStudio · 创建会话与安全等级 · 定义DID与例程 · 生成描述文件
18
Vector MICROSAR/Classic AUTOSAR · ISOLAR-AB配置DCM · NRC与会话路由
19
CANoe CAPL基础 · 诊断请求/响应测试用例 · 调用诊断库函数 · 自动化测试序列
20
python-can库 · udsoncan库 · 自动化诊断测试脚本 · 生成测试报告
21
刷写前置条件 · 预编程/主编程/后编程 · 数据块传输 (0x34/0x36/0x37)
22
基于Python刷写工具 · S19/HEX/BIN解析 · 刷写进度与错误处理 · 中断后恢复ECU
23
ISO 13400/14229一致性要求 · 测试用例 (正例/反例/边界值) · CANoe Test Module自动化
24
Jenkins/GitLab CI集成 · Docker封装测试环境 · 每日构建与冒烟测试 · 报告归档
25
诊断控制台 · 诊断窗口配置 · 诊断追踪分析 · 仿真ECU与剩余总线仿真
26
硬件连接与驱动 · PCAN-View收发CAN报文 · 手动发送UDS请求 · Python脚本自动化
27
DoIP协议 (ISO 13400) · TCP/UDP端口与路由激活 · 与CAN诊断异同 · Vector DoIP Option
28
请求响应时间测量 · 总线负载率分析 · 多ECU并发诊断 · 高负载超时优化经验
29
ISO 26262诊断要求 · 诊断覆盖率与故障检测率 · 安全机制与UDS交互 · 功能安全项目设计
30
从零搭建UDS诊断工具链:需求→数据库→诊断栈→测试脚本→刷写→自动化→CI/CD