结论:Honda 的平台表把三类东西放在不同层:软件平台定义(固定快照里 38 个 Honda/Acura 条目)、DBC 与 flags、以及 HondaCarDocs 的线束提示。三者不能互相替代——同 DBC 不等于同线束,CAN FD DBC 不等于 CAN FD 平台,文档线束提示也不等于接线验证。任何车型插件都必须冻结精确平台 ID、DBC 哈希、静态与动态 flags、物理总线图与线束版本,不能只凭「Bosch/Nidec」或 DBC 文件名授予控制权。
38 个平台条目:计数的是代码平台
在固定快照 c8fb906 的 CAR 枚举里,Honda/Acura 有 38 个平台条目:26 个 Bosch 配置,其中 7 个为 HondaBoschCANFDPlatformConfig,另有 12 个 Nidec 配置。源文档强调,这里计数的是代码平台,不是市场车型、年款或可装车数量。
HondaBoschCANFDPlatformConfig 继承 Bosch,构造时加 BOSCH_CANFD,并默认 PT DBC 为 honda_common_canfd_generated;HondaNidecPlatformConfig 加 NIDEC,各平台通过 radar_dbc_dict() 同时声明 PT DBC 与 acura_ilx_2016_nidec 雷达 DBC。
| 软件类别 | 代表平台 | DBC / flags 含义 |
|---|---|---|
| Bosch 有雷达 | HONDA_ACCORD、HONDA_CRV_5G |
PT DBC 依车型而异;BOSCH_ALT_BRAKE 可为静态标志,也可由指纹条件补上。 |
| Bosch 无雷达 | HONDA_CIVIC_2022、HONDA_HRV_3G、ACURA_ADX |
BOSCH_RADARLESS 使车端总线、按钮目标和纵向权限走不同分支;不能只按 DBC 名判断。 |
| Bosch CAN FD | HONDA_ACCORD_11G、HONDA_CRV_6G、ACURA_MDX_4G_MMR |
BOSCH_CANFD 标志和默认 PT DBC 一起定义平台;本快照参数层不开放 CAN FD 实验纵向。 |
| Bosch 非 CAN FD 但复用 CAN FD DBC | ACURA_MDX_4G |
PT DBC 仍是 honda_common_canfd_generated,源码注释明确「not CANFD car but shares same dbc」;安全模式和总线拓扑不能由 DBC 文件名反推。 |
| Nidec | HONDA_CIVIC、HONDA_CRV、HONDA_ODYSSEY |
PT/雷达双 DBC;NIDEC_ALT_SCM_MESSAGES、NIDEC_ALT_PCM_ACCEL 和全车门字段标志决定输入/输出分支。 |
CarSpecs 与参数复用不等于实车测定
CarSpecs 给质量、轴距、转向比、质心前轴比、最低转向/使能速度和轮胎刚度因子;通用 get_params() 将其写入 CarParams,并加默认载荷后计算惯量/轮胎刚度。平台间存在显式参数复用:旧 HONDA_HRV 复用 HONDA_HRV_3G.specs,旧 HONDA_PILOT 复用四代 Pilot 的 specs。源文档提醒,这是代码共享,不是目标车辆物理参数已经测定的证据。
CarInterface._get_params() 把静态平台资料与指纹、固件、用户选择合成为实际 CarParams 和 safetyParam;CarState.get_can_parsers() 按 PT/相机/车身路由建立解析器,RadarInterface 在 Nidec 平台另用 Bus.radar DBC 建立雷达解析器,CanBus/CarControllerParams 再把车型能力映射为物理总线与转向扭矩上限。源文档据此把「平台表」定位为软件声明,而不是可直接施工的线束图。
静态 flags、指纹动态标志与总线映射
平台表中的 BOSCH、NIDEC、BOSCH_RADARLESS、BOSCH_CANFD、BOSCH_ALT_RADAR 是构造时的静态能力。CarInterface._get_params() 还从指纹动态设置 BOSCH_EXT_HUD、HYBRID、条件性的 BOSCH_ALT_BRAKE 以及特定五代 CR-V 的 HAS_BSM;固件 EPS 版本含逗号则置 dashcamOnly。BOSCH_TJA_CONTROL 在控制器有分支,但本快照平台定义中未见设置,不能把 dormant 代码当作已开通能力。
CanBus 把 Bosch 有雷达平台的 PT 映射到 offset+1、radar 到 offset,纵向模式影响 LKAS 发送总线;radarless/CAN FD/Nidec 使用另一组映射。CarState 的相机解析器使用同一 PT DBC,却绑定 CanBus.camera 物理输入;BSM parser 使用 Bus.body DBC 但读取 CanBus.radar,需要 panda 转发 B-CAN。源文档据此总结:DBC 语法共用、逻辑 Bus 名称和真实总线接线是三个不同层次。DBC 语法共用不代表物理总线相同。
这些 flags 的取值分支会一路传到构帧与限幅:例如 BOSCH_RADARLESS 影响车端总线与按钮目标,纵向模式影响 LKAS 发送总线。因此只按 DBC 名或品牌判断输入/输出分支,会同时误判总线映射与限幅参数。
线束提示只是文档族
HondaCarDocs.init_make() 按 flags 选择文档线束族:Bosch CAN FD 为 bosch_c,radarless 为 bosch_b,其他 Bosch 为 bosch_a,Nidec 为 nidec。CarDocs 的年款、最低转向速度、套件和 AEB/FCW 脚注用于支持表呈现,不构成引脚、供电、继电器或 EMC 的工程验收。部分平台 car_docs=[] 只是不在支持表展示,不代表平台代码不存在。
把这些层叠起来看:平台表决定「软件认为这是什么车」,flags 决定「走哪条分支」,DBC 决定「怎么解析字段」,线束文档决定「支持表怎么展示」,而物理接线与 ECU 固件证据是独立的一层。四者只有在插件描述符里逐项冻结,才谈得上可复现。
插件描述符必须冻结什么
| 必须冻结的字段 | 为什么不能省 |
|---|---|
| 精确平台 ID、DBC 哈希 | 同 DBC 不等于同线束;ACURA_MDX_4G 复用 CAN FD DBC 却是非 CAN FD 平台。 |
| 静态 flags(BOSCH / NIDEC / BOSCH_RADARLESS / BOSCH_CANFD) | BOSCH_RADARLESS 会使总线、按钮目标和纵向权限走不同分支。 |
| 动态 flags(EXT_HUD / HYBRID / ALT_BRAKE / HAS_BSM / dashcamOnly) | 由指纹与固件条件设置,不能只按 DBC 名或品牌判断。 |
| 物理总线图、线束版本 | 逻辑 Bus 名称与真实接线是不同层次,DBC 名不能反推拓扑。 |
| ECU 固件证据、panda safety 模式 | 决定控制权授予与失联回退,不能只靠「Bosch/Nidec」授予控制权。 |
源文档给出的顺序是:先建立目标车型的只读 CAN/电源/接线记录,再验证 PT、camera、radar、body 路由、原车 ADAS 保留和失联回退;没有原厂资料和台架证据,不把文档线束类型当作可照抄的接线表。此处仅完成静态结构分析,未验证 38 个平台的实际车辆参数或装配兼容性。
常见问题
38 个 Honda 平台条目等于 38 款可装车型吗?
不等于。源文档明确,这 38 个是代码里的平台条目(26 个 Bosch 配置含 7 个 CAN FD 配置,加 12 个 Nidec 配置),计数的是代码平台,不是市场车型、年款或可装车数量。
用了同一个 CAN FD DBC,是否说明这平台就是 CAN FD 车?
不是。ACURA_MDX_4G 的 PT DBC 仍是 honda_common_canfd_generated,但源码注释明确它「not CANFD car but shares same dbc」,说明安全模式和总线拓扑不能由 DBC 文件名反推。
文档线束提示(bosch_a/b/c、nidec)可以直接照抄接线吗?
不可以。这些是 HondaCarDocs.init_make() 按 flags 选择的文档线束族,用于支持表呈现,源文档明确它们不构成引脚、供电、继电器或 EMC 的工程验收。接线仍需原厂资料与台架证据。
BOSCH_TJA_CONTROL 出现分支,是否代表该能力已开通?
不代表。源文档指出它在控制器里有分支,但本快照的平台定义中未见设置,属于 dormant 代码,不能当作已开通能力。
延伸阅读
- 车型平台与参数契约 —— 平台 ID、DBC 与参数的绑定关系在上层如何表达。
- Honda 控制器 CAN 输出 —— 从平台 flags 到实际构帧输出的下一段链路。
- Honda 车型接口能力与雷达生命周期 —— 雷达能力在运行时如何被启停。
- DBC 指纹与固件匹配的两道关口 —— 说明「同 DBC 不等于同平台」的识别前提。
参考资料
- 项目 02 ——
openpilot-research/HONDA_PLATFORM_DBC_HARNESS_MATRIX_DEEP_DIVE.md(取用了平台类别计数、静态与动态 flags 分层、总线映射与线束文档族选择逻辑)。
说明:本文为对固定源码快照的静态结构分析,未运行完整测试套件、未连接硬件、未验证目标车型的真实参数组合。文中所有阈值、行号索引与配置均出自源文档,标注为未验证的结论保留其原有边界。
更新记录
首次发布 2026-10-11 最近核对:2026-10-11