XCP(プロトコル)


XCP_(protocol)
XCP(または)「UniversalMeasurement andキャリブレーションプロトコル」は、キャリブレーションシステムを電子制御ユニット(ECU)に接続するためのASAMから発信されたネットワークプロトコルです。実行時にマイクロコントローラシステムの変数とメモリコンテンツへの読み取りおよび書き込みアクセスを可能にします。データセット全体は、タイマーまたは動作条件によってトリガーされるイベントに同期して取得または刺激できます。さらに、XCPはフラッシュメモリのプログラミングもサポートしています。
ASAMは、「XCPの主な目的は、内部パラメーターを調整し、ECUの内部変数の現在の値を取得することです。XCPの最初の文字Xは、プロトコルがさまざまなバスシステム用に設計されていることを表します。」
2003年に、プロトコルは「ASAMMCD-1XCP」として標準化されました。XCPは、1990年代半ばに開発されたCANキャリブレーションプロトコル(CCP)の後継です。当時、CANは自動車業界で支配的なネットワークシステムでした。時間の経過とともに、LIN、MOST、FlexRayなどの他のバスシステムが登場し、プロトコルを他のトランスポートメディアに拡張する必要が生じました。さらに、XCPは同期および非同期シリアルインターフェイスをサポートします。トランスポートメディアとしてイーサネットまたはUSBを使用すると、XCPは、アナログ測定デバイスや、RAMエミュレーター、JTAG、またはその他のマイクロコントローラーデバッグインターフェイスへのハードウェアインターフェイスコンバーターへの標準化されたインターフェイスとしても機能します。
XCPの開発における主な目標は、その幅広い使用法により、ECUでの実装を可能な限りスリムにし、機能とリソース使用率の高いスケーラビリティを実現することでした。XCPは、わずかなリソースでCANまたはSCI用の8ビットマイクロコントローラーに実装することもでき、高性能プラットフォームでFlexRayまたはイーサネットの可能性を最大限に活用します。
2層プロトコルとして、XCPは一貫してプロトコル層とトランスポート層を互いに分離し、シングルマスター/マルチスレーブの概念に準拠しています。XCPは、トランスポート層とは関係なく、常に同じプロトコル層を使用します。その名前の「X」は、可変で交換可能なトランスポート層を表します。現在、2016年10月の時点で、次のトランスポート層がASAMによって標準として定義されています。
CAN上のXCP
上のXCP CAN FD
SxI上のXCP(SPI、SCI)
イーサネット上のXCP(TCP / IPおよびUDP / IP)
USB上のXCP
FlexRay上のXCP
他のトランスポート層のサポートに加えて、CCPプロトコルの後継には、次のような多くの機能改善が含まれています。
ECUでのリソース使用率の向上
同期データ刺激
起動時測定のサポート
ブロック転送コマンドによる最適化された通信
プラグアンドプレイ構成
ECU(スレーブ)のタイムスタンプを測定することによる、より正確な測定データの取得
XCPを使用すると、クライアントは別のA2Lファイルで定義された形式を使用してECUのメモリにアクセスできます。A2Lフォーマットファイルには情報にアクセスするためのすべての情報が含まれているため、さまざまな測定やキャリブレーションにアクセスするためにECUコードを再コンパイルする必要はありません。

参考文献
^ “ASAM MCD-1XCP”。ASAM。2017年11月30日。
^ Patzer、Andreas; Zaiser、Rainer。XCP –ECU開発の標準プロトコル。ベクトル。

外部リンク
ASAMeVのASAM公式Webサイト
ASAMWebサイトでの標準のASAMMCD-1XCPの説明
VectorInformatikから無料のXCPテクニカルブックを注文するためのWebページ