XCP
測定およびキャリブレーションプロトコル

XCPの概要

開発に携わる技師や技術者にとって、優れた標準規格と、ECUを最適にパラメーター化できるツールはありがたいものです。そのような標準規格およびツールには、変数やメモリー内容への柔軟なアクセスと、それらの読み取り/書き込みを可能にすることが求められます。1990年代にこれを目的として開発されたのが、自動車メーカーに依存しない、CAN Calibration Protocol (CCP) です。当時、車載ネットワークといえばCANが唯一の支配的なシステムでした。

カーエレクトロニクスの発展と共に、LIN、MOST、FlexRayなど、その他のバスシステムの使用が拡大しましたが、CANバス限定のCCPではこれらの新しいバスシステムには対処できないため、XCPプロトコルが開発されました。

 

ASAMによる標準化とその利点

XCP (XUniversal Measurement and Calibration Protocol) は、CCPと同じくASAM (Association for Standardization of Automation and Measuring Systems) によって考案され、2003年に標準規格として策定されました。ベクターはそのリリースに際して重要な役割を果たしています。
「X」は変数と、交換可能なトランスポートレイヤーを表しています。ASAMの作業部会では、多種多様なアプリケーションに用いられる汎用的な通信ソリューションのニーズを充足するために、以下の基準を重点的に検討しました。

  • CAN、FlexRay、Ethernet、SPI、SCI、USBなど、多彩なトランスポートレイヤーのサポート
  • ECUでのリソースの利用効率が高い(動的なDAQリスト)
  • 同期的なデータスティミュレーション(バイパス)
  • 起動時の測定のサポート(再開モード)
  • ブロック転送による通信の最適化
  • ECUで使用可能なXCP機能のポーリング(プラグ&プレイ)
  • ECU(スレーブ)のタイムスタンプを測定することによる、より正確な測定データ収集

 

XCPは2つのレイヤーからなるプロトコルであり、プロトコルおよびトランスポートレイヤーは常に分離されています。また、シングルマスター/マルチスレーブのアプローチを取っています。

プロトコルレイヤーとトランスポートレイヤー

画像:XCPプロトコルのプロトコルレイヤーとトランスポートレイヤーへの細分化
XCPプロトコルのプロトコルレイヤーとトランスポートレイヤーへの細分化

XCPでは、異なるトランスポートレイヤー上で同じプロトコルレイヤーを使用できます。このプロトコルは、使用するネットワークのタイプに依存せず に動作する、汎用的な測定/キャリブレーションプロトコルです。ASAMは以下のトランスポートレイヤーを標準規格として規定しています(2016年10 月現在)。

  • XCP on CANおよびCAN FD
  • XCP on SxI(SPI、SCI)
  • XCP on Ethernet(TCP/IPおよびUDP/IP)
  • XCP on USB
  • XCP on FlexRay

 

シングルマスター/マルチスレーブのコンセプト

画像:CTO/DTOを持つXCP通信モデル
CTO/DTOを持つXCP通信モデル

測定/キャリブレーションシステムはXCPマスターの役割を引き受け、ECUはスレーブとして動作します。マスターとスレーブは統合されているXCPドライバーを介して相互に通信します。各スレーブにはA2L形式のECU記述ファイルがあり、そこではたとえば、変数のシンボル名とそれに関連付けられている アドレス範囲、データの物理的な意味、使用されるチェックサムの方法などが指定されています。XCPマスターはこれらのA2L記述ファイルから、必要なすべての情報を読み取ることができます。

 

XCP経由の通信では、CTO (Command Transfer Object) とDTO (Data Transfer Object) が区別されます。たとえば、マスターはバス上でCTOを使用してECUにコマンドを送り、ECUは要求されたサービスを実行した後、同じ経路を使用して確認応答を送ります。使用可能なCTOには、CMD(コマンド)、RES(レスポンス)、ERR(エラー)、EV(イベント)、SERV(サービス依頼プロセッサー)などがあります。XCPスレーブのメモリーからの測定変数の読み取りや、メモリーへの値の書き込みをイベント駆動で行うには、DAQ(データ取得) およびSTIM(スティミュレーション)のデータ転送オブジェクトを使用します。

 

