有人拎着崭新的"重卡"诊断仪走进修理间,插上一台老牵引车,结果屏幕上只有一个转圈圈和一片空白——这种场面我已经数不清见过多少次了。车能跑,故障灯正常,ECM 活得好好的。可工具坐在那儿,像是被人塞了一门外语。
十次里有九次,它听不懂的那门语言就是 J1708/J1587——支撑了美国卡车行业将近二十年的串行数据链路。如果你拥有或维修老柴油车,搞懂这个协议不是选修的历史课。它是"五分钟拉出故障码"和"对着一台打不着的车瞎猜两天"之间的差别。
J1708 和 J1587 到底是什么
大家说"J1708"时总当它是一个东西,其实它是叠在一起的两个 SAE 标准,分清这两层对排故很有帮助。
J1708 是物理层——线路和电气规则。它是一条低速串行数据链路,跑在一对简单的双绞线上,速率 9600 波特。你没看错。你的手机在跑千兆位,这条总线传数据的速度大概相当于 1990 年代拨号上网握手的水平。但你猜怎么着?就"从发动机 ECM 里读故障码和基础传感器数值"这件事来说,完全够用。
J1587 是消息层,骑在 J1708 之上。它定义这些字节到底是什么意思——哪个模块在说话、报的是什么参数、故障怎么描述。
下面这套词汇很重要,因为它和更新的 J1939 世界完全不同:
| 术语 | 含义 |
|---|---|
| MID(Message Identifier,消息标识符) | 哪个模块在说话——发动机、变速箱、ABS、仪表 |
| PID(Parameter Identifier,参数标识符) | 报的是什么——冷却液温度、车速、增压压力 |
| FMI(Failure Mode Identifier,失效模式标识符) | 是怎么坏的——对高短路、对地短路、超出范围、信号跳变 |
所以老卡车的故障码读作 MID/PID/FMI:哪个盒子、哪个参数、哪种失效模式。在 J1939 上,对应的是 SPN/FMI。如果你的工具或资料满口 SPN,而车说的是 PID,那你就是在两本不同的字典之间做翻译——很多便宜工具要么翻得稀烂,要么根本不翻。交叉核对故障码时,一个两套词汇都认识的故障码查询数据库能帮你省掉大把挠头的时间。
还有个值得知道的怪现象:重卡的 PID 和你皮卡上的 OBD2 PID 毫无关系。三个字母一样,标准完全是两码事。这个坑我们在为什么你的轿车 OBD2 诊断仪读不了半挂卡车里详细讲过。
哪些卡车还在说这门语言
大体上,J1708/J1587 是机械到电控过渡时代的语言——1990 年代初到 2000 年代中期生产的卡车。那个年代,发动机厂商正把电子控制往几年前还纯机械的平台上装。
我故意不给你一张逐年逐型号的对照表,因为现实世界不是那么运转的。车队下单时配置各不相同,发动机被换来换去,向 J1939 的切换是一个模块一个模块、拖了好几年完成的,不是一夜之间。诚实的经验法则是:
- 1990 年代初到中期: 电控发动机登场时说的就是 J1708/J1587,通常是全车唯一的数据链路。
- 1990 年代末到 2000 年代初: J1939 开始与 J1708 并存。这段时期的很多车两条总线都有。
- 2000 年代中后期: J1939 成为主链路,但 J1708 往往还继续接在 ABS、仪表和车身模块上,又用了很多年。
这些车并不罕见。它们是个体车主车队、农场作业、自卸和专用车工况的中坚力量,是每一家算过账、觉得"一台已还清贷款、排放法规收紧前的老车,胜过一台背着月供的新车"的小车队的选择。它们还要再拉十年货——这正是这个协议死不了的原因。
接头长什么样
走到驾驶侧仪表台下方或护板处,你会看到两种圆形 Deutsch 接头之一:
- 6 针 Deutsch(灰色,圆形): 经典的老卡车诊断口。看到它,这台车就是 J1708/J1587 的地盘,没有第二种可能。其中两针是 J1708 数据对(另外还有电源和地)。
- 9 针 Deutsch(圆形): 后来的标准。大家漏掉的点在这儿——9 针接头两种协议都带。C、D 针走 J1939 CAN,而 F、G 针走 J1708 数据对。一台带 9 针口的车,完全可能有只在 J1708 上应答的模块。
这个 9 针接头自己也有一堆坑——Type I 和 Type II 之分、针脚电压差异、转接线陷阱——我们在 J1939 9 针 Deutsch 接头针脚定义指南里逐针讲清楚了。如果你修过渡时代的卡车,下一篇就读它。
为什么很多"重卡"工具读不了这些车
关于很多新款诊断硬件,有一个不太好听的真相:它们里面只有 CAN 收发器。
J1939 跑在 CAN 上。J1708 不是——它是完全不同的电气标准,比起 CAN 更接近老式的 RS-485 串行。工具需要一颗独立的物理收发器接到 F、G 针上,才能听见 J1708 的任何流量。板子上没有的电路,再多软件升级也变不出来。
所以当一台便宜工具宣传"支持重卡"时,它的意思往往是"支持 J1939"。把它插到一台 1998 年的 6 针口牵引车上——或者一台 2003 年、发动机恰好只在 J1708 上应答的车上——它就是聋的。工具没坏,它只是从出生起就没被造来参与这场对话。
给老车买任何东西之前,先问一个直球问题:硬件里有没有 J1708 收发器?软件到底会不会说 J1587? 两半都缺一不可。
混合总线陷阱:模块一半在这条线,一半在那条线
这个坑,连老技师都会栽。
在过渡时代的卡车上,发动机在 J1939 上、而 ABS、变速箱或仪表还活在 J1708 上是常事——反过来也有。同一台车,两条总线,模块分散在两边。
现在想象一台只扫 CAN 侧的工具。它连上了,找到了发动机,报告"其他系统无故障"——却完全错过了正在 J1708 线对上攒着一堆存储故障"喊救命"的 ABS 模块。你拿到一份看着干净、实际半瞎的报告。客户被告知车没毛病。问题原地不动。
这和我们在 OBD2 插半挂那篇指南里描述的失效模式如出一辙:工具没撒谎,它只是只听了这栋房子里的一间屋。对大约 1990 年代末到 2000 年代末之间的任何卡车,一次像样的扫描意味着两条总线、所有模块,否则就不算全车扫描。
我们的平台站在哪里
这一段我会像我们做其他事一样,讲得一是一二是二:我们的平台在 J1939 之外同时支持 J1708/J1587——协议层在真实重卡 ECM 台架上验证。这意味着硬件里装着货真价实的 J1708 收发器,软件原生地说 J1587 的 MID/PID/FMI 语言,而不是靠外挂一层翻译凑合。
挑工具和线缆:真正重要的是什么
- 双协议硬件。 J1708 收发器加 CAN,装在同一台机器里。做 2007 年以前的车,这条没得商量。
- 一条所有数据针都真正接通的线缆。 大量便宜的 9 针线只接了 CAN 针,把 F/G 空着——J1708 数据对在接头里就是断头路。要么逐针测通断,要么从公开针脚定义的商家那里买。我们的 9 针接头指南标明了哪些针必须是活的。
- 给最老的车备一个 6 针转接头——同样,数据对要真的接通,不能只通电源。
- 能规范报出 MID/PID/FMI 的软件,最好还能对照真实的故障数据库做翻译,而不是甩给你一串裸数字。
常见问题
J1708 和 J1587 是同一个东西吗? 不是。J1708 是线路和电气层(那条双绞线串行链路);J1587 是跑在它上面的消息格式。实践中两者总是配套使用,所以大家才把这两个名字混着叫。
我能通过 9 针接头读 J1708 故障码吗? 能——前提是这台车把 J1708 接到了 F、G 针(大多数是这样),并且你的工具加线缆真的把这两针接通了。一台只有 CAN 的工具插在 9 针口上,永远听不见 J1708 的流量,接头长什么样都没用。
我的诊断仪写着"支持重卡",却连不上我的老牵引车。为什么? 几乎总是缺 J1708 硬件。这台工具里多半只有一颗跑 J1939 的 CAN 收发器。这是电路板层面的限制——任何软件升级都修不了。
这里的 PID 和我轿车 OBD2 口上的 PID 有什么区别? 缩写相同,标准毫不相干。J1587 的 PID 是重卡参数标识符,和 MID、FMI 配套使用。OBD2 的 PID 属于轻型汽车世界。工具和码表互不通用。
J1708 的卡车还值得留着继续跑吗? 去问问还在开它们的个体车主吧。简单的电子系统、排放法规收紧前的动力总成,加上一条已经有三十年公开文档的数据链路,让它们成为有史以来最好养的一批卡车——前提是你手里有会说它们语言的工具。
如果你的车队里还有 2007 年以前的老车,别让它成为你的诊断仪搭不上话的那一台。去找同时支持 J1708/J1587 和 J1939 的诊断工具;真跳出码来的时候,把它丢进我们的故障码查询,看看这台车到底想告诉你什么。这个协议死不了——你读懂它的能力也不该死。
Need Help Choosing?
Our product specialists can recommend the right diagnostic tool for your specific needs.
Related Guides
SPN 与 FMI 代码详解:如何读懂任何 J1939 故障码
仪表盘上那对 SPN/FMI 数字不是什么暗号。SPN 告诉你是哪个部件在报警,FMI 告诉你它是怎么坏的。这里是完整的解码指南,包括完整的 FMI 0-31 对照表。
为什么轿车 OBD2 诊断仪读不了半挂重卡(以及真正管用的方案)
那个在皮卡上用得好好的 30 美元读码器,一插到半挂重卡上就黑屏了。它没坏,你的卡车也没坏。这篇文章讲清楚重卡仪表台下面到底哪里不一样、为什么有些重卡明明有 16 针接口却照样和轿车诊断仪"说不上话",以及个体车主真正需要什么样的工具来读故障码。
J1939 Protocol Explained: The Complete Guide for Truck Technicians
Everything truck technicians need to know about the SAE J1939 protocol — SPN/FMI codes, connector pinouts, message structure, and how it compares to OBD-II.
