高速リアルタイムSAEJ1939プロトコルスタックの販売開始
シンマソフトウェア社の高速SAEJ1939プロトコルスタックは、ソースコードおよび高性能のモジュラーデザインを使用し、シンプルなAPIを備えています。ベンチマークは、スタックが競合他社のJ1939ソフトウェアソリューションよりも800%効率的であることを示しています。ソフトウェアプロトコルスタックは十分に文書化されており、4分の1ミリオン以上のパフォーマンスを維持し、多くの組み込みシステムで使用されています。 高速SAEJ1939プロトコルスタックには、2つのJ1939ソフトウェアパッケージ(ssJ1939-FullとssJ1939-Light)があります。ssJ1939は、標準のシングルフレームおよびマルチフレーム(つまり、トランスポートプロトコル)J1939メッセージの受信と送信を完全に処理します。ssJ1939-Fullは、ネットワーク管理層によって指定されたアドレスクレームアービトレーションを処理します。ssJ1939-Lightは、ssJ1939-Fullと同じですが、マルチフレームメッセージに使用されるトランスポートプロトコルをサポートしていません。
◆J1939プロトコルスタックの詳細:
・ J1939-82準拠
・ MISRAC準拠
・ ANSICソースコード
・ RTOSの有無にかかわらず使用
・ 8、16、32、または64ビットCPUで使用
・ 完全なユーザーズリファレンスマニュアル
◆動作可能なマイコンやOS
・ Linux
・ Windows XP /7 Embedded
・ TI RM4x(DCAN)、LM3Sx、MS470x、TMS470Mx、TMS570x、Tiva TM4C、F28M35xx、TMS320F280x、TMS320F281x、TMS320F282x、TMS320F283x、AM3x-Sitara、DM8x-DaVinci
・ Atmel SAM7、AT90
・ インフィニオンC16x、TriCore
・ Intel 82527
・ マイクロチップPIC18、PIC24、PIC32、dsPIC30、dsPIC33F、dsPIC33E、dsPIC33CK、MCP2515
・ NXP S32、LPC11xx、LPC17xx、LPC21xx、LPC23xx、SJA1000、KS22、HCS08、HCS12、HCS12X
NXP MC68xxx、MCF5xxx。MPC5xxx、56F83xxx、Kinetis Kxx
・ Silicon Labs C8051
・ STMicro ST7、ST10、STR7、STM8、SPC56、STM32L4x、STM32G0x、STM32G4x、STM32F0x、STM32F1x、STM32F2x、STM32F3x、STM32F4x、STM32F7x
・ ザイリンクスLogiCOREAXI(axi_can)
・ その他
高速リアルタイムSAEJ1939プロトコルスタックは完全にプラットフォームに依存せず、ANSICプログラミング言語で記述されています。ターゲット固有であり、特定のマイクロコントローラの詳細が組み込まれているのは、CANデバイスドライバーssCAN(有料オプション)です。ssJ1939とssCANが一緒になって完全に移植されたシステムを形成し、顧客がほぼ即座に稼働できるようにします。ssCANデバイスドライバーは、40を超えるさまざまなマイクロコントローラに移植されています。以下は、使用可能なポートのリストです。リストされていないハードウェアプラットフォーム用のポートまたはデバイスドライバへの対応も可能です。 相互テストができるように、有料オプションとして、SAEJ1939用のアダプターをいくつか用意が可能です。 ◆ J1939プロトコルスタックとは
J1939プロトコルスタックは、OSI7層モデルの適切な層を処理するソフトウェアライブラリです。J1939は、レイヤー1(物理)、レイヤー2(データリンク)、レイヤー3(ネットワーク)、レイヤー4(トランスポート)、およびレイヤー7(アプリケーション)を指定します。簡単に言うと、インバウンドデータ用のJ1939プロトコルスタックは、受信した生のCANフレームを変換して再構築し、完全で有効なJ1939メッセージをユーザーのアプリケーションに提示します。アウトバウンドデータの場合、J1939プロトコルスタックはユーザーのアプリケーションからの完全なメッセージを受け入れ、生のCANフレームを変換、フラグメント化、およびJ1939ネットワークに送信します。
◆ NAMEフィールド
J1939ネットワーク上のすべてのECUまたはCA(コントローラーアプリケーション)には、一意の名前があります。NAMEフィールドは、J1939コントローラーアプリケーションを識別するためと、送信元アドレスを取得するための2つの目的で使用されます。NAMEは64ビット幅で、次のフィールドで構成されています:任意のアドレス対応、業界グループ、車両システムインスタンス、車両システム、予約ビット、機能、機能インスタンス、ECUインスタンス、製造元コード、およびID番号。NAMEフィールドは、各CAに一意のIDを与えます。ネットワーク上のノードは、NAMEフィールドを使用して相互に区別します。NAMEフィールドは、ノードの優先順位を確立するため、ネットワーク管理にも不可欠です。NAMEは数値に変換されます。アドレスを要求するときは、最小の数値が最高の優先順位を持ちます。ECUには、複数のCAとNAMEフィールドが含まれる場合があります。NAMEフィールドはPGN60,928内で送信されます。ネットワーク上のすべてのコントローラーアプリケーション、およびすべてのサブネットワークには、一意のNAMEフィールドが必要です。
◆ アドレスクレーム
J1939では、車両ネットワークバス上のCAまたは電子制御ユニットは、通信を可能にするために一意の送信元アドレスを要求する必要があります。アドレス0~128は事前に割り当てられており、これらのアドレスを使用するCAは、電源投入直後に通信できます。ただし、将来のデバイスと機能を見越して、J1939には動的にアドレスを割り当てる方法が含まれています。新しいデバイスは、アドレス要求メッセージを送信して、自分自身のアドレスをアナウンスする必要があります。アドレスクレームメッセージを送信すると、新しい(アドレス指定されていない)デバイスは、想定しているアドレスを示すアドレスクレームPGNを送信します。ネットワーク上のすべてのデバイスは、この新しく要求されたアドレスを内部アドレステーブルと比較します。アドレスが優先度の高いデバイス(NAMEによって決定される)によってすでに使用されている場合、優先度の高いデバイスは、アドレス要求メッセージを送信することによって競合を示します。優先度の低いデバイスはすぐにアドレスの使用を停止し、新しいアドレスを要求する必要があります。
SAE J1939は、過去20年間、中型および大型商用車に使用されてきたSAE J1587/J1708ネットワークの代替品です。現在、SAE J1939は、商用車の診断および制御アプリケーションの標準通信バスとして使用されています。その人気と成功により、農業(ISO 11789)および海洋産業(NMEA 2000)に採用されています。
◆J1939の概要
・ SAE J1939は、コントローラーエリアネットワーク(CAN)バス上で動作する高レベルの通信プロトコルです。SAE J1939は、車両の電子制御ユニット(ECU)間で情報(エンジンRPMなど)を交換する方法を正確に指定します。データの優先度、サイズ、スケーリング、およびオフセットを定義します。たとえば、J1939は、エンジンRPMのデフォルトの優先度を3、サイズを16ビット、解像度を0.125 rpm /ビット、オフセットを0に指定しています。この標準では、メッセージタイムアウト、大きなメッセージのフラグメント化と再構築の方法、ネットワーク速度、物理層、アプリケーションがネットワークアドレスを取得する方法など、他の多くの側面を定義しています。
・ CA
J1939では、頭字語CAはController Applicationの略で、特定のJ1939アドレスに関連付けられたハードウェアではなくソフトウェアエンティティを表します。単一のハードウェアである電子制御ユニットには、複数のコントローラーアプリケーションが含まれる場合があります。たとえば、中央に配置されたECUには、「エンジンコントローラー」、「ターボチャージャーコントローラー」、および「クルーズコントロールコントローラー」を含めることができます。その場合、単一のハードウェアまたは物理ネットワークノード内に3つのCAが存在します。物理的には1つのノードですが、論理的には3つのノードです。3つのCAはすべて、独自の送信元アドレスとNAMEフィールドを維持する必要があります。
・ データリンク
SAE J1939は、単純なデータリンク層を使用して情報を通信します。全部で29ビットのCAN識別子にエンコードされる6つのサブフィールドがあり、それらは以下に示されています:優先度、拡張データページ、データページ、プロトコルフォーマット、プロトコル固有、および送信元アドレスはメッセージの優先度であり、EDPとDPは4つの異なるページを構成し、1つのページはISO15765-3用に予約されています。PFとPSはパラメーターグループ番号と宛先アドレスを定義し、SAはコントローラーアプリケーションの送信元アドレスです。このエンコーディングの詳細については、SAEJ1939-21を参照ください。
・ メッセージ
J1939の中心には、すべてのJ1939メッセージに割り当てられる一意の番号であるパラメータグループ番号(PGN)があります。PGNは、メッセージとそのデータを識別するのに役立ちます。メッセージに単一のパラメーター(VINなど)が含まれる場合もありますが、通常、PGNにはパラメーターのグループが含まれます。標準では、合計8,672個のPGNがあります。
メッセージの例として、PGN61,444を取り上げます。「ElectronicEngineController1」メッセージを識別します。仕様によると、「EEC1」にはメッセージのデータフィールドに埋め込まれた7つの異なるパラメータがあります。エンジンRPMは、これら7つのパラメーターの1つです。
・ メッセージサイズ
J1939には、3バイト、8バイト、可変長の3つの異なるメッセージサイズが許可されています。長さが3バイトのメッセージは1つだけで、それが要求メッセージ(PGN 59,904)です。J1939のメッセージの大部分は8バイトの長さです。これにより、メッセージの数を減らしてネットワーク上のデータ量を最大化することにより、ネットワーク帯域幅をより効率的に使用できます。可変長メッセージは、9~1,785バイトの長さのメッセージです。これらのメッセージは大きすぎて単一のCANデータフレームに収まらないため、送信機でフラグメント化し、受信機で再アセンブルする必要があります。このプロセスは、J1939-21で指定されているJ1939のトランスポートプロトコルで定義されています。トランスポートプロトコル層は、BAMとCMの2種類のメッセージフラグメンテーションを定義します。これら2つのタイプにはいくつかの違いがあり、主な違いは宛先アドレスです。BAMはグローバル宛先アドレスを使用するため、すべてのCAに送信されますが、CMは宛先固有です。アドレス指定方式により、単一のBAMのみを同時に送信できますが、異なる宛先アドレスを使用する複数のCMを同時に送信できます。BAMとCMのもう1つの違いは、メッセージの送信に時間がかかることです。BAMの場合、データパケットの間隔は50ミリ秒以上、200ミリ秒以下である必要があります。CMを使用すると、データフレームを可能な限り迅速に送信できます。 ・ BAM
頭字語のBAMは、Broadcast Announce Messageの略で、トランスポートプロトコル層で使用される通信の一種です。BAMメッセージは、サイズが8バイトを超える情報をすべてのJ1939 CAに送信するために使用され、ハンドシェイクを必要としません。BAMの最初のメッセージは、これから続くバイト数、これから続くデータパケットの総数、および対応するデータのPGNを示します。このヘッダー情報はすべて、トランスポートプロトコル接続管理(TP.CM)フレームで送信され、データはトランスポートプロトコルデータ転送(TP.DT)フレームに含まれます。
・ SPN
SAE J1939では、頭字語SPNはSuspect Parameter Numberの略で、J1939パラメーターのIDを表します。すべてのJ1939パラメータには、19ビット幅の一意のSPNがあり、パラメータの定義時にSAE委員会によって割り当てられます。
疑わしいパラメータ番号の主な目的は、障害が発生したときにパラメータを識別することです。すべての障害は、SPNフィールドとFMIフィールドによって識別されます。
・ 物理層
現在、2つの250 Kbps物理層J1939-11とJ1939-15が定義されており、500Kbps層J1939-14が開発中です。J1939-11は、最大バックボーン長が40メートル、最大スタブ長が1メートルのシールド付きツイストペア線を指定しています。3ピンコネクタを使用し、最大30ノードを使用できます。J1939-15は、最大バックボーン長が40メートル、最大スタブ長が3メートルのシールドなしツイストペア線を指定しています。2ピンコネクタを使用し、最大10ノードを使用できます。
・ CANパラメータ
SAE J1939-11および-15は、250 Kbpsのネットワークデータレートを指定し、最小期間は3.998 us、最大期間は4.002usです。CANネットワークでは、カスタムサンプルポイント設定も可能であり、必要です。J1939の場合、サンプルポイント設定の最大値は87.5%です。ノードはできるだけ近くに設定する必要がありますが、87.5%を超えないようにしてください。CANペリフェラルでは、1~3の同期ジャンプ幅(SJW)設定も可能です。SJW値は、同期のためにノードのCANクロックに加算または減算できる時間を示します。J1939では、単一のSJWのみが許可されます。
・ シールドの終了
シールド付きのネットワークの場合、電気的ノイズが最も少なく、中央に近い1つの場所で、シールドを直接アースに接続する必要があります。ノードは、直列の抵抗とコンデンサを介してシールドに接続します。抵抗器の値は1オーム、コンデンサの値は0.68uFである必要があります。
・ クロックトレランス
CANバスに基づくJ1939は、CANISO11898ドキュメントに記載されているものよりもはるかに厳しいクロック耐性を備えています。CANは1.58%の許容誤差を指定し、J1939-11およびJ1939-15は0.05%のクロック許容値を指定します。これらの厳しい許容誤差のため、CANペリフェラルはPLL(フェーズロックループ)およびFLL(周波数ロックループ)マルチプライヤによって駆動されない場合があります。周波数を乗算するために使用されるPLLおよびFLLは、クロックジッタをもたらします。クロックジッタは、クロック信号の周期ごとの変動です。水晶は、PLL/FLL回路と比較して非常に低いジッタを持っています。このため、ジッタによってCANバスにエラーが発生する可能性があります。PLL / FLLジッタ量については、マイクロコントローラのデータシートを参照ください。
・ ネットワークの終了
すべてのSAEJ1939ネットワークは、バックボーンの両端に2つの抵抗を使用し、必要とします。これらの抵抗器は、ネットワークケーブルのインピーダンスとバランスが取れており、電気的反射を防ぎます。反射は可聴エコーによく似ており、減衰することなく、高速動作を妨げる可能性があります。SAE J1939-11とJ1939-15はどちらも、電子制御ユニットの内部に終端抵抗を含めないように指定しています。抵抗器がECUの内部に配置されている場合、そのECUがネットワークから削除されると、ネットワークは動作しなくなります。これにより、必要に応じてバックボーンを拡張することもできます。代わりに、終端抵抗は、ネットワークの端をシールドしてキャップするのに役立つケーブルプラグに配置する必要があります。終端抵抗の最小抵抗は110オーム、通常は120オーム、最大抵抗は130オームです。
これらの仕様を実現させることができ、かつ、コードが小さく、高速リアルタイムを実現させることが可能です。
◆シンマソフトウェア(Simma Software, Inc.)について
シンマソフトウェア(Simma Software, Inc.)は、アメリカ合衆国インディアナ州西端、ビーゴ郡に位置する都市テレホートに本社を置いています。自動車業界向けのJ1708、UDSプロトコルスタック、J1939インタフェースオプションなど、セーフティクリティカルなリアルタイム組込みソフトウェア開発を専門としてます。製品ラインには、J1939、CANopen、CAN、J1587、J1708、J2497、J1922、ISO 15765、OBD-II、UDS、およびKWP2000用のソリューションが含まれています。ソフトウェアは、100万台以上の電子制御ユニット、110の設計、100以上のお客様に使用されています。当社の製品は、フォード、ボーイング、米軍、すべての主要OEM(フレイトライナー、インターナショナルなど)のいくつかのティアワンサプライヤー、いくつかのセルラー機器プロバイダー、および診断機器メーカーによって使用されています。
テキサス・インスツルメンツDSPサードパーティ・ネットワーク、NXPパートナー・プログラム、STマイクロエレクトロニクス・パートナー、マイクロチップのデザイン・パートナー・プログラム、および自動車技術者協会のメンバーです。
【ポジティブワン株式会社について】
社名 ポジティブワン株式会社(POSITIVE ONE CORPORATION)
所在地 〒150-0043 東京都渋谷区道玄坂1-12-1 渋谷マークシティ・ウエスト22F
所在地 〒651-0087 兵庫県神戸市中央区御幸通8-1-6神戸国際会館 22F
URL https://www.positive-one.com
ポジティブワン株式会社は、「サービスモデル」のための「ものづくり(IoT端末側から)」の仕様設計から開発製造に至るまでのワンスポットソリューションを提供いたします。
今までの半導体関連を取り巻くエンベデッドのプレイヤは、自社開発をしたコア製品を販売することにフォーカスをしているため、サービスモデルや仕様にあった製品を提案することは難しかったです。ポジティブワンは、海外の有力な最先端技術会社と提携し、多様化する仕様に対応できる商社機能、自社のハードウエアからソフトウエアの開発製造、そして、テストから認証サービスのための第三者試験機関との提携と支援サービスにより、多様にあったサービスに対応できます。企画段階での仕様作成、技術的な問題定義や解決、最先端技術の導入に選ばれます。それは、IoT端末以外、自動車、医療、産業機器などの安全性や信頼性を求められる分野での経験や実績を積んでいます。
【本件に関するお問い合わせ先】
ポジティブワン株式会社
メールアドレス:このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。