SAE J1939は、商用車分野におけるネットワークおよび通信のためのオープン標準です。この標準の主な適用分野は、パワートレインのネットワーク化です。
SAE J1939の特徴は、ネットワークおよび通信にCAN技術を使用していること、ならびにメーカーを横断した相互運用性が確保されていることです。J1939プロトコルは米国自動車技術者協会(SAE)によって策定されたもので、物理層ではISO 11898に準拠したCAN-highspeedを使用しています。
特徴
- 29ビットの拡張CAN identifierを使用します
- 標準化されたCANボーレートは250 kbit/sおよび500 kbit/sです。
- ポイント・ツー・ポイント・アドレッシング(ノード・アドレッシング)およびグローバル・アドレッシング(メッセージ・アドレッシング)に対応しています
- マルチパケットメッセージにより、最大1785バイトまで送信可能です
- 独自のネットワーク管理によるバスアクセスコントロール
- 車両全体の通信のための標準化されたメッセージ
- メーカー固有のメッセージ定義が可能
- 独自の診断インターフェイスを定義します
SAE J1939 および CAN
SAE J1939プロトコルは、物理層としてCAN(Controller Area Network、ISO 11898-1およびISO 11898-2)を使用しています。CANプロトコルは、自動車のネットワーク化において重要な役割を果たしており、電子制御ユニット(ECU)間のビットシリアル通信において広く採用されている方式です。代表的なECUとしては、エンジンECU、トランスミッションECU、ブレーキECUのほか、インストルメントパネルECUやドアECUなどが挙げられます。
Consortium and other Specifications
SAE J1939 を基に策定された標準は数多くあります。これらの標準は J1939 の基本的な仕様を使用しており、多くの場合、データ定義や、必要に応じて物理層の適応においてのみ違いが見られます。
ISO 11783 – 農業・林業用トラクターおよび機械 – シリアル制御および通信
農業用車両における通信を規定しています。具体的には、トラクターと、いわゆる「作業機」と呼ばれるadd-on機器との間の通信です。ISO 11783標準は、アプリケーションレイヤーにおけるサービスを規定しており、例えば、Virtual Terminalを介したadd-on機器のコントロールなどが挙げられます。add-on機器自体は、そのコントロールに必要なすべてのグラフィック要素を備えており、Virtual Terminalはそれらを表示することができます。 その他のアプリケーションコンポーネントとしては、トラクターECU、タスクコントローラー、ファイルサーバー、シーケンス制御などがあります。ISO 11783標準には、SAE J1939で定義されたマルチパケットプロトコルの拡張が含まれています。また、ワーキングセットの仕組みも適用されています。
文書の構成 J1939
J1939仕様の全文は、さまざまな文書や章に細分化されています。すべての文書は、SAEのWebサイト(www.sae.org)から、個別に、またはあらかじめまとめられたパッケージとしてダウンロードできます。
J1939仕様の個々の章については有料となっており、無料でアクセスすることはできません。個々の章は体系的に構成されており、ISO/OSI参照モデルを大まかに基にしています。「大まかに基に」としているのは、J1939の文書構成には、OSIモデルでは定義されていない第8章が含まれているためです。
右の表には、現在存在する章および文書のリストがあります。
物理層
仕様比較 J1939-11/14/15
SAE J1939プロトコルは、物理層としてCAN(Controller Area Network、ISO 11898-1およびISO 11898-2)を使用しています。
| パラメータ | J1939-11 | J1939-15 | J1939-14 |
|---|---|---|---|
| ツイストペア線 | シールド付き | 非シールド | シールド付きまたはシールドなし |
| ビットレート | 250 kbit/s | 250 kbit/s | 500 kbit/s |
| ECUの数 | 30 | 10 | 30 |
| バス長 | 最大:40 m | 最大:40 m | 最大:40.0 m – 56.4 m |
| ECU間距離 | 最小:0.1 m | 最大:40 m | 最小:0.1 m | 最大:40 m | 最小:0.3 m | 最大:40.0 m – 56.4 m |
| スタブ長 | 最大:1 m | 最大:3 m | 最大:1,67 m |
診断用スタブ長 | 最大:0.66 m + 5 m | 最大:2.66 m + 5 m | 最大:1.67 m + 5 m |
パラメーターグループ
J1939-21規格では、29ビットのCAN identifierをどのように解釈すべきかについて規定されています。CANメッセージの8バイトのデータフィールドにおいて、開始ビットと長さによって異なるシグナルが定義されているのと同様に、CAN identifierもパラメーターグループごとに異なるセグメントに分割されます。 これにより、識別子のうちPGN自体を表すのは一部のみであり、残りはソースアドレス、宛先アドレス、優先度、およびデータページ(DP)として解釈されます。
PGNのセクション
「データページ」(DP)と「拡張データページ」(EDP)の2ビットもPGNの一部であり、最上位の2ビットとしてカウントされるために含まれています。その結果、数値範囲は4つのPGNページに割り当てられていますが、J1939ではそのうち3つしか使用されません。
以下のデータページの定義があります:
| 拡張データページ(EDP) | データページ(DP) | 説明 |
|---|---|---|
| 0 | 0 | SAE J1939 および ISO 11783 |
| 0 | 1 | SAE J1939 NMEA 2000® |
| 1 | 0 | SAE J1939 – 予約済み – |
| 1 | 1 | ISO 11992 診断(重要:J1939のレイアウトではありません!) |
Transport Protocol
長さが8バイトを超えるメッセージは、1つのCANデータフレームに収まるには大きすぎます。そのため、送信元側はそれらを個別のパケットに分割し、それぞれを1つのCANメッセージとして送信する必要があります。レシーバー側は、個々のフラグメントを元の順序で再結合しなければなりません。これについては、J1939標準において一連の規則が定義されています。これがいわゆるトランスポートプロトコルです。
通信の種類に応じて、2つのトランスポートプロトコルが定義されています。
ピア・ツー・ピアブロードキャスト専用通信 – 接続モードによるデータ転送(RTS/CTS)
このプロトコルでは、送信元がレシーバーへの接続を確立します。レシーバーは、個々のデータパケットのフロー制御をコントロール・調整することができます。送信元とレシーバーの双方が、接続を中断することができます(例:エラーが発生した場合など)。
接続モードデータ転送プロトコルには、時間的な制限は一切ありません。すべてのノードは、可能な限り最高速度で互いにデータを交換します。
診断
J1939診断インターフェイスは、標準的な診断コネクタに加え、さまざまな診断サービスを処理するための一連のPGNを定義しています。「診断メッセージ(DM)」として指定されたPGNは、UDS診断(Unified Diagnostic Services)の機能の範囲をほぼ網羅しています。 また、これらはEU指令や車載診断(OBD II)に関する「カリフォルニア州規則集」、さらにHD OBD(ヘビーデューティーOBD)およびWWH-OBD(ワールドワイドハーモナイズド)OBD(ISO 27145)にも準拠しています。
ソフトウェアツールを介してサービスを能動的に開始する必要があるUDS診断とは対照的に、J1939 ECUは通常の動作中にも自律的に診断メッセージを送信します。発生したエラーはネットワーク上で直接評価され、必要に応じて視覚的に表示されます。 これと並行して、診断コネクタを介してツールを使用することで、エラーを読み出すことも可能です。統一されたエラーコード、いわゆる診断トラブルコード(DTC)には、故障したSPN、エラーパターン、およびエラーの発生頻度が含まれています。
診断トラブルコード(DTC)
DTC(診断トラブルコード)は、システム内の不具合を表します。主に、現在の状態が異常であるSPNを示します。これにはさまざまな原因が考えられます。その状態の原因を示す指標を使用して、エラーの実際の原因を絞り込むよう努めます。DTCは統一された構造を持っており、以下の要素で構成されています:
- 疑わしいパラメータ番号(SPN)
:エラーが発生したSPNを表します。定義されたすべてのSPNは、DTCで使用することができます。 - 故障モード識別子(FMI)
発生したエラーの性質や種類を表します。例:値の範囲外(上限または下限)、センサーの短絡、不適切な更新レート、校正エラーなど。 - 発生カウンタ(OC)
:各SPNについてエラー状態の発生回数をカウントするカウンタであり、エラーがもはやアクティブでなくなった場合でもこの値を保持します。 - SPN変換方式(CM)
:DTC内のバイト配置を定義します。値「0」は、図「DTCの構造」に示されている方式を表します。CMの値が「1」の場合、以前に有効であった3つの方式を区別する必要があります。この区別は、システム側で把握しておく必要があります。
機能安全
SAE J1939には、安全上重要なデータを転送するための2つの異なるアプローチが含まれています。1つはSAE J1939-76規格であり、これは対象となるパラメーターグループを保護するための一般的な手順を規定しています。もう1つは、SAE J1939で規定された標準化されたパラメーターグループであり、これにはチェックサムとカウンタが組み込まれています。
SAE J1939-76 – チェックサムおよびシーケンスカウンタ付き専用安全ヘッダーメッセージ
SAE J1939-76標準(SAE J1939機能安全通信プロトコル)では、安全上重要なデータの転送のためのJ1939の拡張仕様が規定されています。 これは、安全上重要なデータを含むメッセージ(安全データメッセージ、SDM)に先立って、追加のメッセージ(安全ヘッダーメッセージ、SHM)を送信することで実現されており、SHMとSDMが合わせて安全データグループ(SDG)を構成します。
- SHM には、以下の情報が含まれます。
- シーケンスカウンタ(各SDGにつき5ビット)
- SDMの反転CAN ID(優先度なし、26ビット)
- SDMのデータに対するCRC(32ビット)
タイミング
送信元(プロデューサー)は、SHMおよびSDMを生成し、適切な順序で、かつ期限内に送信します。レシーバー(コンシューマー)は、転送されたデータの順序や期限、および完全性を確認する責任を負います。
SDGの転送にあたっては、以下の時間を遵守しなければなりません:
SRVT:安全妥当性確認時間(SHMとSDMの間隔)
SCT:安全サイクル時間(連続するSDMインスタンス間の時間)
最大許容SRVT値およびSCT値を決定するための時間基準は、SDMとして転送される各SAE J1939 PGのサイクル時間(伝送レート)に基づいて導出されます。
最大SCTおよび最大SRVTの決定は、次のように定義されます:
| SDGのタイミング基準 | SCT最大値 | SRVTMaximum |
|---|---|---|
| ≤ 200 ms | 時間基準の150% | 時間基準の50% |
| > 200 ms | 時間基準に100 msを加えた値 | 100 ms |
制限事項
SDMの長さは8バイトを超えてはなりません。これにより、メッセージを転送するためのトランスポートプロトコルが不要になります。また、SDMは、固定サイクル時間または可変サイクル時間のいずれかで送信されなければなりません。可変サイクル時間の例としては、100msごと、あるいは変更があった都度といったものが挙げられますが、20msより速い間隔では送信されません。
SAE J1939 デジタル附属書 – チェックサムおよびカウンタが組み込まれたメッセージ
J1939デジタルアネックスでは、200以上のメッセージに対するチェックサムと、関連するECUのフォールト状態を検出するためのメッセージカウンタが規定されています。メッセージカウンタとチェックサムは、PGのペイロードデータの一部です。 メッセージカウンタは、メッセージが転送されるたびに1ずつ増加します。チェックサムはペイロードデータから算出されるため、他の信号が変化したかどうかに関わらず、正常な転送が行われるたびにチェックサムも変化します。しかし、次の転送でメッセージカウンタが増加しなかった場合、またはチェックサムがペイロードデータと一致しない場合、レシーバーは送信元がエラー状態にあると推測することができます。
- チェックサム
デジタル・アネックスでは、チェックサムの計算規則として5つの異なる方法が規定されており、そのうち2つは8ビット長の一般的なCRC(巡回冗長検査)計算に基づいています。残りの3つの計算方法では、単純な加算、ビットシフト、およびビットマスクが使用されます。 - メッセージカウンタ
デジタルアネックスでは、メッセージ内のメッセージカウンタの配置位置として6つの候補が規定されています。
次の図は、チェックサムとメッセージカウンタの一般的な組み合わせと配置、およびこの組み合わせを使用するメッセージの名称などを示しています。理解を容易にするため、5つの計算規則にはそれぞれ大文字(A~E)が割り当てられています。
定義された計算ルール
メッセージ内の位置が場合によっては大きく異なるだけでなく、チェックサムの計算式も異なります。基本的には、5つのルールが使用されています。
1) 最初の2つのルールでは、ビット長8ビットのCRCが使用されます。
2) 残りの3つは、ビットシフト演算とビットマスクに基づいています。これらの規則は以前から使用されており、例えば、パラメーターグループTSC1(PGN 0)やXBR(PGN 1024)などで用いられています。
J1939 ポスター
ノウハウの概要
J1939のノウハウポスターを1枚、または両方とも、無料でご注文いただけます。どちらのポスターも、J1939プロトコルの最も重要な基本事項を簡潔にまとめたものです。DIN A1フォーマット(841 mm × 594 mm)のチートシートが2枚セットでご利用いただけます。
ポスター1には、以下の内容が含まれています:
- 概要
- 仕様書
- 物理層
- CAN ID および PGN 構造
- CANフレームの構造
- トランスポートプロトコル
ポスター2の内容は次のとおりです:
- ネットワーク管理
- 診断
- 機能安全
- リクエスト/レスポンス
- 独自のパラメーターグループ
- 信号範囲 (J1939-71)
ベクター - J1939のスペシャリスト
ベクターはSAE J1939委員会のメンバーであり、ワークショップに定期的に参加しています。J1939分野におけるベクターの専門知識と長年の経験により、お客様は、困難な課題をより効率的、迅速、かつコスト効率良く解決できる高性能な製品とサービスをご活用いただけます。
あらゆるJ1939プロジェクトに対応する一貫したツールチェーンを備えたベクターは、お客様に最適なソリューションをご提供いたします:
- 最適に調整されたソフトウェアツール
- お客様のご要望に合わせてカスタマイズされた組込みソフトウェアコンポーネント
- お客様のニーズに合わせて特別に設計された個別サービスおよびトレーニング
ベクターツール
ベクター社の以下の製品は、J1939プロジェクトの実施に役立ちます:
ツール | ||
|---|---|---|
J1939システムのシミュレーション、テスト、および開発:
| ||
J1939システムの解析:
| ||
J1939の拡張サポートを備えた、AUTOSAR Classic Platformに基づく組込みソフトウェアスタック | ||
SAE J1939およびISOBUS 11783に準拠したモデルベースのE/Eシステム設計:
| PREEvision | |
CAN、J1939、ISO15765、およびJ1708/J1587ネットワークにアクセスするためのプログラミングインターフェイス | ||
DIAdem 用ドライバソフトウェア:J1939 プロトコルに加え、NMEA2000 および ISOBUS (ISO 11783) にも対応しています | ||
単体のECUから車両全体まで対応する、迅速かつ特に使いやすい診断テスター | ||
ベクターアカデミーによるSAE J1939トレーニング | ||