30 MICROSAR.IPC – プロセッサー間通信用 AUTOSAR ベーシックソフトウェアモジュール
30.1 MICROSAR.IPC の機能概要
> 異なるシステム間の通信
> AUTOSAR(ClassicおよびAdaptive)
> Linux
> その他のPOSIXオペレーティングシステム
> 多様な種類の通信のサポート
> サービス指向通信
> シグナルベース通信
> 生データの伝送
> メッセージおよびシグナルゲートウェイ
> 異なる伝送媒体のサポート
> 共有メモリー
> SPI(ご要望に応じて)
> ツールを活用した柔軟な設定
30.2 適用分野
MICROSAR.IPC は2 つのオペレーティングシステム上で実行されているプロセス間の通信を可能にします。これらは異なるマイクロコントローラ ー上で実行されていても、あるいはSystem on Chip (SoC) のコア上で実行されていてもかまいません。これによって以下のようなアプリケーショ ンが可能になります。
> 非AUTOSARのマイクロコントローラー上の車内バスシステムからデータを提供:
> コントローラーA:レイテンシー時間が低く、起動時間が短いAUTOSAR通信
> コントローラーB:バックボーンやクラウドへのインターフェイスとなるネットワーク接続デバイス(NAD)
> AUTOSAR ClassicとAUTOSAR Adaptiveのアプリケーションが組み込まれたAUTOSAR混在型のECU
> ECUにマイクロコントローラーが複数組み込まれており、車内バスシステム経由ではそのうちの1つにしかアクセスできない場合の診断およ
びキャリブレーション
µC / SoC µC / SoC
Physical channel
ECU ECU
OS / Process OS /
Process
Physical channel
図 66: MICROSAR.IPCの2つの基本的なユースケース 30.3 機能
MICROSAR.IPCは以下の基本的な機能を備えています。
> 複数の仮想チャンネルの提供(PDU)
> 複数の物理チャンネルの同時操作
> 複数の仮想チャンネルの1つの物理チャンネルへの多重化
> 仮想チャンネルの優先順位の設定
> 以下を目的としたデータのセグメント化
> 多重化チャンネルでの伝送の公平性の向上
> パケットサイズが限られている伝送媒体のサポート
> モジュール式のアーキテクチャー
30.4 モジュールおよびアドオン AUTOSAR仕様の拡張
プロセッサー間通信モジュールはいずれもAUTOSARには含まれておらず、すべてベクターによる拡張です。
> vIpc – Vector Inter Processor Communication
vIpcはIPCソリューションの鍵となるコンポーネントです。これには以下の機能が装備されています。
> 仮想チャンネルのデータに対する設定可能なセグメント化
> 仮想チャンネルのデータの優先順位の設定
> 複数の仮想チャンネルの1つの物理チャンネルに対するマルチプレクサ
> vIpcMemIf – Vector Inter Processor Communication Interface(共有メモリー)
vIpcIf は、vIpc の静的なインターフェイスと、オペレーティングシステムやバスシステムに依存するドライバーインターフェイスの間の変換モ ジュールです。
> vIpcMem – Vector Inter Processsor Communication(共有メモリー)
vIpcDrv は、使用されているバスシステム用のドライバーで、オペレーティングシステムに依存します。これはベーシックソフトウェアから提供 される標準ドライバーである場合も、特定のユースケースに合わせた、内製のドライバーである場合もあります。MICROSAR.IPC には現在、
AUTOSARおよびLinuxのオペレーティングシステムに対応した共有メモリードライバーが用意されています。
> vIpcAd POSIX – Vector Inter Processor Communication Adaptor POSIX
vIpcインターフェイスと、AUTOSAR AdaptiveおよびPOSIXシステムのネットワークソケットの間の変換モジュールです。
ここで説明した機能は、以下の通信シナリオの処理に使用できます。
30.4.1 シグナルベース通信
データはベーシックソフトウェアによって準備され、アプリケーションにとって必要な形式で提供、受信されます。典型的な例として、AUTOSARイン タラクションレイヤーが提供するシグナルなどが挙げられます。このケースでは、アプリケーションが求めるフォーマットと通信する際のフォーマット を変換する処理はベーシックソフトウェアが行います。
30.4.2 サービス指向通信
SOME/IP標準規格に基づき、イベントとメソッドが変換およびシリアル化されます。変換はエンドノード独自に、ベーシックソフトウェアまたはアプリ ケーションのいずれかによって行われます。
30.4.3 生データの伝送
データはアプリケーションによって直接解釈および調整されます。ベーシックソフトウェアとMICROSAR.IPC は、透過的でないデータブロックのみ を伝送します。アプリケーションが求めるフォーマットと通信する際のフォーマットを変換するなどのプリプロセスは、アプリケーションが行います。
30.4.4 システムサービス通信
シリアル化されたシステムサービスの呼出しが、vIpcを介して伝送されます。これらは受信エンドノードでデコードおよび実行されます。この典型的 な例は、車両診断に関連した機能や、XCP経由でのECUキャリブレーションなどが挙げられます。
30.4.5 PDUベースルーティング
フィールドバスの割り当てがそれぞれのマイクロコントローラーに固定されているシステムでは、フィールドバス間での PDU のルーティングがしば しば必要になります。MICROSAR.IPCはエンドノード間のPDUの伝送を処理します。PDUはベーシックソフトウェアによって直接受信されるか、
または受信側のベーシックソフトウェアに供給されます。
30.4.6 シグナルベースルーティング
このユースケースはPDUベースルーティングと似ています。ただし、シグナルベースルーティングでは、個別のシグナルがPDUにパッケージ化さ れたうえでルーティングされます。これによって、伝送するシグナルのカスタマイズ、すなわち、受信側に関連するシグナルのみを伝送することが可 能になります。さらに、シグナルを伝送するタイミングや周期の調整も可能になります。たとえば、フィールドバス経由で受信されたシグナルを、周 期時間を下げてvlpcターゲットノードにルーティングすることができます。
30.5 設定
設定には、簡単で便利なツールDaVinci Configurator Proのご利用を推奨します。詳しくは、ベクターまでお問い合わせください。
サービス指向通信はAUTOSAR System Descriptionで設定されます。これらは、ベクターのPREEvisionをはじめとするシステムモデリング ツールで生成できます。
30.6 その他のIPC用MICROSAR関連製品
AUTOSARベーシックソフトウェアが組み込まれているエンドノードでは、MICROSAR.COMはそのCOMおよびSOMEIPXFモジュールによ り、MICROSAR.IPC モジュールを最適な形で補います。COM モジュールは、MICROSAR.IPC を介したシグナルベース通信を可能にします。
COMモジュールがアプリケーションが求めるフォーマットと通信する際のフォーマットの変換を行います。
同様に、SOMEIPXF はサービス指向通信を可能にします。SOMEIPXF は定義されたアプリケーションソフトウェアのインターフェイスを介してイ ベントとメソッドを提供し、SOME/IPプロトコルに準拠してシリアル化および逆シリアル化を処理します。
31 その他の情報
ベクターの設定用ツール「DaVinci Configurator Pro」やその他製品に関する情報は、ベクターWeb サイトに掲載しておりますので是非ご覧く ださい。www.vector.com/int/en/products/products-a-z/embedded-components/