ホーム / 技術ガイド / SAE J1939 入門 — 商用車・建機・農機のCAN通信

SAE J1939 入門 — 商用車・建機・農機のCAN通信

SAE J1939 は、トラック・バス・建設機械・農業機械といった大型車両向けの CAN ベース通信規格です。乗用車で使われる独自定義のメッセージ体系とは異なり、メッセージの意味そのものが規格で標準化されている点が特徴です。

目次

PGN と SPN — 意味が標準化されている

PGN(Parameter Group Number)は、関連するパラメータをまとめたメッセージの識別子です。エンジン回転数・車速・冷却水温といったデータは、どのメーカーの車両でも同じ PGN で流れます。

SPN(Suspect Parameter Number)は、PGN の中に含まれる個々のパラメータの識別子です。分解能・オフセット・単位も規格で定義されているため、受信側は自前の変換テーブルを持たずに物理値へ変換できます。

これが J1939 の最大の利点です。乗用車系の開発から来ると、「DBC がなくても値の意味が分かる」ことに驚くはずです。

29bit 識別子とアドレス

J1939 は 29bit の拡張識別子を使い、その中に優先度・PGN・送信元アドレスを埋め込みます。アドレスは 8bit(0〜253)で、機能ごとに推奨値が決まっています(エンジン=0、変速機=3 など)。

同じアドレスを名乗るノードが複数あると衝突するため、アドレスクレームという調停手続きが規定されています。各ノードは 64bit の NAME を持ち、起動時にアドレスを主張し、競合したら NAME の値が小さいほうが優先されます。

自社 ECU を後付けする場合、このアドレスクレームの実装漏れが「ときどき通信できなくなる」という再現性の低い不具合を生みます。

8バイトを超えるデータ(トランスポート)

CAN の1フレームは最大8バイトです。それを超えるデータは、TP(Transport Protocol)で分割送信します。1対1の RTS/CTS 方式(TP.CM_RTS / TP.CM_CTS)と、ブロードキャストの BAM(Broadcast Announce Message)方式があります。

BAM は受信側の準備を待たずに一方的に流すため、取りこぼしが起こり得ます。取り扱いには注意が必要です。

CAN FD への拡張(J1939-22)

J1939-22(J1939-FD)は、CAN FD に対応した新しいデータリンク層です。1フレームあたり最大64バイトを扱え、複数の PGN を1フレームに詰めるコンテナ方式が導入されています。

重要なのは、クラシック CAN の J1939 とは実装が別物だという点です。既存のスタックがそのまま使えるわけではないため、CAN FD 対応を計画しているなら、スタック選定の段階で確認してください。

診断とファームウェア更新

J1939-73 が診断を規定します。DM1(アクティブな故障)、DM2(過去の故障)などのメッセージで、SPN と FMI(Failure Mode Identifier)の組で故障内容を表現します。

排ガス規制対応では、OBD 関連の要求(J1939-84 の試験など)が加わります。北米向けでは、CARB の Clean Truck Check のような追加の適合確認も発生します。

ファームウェア更新は、J1939 経由のブートローダで行うのが一般的です。更新中の電源断からの復旧、更新対象の識別、転送時間の見積もりを先に設計してください。セキュリティ要件があるなら、イメージの署名検証をブートローダ側に実装する必要があります。

関連規格との関係

ISO 11783(ISOBUS)は、農業機械向けに J1939 を拡張したものです。作業機とトラクタの相互接続、仮想端末(VT)、タスクコントローラなどが追加されています。

J1587 / J1708 は J1939 以前の商用車ネットワークで、既存車両の保守では今も必要になることがあります。

NMEA 2000 は舶用ネットワークで、J1939 を基礎としています。

よくある質問

J1939 スタックは自作できますか?
アドレスクレーム、トランスポート、診断まで含めると相応の規模になります。特にアドレスクレームとマルチパケット転送は、実車で起きる競合や取りこぼしを想定した試験が必要で、自作は工数がかさみやすい部分です。市販スタックはソース提供のものが多く、対象MCUへの移植を前提に選べます。
CAN FD へ移行する予定がありますが、いま何を確認すべきですか?
選定するスタックが J1939-22 に対応しているか、対応している場合にクラシック CAN との共存構成が可能か、および対象MCUの CAN FD コントローラ向けドライバが提供されているかの3点です。
移植を依頼できますか?
はい。対象MCU、CAN コントローラ、必要な機能(診断・ブートローダの有無)、想定数量をお知らせいただければ、構成と概算をご回答します。

関連する製品カテゴリ・ソリューション

ほかの技術ガイド

構成のご相談

本ガイドの内容に沿ってご要件を整理いただければ、構成案と概算を早い段階でご回答します。部分的なご相談だけでも構いません。

見積もり・技術相談へ → 03-3256-3933