SAE J1939とCAN
商用車分野でのネットワークと通信に関するオープン規格
SAE J1939
SAE J1939は、商用車分野でのネットワークと通信に関するオープンな規格です。主な適用分野はパワートレインネットワークです。
SAE J1939の特徴は、ネットワークと通信にCAN技術を使用することによるメーカー間の相互運用性です。J1939プロトコルはSociety of Automotive Engineers(SAE)によって策定され、ISO11898準拠の高速CANを使用した物理レイヤー上で動作します。
特長
- 29ビットの拡張CAN-IDを使用
- CAN伝送速度を250Kbit/秒と500Kbit/秒に標準化
- ポイントツーポイントアドレッシング(ノードアドレッシング)とグローバルアドレッシング(メッセージアドレッシング)を使用
- マルチパケットメッセージの使用により、最大1,785バイトを伝送可能
- 独自のネットワークマネジメントによりバスアクセスを制御
- 車両通信全体のための標準化されたメッセージ
- メーカー固有のメッセージ定義が可能
- 独自の診断インターフェイスを定義
コンソーシアムおよびその他の仕様
SAE J1939からはいくつかの標準規格が派生しています。これらの標準規格はJ1939のプロトコルの基本的な部分を使用しており、多くの場合はデータ定義と、必要に応じた物理レイヤーの部分のみが異なります。
ISO 11783 - 農業/林業用のトラクターや作業機械の制御用シリアル通信
農業に使用される車両の通信、具体的には、トラクターとそれに取り付ける作業機械、すなわちインプルメントの間の通信を定義します。ISO 11783標準規格は、たとえばバーチャルターミナルからの作業機械の制御など、アプリケーションレイヤーでのサービスを規定します。作業機械の制御に必要なあらゆるグラフィックエレメントが用意されていて、バーチャルターミナルにそれらを表示できます。その他のアプリケーションコンポーネントとしては、トラクターECU、タスクコントローラ、ファイルサーバー、シーケンス制御などがあります。ISO 11783標準規格には、SAE J1939用に定義されたマルチパケットプロトコルが拡張されています。また、トラクターや作業機械を1つの要素として考えるワーキングセットのメカニズムも定義されています。
NMEA 2000® - 船舶用電子機器のためのシリアルデータネットワーク
船舶の電子機器の通信プロトコルを定義します。マルチパケットプロトコルの拡張(Fast Packet Protocol)も使用されます。
ISO 11992 – トラックとトレーラー間のデジタル情報の交換
トラックとトレーラー間のメッセージ交換を規定します。ISO 11992はJ1939のメッセージ形式に基づくものの、使用する物理レイヤーの設定が異なっており、125Kbit/秒のみが使用されます。
FMS – Fleet Management System
FMS標準規格は、J1939ネットワークとFMSの間のゲートウェイを定義します。
J1939の文書構造
J1939は仕様全体がさまざまな文書と章に分かれています。これらの文書はいずれも、個別に、またはあらかじめパッケージとしてまとめられた形で、SAEのWebサイト、www.sae.orgからダウンロードできます。
J1939仕様の各章は有料のため、無料でアクセスすることはできません。各章は体系的に構成されており、ISO/OSI参照モデルに大まかに基づいています。大まかに基づく理由は、J1939の文書構造に、OSIモデルでは定義されていない第8章が含まれているためです。
現在入手可能な章および文書を右側の表に示します。
| パラメータ | J1939-11 | J1939-15 | J1939-14 |
|---|---|---|---|
| ツイストペアワイヤー | シールドあり | シールドなし | シールドあり/シールドなし |
| ビットレート | 250Kbit/秒 | 250Kbit/秒 | 500Kbit/秒 |
| ECUの数 | 30 | 10 | 30 |
| バスの長さ | 最大:40m | 最大:40m | 最大:40.0m~56.4m |
| ECU間の距離 | 最小:0.1m | 最大:40m | 最小:0.1m | 最大:40m | 最小:0.3m | 最大:40.0m~56.4m |
| スタブの長さ | 最大:1m | 最大:3m | 最大:1.67m |
| 診断スタブの長さ | 最大:0.66m + 5m | 最大:2.66m + 5m | 最大:1.67m + 5m |
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レイアウト定義なし) |
トランスポートプロトコル
長さが8バイトを超えるメッセージは大きすぎるため、1つのCANデータフレームには収まりません。そのため、このようなメッセージは送信側が個々のパケットに分割する必要があります。分割後は、それぞれCANメッセージとして送信することができます。受信側は、個々のフラグメントパケットを元の順序で再結合する必要があります。このための一連の規則がJ1939標準規格で定義されており、それがいわゆるトランスポートプロトコルです。
通信タイプに応じて、2つのトランスポートプロトコルが定義されています。
固有の通信 – Connection Mode Data Transfer(RTS/CTS)
グローバル通信 – Broadcast Announce Message(BAM)
診断
J1939診断インターフェイスは、標準の診断コネクタと、各種の診断サービスを扱うための一連のPGNを定義します。診断メッセージ(DM)として指定されたPGNは、UDS診断(Unified Diagnostic Service)機能の適用範囲にほぼ対応しています。また、EU指令、オンボード診断(OBD II)に関する「カリフォルニア州規制」のほか、HD OBD(Heavy Duty OBD)やWWH(World Wide Harmonized) OBD(ISO 27145)にも準拠しています。
ソフトウェアツールから能動的にサービスを開始する必要のあるUDS診断とは対照的に、J1939 ECUは通常の動作中に診断メッセージを独立して送信することもできます。発生したエラーはネットワーク内で直接評価され、必要に応じて表示されます。これと並行して、診断コネクタ経由でツールを使用してエラーを読み出すことができます。統一エラーコード、いわゆるダイアグノスティックトラブルコード(DTC)には、エラーのあるSPN、エラーパターン、エラーの発生頻度が含まれています。
- Suspect Parameter Number(SPN)
エラーのあるSPNを表します。すべての定義済みSPNをDTCに使用できます。 - Failure Mode Identifier(FMI)
値の範囲違反(上限/下限を超える値)、センサーの短絡、更新レートの誤り、キャリブレーションエラーなど、発生したエラーの性質とタイプを表します。 - Occurrence Counter(OC)
各SPNのエラー条件の発生カウンター。このカウントは、エラーが発生しなくなっても保持されます。 - SPN Conversion Method(CM)
DTC内のバイト配列を定義します。値「0」は、「Structure of a DTC」図に示すメソッドを表します。CMの値が「1」の場合は、3つの有効なメソッドを区別する必要があります。この場合、システムが認識している必要があります。
機能安全
SAE J1939では、セーフティクリティカルなデータを転送する方法が2つ用意されています。1つはSAE J1939-76標準規格で、これには目的のパラメータグループを保護するための一般的なプロセスが記述されています。もう1つはSAE J1939で規定されている標準化されたパラメータグループを使用する方法で、これにはチェックサムとカウンターが組み込まれています。
SAE J1939-76 – チェックサムとシーケンスカウンターを持つSafety Header Message
SAE J1939-76標準規格(SAE J1939 Functional Safety Communications Protocol)では、セーフティクリティカルなデータを転送するためにJ1939が拡張されています。これはクリティカルなデータ(Safety Data Message: SDM)が含まれるメッセージの前に追加のメッセージ(Safety Header Message: SHM)を送信するもので、SHMとSDMでSafety Data Group (SDG) が構成されます。
SHMには以下の情報が含まれています。
- シーケンスカウンター(SDG毎、5ビット)
- SDMの反転したCAN ID(プライオリティなし、26ビット)
- SDMのデータに対するCRC(32ビット)
- タイミング
送信側(プロデューサー)はSHMとSDMを生成し、それらを時間制限を順守しながら、適切な順序で送信します。受信側(コンシューマー)は転送されたデータのシーケンス、時間制限、整合性をチェックします。
SRVTとSCTの最大許容値を決定するタイムベースは、個々のSAE J1939 PG(SDM)のサイクル時間(転送レート)から導出されます。
最大SCTと最大SRVTは以下の定義に基づいて決定されます。
| SDGのタイムベース | SCTMaximum | SRVTMaximum |
|---|---|---|
| ≤ 200ms | タイムベースの150% | タイムベースの50% |
| > 200ms | タイムベース+100ms | 100ms |
- 制限
SDMは8バイトを超えることはできません。これによってメッセージを転送するための転送プロトコルが不要になります。また、SDMは固定または可変のサイクル時間で送信する必要があります。可変サイクル時間は、たとえばメッセージは100ms間隔および変更の発生時に送信するが、20msより短い間隔では送信しないといった場合が該当します。
SAE J1939 Digital Annex – チェックサムとカウンターが組み込まれたメッセージ
J1939 Digital Annexでは、関係するECUのフォールト状態を検出するために、200以上のメッセージのチェックサムとメッセージカウンターが規定されています。メッセージカウンターとチェックサムはPGのペイロードデータに含まれており、メッセージカウンターはメッセージが転送されるたびに1つずつ増加します。チェックサムはペイロードデータから計算されるため、こちらも他シグナルの変化の有無にかかわらず、正常に転送されるたびに変化します。後続の転送時にメッセージカウンターが増加しなかったり、チェックサムがペイロードデータと一致しなかったりした場合、受信側は送信側がエラー状態にあると判断できます。
- チェックサム
Digital Annexにはチェックサムに関して5種類の計算規則が記述されており、そのうち2つは一般的なCRC(巡回冗長カウンター)の計算をベースとするもの、残りの3つは単純な加算、ビットシフト、ビットマスクを使用するものです。 - メッセージカウンター
Digital Annexでは、メッセージ内でメッセージカウンターが利用できる場所として、6か所が規定されています。
次の図はチェックサムとメッセージカウンターの一般的な配置と場所、さらにこの組合せを使用するメッセージの例を名前で示しています。5つの計算規則を簡単に判別できるよう、それぞれに大文字のA~Eを付けてあります。
2) 残りの3つの規則ではビットシフト操作とビットマスクが使用されます。これらの規則は従来から使用されており、TSC1 (PGN 0) やXBR (PGN 1024) などのパラメータグループに使用されます。
ベクター - J1939のスペシャリスト
ベクターはSAE J1939委員会のメンバーとして、定期的にワークショップに参加しています。ベクターは、J1939環境に関するノウハウと長年の経験を活かして、難しい問題をより効率的かつ迅速に、さらに高い費用対効果で解決できる高性能な製品やサービスを提供しています。
ベクターは、あらゆるJ1939プロジェクトに対応する一連のツールチェーンで、お客様に適したソリューションを提供します。
- J1939に対応した各種ソフトウェアツール
- カスタマイズされた組み込みソフトウェアコンポーネント
- お客様のニーズに合わせたサービスとトレーニング
ベクターのツール
ベクターは、J1939プロジェクトに役立つ以下のツールを提供しています。
| ツール | ||
|---|---|---|
SAE J1939およびISOBUS 11783に準拠したモデルベースE/Eシステム設計:
| ||
J1939システムのシミュレーション、テスト、開発:
| ||
J1939システムの解析:
| ||
| J1939アプリケーション用組み込みソフトウェアコンポーネント | ||
| CAN、SAE J1939、SAE J1708/J1587ネットワークで実行されるアプリケーションを開発 | ||
| DIAdem用ドライバーソフトウェア:J1939プロトコル、NMEA2000およびISOBUS(ISO11783)対応 | ||
| ECU単体にも車両全体にも使用できる、手軽で扱いやすい診断テスター | ||
| ワークショップ:SAE J1939の基礎とCANalyzer/CANoe .J1939の概要 | ||
その他の情報
- 2014-11-03 How Vector Loggers can be Used with J1939
- 2014-11-03 Introduction to J1939
- 2014-11-03 Introduction to Higher Level Protocols
- 2012-04-12 Protocol Selection Guide
- 2012-01-05 Reasons for System Simulation with CANoe.J1939
- 2024-10-08 テクニカルアーティクル|AUTOSARで将来の変化にも対応できる商用車の通信を実現
- 2017-10-18 Networking Heavy-Duty Vehicles Based on SAE J1939
- 2016-05-04 Bomag: Wireless Analysis in a Multi-Protocol CAN Environment
- 2015-11-13 New Opportunities with AUTOSAR
- 2010-12-22 Quo Vadis SAE J1939 Standardization
- 2010-10-11 AUTOSAR in Heavy-Duty Vehicles - Integration of J1939 in AUTOSAR
- 2010-09-06 Integration in J1939 Systems in Practice