Volvo P1 双 CAN 档案:HS 500 kbit/s 与 LS 125 kbit/s

作者:

在

结论:Volvo P1 平台(V50 / S40 / C30 / C70)不是一张 CAN,而是两张经 CEM 网关相连的网络:高速网(HS)跑 500 kbit/s,承载发动机、助力转向、制动/ABS、方向盘传感器与踏板;低速网(LS)跑 125 kbit/s,承载收音机、车门模块、仪表(DIM)、空调(CCM)与 CEM。所有 ID 都是29 位扩展帧。更关键的一条边界是:较早年款需要先通过 K 线激活诊断继电器,CAN 才会出现在 OBD2 接口上。源文档的 HS 表来自 18 份实车日志(约 94.8 万帧)、LS 表来自另一台 C30,两者都不是全平台验证。下述结论仅限源文档记录的这些车辆与年款。

车辆与适用范围

源文档是一份公开研究整理的 CAN 参考表(原文为捷克语),同时给出拓扑、ID 表、若干字节拆分与一个「助力转向泵完整配方」。它自述 HS 表来自某个 V50 项目的 18 份抓包,LS 表来自一台 C30 T5 2011 加另一套 CCM/CEM 仿真。

项 内容
车型 Volvo P1 平台:V50 / S40 / C30 / C70
年款 / 市场版本 HS 表来自一台柴油 V50(未给年款);LS 表来自一台 C30 T5 2011;汽油版与其他年款未独立确认
ECU / 改装状态 原厂网络;HS 侧含 ECM、助力转向(PSP)、制动/ABS、方向盘传感器、踏板;LS 侧含收音机、车门模块、DIM、CCM、CEM
采集跨度 HS:18 份抓包、约 948,000 帧(一台车);LS:一份 C30 2011 的接收列表 + CEM/CCM 仿真观察
适用范围 仅限源文档记录的这两台车与其年款;HS DBC 自述「建立在一台具体 V50 的日志上」

总线与寻址

源文档把拓扑画得很清楚:两张网经 CEM 网关相连。HS 与 LS 的速率不同,且都是 29 位扩展 ID;生成的 DBC 需要设扩展标志(0x80000000),否则多数工具会当成标准帧。HS 表还给出一条很有用的启发式——每字节的「变化度」列(X 表示变化大、点表示变化小、横线表示恒定),用来判断哪里值得找信号。

项 内容
物理层 双绞线 CAN,两张网经 CEM 网关互连
链路层 / 比特率 HS 500 kbit/s;LS 125 kbit/s
寻址方式 29 位扩展 ID(DBC 需带 0x80000000 标志)
CAN FD 否;按经典 CAN 处理
OBD 可达性 较早年款需先经 K 线激活诊断继电器,CAN 才在 OBD2 接口可用

已解码信号

下表抽取 HS 与 LS 的代表性条目,并附一段诊断读数。源文档大量字段标注为「未解码」「仅推测」,这些标注按原样保留;LS 侧尤其如此。

信号 / 功能 位置(ID / 字节 / 位) 解码 / 说明 证据
发动机转速 HS 0x00800006 ECM_EngineData,B7 原始值 110 = 0 rpm(原始值口径,未给完整换算) 18 份实车日志
仪表背光亮度 HS 0x0100082C Dashboard,B0 低半字节 调整亮度 实车日志
光敏(环境光) HS 0x0100082C,B1 位 7 位 实车日志
油门/离合器踏板传感器 HS 0x0110483C PedalSensors 源文档未细分到具体位 实车日志
助力转向速度指令 HS 0x02104136 PSP_SpeedCmd,B6-B7 0x0001 = 满转速;值越大越慢,范围 1–6000 助力转向协议(第三方)
制动 / 油门 HS 0x0300410E BrakeThrottle 源文档未细分到具体位 实车日志
方向盘传感器 HS 0x0340412E SteeringWheelSensors 转角 / 角速度(未细分到具体位) 实车日志
方向盘按键 HS 0x19000026,B7 按键码(已知 0x20) 实车日志
点火状态 HS 0x19E00006 Ignition,B6 位 6 位 实车日志
助力转向 keep-alive HS 0x1AE0092C,B1 轮转序列 0x00 → 0x40 → 0x80 → 0xC0;样例帧 00 00 22 E0 41 90 00 00 第三方协议 + 实车日志(周期 2000 ms vs 日志约 420 ms)
助力转向状态 HS 0x1B200002,12 位 ((B6 & 0x0F) << 8) | B7 1105 初值 / 3953 怠速 / 3955 运转,三值均在实车日志出现 实车日志
仪表控制(关键) LS 0x09C050B8 GaugeCluster_Ctrl B0 上 nibble 0x40、下 nibble = 背光亮度 0–15;B1 里程增量;B3/B4 转速 16 位;B5 低 nibble 显示消息码 CEM/CCM 仿真字节拆分
中控按键 LS 0x05704000 B4 位 0-1/2-3/6-7 = EXIT/MENU/POWER;B5 位 6-7 = ENTER;B7 = UP/DOWN/LEFT/RIGHT 仿真字节拆分
空调设置 LS 0x12404002 B0 右侧温度、B1 左侧温度、B4 常量 0x43 仿真字节拆分
油量 LS 0x1AD10068 B0 = 油位;B1 = 0x04 仪表运行 / 0x07 熄火 仿真字节拆分

