技术资源 / Integration

CAN 胎压 11 位还是 29 位扩展帧 —— 你该选哪个

· 8 分钟阅读

先说结论

乘用车/轻型车总线,几乎一律选 11 位标准帧。 卡车、客车、工程机械这类已经在说 J1939 的总线,

29 位扩展帧往往是唯一不跟全网打架的选择。

这就是一句话的答案。下面是为什么,以及每种选择各自要付什么代价。

到底差在哪

11 位标准帧29 位扩展帧
标识符空间2,048 个约 5.36 亿个
谁在用乘用车、轻型车、多数 OEM 自定义总线J1939、NMEA 2000、多数重卡与工程机械
胎压典型用法少数几个 ID,一组轮一个J1939 格式报文集,按 PGN 布局
滤波器设置简单、廉价控制器也能做需要 32 位 mask/match —— 多数 CAN 外设支持,但必须配
仲裁优先级同等 ID 下更高更低;11 位帧仲裁永远赢

最后一行最常被忽略。仲裁是按位比较的,而 11 位帧用显性 IDE 位 → 一条繁忙的 11 位总线可以把 29 位流量饿死。

在 11 位报文密集且持续的设备上,扩展帧的胎压节点可能每次想发都输掉仲裁。**这不是接收器故障,也不会报错 ——

数据只是来得晚。**

什么时候必须选 29 位

如果整机厂已经在跑 J1939,跟着它走不是为了好看,而是为了谁在听。网关、车机、诊断工具,

它们已经在解 29 位帧、滤波器已经按那个空间设好。加一个 11 位节点,意味着每个消费方都要再加一套滤波器,

而且车辆诊断工具根本看不到胎压数据。

我们做 29 位扩展帧,并且已经在主要整机厂的工程机械集成里部署过 J1939 格式的报文集。

对你的意义是:报文布局可以对齐你的参数集或 DBC,而不是给你一张固定又别扭的表。

它不意味着通过 J1939 认证 —— 我们没有一致性证书,若项目明确要求,我们会如实说。

什么时候选 11 位更省事

轻型车、挂车模块、后装控制器、改装项目,11 位在每个方向上都更简单:

  • ID 规划轻松:只要几个 ID,空间 2,048 宽,可以划一小段整齐的区间;
  • 滤波器简单:很多小 MCU 处理 32 位扩展滤波器很吃力;
  • 工具友好:手持 CAN 分析仪、串口转 CAN 桥、车间常见的扫描仪,都优先支持 11 位;
  • 波特率通常现成:轻型车 500 kbps 很常见,胎压节点挂上去很自然。

代价是将来兼容性:如果这个车队以后接入基于 J1939 的车队平台,就得有人做转换。

如果这个可能性存在,现在就多花一天做 29 位。

最贵的一个错:按接收器选帧,而不是按总线选帧

接收器一机一个接口、出厂固定 —— CAN 是选项之一,而帧格式属于这个配置的一部分。

所以这件事必须在生产前定,不能到调试再改。

这个坑我们已经见过两次:技术包里一份 29 位 DBC、一份 11 位参考文档,因为两份文件都叫 "V1.9",

没人看标识符。客户打开一看,一份是 `0x18FDB1D8`,另一份是 `0x111`。

别人给你文件时,先看 ID 范围:

你看到的那是什么
`0x111` … `0x122` 这类短 ID11 位标准帧
`0x18FDB1D8`、`0x18FDBxxx` 这类长 ID29 位扩展帧(J1939 附近区间)
文件名叫"通用版/标准版"、名字里没有位宽⚠️ 去核实,不要默认

你要告诉我们什么,我们回什么

四个答案就能定:

1. 总线上现在有什么 —— J1939、OEM 自定义 11 位布局,还是什么都没有;

2. 谁来消费这些数据 —— 你的控制器、网关、车机,还是显示屏;

3. 多少轮位,以及是否按轴分组,还是每个轮位都要独立;

4. 波特率,以及总线是否忙到"仲裁优先级会影响结果"。

有这四条,我们回复接口配置、帧布局,以及项目需要时的 DBC。这就是全部交付 —— 剩下的都是你的集成。

不确定总线用的是哪种帧? 十秒钟的 CAN 日志就够看出来:看标识符长度。把日志发我们,

我们告诉你该订哪个配置。

接收器配置见产品页,帧细节见 TR100 页,

整体视角见 CAN 总线胎压集成。

← 全部文章