结论:这份档案记录的是一台 2025 款福特 F-150(第 14 代)上的车身 CAN 接入实践:车主没有从 OBD 诊断口取数,而是接到 HS-CAN3(500 kbit/s) 上的 C3154A(音响功放)连接器,用 ESP32 板读取床灯、门锁、变速箱 P 挡与电池状态,并反过来驱动床灯与工具箱继电器。它的价值不在「有多少条解码」,而在于一条不改原厂线束的取数路径:具体车身报文的逐字节定义并不在这份文档里,而是引用自公开的 ford_lincoln_base_pt.dbc。下述结论仅限源文档记录的这一台车,不能外推到其他年款、配置或市场版本。
车辆与适用范围
源文档是一位车主对自己车辆的改造记录,属于单台车、单人实验,不是车厂或第三方机构的批量采集。文档明确声明「不提供任何支持」,并反复警告接线错误可能危及生命。
| 项 | 内容 |
|---|---|
| 车型 | Ford F-150(Generation 14,2025 款),Lariat V8 |
| 年款 / 市场版本 | 2025 款;源文档未给出市场版本,仅说明为 501A Mid 配置包(无车内氛围灯、无 Bed Utility Package) |
| ECU / 改装状态 | 原厂未改动线束;作者以尾插(pigtail)转接件接到 C3154A,追求「可完全还原」 |
| 采集跨度 | 源文档未给出日志数或帧数;固件附带 49 个原生单元测试 |
| 适用范围 | 仅限这一台 2025 Gen14 F150;不同配置的车身电路差异很大(例:尾门独立锁电路只存在于低配车型) |
总线与寻址
源文档从原厂维修手册得到各条总线的走向,最终选定 HS-CAN3 作为取数总线。物理接入走 C3154A:HS-CAN3 High 在 1 脚(22ga 绿-蓝线),HS-CAN3 Low 在 11 脚(22ga 白-绿线),连接器为 Molex 34728-0200;相邻的 C3154B 提供常电(SBA40,40 号保险)与接地。
| 项 | 内容 |
|---|---|
| 物理层 | 双绞线 CAN,HS-CAN3 高/低线;需 120Ω 终端 |
| 链路层 / 比特率 | 500 kbit/s(源文档明示 HS-CAN3 at 500kbps) |
| 寻址方式 | 源文档未给出 11 位 / 29 位说明;报文的逐字节定义引用自外部 DBC |
| CAN FD | 源文档提到曾用某款双通道 CAN FD HAT 抓包,但未说明车辆是否运行 CAN FD;实际按 500 kbit/s 经典 CAN 处理 |
| 接入硬件 | AutoSport Labs ESP32-CAN-X2(ESP32-S3 + 双收发器 + 车规电源),Arduino 框架 + PlatformIO |
已解码信号
这份主素材没有给出任何逐字节报文 ID,它记录的是「这台车被读取/被控制的功能清单」以及对应的硬件引脚。为守住「只抄源文档里有证据的条目」这条线,下表登记源文档明确写出的功能与位置,涉及具体 ID、字节与缩放的条目一律指向被引用但未包含在本快照内的 DBC。
| 信号 / 功能 | 总线或位置 | 方向 | 证据 |
|---|---|---|---|
| 床灯(CHMSL bed lights)状态 | HS-CAN3 | 只读 | README「Features」 |
| 迎宾灯 / 水坑灯(puddle lamp)状态 | HS-CAN3 | 只读 | README「Features」 |
| 车门锁状态 | HS-CAN3 | 只读 | README「Features」 |
| 变速箱 P 挡状态 | HS-CAN3 | 只读 | README「Features」 |
| 蓄电池状态 | HS-CAN3 | 只读 | README「Features」 |
| 床灯继电器输出 | GPIO5(BEDLIGHT_PIN) |
写 | README「Configuration」 |
| 工具箱开启继电器 | GPIO4(TOOLBOX_OPENER_PIN) |
写 | README「Configuration」 |
| 工具箱解锁按钮 | GPIO17(TOOLBOX_BUTTON_PIN) |
读 | README「Configuration」 |
| 系统就绪指示 | GPIO18(SYSTEM_READY_PIN) |
写 | README「Configuration」 |
| CAN 缓冲溢出计数 | MCP2515 / TWAI 诊断 | 诊断 | README「Buffer Overflow Detection」 |
| TWAI 驱动状态 | 运行时诊断 | 诊断 | README「can_status」 |
| RX / TX 错误计数(<128 为健康) | 运行时诊断 | 诊断 | README「can_status」 |
读取方法与注意事项
接入顺序在源文档里有明确交代:先在手套箱后方的在线连接器上反探测做初步实验,因为车尾拖车连接器处在车辆未运行时「似乎不广播有用报文」。确定 HS-CAN3 承载所需信号后,才改到 C3154A 做正式取数。取数用尾插转接件,不切断原厂线束;文档强调压接与焊点都要做拉拔测试。
软件侧,固件通过串口(115200)提供诊断命令:can_status 看驱动状态与错误计数,can_debug 连续 10 秒打印全部报文,can_buffers 看缓冲溢出,can_reset 做恢复。若完全收不到报文,文档建议先把 ENABLE_HARDWARE_CAN_FILTERING 置 0 再编译烧录,以排除过滤配置问题。
一个明确的工程约束是缓冲深度:源文档指出 MCP2515 的硬件缓冲只有 2 条报文,会丢帧。文档给出的缓解方向包括把主循环延时(当前 10ms)调小、把 MAX_MESSAGES_PER_LOOP(当前 10)调大,或改用 ESP32 的 TWAI 控制器。溢出会表现为「繁忙期报文突然停止」「日志出现 Suspected buffer overflow」「静默后出现突发」等。
证据等级与边界
本档案的信号清单属于单车主记录:只有一台 2025 Gen14 F150 Lariat V8(501A Mid)作为样本。总线走向、连接器针脚、GPIO 分配这些属于实车观测与手册交叉,可核对;而「车身报文里门锁、床灯具体是哪个 ID、哪些字节」在本文档里没有答案,它来自作者引用的公开 DBC,属于外部旁证,本项目并未逐条复现。
三处不能外推。第一,配置差异会改变电路:源文档明确说只有低配车型才为尾门保留独立锁电路,而带电动尾门的高配由尾门内模块控制——同型号不同配置不得套用。第二,接入点与线序是针对这台车枚举出来的,其他年款/市场的 HS-CAN3 连接器编号与针位可能不同。第三,作者本人声明不提供任何支持,并警告可能失去保修、损坏车辆甚至造成人身伤害,因此任何照搬都超出源文档的证据范围。
关于「安全访问」类问题:源文档未提供任何绕过方法,且不建议尝试;本文只整理公开文档登记的可读/可控功能,不涉及对车辆安全机制的规避。
常见问题
2025 F-150 的 OBD 口能直接抓到这些车身信号吗?
源文档没有走 OBD 诊断口,而是接到 HS-CAN3 的 C3154A(音响功放)连接器。OBD 口在本车是否可读这些车身报文,源文档未给出结论,因此不能据此推断。
为什么接上后收不到报文?
文档给出的排查顺序是:先确认 CAN 高低线序与 120Ω 终端,再把 ENABLE_HARDWARE_CAN_FILTERING 置 0 用 can_debug 看总线上是否有任何流量,然后用 can_status 看错误计数,用 can_buffers 看是否溢出。若在车尾拖车连接器处取数,车辆未运行时可能本就没有有用报文。
床灯和门锁的 CAN 报文 ID 是什么?
源文档未给出具体 ID。它说明所需报文定义来自公开的 ford_lincoln_base_pt.dbc,本档案不代填字节与 ID。
这套接入会不会影响保修?
作者明确警告可能失去保修、烧毁车辆甚至危及生命,并声明不提供任何支持。本档案只是对公开文档的整理,不构成任何实车操作建议。
延伸阅读
- 车电接入:为什么 ESP32 的 TWAI 不等于 OBD 接口 —— 说明本档案里「TWAI 控制器」与诊断口并不是同一回事。
- CAN 报文解析的「健康位」在说什么:校验、计数器与总线空窗 —— 承接源文档的缓冲溢出与错误计数诊断。
- 车载信号为什么会说谎:TTL、源时间与 500 ms 新鲜度阈值 —— 与丢帧、报文突停的判读相关。
- 2022 GR86 / BRZ 的 CAN 数据地图:从 ASC 与 DCM 口抓 18 个报文 —— 同批另一台车的高速 CAN 取数档案,可对照接入路径差异。
- 84% 的 PID 没有公开证据:OBD 私有协议解析的现实边界 —— 与本档案「无 ID 则不写」的取舍一致。
参考资料
- 项目 01 ——
public-can-dbc-datasets/additional/jantman-ford-f150-gen14/README.md(本项目车型档案主来源:车辆信息、硬件、接线、固件与诊断说明;本快照仅含此文件)。
说明:本文整理自第三方开源项目的公开文档,仅代表该文档所记录的单个车辆样本,不代表同型号全系车型。CAN 与诊断操作存在风险,任何实车操作前请自行复核并遵守当地法规。
更新记录
首次发布 2026-10-11 最近核对:2026-10-11