開発プロセス全体での測定とキャリブレーション

画像:XCPスレーブはさまざまなランタイム環境で使用可能
XCPスレーブはさまざまなランタイム環境で使用可能

XCPを用いる測定およびキャリブレーションでは、そのコードやモデル(Simulink、ラピッドプロトタイピングハードウェア、HIL、SILなど) をどの環境で実行するかは重要ではありません。すなわち、ECUの制御アルゴリズムは、いつも同じ1つのツールで、同じような作業ステップを実行して最適化することができるのです。これによってコンフィギュレーション、測定データ、記述ファイルなどを開発プロセスのすべての段階において使用したり、交換したりすることが可能になります。

 

CANapeなどのXCPマスターは、以下のような異なるXCPスレーブと同時に通信することができます。

  • ECUまたはECUプロトタイプ
  • デバッグインターフェイスやメモリーエミュレーターなどの測定およびキャリブレーションハードウェア
  • ラピッドプロトタイピングハードウェア
  • HiL/SiLシステム

 

XCPプロトコル参考資料

「XCP - ECU開発用標準プロトコル -基礎と応用分野-」

Photo XCP refence book as printed version and e-book

「XCP - ECU開発用標準プロトコル ~基礎と応用分野~」と題した参考資料PDFをご用意しています。
紙冊子版をご希望の方は、資料請求ページよりお申し込みください。(無料)

 

ベクターのXCPソリューション

XCP規格は、ベクターからの重要な情報提供により開発されました。また、ベクターの幅広いノウハウと経験も包括的なXCPサポートに注がれています。

ツール

CANapeは主に電子制御ユニット(ECU)の最適なパラメーター化(キャリブレーション)に使用されています。システムの動作中にパラメーター値をキャリブレーションしながら同時に計測したシグナルを取得します。CANapeとECUはXCP(すべての標準トランスポートプロトコル向け)またはCCP経由で物理的に接続されます。
必要なA2L記述ファイルの生成と管理のための完全ツールチェーンです(ASAP2ツールセットおよびASAP2エディター付きCANape。スタンドアロンツールとしてもご利用いただけます)。
CANoe.XCPを利用すると、テストおよび解析のためにECU内部値にアクセスすることができます。

ECUインターフェイス

ベクターの測定/キャリブレーションハードウェア「VX1000 」は、XCP on Ethernetを使用してPCに接続し、ECUとツール間のインターフェイスとなります。コントローラーに直接接続する際、VX1000はPlug on Device (POD) でECUと接続できます(例:DAP, JTAG, Nexus経由など)。PODはベースモジュールにデータを送ってXCPスレーブとしての役割を果たし、XCP on Ethernet経由でPC上のXCPマスターにデータを提供します。

組込ソフトウェア通信モジュール

CAN、FlexRay、Ethernet用の独立したトランスポートレイヤーを持つ通信モジュール群

XCP Basic: XCPの基本機能のみを搭載し、無料でダウンロードできます。 XCPプロトコルの設定とトランスポートレイヤーの変更は、ソースコードにおいて手動で行います。XCP Basicのお客様のプロジェクトへの統合はご自身で実行していただく必要があります。
ASAM仕様の便利な拡張を含み、ツールベースのコンフィギュレーションを可能にします。ベクターのCANbeddedソフトウェア用に利用可能。
MICROSAR XCP: XCP Professionalの機能を搭載し、AUTOSAR仕様に基づいています。ベクターのMICROSAR基本ソフトウェアで利用可能です。

サービス

プロジェクトにおけるXCP使用についてのコンサルティング
エンジニアリングサービス
自社ECUにXCPを統合する際のサポート
XCPモジュールの統合

トレーニング

[Translate to 日本語:] Graphic training at Vector

ベクター・ジャパンでは、ベクターのソフトウェアツール、ソフトウェアコンポーネント、最新のバステクノロジーやプロトコルに関する日本語のトレーニングを多数開催しております。トレーニングの概要につきましては、トレーニングポータルにてご紹介しておりますので、是非ご覧ください。

ダウンロード