另有一段诊断读数:源文档描述的一种厂方诊断风格协议,首个字节是长度、第二个是 ECU 地址,形如 [0xC8+字节数][ECU 地址][命令][参数…];ECM 地址为 0x7A,读数据用 0xA6。已记录的缩放入下:

标识 含义 缩放
0x101D 转速 × 40 rpm
0x1140 车速 × 1.25 km/h
0x9D 增压压力 × 10 hPa
0xD8 / 0xCE 冷却液 / 进气温度 × 0.75 − 48 → °C
0x36 点火提前角 × 191.25 / 255

读取方法与注意事项

第一是可达性:源文档说较早年款要先经 K 线激活诊断继电器,CAN 才会出现在 OBD2 接口上;否则在标准诊断口上可能什么都看不到,且这容易被误判为「车不支持」。

第二是寻址位数:所有 ID 都是 29 位扩展帧。源文档提醒,生成 DBC 时必须设扩展标志 0x80000000,否则多数工具会把 ID 当成标准帧,导致匹配失败。

第三是「哪些字节值得看」。HS 表为每个 ID 都标了 B0–B7 的变化度(X / 点 / 横线),这是最快的筛选手段——恒定字节不用找信号,变化大的字节优先。未解码报文在 DBC 里只对「日志中确实变化」的字节生成占位信号(<名称>_B0 … _B7),可直接在抓包工具里画图找相关性。

第四是助力转向泵需要「两条报文同时在线」:keep-alive(0x1AE0092C,只看 B1 的轮转)与速度指令(0x02104136,B6-B7)。源文档记录:没有 CAN 时泵按固定约 75% 功率运行;丢失 keep-alive 后约 5 秒进入失效保护,但保持最后下发的转速。这里只做整理,不建议照此在实车上驱动执行器。

证据等级与边界

可视为实车证据的是 HS 表(18 份抓包、约 94.8 万帧)与三条助力转向状态的取值;属于仿真/文档级的是 LS 侧的字节拆分(来自 CCM/CEM 仿真)与部分周期;属于明确未解码的是 HS 与 LS 表里大量标注为「未解码」的 ID。

不能外推的地方有三处。第一,HS DBC 明确自述「建立在一台具体柴油 V50 的日志上」,汽油版与其他年款可能有 ID 的子集或超集。第二,LS 表来自一台 C30 2011 加仿真,并非 P1 全系;例如遥控电池 ID 在日志里是 0x1E30104A,而 CEM 仿真用 0x1E30106A,源文档自述「其一为笔误,或按年款不同」。第三,源文档保留了「未解码/仅推测」的字段,这些不能当作已确认信号。

关于「安全访问」类问题:源文档未提供任何绕过方法,且不建议尝试。它列出的厂方诊断风格命令里包含激活类服务,本文不展开,也不建议在实车上执行写入或激活操作。

常见问题

为什么在 OBD2 口上抓不到 Volvo P1 的 CAN?

源文档说明较早年款需要先通过 K 线激活诊断继电器,CAN 才会出现在 OBD2 接口上;否则标准诊断口上可能没有流量。

HS 和 LS 是一张网吗?

不是。P1 有两张网经 CEM 网关相连:HS 500 kbit/s(发动机、助力转向、制动、方向盘传感器、踏板)与 LS 125 kbit/s(收音机、车门模块、DIM、CCM、CEM)。

这些 ID 是 11 位还是 29 位?

全部是 29 位扩展 ID。源文档提醒生成 DBC 时要设扩展标志 0x80000000,否则会被当成标准帧而匹配失败。

助力转向泵为什么需要两条报文?

源文档记录它需要 keep-alive(0x1AE0092C,看 B1 的轮转)与速度指令(0x02104136,B6-B7 的 0x0001 表示满转速)同时在线上;缺 keep-alive 约 5 秒后进入失效保护。本文只整理协议,不建议照此驱动执行器。

延伸阅读

参考资料

  • 项目 01 —— public-can-dbc-datasets/additional/chuck3cz-volvo-p1/UPSTREAM_README.md(主来源:拓扑、HS/LS ID 表、字节拆分与助力转向协议)。
  • 项目 01 —— public-can-dbc-datasets/additional/chuck3cz-volvo-p1/VOLVO_P1_CAN_REFERENCE.md(同内容的参考表)。
  • 项目 01 —— public-can-dbc-datasets/additional/chuck3cz-volvo-p1/SOURCE.md(快照范围、DBC 报文/信号条数与证据边界)。

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

更新记录

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

评论

发表回复

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