基于NXP的UDS诊断协议栈

30章 · 从入门到实战
01UDS协议概述
  • UDS协议简介
  • OSI七层模型与UDS
  • 汽车电子应用场景
  • 诊断协议栈整体架构
02NXP平台介绍
  • NXP S32K系列MCU概述
  • S32K3硬件平台特性
  • S32DS安装与配置
  • EB tresos工具链简介
03CAN通信基础
  • CAN总线物理层与数据链路层
  • CAN报文格式 (标准帧/扩展帧)
  • CAN控制器与收发器
  • 通信速率与终端电阻
04UDS服务基础
  • 服务分类 (强制与可选)
  • 服务ID (SID) 与子功能
  • 正响应与负响应
  • 会话控制 (0x10服务)
05诊断请求与响应
  • 诊断请求报文格式
  • 诊断响应报文格式
  • 物理寻址与功能寻址
  • 网络层定时参数
06UDS网络层 (ISO 15765-2)
  • 单帧与多帧传输
  • 流控制帧 (FC)
  • 连续帧 (CF)
  • 网络层协议数据单元
07诊断会话管理 (0x10)
  • 默认会话 (Default)
  • 编程会话 (Programming)
  • 扩展会话 (Extended)
  • 会话切换条件与影响
08ECU复位服务 (0x11)
  • 硬件复位
  • 钥匙下电复位
  • 软件复位
  • 复位后行为与注意事项
09安全访问服务 (0x27)
  • 安全访问目的与原理
  • 种子与密钥机制
  • 安全等级 (Level)
  • SecOC与HSM集成
10通信控制服务 (0x28)
  • 启用/禁用报文收发
  • 启用/禁用特定通信
  • 网络管理协同
  • 应用场景
11测试仪在线服务 (0x3E)
  • 保持会话活跃
  • 抑制正响应
  • 应用场景
  • 实现细节
12读取数据服务 (0x22)
  • DID (数据标识符) 定义
  • 读取ECU硬件/软件版本
  • 读取VIN码
  • 读取故障码快照
13读取故障码服务 (0x19)
  • 故障码 (DTC) 格式
  • 状态掩码
  • 按状态读取DTC
  • 按DTC读取快照与扩展数据
14写入数据服务 (0x2E)
  • 写入DID
  • 写入VIN码
  • 写入配置参数
  • 写入安全限制与校验
15例程控制服务 (0x31)
  • 例程ID定义
  • 启动/停止例程
  • 例程结果获取
  • 典型应用 (擦除Flash等)
16输入输出控制服务 (0x2F)
  • 控制物理输出 (继电器/LED)
  • 模拟输入信号
  • 安全机制
  • 回读
17传输数据服务 (0x36/0x37)
  • 请求下载 (0x34)
  • 数据传输 (0x36)
  • 请求上传 (0x35)
  • 传输退出 (0x37)
18Bootloader与刷写流程
  • Bootloader架构
  • 刷写前置条件
  • 刷写数据流
  • CRC校验与完整性检查
19NXP S32K3 CAN驱动配置
  • FlexCAN模块初始化
  • 报文缓冲 (MB) 配置
  • 中断与轮询模式
  • 波特率计算
20EB tresos配置UDS模块
  • UDS模块参数配置
  • DID表配置
  • DTC表配置
  • 会话与安全配置
21UDS协议栈状态机设计
  • 空闲状态
  • 接收状态
  • 处理状态
  • 发送状态 / 超时与错误处理
22诊断请求接收与解析
  • CAN报文接收中断
  • 网络层重组
  • 服务ID解析
  • 子功能解析 / 数据长度校验
23诊断响应生成与发送
  • 正响应组装
  • 负响应码 (NRC) 生成
  • 多帧响应发送
  • 响应超时管理
24NRC (负响应码) 详解
  • 常见NRC列表 (0x10~0xFF)
  • NRC生成逻辑
  • NRC优先级
  • 项目中的NRC调试经验
25UDS与网络管理协同
  • NM报文与诊断报文共存
  • NM休眠与唤醒对诊断的影响
  • NM与UDS会话关联
  • 协同策略
26诊断日志与跟踪
  • 诊断事件记录
  • DTC快照与扩展数据记录
  • 诊断跟踪工具 (CANoe等)
  • PCAN-Explorer
27UDS测试与验证
  • 测试用例设计
  • 自动化测试框架 (CAPL/Python)
  • 一致性测试 (ISO 13400)
  • 鲁棒性测试
28功能寻址与多ECU诊断
  • 功能寻址ID (0x7DF)
  • 多ECU同时响应
  • 冲突处理
  • 网关路由
29UDS在OTA中的应用
  • OTA (空中升级) 流程
  • UDS在OTA中的角色
  • 安全刷写
  • 回滚机制
30项目实战:基于S32K3的UDS诊断栈实现
  • 需求分析
  • 模块划分
  • 编码实现
  • 集成测试 / 问题排查与优化
风格 · 轻松学习UDS