结论:这份档案针对凯旋 Speed 400 与 Scrambler 400 X(Bajaj 生产 398 cc 单缸、Bosch 电喷),是对诊断接插件被动监听得到的广播信号图。总线是 500 kbit/s、11 位标准 ID,钥匙打开即上线(即使发动机不转),总线负载约 1400 帧/秒、约 32 个不同 ID。最有辨识度的发现是三条:转速在 0x25A 上以 1 转/分分辨率给出;车速存在三个彼此不同的值(ECU 值、仪表值、GPS 真值);而总里程、进气温度、歧管压力不在广播里,只能 OBD 轮询读到。边界:用未端接的 DIY 抽头主动发送可能把控制器推向 bus-off,因此内容全部来自只监听;且克隆板与年款有别,需逐车复核。
本文整理自该项目的广播信号图与说明。文档用星级给出置信度,本文原样保留。
车辆与适用范围
对象是凯旋 Speed 400 与 Scrambler 400 X 两款摩托。采集方式为对诊断接插件被动嗅探:用 ESP32 的 TWAI 控制器设成只监听模式,配一只 SN65HVD230 收发器(去掉 120 Ω 终端),抽头取 OBD 引脚 6(CAN-H)、14(CAN-L)与 12 V / 地。信号是通过刻意激励(刹车、离合、挡位、转向灯)与一次真实骑行确认的。
| 项 | 内容 |
|---|---|
| 车型 | 凯旋 Speed 400 与 Scrambler 400 X(Bajaj 生产 398 cc 单缸,Bosch EMS) |
| 年款 / 市场版本 | 源文档未确认(未绑定具体年款、ECU 版本或跨车适配) |
| ECU / 改装状态 | 原厂 Bosch EMS;采集为非侵入式被动监听,无改装 |
| 采集跨度 | 含一次真实骑行与多次刻意激励;文档未给出总时长 |
| 适用范围 | 广播信号图为部分映射;克隆板与年款有别,需逐车复核 |
总线与寻址
文档给出链路层轮廓:500 kbit/s、11 位标准 ID、钥匙打开即上线,总线负载约 1400 帧/秒、约 32 个不同 ID。它是一张广播面的图,不是整车网络或诊断库。
| 项 | 内容 |
|---|---|
| 物理层 | 诊断接插件抽头(OBD 引脚 6 CAN-H、14 CAN-L) |
| 链路层 | 500 kbit/s,11 位标准 ID |
| 上线时机 | 钥匙打开(即使发动机不转) |
| 总线负载 | 约 1400 帧/秒,约 32 个不同 ID |
| CAN FD | 源文档未提及 |
已解码信号
下表从文档信号表抽取代表性条目。bN 为第 N 字节,bN:k 为第 N 字节第 k 位(bit 0 最低),bN:bM 为大端 16 位。星级沿用文档:三星为多会话复现或有物理证据、二星为单次会话强证据、一星为候选。
| 信号 | 位置(ID / 字节) | 解码 | 置信度 |
|---|---|---|---|
| 发动机转速(细) | 0x25A b5:b6(大端) |
rpm = raw,1 转/分分辨率,验证到 9271 |
三星 |
| 发动机转速(粗) | 0x140 b6 |
rpm = raw × 40,与 0x25A 一致(r = 1.00) |
三星 |
| 节气门(TPS1 / TPS2) | 0x142 b0 / b1 |
% = (raw − 128) × 100 / 96,双线控传感器,基准 0x80 |
三星 |
| 接合挡位 | 0x142 b3 |
0 为空挡,1 至 6 为挡位;按停留判定为「已接合挡」 | 三星 |
| 车速(ECU 值) | 0x296 b3:b4(大端) |
km/h = raw × 0.01;GPS 标定得 raw = 1.317 × 真值(r = 0.965) |
三星 |
| 车速(轮速) | 0x102 b1:b2 / b3:b4(大端) |
km/h = raw × 0.0625(1/16),接近真实地面速度 |
三星 |
| 冷却液温度(显示) | 0x405 b7 |
°C = raw − 40;这是显示值,非原始传感器 |
三星 |
| 环境气温 | 0x147 b3 |
°C = raw − 40;随天气在约 12 至 28 摄氏度之间 |
三星 |
| 燃油液位 | 0x555 b1 |
raw 0 至 255(非线性);低油位灯在 raw 约 90 点亮 | 三星 |
| 电池电压 | 0x142 b7 |
V = raw × 0.1(充电 14.2 V,熄火 12.7 V) |
三星 |
| 侧撑 | 0x142 b6.1 |
该位为 1 表示放下 | 三星 |
| 刹车 | 0x146 b1.0 |
该位为 1 表示正在刹车 | 二星 |
| 转向灯 | 0x536 b2.0 |
该位为 1 表示激活(左 / 右尚未区分) | 三星 |
| 水箱风扇 | 0x405 b5.5 |
该位为 1 表示风扇开启 | 三星 |
| 机油压力灯 | 0x400 b3.7 |
低有效(为 1 表示正常) | 三星 |
| ABS 状态 | 0x121 |
ID 已确认(原厂故障码 U1000),具体字节尚未定位 | 一星 |
读取方法与注意事项
只监听,别主动发。文档最重的注意事项是:不要用廉价适配器主动轮询——在这个平台上,从未端接的 DIY 抽头发送可能把 CAN 控制器推向 bus-off 并中断接收。不过文档也澄清:用已正确端接的适配器做 OBD 轮询,实测整趟骑行没有 bus-off,因此该风险特定于「DIY 抽头在发送」,而非「合规适配器的轮询」。
车速有三个,不要混用。文档用 GPS 对齐(r = 0.965)得到三套关系:ECU 值 0x296 × 0.01 = 1.317 × GPS 真值;骑手看到的仪表值 = raw × 0.89(约比 GPS 高 17%);真正的地面速度 = raw × 0.76。文档另指出轮速 0x102 × 1/16 约等于 0.87 × raw,与结论自洽。
挡位是「已接合挡」。文档用停留时间来论证:日常巡航时该值能保持数百帧不变(换挡杆输入会松手回中);另有一个瞬时换挡信号在 0x406 / 0x407 上。
温度要分清「显示值」与「真实值」。文档通过诊断对照发现:0x405 b7 是显示值(冷车时被钉在约 90 摄氏度,真实传感器冷态只有 28 摄氏度),真实冷车 / 过热应看 OBD 0105;0x147 b3 是环境气温而非进气温度。
证据等级与边界
文档星级即硬边界:三星为多会话复现或有物理证据,二星为单次会话强证据,一星为候选。表中二星与一星条目(如刹车、ABS)尚未达到确认级别。
来源说明还列出几层限制:精确年款、ECU 版本与跨车适配未建立;仓库未附带原始 CAN 采集,无法独立回放;候选字段与尚未解决的左右转向灯区分不应被视为已确认;该 DBC 只是部分广播映射,不是完整的摩托网络或诊断库。文档也说明它是社区逆向成果,不隶属于凯旋或 Bajaj,并建议依赖任何结论前先在你自己的车上验证。
据此,全部信号含义、比例与「不广播」的结论都不能外推到其他 Speed 400 / Scrambler 400 X 或其他车型,克隆板与年款差异更需逐车核对。
常见问题
Speed 400 的广播里能读到哪些量?
文档记录的有:转速(0x25A 细、0x140 粗)、节气门、已接合挡位、车速与轮速、冷却液显示温度、环境气温、燃油液位、电池电压,以及侧撑、刹车、转向灯、水箱风扇、机油压力灯等开关量。
为什么这台车的车速有三个不同的值?
因为 ECU 值、仪表值与真实地面速度是三回事。GPS 标定得 ECU 值 0x296 × 0.01 约等于 1.317 倍真值,仪表显示约为 raw 的 0.89 倍(比 GPS 高约 17%),真实速度约为 raw 的 0.76 倍。
为什么强调只监听、不主动轮询?
文档记录:在这个平台上,从未端接的 DIY 抽头发送可能把 CAN 控制器推向 bus-off、中断接收,因此全部信号都靠只监听获得。但用一只正确端接的适配器做 OBD 轮询,实测整趟骑行也没有 bus-off,所以该风险特定于 DIY 抽头在发送。
总里程、进气温度、歧管压力为什么读不到?
因为它们不在广播里。文档逐字节、全字节宽、两种字节序地找过,都没匹配;这些量由 Bosch ECU 内部保留,只能通过诊断通道轮询(如 010B、010F、0105)取得。总里程甚至不在模式 01 中,只由仪表显示。
转向灯的左右能区分吗?
目前不能。0x536 的 b2.0 只报「激活」,左右之分需要一个带标注「先左后右」的采集才能确定,文档把它列为尚未解决项。
延伸阅读
- 车电接入:为什么 ESP32 的 TWAI 不等于 OBD 接口 —— 本文用的正是 ESP32 TWAI 只监听模式。
- OBD-II PID 入门:车速 0x0D 为什么是整数 —— 对照本文「广播买不到、只能 OBD 轮询」的信号。
- 汽车 / 摩托 / 自行车:三类骑行场景对仪表的需求差异 —— 摩托车仪表尤其关心转速、挡位与侧撑这类量。
- 车辆协议与 DBC 指纹:怎么判断一台车是不是同一套定义 —— 解释为何克隆板与年款差异需要逐车核对。
参考资料
- 项目 01 ——
public-can-dbc-datasets/additional/tbtanmay111-triumph-speed-400/SIGNALS.md(本项目车型档案主来源,取用了逐信号表与置信度星级)。 - 项目 01 ——
public-can-dbc-datasets/additional/tbtanmay111-triumph-speed-400/README.md(取用了总线、采集方式与 OBD 轮询说明)。 - 项目 01 ——
public-can-dbc-datasets/additional/tbtanmay111-triumph-speed-400/SOURCE.md(取用了「未建立年款 / ECU 版本、无原始采集」等边界说明)。
说明:本文整理自第三方开源项目的公开文档,仅代表该文档所记录的单个车辆样本,不代表同型号全系车型。CAN 与诊断操作存在风险,任何实车操作前请自行复核并遵守当地法规。
更新记录
首次发布 2026-10-11 最近核对:2026-10-11