J1939は、元々は米国の自動車および大型トラック業界によって、車両コンポーネント間の通信および診断に使用される車両バス規格です。 車両への適用が成功したため、J1939は業界標準として認められ、建設、マテリアルハンドリング、林業機械などの用途のオフハイウェイ機械に最適な車両ネットワーク技術になりました。 これは、コントローラーエリアネットワーク(CAN)に基づく上位層プロトコルであり、あらゆる種類の大型車両のマイクロプロセッサーシステム(ECU)間のシリアルデータ通信を提供します。 これらのユニット間で交換されるメッセージは、車両の道路速度、トランスミッションからエンジンへのトルク制御メッセージ、オイル温度などのデータです。
 すべてのJ1939パケットには、8バイトのデータと、メッセージの29ビット識別子に埋め込まれているPGN(パラメータグループ番号)と呼ばれるインデックスを含む標準ヘッダーが含まれています。 PGNは、メッセージの機能と関連データを識別します。 J1939は、自動車、農業、船舶、オフロード車の幅広い目的を網羅するように標準PGNを定義しようとしています。 PGNの範囲(00FF00(hex)から00FFFF(hex)を含む)は、専有使用のために予約されています。 PGNは、一意のデータ用に定義された可変数のSPN要素で構成されるデータを定義します。 たとえば、エンジンRPM用に事前定義されたSPNが存在します。
 J1939は、CANバスを介して通信するために3つの方法を使用します。 宛先固有の通信では、PDU1(プロトコルデータユニット1)形式を使用してデータを送受信します。 PDU1形式では、メッセージを特定のECU(CANノード)に送信できます。 宛先アドレスはCANPDU1CANフレームに含まれています。 ブロードキャスト通信は、PDU2(プロセスデータユニット2)形式を使用して、複数のノードにメッセージを送信します。 PDU2メッセージ形式は、メッセージ番号とノード番号を識別します。 ECUを受信するこれらのアプリケーションでは、CANバスで特定のメッセージを監視します。 たとえば、ディスプレイユニットは、燃料温度と燃料圧力を含むPDUを待機しているバスを監視するため、他のすべてのメッセージを無視する場合があります。
特徴
・CANバスに基づく上位層プロトコル
・速度はほぼ常に250kbit / sです
・29ビット識別子CAN2.0B
・大型車に使用
・ピアツーピアおよびブロードキャスト通信
・最大1785データバイトのトランスポートプロトコル
・ネットワーク管理
・パラメータグループの定義