PACMod 线控 v3 平台档案:4.0.0 到 14.1.0 演进

作者:

在

结论:这份档案的对象是一套线控(drive-by-wire)硬件改装平台 PACMod 的 DBC 定义,适用于硬件版本 3 及以上,而不是某一款量产车型。它的数据特征不在「某条报文的第几字节」,而在协议随版本演进:源文档是一份从 4.0.0 一路记到 14.1.0 的变更日志,逐版列出新增/删除/改名的报文与信号,并记录了对缩放因子、DLC 与枚举值的破坏性修改。因此它的结论是「哪个版本有哪个信号」,而不是「某一辆车的信号地图」;源文档未给出比特率、寻址方式或逐字节定义,也未指定任何具体车型与年款。

车辆与适用范围

源文档是一份随线控硬件项目公开的 DBC 变更记录:它描述该平台对外的 CAN 协议面,用于兼容多种被改装的车辆,而非绑定单一车型。

项 内容
车型 搭载 PACMod 线控硬件(rev 3 及以上)的被改装车辆;源文档未指定具体车型
年款 / 市场版本 源文档未确认
ECU / 改装状态 线控改装平台,协议覆盖转向、制动、油门、变速箱、灯光、雨刮等子系统的命令与回报
采集跨度 源文档为发布变更日志(记录至 14.1.0),不含实车日志或事务数
适用范围 仅对应硬件版本 3 及以上的 DBC;版本不匹配时的报文/字段不可直接套用

总线与寻址

源文档以变更日志形式呈现,未描述物理层;它在一条沿革记录里提到曾把比特率补进协议说明文档,但本快照未给出该数值。

项 内容
物理层 / 比特率 源文档未给出(仅记录「已把比特率加入协议文档」)
寻址方式 源文档未给出;命令与回报按 0x600–0x6FF 等地址段预留的描述出现过
帧长度(DLC) 多次变更:如组件回报从 8 改为 4 字节;车速回报从 2 改为 1 字节
CAN FD 源文档未提供
命名约束 受 DBC 规范的 32 字符名称上限约束,超长信号名曾被统一缩短

已解码信号

下表抽取源文档变更日志中最有代表性的条目。位置列以「报文 / 信号」表示,解码列记录该版本发生的结构性变化(缩放、DLC、枚举、位域),证据列注明出现的版本号。

信号 所属报文 该版本的变化 / 含义 证据(版本)
CONTROL_STATUS / CONTROLLING_SYSTEMS / PERFORMANCE_STATUS TIPPER_BODY_RPT_00/01/02 新增状态字节信号 14.1.0
DBW_WARNING_LEVEL DBW_HEALTH_RPT_00/01 及 COMPONENT_RPT_00–05 新增线控健康告警等级 14.1.0
SELF_TEST_STATUS DBW_HEALTH_RPT_00/01 新增自检状态 14.1.0
SELF_TEST_ALLOWED SAFETY_FUNC_RPT_2 新增是否允许自检 14.1.0
DOOR_ANGLE / BODY_ANGLE TIPPER_BODY_AUX_RPT_00/01/02 由 ROLL_ANGLE/PITCH_ANGLE 改名而来 14.0.0
VEHICLE_SPEED VEHICLE_SPEED_RPT 移除 VEHICLE_SPEED_VALID,改为 ERROR/NOT_AVAIL 枚举;DLC 由 2 改为 1 14.0.0
ANGULAR_SPEED BRAKE_MOTOR_RPT_2 / STEERING_MOTOR_RPT_2 缩放因子由 0.1 改为 0.001 14.0.0
(组件回报结构) COMPONENT_RPT 移除组件类型、系统存在标志、监督信号与 CAN 超时故障;新增本地状态机状态;DLC 由 8 改为 4 14.0.0
GEAR_CMD / GEAR_RPT GEAR_CMD / GEAR_RPT 新增挡位命令与回报 13.2.0
ACCEL_PEDAL_POSITION_VOLTAGE_RPT 等四路电压回报 同名回报报文 新增油门/制动/转向的电压型回报 13.2.0
BRAKE_PRESSURE_2 / BRAKE_PRESSURE_2_AVAIL BRAKE_AUX_RPT / BRAKE_AUX_RPT_2 新增第二路制动压力及其可用位 13.1.0
STEERING_FLUID_PRESSURE STEERING_AUX_RPT / STEERING_AUX_RPT_2 新增转向油压 13.1.0
GNSS_TIME — 新增 GNSS 时间 13.1.0
ACTUAL_GEAR_RATIO / DRIVELINE_ENGAGED / SHIFT_IN_PROGRESS SHIFT_AUX_RPT 新增实际传动比、传动系结合与换挡进行标志 12.2.0
COUNTER / COMPLEMENT / SANITY_CHECK_REQUIRED GLOBAL_CMD 新增计数器、补码与合理性检查;配套定义全局命令合理性规则 11.1.0

