结论:这份档案的对象是一台 2024 年款、右舵出口版的 BYD Atto 3(元 PLUS EV)。它的数据特征是双总线分工:在 P13 摄像头连接器处接入后,Chassis CAN(引脚 4/8)为 500 kbit/s 经典 CAN、8 字节帧,承载转向、车速、踏板、挡位等整车状态,读与写都在这里;Private CAN(引脚 3/7)为 CAN-FD、数据段近 2 Mbit/s,承载摄像头、前向雷达与约 72 个来源未确认的经典格式 ID。整车消息在发送前需补一个字节校验,纵向与横向命令只允许三条报文。以下所有结论仅来自这一台车,中国国内版本与其他年款可能不同。
车辆与适用范围
源文档明确:全部数据来自一辆车——2024 年款右舵出口版 Atto 3;并把「换车前的检查项」单列一节。以下范围只对应这一辆。
| 项 | 内容 |
|---|---|
| 车型 | BYD Atto 3 / 元 PLUS EV,2024 年款,右舵出口版(VIN 世界厂商标识 LGX) |
| 年款 / 市场版本 | 2024 右舵出口版;中国国内版本与其他年款可能不同(源文档明示) |
| ECU / 改装状态 | P13 摄像头连接器处旁接;以红熊猫板作 CAN 接口;无原厂设备,因此无 IMU,改用 CAN 桥接 |
| 采集跨度 | 源文档未给出日志时长或帧数;给出整车质量 1750 kg、轴距 2.72 m、转向比 19.8 |
| 适用范围 | 仅这一台 2024 右舵出口车;换车须重新测量连接器(BYD 用过两个摄像头供应商,连接器不同) |
总线与寻址
数据来自 P13 摄像头连接器,共 8 个腔位、6 个接线。两条 CAN_H 同为粉色、两条 CAN_L 同为紫色,源文档要求按引脚位置而非颜色识别总线。
| 项 | 内容 |
|---|---|
| Chassis CAN | 引脚 4/8;经典 CAN,500 kbit/s,8 字节帧;本系统的读与写都在此 |
| Private CAN | 引脚 3/7;CAN-FD,数据段近 2 Mbit/s;承载摄像头、雷达与约 72 个来源未确认的经典格式 ID |
| 寻址 / 帧格式 | 整车消息为经典 11 位 ID 格式;私有总线为 FD 帧,含 32 字节与 64 字节两类 |
| 终端 | 在旁接点处为 Chassis CAN 增加终端,因为接入设备会在摄像头连接器处断开总线 |
| 供电 | 引脚 1 = 摄像头地,引脚 2 = IG1(受控 12V);点火状态也可从 CAN 推断 |
已解码信号
下表抽取源文档中带明确报文、缩放或位域的信号。位置与解码保留原文写法;证据一列注明来源,凡源文档标注为「未确认」的均原样保留。
| 信号 | 位置(报文 ID / 字段) | 解码 | 证据 |
|---|---|---|---|
| 转向角 | STEER_MODULE_2 0x11F / STEER_ANGLE_2 |
0.1 度 / LSB | 源文档状态解码表 |
| 驾驶员力矩 | STEERING_TORQUE 0x1FC / DRIVER_TORQUE |
0.1 Nm / LSB;用于人工接管判定,阈值 18 Nm | 源文档;符号正值为左 |
| EPS 电机力度 | 0x1FC / MAIN_TORQUE |
电机输出,非驾驶员输入 | 源文档 |
| EPS 状态 | 0x1FC 低半字节(位而非枚举) |
bit0 LKS_PREPARED、bit1 CRUISE_ACTIVATED、bit3 恒 1;0x318 恒 0xFF |
源文档;状态 11 需 0.5 s 去抖 |
| 车速 | WHEELSPEED_CLEAN 0x1F0 |
16 位原始计数,0.0713 km/h 每计数 | 源文档 |
| 单轮转速 | WHEEL_SPEED 0x122 / WHEELSPEED_BR |
14 位;bit 62 为有效位 | 源文档 |
| 挡位 / 点火 | DRIVE_STATE 0x242 |
任意有效挡位即视为点火接通 | 源文档 |
| 制动状态 | DRIVE_STATE 0x242 / BRAKE_PRESSED |
已去抖;须与安全模块读同一信号 | 源文档 |
| 油门 | PEDAL 0x342 / GAS_PEDAL |
不采用 DRIVE_STATE.RAW_THROTTLE |
源文档 |
| 转向灯 | STALKS 0x133 |
— | 源文档 |
| 方向盘按钮 | PCM_BUTTONS 0x3B0 |
SET / RES / LKAS / 车距 / ACC 开 | 源文档 |
| 巡航状态 | ACC_HUD_ADAS 0x32D / ACC_STATE |
2 可用、3 与 5 已启用、7 错误(摄像头总线) | 源文档 |
| 偏航角速度 | YAW_RATE 0x222 / YawRate |
0|12@1+ × 0.002133 − 2.094 rad/s;另含偏置字段需相减 |
源文档 IMU 桥接节 |
| 平面加速度 | AXAY 0x223 / Ax、Ay |
0|12@1+ 与 24|12@1+,× 0.027167 与 × 0.027127 m/s² |
源文档;Ay 需反号 |
| 雷达目标 | 私有总线 0x280–0x289 |
轨道含 TRACK_ID、LONG_DIST、LAT_DIST、VLEAD 等 |
源文档;COUNTER12_1/2 字段已修正 |
读取方法与注意事项
接入前先做识别。源文档指出:查询固件版本要用 0xF195(SUPPLIER_SOFTWARE_VERSION),因为 BYD 的 ECU 拒绝本平台默认的 0xF188;总线 0 上有 24 个 ECU 应答 0xF195,其中六个返回固件版本(摄像头、制动/IPB、EPS、前向雷达、驱动单元、安全气囊),版本载荷是 6 个原始字节而非 ASCII。摄像头 ECU 不应答固件查询,须设为非必需。
发送前必须补校验:Chassis CAN 上被签名的 12 条消息,其校验是最后一字节,data[7] = (~sum(data[0:7])) & 0xFF;本系统只发送三条——转向角命令 0x1E2、HUD 帧 0x316、纵向命令 0x32E。0x1E2 按 50 Hz 发送(每两帧中的一帧为 100 Hz),而原车摄像头是 33 Hz。转向命令须在启用期间持续发送,包括静止时也要发请求位为 0 的空闲帧——出现间隙会让 EPS 进入状态 11 并闭锁,单靠随后发 STEER_REQ = 1 无法解除。
私有总线的完整性另有一套:每条帧的第 0 字节是校验,形式为 CRC8(poly=0x1D, init=0x00, data[1:32]) XOR K[id];64 字节 ID 的两半各自独立保护,K 是逐报文常量、并入 init/xorout/DataID,不是 CAN ID 的函数,需从本车日志逐 ID 采集。另需注意:源文档修正了雷达 DBC 中两个字段的解读——COUNTER12_1/COUNTER12_2 并非 12 位计数器,第 0 与第 32 字节是帧校验、计数器是第 1 与第 33 字节的低半字节。
还有一处几何修正:雷达 LONG_DIST 以后轴中心(ISO 8855 车体坐标系)为原点,而非传感器面,需减去 3.60 m(前悬 885 mm + 轴距 2720 mm)后才是相对车头距离;不修正会让每个前车读数偏远 3.6 m,修正后雷达与视觉在 12 m 内一致到 0.5 m 以内。
证据等级与边界
本文属于单台实车观测:报文、缩放与位域都在源文档里按车辆实测列出,并标注了去抖时间、保活与几何修正等工程条件。但证据范围的边界同样清楚:源文档在末尾单列一节强调,全部数据来自一辆 2024 右舵出口版;中国国内版本与其他年款可能不同,BYD 还使用过两个摄像头供应商、连接器不同,换车必须重新测量连接器。此外,若用不带继电器直通的旁接线束,本系统运行时没有硬件回退;源文档建议使用带直通继电器的线束盒。
一处不确定性必须原样保留:EPS 掉线前的状态字段被某份未合并的草稿 DBC 命名为 TORQUE_TEMP_FAILED(取值 1 "TooLarge"、2 "TooFast"),但源文档明确——没有 BYD 官方文档、没有 EPS 诊断码、也没有其他分支能确认该命名,应视为未确认;文档给出的转角上限结论并不依赖该命名。另据源文档,ABS/ESP 侧的转向限值表现为一个恒定的偏航率:EPS 在乘积约 3155 及以上放弃车道保持,故取 3000 留余量,不要抬高到 3155 或观测均值 3578。
关于安全访问,源文档未提供任何绕过方法,且不建议尝试;本文只整理源文档记录的可读信号与发送约束。
常见问题
为什么查询固件版本要用 0xF195 而不是 0xF188?
因为源文档记录 BYD 的 ECU 会拒绝 0xF188(本平台默认的那个)。改用 0xF195 后,总线 0 上有 24 个 ECU 应答,其中六个返回固件版本;版本载荷是 6 个原始字节而非 ASCII,摄像头的 MPC ECU 不应答、须设为非必需。
Chassis CAN 上发送报文要注意什么?
两条硬约束。其一,被签名的 12 条消息必须补末字节校验 data[7] = (~sum(data[0:7])) & 0xFF;其二,本系统只允许发送 0x1E2、0x316、0x32E 三条。转向命令还要 50 Hz 连续发送、静止时发请求位为 0 的空闲帧,避免 EPS 进入状态 11 并闭锁。
雷达距离为什么要减 3.6 m?
因为 LONG_DIST 的原点是后轴中心(ISO 8855 车体坐标系),不是传感器面。需减去前悬 885 mm 加轴距 2720 mm 共 3.60 m 才得到相对车头距离;不修正每个前车会偏远 3.6 m,修正后在 12 m 内与视觉一致到 0.5 m 以内。
TORQUE_TEMP_FAILED 这个信号名可信吗?
不可信。源文档明确:该命名来自一份未合并的草稿 DBC,没有 BYD 文档、没有 EPS 诊断码、也没有其他分支能确认,应视为未确认。文档给出的转角上限(约 3000 / 车速)并不依赖这个命名。
延伸阅读
- CAN FD 与经典 CAN 的安全模式差异 —— 与本文 Chassis(经典 CAN)与 Private(CAN-FD)双总线的分工直接对应。
- 车端报文字段契约:字段语义与版本兼容 —— 承接本文末字节校验与私有总线逐 ID 密钥的设计。
- 横向限制的插件契约 —— 与本文「转角上限为恒定偏航率、约 3000 / 车速」的限幅思路呼应。
- 同一个「转向灯」在三家车厂是三种实现:车辆状态归一化的坑 —— 本文 EPS 状态位与驾驶员工矩的语义即同类问题。
- 车载传感器的暴露面与 ISP 无关的那部分 —— 用于理解本文从 CAN 桥接 IMU 的取舍。
参考资料
- 项目 01 ——
public-can-dbc-datasets/additional/shemps-byd-atto3/README.md(本项目车型档案主来源:线束与总线拓扑、指纹、状态解码、校验、横向与纵向控制、雷达与 IMU 桥接、适用性边界)。
说明:本文整理自第三方开源项目的公开文档,仅代表该文档所记录的单个车辆样本,不代表同型号全系车型。CAN 与诊断操作存在风险,任何实车操作前请自行复核并遵守当地法规。
更新记录
首次发布 2026-10-11 最近核对:2026-10-11