结论:在一辆雪铁龙 C2 1.1(TU1JP,BSI AEE2004,EMF 为 Magneti Marelli)上,舒适总线 CAN-Confort 是 125 kbit/s、11 位标识符,而且它不经过 OBD 口——只能在收音机后方的 Quadlock 连接器(pin 10 CAN-H、pin 13 CAN-L)上接入。文档在该总线上识别出 16 个 PSA AEE2004 标识符,并解码转速、车速、水温、车门、灯光、方向盘按钮、续航与保养提醒等信号。边界有三条:部分信号只有单点标定或来自公开参考结构、未在本车验证;外部温度与总里程存疑;结论只覆盖这一辆 C2,不能外推到其他 C2 或 PSA 车型。
本文整理自该项目的 CAN 解码文档。文档为每个信号标注了证据等级,本文原样保留其分级。
车辆与适用范围
数据来自一位车主的这辆 C2;原车 RD4 收音机换为一台后装安卓车机,解码用于方向盘控制、实时仪表与多功能屏(EMF)操控。
| 项 | 内容 |
|---|---|
| 车型 | 雪铁龙 C2 1.1(发动机 TU1JP,BSI AEE2004,EMF 为 Magneti Marelli) |
| 年款 / 市场版本 | 源文档未给出具体年款(PSA C2 平台文档标注为 2003–2009,BSI 第二代) |
| ECU / 改装状态 | 原车 RD4 收音机已拆,替换为后装安卓车机;由一款 SLCAN 协议的开源 CAN 适配器接入 |
| 采集跨度 | 实车现场测试 2026-04-26;配合诊断工具截图的标定会话 2026-05-03 |
| 适用范围 | 仅这一辆 C2;多条标定仍需在车上复核 |
总线与寻址
目标是舒适总线 CAN-Confort,速率 125 kbit/s、11 位标识符。接入点在收音机后方的 Quadlock,pin 10 为 CAN-H、pin 13 为 CAN-L;文档明确指出 OBD 口不暴露这条总线,因此不能从诊断座直读。适配器未加 120 Ω 终端电阻(文档说明总线本身已有终端)。
| 项 | 内容 |
|---|---|
| 物理层 | CAN-Confort,125 kbit/s(区别于 500 kbit/s 的 CAN-IS) |
| 链路层 | 11 位标识符 |
| 接入点 | 收音机 Quadlock:pin 10 CAN-H、pin 13 CAN-L;OBD 口不暴露该总线 |
| CAN FD | 源文档未提及,按 125 kbit/s 的 AEE2004 语境应视为经典 CAN |
| 现场总线负载 | 约 185 帧/秒、38 个不同标识符(现场测试记录) |
已解码信号
下表从文档信号表中抽取代表性条目,证据等级沿用原文:✅ 在本车验证(现场测试或用户确认)、🎯 只用一个测量点标定(该点正确、斜率未验证)、📄 取自公开的 AEE2004 参考结构(未在本车验证)、⚠ 来源互相矛盾。字节从 0 起编号,BE 为大端。
| 信号 | 位置(ID / 字节) | 解码 | 证据 |
|---|---|---|---|
| 发动机转速 rpm | 0x0B6 字节 0-1(BE) |
÷ 8,四舍五入到 0.1 转/分 | ✅ 怠速 704–768 转/分(诊断工具读数) |
| 车速 speed | 0x0B6 字节 2-3(BE) |
÷ 100,四舍五入到 0.1 km/h | ✅ 静止时确认;行驶中待与 GPS 比对 |
| 冷却液温度 tCoolant | 0x0F6 字节 1 |
字节 − 53 摄氏度;0xFF 表示未就绪(null) | 🎯 92 摄氏度对应 0x91(测量中水温在 86–92 波动) |
| 总里程 odo | 0x0F6 字节 2-4(BE) |
÷ 10 公里;0xFFFFFF 表示未就绪 | ⚠ 取自参考结构;现场测试未找到对应图案 |
| 外部温度 tExt | 0x0F6 字节 6 |
字节 − 102 摄氏度;0xFF 表示未就绪;另加用户偏移 | ⚠ 三种假设互相矛盾 |
| 倒挡 reverseGear | 0x0F6 位 7.7 |
位为 1 表示挂倒挡 | 📄 参考结构 |
| 手刹 handbrake | 0x128 位 0.5 |
位为 1 表示手刹拉起 | ✅ |
| 转向灯(左 / 右) | 0x128 位 4.1 / 4.2 |
对应位为 1 表示点亮(双闪为两位同时) | ✅ |
| 远光 / 近光 / 示宽灯 | 0x128 位 4.5 / 4.6 / 4.7 |
对应位为 1 表示点亮 | ✅ |
| 机油温度 tOil | 0x161 字节 2 |
字节 − 64 摄氏度;0x00 与 0xFF 表示未就绪 | 🎯 71 摄氏度对应 0x86(算出 70) |
| 燃油百分比 fuelPct | 0x161 字节 3 |
直接取百分比 | ✅ 用户确认(2026-05-09) |
| 续航 rangeKm | 0x221 字节 3-4(BE) |
公里;0xFFFF 表示未计算 | ✅ 440 km(帧内 0x01B8) |
| 瞬时油耗 fuelInst | 0x221 字节 1-2(BE) |
÷ 10 升/百公里;0xFFFF 表示未计算(停车时) | 📄 与诊断工具「停车时显示未计算」一致 |
| 方向盘按钮 | 0x21F 字节 0(位图) |
位 1 源、位 2 音量减、位 3 音量加(本车与通用文档相反)、位 6 上一曲、位 7 下一曲 | ✅ 本车完全验证 |
| 车门(驾驶员 / 乘客 / 尾门) | 0x220 位 0.7 / 0.6 / 0.3 |
对应位为 1 表示打开 | ✅ |
| 平均油耗 tripAvgCons | 0x261 字节 4 |
÷ 10 升/百公里 | ✅ 7.6 升/百公里对应 0x4C |
读取方法与注意事项
哨兵值一律视为「未就绪」。文档规定:温度为 0xFF、里程为 0xFFFFFF、0xFFFF 类字段在充电或刚唤醒时代表「尚未可用」,解码器应输出 null,绝不当作真实数值。
节奏由 0x0B6 决定。0x0B6 以 20–50 Hz 发送,界面按 10 Hz 采样,音频逐帧跟随。
按钮要防抖,并注意本车接线方向。0x21F 的字节 1 是滚轮的累计计数,应用需自行计算两帧之间的带符号差值。信号处理采用上升沿加 200 毫秒防抖。这台 C2 的 VOL+ 与 VOL− 与通用文档相反,位图不能照抄。
发送会落在真车上。文档列出的发送帧(如多功能屏按键、校时帧)会直接发到车辆实际总线,有风险。关于用 CAN 设置 EMF 时钟:文档记录了多次尝试与「未提供可行方法,也不建议尝试」的结论——校时要么走多功能屏自身的菜单,要么依赖原车收音机的私有序列,不存在文档化的 CAN 校时方案。
证据等级与边界
文档的分级是硬边界:✅ 本车验证,🎯 只有单点标定(点正确、斜率未验证),📄 取自公开参考结构未在本车验证,⚠ 来源互相矛盾。也就是说,🎯 与 📄 两类条目尚未在这辆 C2 上成立,不能当作已确认字段使用。
文档还专门列出「待复核」清单:外部温度存在三种互斥假设,都只在 23 摄氏度一点上对齐,斜率未验证;总里程来自参考结构但现场测试未找到对应图案,且参考诊断点自身也不自洽;机油 / 水温斜率只有一个点;行驶中的车速尚待与 GPS 比对;保养 0x3A7 与行程距离 0x261 的格式也未确认。
另有至今未找到的信号:电池电压、进气温度、BSI 时间(0x276 帧缺失)、EMF 时钟(不能通过 CAN 设置)。这些应记为「未确认」,而非「不存在」。所有结论限于这一辆 C2,不能外推到其他 C2 或 PSA 车型——本车已经出现了与通用文档相反的方向盘按钮接线,正说明逐车核对是必需的。
常见问题
雪铁龙 C2 的 CAN-Confort,能从 OBD 口直接读吗?
不能。文档明确指出 OBD 口不暴露这条总线,接入点是在收音机后方的 Quadlock 连接器(pin 10 CAN-H、pin 13 CAN-L),速率 125 kbit/s、11 位标识符。
为什么车速在静止时已确认,行驶中还要再核对?
因为静止时只能确认零值与量程端点,无法验证斜率。文档把「行驶中把 speed 与 GPS 比对」列为待办,说明该字段在动起来之后仍需独立确认。
为什么这台车的 VOL+ 和 VOL− 与通用 PSA 文档相反?
文档记录这台 C2 的接线本身就把 VOL+ 与 VOL− 对调了。方向盘按钮 0x21F 虽已在本车完全验证,但位图不能照抄通用文档,必须按本车实测为准。
外部温度和总里程为什么被标成存疑?
外部温度有三种互斥假设,且都只在 23 摄氏度这一个点上对齐,斜率未验证;总里程取自公开参考结构,但现场测试未在总线上找到与仪表读数对应的图案,参考诊断点自身也不自洽。两者都需要更多实车数据才能确定。
能用 CAN 设置多功能屏(EMF)的时钟吗?
文档记录的全部尝试都失败了,并明确给出「源文档未提供可行方法,也不建议尝试」的结论。校时只能走多功能屏自身菜单,或依赖原车收音机的私有序列;不存在文档化的 CAN 校时方案。
延伸阅读
- 同一个「转向灯」在三家车厂是三种实现 —— 本文方向盘按钮与灯光位图正是「逐车不同」的例证。
- CAN 报文解析的「健康位」在说什么 —— 帮助理解哨兵值与「未就绪」这类状态语义。
- UDS 诊断工具为什么不能随手调 —— 发送帧会落在真车总线上,本车文档同此提醒。
- 车辆协议与 DBC 指纹:怎么判断一台车是不是同一套定义 —— 解释为何同名车型也要按实测指纹区分。
参考资料
- 项目 01 ——
public-can-dbc-datasets/additional/wasabules-citroen-c2/docs/can/signaux_decodes.md(本项目车型档案主来源,取用了信号表与证据分级)。 - 项目 01 ——
public-can-dbc-datasets/additional/wasabules-citroen-c2/docs/can/psa_can_confort.md(取用了 CAN-Confort 的通用标识符与载荷说明)。 - 项目 01 ——
public-can-dbc-datasets/additional/wasabules-citroen-c2/docs/can/c2_field_test_results.md(取用了现场测试的验证项与失败尝试记录)。
说明:本文整理自第三方开源项目的公开文档,仅代表该文档所记录的单个车辆样本,不代表同型号全系车型。CAN 与诊断操作存在风险,任何实车操作前请自行复核并遵守当地法规。
更新记录
首次发布 2026-10-11 最近核对:2026-10-11
发表回复