读取方法与注意事项

源文档的读取要点可以归纳为一句:先锁版本,再谈解析。多处变更会破坏向后兼容:车速回报的 DLC 由 2 改为 1 字节,同时把原来的 VALID 位改为 ERROR/NOT_AVAIL 枚举;制动与转向电机回报的角度缩放从 0.1 改为 0.001;组件回报的 DLC 从 8 缩减到 4 并删除了若干字段。用错版本的解析器不会报错,只会静默给出量级错误的结果。

信号语义方面,源文档反复强调三层数据状态的设计:命令类子系统普遍带 MANUAL_INPUT(人工输入)、COMMANDED_VALUE(被命令值)、OUTPUT_VALUE(实际输出值)三个信号,用来区分「人做了什么」「系统要求什么」「设备实际做了什么」;后续版本又为大量信号补上了 ERROR 与 NOT_AVAIL 枚举值,使「无效」与「不可用」可以被显式表达。解析时不能把这三层当成同一个量。

命名与数值细节也需留意:负数按二进制补码表示(源文档在 13.0.0 明确写入协议说明);名称长度受 32 字符上限约束,因此会出现被缩短的名字;雨刮等子系统的高低中枚举值一度从 253/254/255 挪到 248/249/250,旧的硬编码会失配。此外,源文档把 VIN_RPT、WATCHDOG_RPT、YAW_RATE_RPT 标注为「不用于新开发」,其中 YAW_RATE_RPT 已在 14.0.0 被删除——任何依赖它的解析都应及时迁移。

证据等级与边界

本文的证据等级是「发布记录级」:每一条都能在变更日志里按版本号核对,属于源文档直接证据;但源文档没有任何实车观测或逐字节定义,因此本文不给比特位置、缩放公式的完整定义,只记录「发生过的变化」。要落到具体字节,必须回到对应版本的 DBC 文件与协议说明文档(本快照未包含)。

两点不能外推。第一,本档案对应的是硬件 rev 3 及以上;更早硬件、或不同版本 DBC 之间的字段差异,源文档只以变更形式记录,不能假定向下兼容。第二,源文档未指定车型与年款,把某条信号的存在性外推到具体的被改装车辆上属于超范围推断。关于安全访问,源文档未提供任何绕过方法,且不建议尝试;本文只梳理协议面。

常见问题

为什么这份档案不写具体字节位置?

因为主素材是发布变更日志,只记录各版本「新增/删除/改名/改 DLC/改缩放」的结构性变化,逐字节定义在被引用的 DBC 与协议说明文档里,本快照未包含。给出不存在的位域会违背「只写源文档里有的事实」。

版本不一致会带来什么后果?

会静默出错。例如车速回报 DLC 由 2 改 1、角度缩放由 0.1 改 0.001、组件回报 DLC 由 8 改 4,用错版本的解析器不会报错,只会给出量级错误的结果。因此必须先锁定硬件与 DBC 版本。

MANUAL_INPUT、COMMANDED_VALUE、OUTPUT_VALUE 有什么不同?

三者分别表示人工输入、系统命令值与设备实际输出值。源文档把这三个信号作为命令类子系统的标准配置,用于区分「人做了什么」「系统要求什么」「设备实际做了什么」,不能当作同一个量读取。

YAW_RATE_RPT 还能用吗?

源文档在 11.2.0 把 YAW_RATE_RPT 标注为「不用于新开发」,并在 14.0.0 将其移除。依赖它的解析应迁移到替代信号;继续使用旧字段会与新版协议失配。

延伸阅读

参考资料

  • 项目 01 —— public-can-dbc-datasets/additional/astuff-pacmod-v3/doc/changelog.md(本项目车型档案主来源:从 4.0.0 到 14.1.0 的报文与信号变更记录)。
  • 项目 01 —— public-can-dbc-datasets/additional/astuff-pacmod-v3/README.md(DBC 适用范围为硬件 rev 3 及以上,及对外文档入口)。

说明:本文整理自第三方开源项目的公开文档,仅代表该文档所记录的单个车辆样本,不代表同型号全系车型。CAN 与诊断操作存在风险,任何实车操作前请自行复核并遵守当地法规。

更新记录

首次发布 2026-10-11 最近核对:2026-10-11

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注