1. RH850诊断系统架构总览

在汽车电子电气架构中,微控制器(MCU)承担着从传感器采集、执行器驱动到网络通信、故障诊断的多重职责。Renesas RH850 系列作为面向车身、底盘与动力域的主流 32 位 MCU,其诊断与故障管理系统并不是一个孤立的软件模块,而是横跨硬件外设、底层驱动、AUTOSAR 基础软件与应用逻辑的一条完整链路。理解这条链路的组成与数据流向,是后续设计诊断服务、故障码管理与安全机制的前提。

RH850在整车电子架构中的定位

RH850 通常位于 ECU 的控制核心位置。以典型的车身控制模块(BCM)为例,RH850 通过 CAN 或 CAN FD 与网关、其他 ECU 交换诊断请求与状态信息,通过 LIN 连接车窗、雨刮等从节点,通过 ADC、PWM、GPIO 直接连接开关、继电器与电机驱动。它既是执行控制的“大脑”,也是诊断数据的“汇聚点”。

从诊断视角看,RH850 需要同时满足两类需求:一类是外部诊断仪发起的 UDS(ISO 14229)服务请求,例如读取故障码、清除故障码、读取数据流、执行例程;另一类是 ECU 内部持续进行的自监控,例如电压监测、传感器合理性检查、执行器开路/短路检测。这两类需求最终都汇聚到故障管理模块,形成统一的故障状态与存储策略。

诊断与故障管理系统的整体组成

RH850 诊断系统可以划分为五个关键层次,自下而上依次为:

  • 硬件外设层:包括 ADC、比较器、PWM 反馈、CAN/LIN 控制器、看门狗、时钟监控、Flash 与 EEPROM 模拟模块。它们提供原始诊断信号与故障存储介质。
  • MCAL/驱动层:Renesas 提供的 MCAL 驱动或自研底层驱动,负责外设初始化、中断处理、寄存器访问与错误状态读取。
  • 诊断事件与故障管理层:包括诊断事件管理器(DEM)、故障码存储、去抖与确认逻辑、老化与自愈策略。
  • 诊断通信层:包括 UDS 服务处理、DCM 模块、CAN TP 传输层、会话与安全访问控制。
  • 应用逻辑层:整车功能策略、故障降级、跛行回家、执行器禁用等。

这五层之间并非简单堆叠,而是存在双向数据流。硬件外设产生原始故障信号,经驱动层转换为诊断事件;故障管理层根据去抖结果决定是否置位 DTC;诊断通信层既可以把 DTC 上报给诊断仪,也可以接收清除指令;应用层则根据故障状态调整控制策略。

关键模块划分与数据流

为了更直观地理解各模块之间的关系,下面用一张架构与数据流图展示 RH850 诊断系统的核心组成。图中左侧为外部诊断仪与整车网络,右侧为 RH850 内部模块,箭头表示诊断请求、故障事件与状态反馈的流向。

RH850 诊断与故障管理系统架构与数据流 外部诊断仪 UDS / OBD 整车网络 CAN / CAN FD / LIN 诊断通信层 DCM 服务处理 CAN TP 传输层 会话与安全访问 故障管理层 诊断事件管理器 DEM 去抖 / 确认 / 老化 DTC 存储与快照 应用逻辑层 故障降级策略 跛行回家 执行器禁用 硬件外设与驱动层(RH850 MCU 内部) ADC / 比较器 电压/电流采样 PWM 反馈 开路/短路检测 CAN/LIN 控制器 总线错误监测 看门狗/时钟 程序流监控 MCAL 驱动:外设初始化、中断处理、寄存器状态读取、错误标志清除 请求 响应 报文 读/清 DTC 状态反馈 故障状态 控制反馈 诊断事件 总线状态 执行器控制 诊断请求/响应 DTC 读写

图中可以清晰看到三条主要数据流。第一条是诊断请求流:外部诊断仪通过 CAN 发送 UDS 请求,经 CAN TP 重组后交给 DCM,DCM 解析服务号并调用 DEM 接口读取或清除 DTC,最后将响应按原路返回。第二条是故障事件流:ADC、PWM 反馈、CAN 控制器等外设产生原始错误标志,MCAL 驱动读取并转换为诊断事件,DEM 根据去抖计数器判断是否确认故障,确认后写入 DTC 存储区并记录快照数据。第三条是控制反馈流:应用层根据 DEM 提供的故障状态决定是否降级、禁用执行器或进入跛行模式,同时把控制结果反馈给故障管理层,用于故障自愈判断。

诊断事件到DTC的状态转换

在故障管理层内部,一个诊断事件并不会立即变成 confirmed DTC。RH850 方案中常见的处理流程是:事件首次上报时进入 prefailed 状态,去抖计数器开始累加;当计数达到确认阈值(例如 5 次)后,状态迁移到 confirmed,DTC 被正式置位并写入非易失存储;如果故障消失,去抖计数器反向递减,达到愈合阈值后状态回到 passed,但 DTC 仍保留在存储中,直到满足老化条件(例如连续 40 个驾驶循环无故障)才被清除。这个状态机是诊断系统可靠性的核心,后续章节会展开去抖参数与老化策略的具体配置。

设计时需要关注的关键点

在架构设计阶段,有几个问题需要提前明确。第一,DTC 存储介质的选择:RH850 内部 Data Flash 可以模拟 EEPROM,但擦写寿命有限,需要设计写入均衡与缓存策略,避免频繁写入导致寿命耗尽。第二,诊断事件与 DTC 的映射关系:一个 DTC 可能由多个诊断事件共同确认,例如“传感器信号丢失”可能同时来自 ADC 超范围与 CAN 信号超时,需要在 DEM 中配置事件组合逻辑。第三,实时性约束:诊断通信层不能阻塞应用层的控制周期,DCM 服务处理通常放在后台任务或低优先级中断中执行。第四,安全访问:涉及写入、例程控制等 UDS 服务必须经过 Security Access 解锁,密钥算法与种子生成需要与整车诊断规范一致。

在实际项目中,建议先画出 ECU 的诊断事件清单,标注每个事件的来源外设、去抖方式、确认阈值、对应 DTC 编号与快照数据项,再据此配置 DEM 模块。这样可以避免后期出现“事件已确认但 DTC 未置位”或“DTC 置位但无快照数据”的常见问题。

总体来看,RH850 诊断系统是一个从硬件信号到应用策略的纵向链路,同时通过 CAN/LIN 与外部诊断仪和整车网络形成横向连接。理解这条链路的层次划分与数据流向,是后续设计 UDS 服务、配置 DEM 参数、实现故障降级策略的基础。下一阶段的工作将围绕诊断事件的具体定义与 DTC 存储结构展开。