2. 诊断工具链与标准

驾驶辅助系统的故障诊断,本质上是在“车辆网络—控制单元—传感器/执行器—诊断仪”之间建立一条可解释的数据通路。Bosch 驾驶辅助系统(如雷达、摄像头、域控制器)通常同时支持多种诊断入口:产线/售后使用的 Bosch 专用诊断仪(如 Bosch KTS 系列配合 ESI[tronic] 或相关诊断软件)、通用 OBD-II 接口,以及基于 UDS(ISO 14229)的诊断服务。理解这三者的分工与边界,是后续读码、清码、看数据流和写报告的前提。

一、工具链的三层结构:物理层、协议层、应用层

从工程视角看,诊断工具链可以拆成三层:物理接入层决定“用什么插头、走哪条总线”;协议层决定“用什么语言对话”;应用层决定“读什么、怎么解释”。Bosch 专用诊断仪的优势在于应用层:它内置了针对 Bosch 雷达、摄像头、域控的 ODX/OTX 描述文件,能直接给出 DTC 的故障描述、可能原因、引导型测试步骤和维修建议。通用 OBD 接口的优势在于物理层与排放相关服务的普适性,但面对 ADAS 私有 DTC 和标定数据时往往只能看到“冰山一角”。UDS 则是两者共同依赖的“会话语言”。

诊断工具链与标准:从物理接入到报告解读 Bosch 专用诊断仪 KTS + ESI[tronic] ODX/OTX 描述文件 引导型测试 / 标定 通用 OBD 接口 OBD-II 16 针 DLC CAN 500 kbps / ISO 15765 Mode $01–$0A UDS 协议层 ISO 14229-1 会话:默认 / 扩展 / 编程 服务:0x10 / 0x27 / 0x19 0x14 / 0x22 / 0x2E / 0x31 寻址:物理 / 功能 ADAS 控制单元 雷达 ECU / 摄像头 ECU / 域控 DTC 存储区 + 冻结帧 + 扩展数据 标定数据 / 版本信息 / 序列号 车载网络 CAN FD / 以太网 / FlexRay 网关路由:诊断报文转发 DoIP(ISO 13400)用于以太网 DTC 读取与清除的关键服务链 0x10 会话控制 进入扩展会话 0x27 安全访问 种子—密钥解锁 0x19 读 DTC 子功能 0x02/0x04/0x06 0x14 清除 DTC 组 0xFFFFFF 全清 0x22 读数据 冻结帧 / 版本信息

二、UDS 服务:读码与清码的实际操作

UDS 不是“一个按钮”,而是一组带子功能的服务。诊断仪与 ECU 的典型交互如下:

# 进入扩展会话(0x10 0x03)
发送: 10 03
响应: 50 03 00 32 01 F4

# 安全访问(0x27):请求种子
发送: 27 01
响应: 67 01 12 34 56 78

# 发送密钥(示例,实际由算法生成)
发送: 27 02 87 65 43 21
响应: 67 02

# 读取 DTC(0x19 0x02,报告已确认的 DTC)
发送: 19 02 FF
响应: 59 02 FF 00 01 2A 08 24 00 01 2B 08 25 00

# 清除 DTC(0x14 0xFFFFFF)
发送: 14 FF FF FF
响应: 54

这里有两个容易踩坑的点。第一,会话与安全等级不匹配:很多 ADAS ECU 要求先进入扩展会话(0x03),再通过 0x27 解锁,否则 0x14 清除请求会返回否定响应 0x7F 14 33(安全访问被拒)。第二,DTC 状态字节:响应中的 08 表示“已确认 + 测试失败”,24 表示“已确认 + 测试未完成”,25 表示“已确认 + 测试失败 + 警告指示”。只看 DTC 编号不看状态字节,容易把“历史码”误判为“当前故障”。

三、DTC 读取与清除的工程判断

读码不是目的,判断“这个码该不该清、清完会不会回来”才是。建议按以下顺序处理:

  • 先读冻结帧:用 0x19 0x04 读取 DTC 快照,关注车速、电压、温度、雷达目标数量等环境参数。若冻结帧显示故障发生在 9V 低压瞬间,优先查供电而非换件。
  • 再读扩展数据:用 0x19 0x06 读取 DTC 扩展信息,包括发生次数、老化计数器、上次清除后的里程。发生次数高但老化计数器已归零,说明故障可能已自愈。
  • 清码前记录:清除前务必导出报告或截图,因为 0x14 会同时清掉冻结帧和扩展数据,这些是后续复现和判责的关键证据。
  • 清码后验证:清除后不要立即交车。应执行一次完整的驾驶循环(如车速 > 30 km/h、转向角变化、雷达目标出现),再用 0x19 0x02 复读。若同一 DTC 在 1 个循环内重现,说明是硬故障;若 3 个循环后才重现,多为间歇性接触不良。
注意:部分 Bosch ADAS 控制单元在清除 DTC 后会要求重新学习或标定(如摄像头静态标定、雷达俯仰角校准)。若跳过标定直接路试,可能触发新的 DTC(如“标定未完成”),造成误判。

四、诊断报告解读:从“码”到“结论”

一份可用的诊断报告至少应包含:车辆识别信息(VIN、里程)、诊断仪与软件版本、ECU 硬件/软件版本、DTC 列表(编号 + 状态字节 + 冻结帧摘要)、清除前后对比、以及结论与建议。解读时重点关注三类信息:

报告字段示例值解读要点
DTC 编号C1A00-01Bosch 私有码,需查 ODX 描述;通用 OBD 可能只显示 P 码
状态字节0x08 / 0x24 / 0x25区分当前故障、历史故障、警告指示
冻结帧电压10.8 V低于 11 V 优先查电源与搭铁
发生次数 / 老化12 次 / 0次数高但老化归零,倾向间歇性
软件版本SW 03.12.00与已知 TSB 或召回版本比对

最后强调一个原则:诊断报告不是“码的堆砌”,而是“证据链”。每一个结论都应有对应的 DTC、冻结帧或数据流支撑。例如,报告写“雷达传感器通信故障”,应附上 UDS 响应中的 0x7F 否定码、总线负载率或网关路由状态;报告写“建议更换雷达”,应说明已排除供电、搭铁、插接件和标定问题。只有这样,诊断报告才能被售后、质量或研发环节真正采信。

实操建议:在车间建立一份“ADAS 诊断记录表”,固定记录 VIN、里程、诊断仪版本、DTC 编号与状态字节、冻结帧关键值、清除时间、复现循环数、标定状态和最终结论。这份表既是维修凭证,也是后续故障趋势分析的数据源。