XCPの動向と適用事例測定/キャリブレーションプロトコルXCP入門(3)(2/2 ページ)

» 2010年06月11日 00時00分 公開
[庄井美章(ベクター・ジャパン),@IT MONOist]
前のページへ 1|2       

EV/HEV自動車開発におけるXCPの利用

 次に、EV/HEV自動車の開発において考えられるXCPを使った測定/キャリブレーション要件について説明します。

(1)複数ECUの測定/キャリブレーション

 HEVの場合、動力源がエンジンとモータの2つに増え、EV/HEVともにバッテリーや回生充電など統合的な制御が求められます。これはシングルマスター、マルチスレーブのXCPの機能に加えて、ネットワークが分離された状態においてネットワークごとにマスターになれる測定/キャリブレーションツールが求められます。

(2)高速測定を低負荷かつ安定した負荷で

 モータの制御周期は100[μsec]程度が要求され、これに同期した高速な測定が求められます。さらに、同期測定そのものの負荷、つまりXCPの測定処理負荷もこの場合できる限り低いことが求められます。通常ですと測定処理負荷は、測定点数に比例した一定量が測定周期ごとに掛かることになりますから、測定周期がこのように高速になるほど、負荷が本来の制御周期に及ぼす影響は大きくなりますが、モータなどでは制御の周期がこの影響で揺らぐようなことは許されません。つまり、低負荷であると同時に測定点数などの測定状況の変化において、安定した負荷であることが求められます。

適用事例:XCP on EthernetとベクターのVX1000システムを使った測定

 前述の高速測定を行いつつ、低負荷かつ安定した負荷での測定を実装する事例としてベクターの「VX1000システム」について説明します(図5)。

VX1000システムの構成例 図5 VX1000システムの構成例
※画像提供:ベクター・ジャパン

 このシステムでは、ECUに直接XCPスレーブドライバを組み込まず、同期測定のタイミングを示す処理を行うドライバだけを使用します。このドライバを使って、ECUとVX1000システムとはNexus Class3やRTP、DMMと呼ばれるマイコン内部のメモリトレースとして使えるインターフェイスでつながり、VX1000システムと測定/キャリブレーションツールはXCP on Ethernet(TCP/IPまたはUDP/IPを使用)でつながります。測定/キャリブレーションツールからはXCPに見えますが、ECUでは直接XCPスレーブの処理を行わずにプロトコルの変換処理をVX1000システムが行います。

 続いて、ECUの測定周期のタイミングにおいて、ドライバの処理からどのようにXCPの同期測定となるかについて説明します。

  1. XCPと同様に制御アプリケーションが測定のタイミングを通達します。通達の方法についても、ドライバの関数呼び出しとイベントチャンネルを引数として持つ点も同じです。
  2. 1番の関数中では測定点ごとの処理を一切行わず、単純にタイミングのみをNexus Class3インターフェイスで通達します。このため、この処理時間は測定点数に影響されないうえに、低負荷になります。
  3. VX1000システム側で2番のタイミングを検出し、その時点でのトレースデータを基にXCPのDTOパケットを作り、XCP on Ethernetを使用してマスターに送信します。

 各XCPネットワークプロトコルを直接使った場合とVX1000システムの違いについて表1に示します。

ECUインターフェイス ECU追加ソフトウェア 測定速度 ECUの負荷
XCP on CAN XCPスレーブドライバ 50[KBPS] 中程度
XCP on FlexRay XCPスレーブドライバ 50〜400[KBPS] 高負荷
VX1000システム 測定タイミング処理のみ 5000[KBPS] 非常に低負荷
表1 ECUインターフェイスごとの特徴

モデルベース開発におけるXCPの利用

 モデルベース開発(MBD)においては、実行可能なモデルを「プラント」と呼ばれる制御対象とともにシミュレーションすることができます。このシミュレーション実行の精度が上がってくると、実物と同じようにキャリブレーションを行うことも可能になります。さらに、キャリブレーションを行ってプラントに合致したモデルにすることで十分なシミュレーションができるようにする必要性もあります。このようにシミュレーション段階での測定とキャリブレーションが可能、かつ必要というのがモデルベース開発における要件の1つになります。

 モデルはシミュレーションだけでなく、自動コード生成によってC言語などのコードに変換され、実際に動作することになりますが、この場合において従来と同じように測定/キャリブレーションが必要になり、さらには前述のシミュレーション段階でのキャリブレーション結果を基にしたキャリブレーションができること、つまり、キャリブレーションパラメータの引き継ぎができることが望ましくなります。

 以下でシミュレーションと実物という2つの局面での測定/キャリブレーションの実現について考えてみます。

シミュレーション

 測定/キャリブレーション対象は、シミュレーションされた仮想モデルであり、これに対する仮想インターフェイスによって実現する必要があります。

実物

 測定/キャリブレーション対象は、ECU化されており、これに対するCANやFlexRayなどの実ネットワークを使って実現する必要があります。このようなシミュレーションと実物の違いについてもXCPはネットワークに依存しませんから、このどちらでも測定/キャリブレーションが可能になり、モデルベース開発のすべての段階での利用が可能です。

適用事例:ベクターの「CANape」と「Simulink XCP Server」を使った測定/キャリブレーション

 シミュレーション時におけるモデルへの測定/キャリブレーションを行う事例として、ベクターの「Simulink XCP Server」について説明します(図6)。

CANapeとSimulink XCP Server 図6 CANapeとSimulink XCP Server
※画像提供:ベクター・ジャパン

 Simulink XCP Serverは、MATLAB/Simulinkで動作しているシミュレーションモデルの測定/キャリブレーションが実現できるように、XCPのインターフェイスをモデルに設けるためのSimulinkのブロックであり、ベクターのキャリブレーションツール「CANape」とXCP on Ethernetを通じてつながります。これにより、実物の環境とまったく同じ測定/キャリブレーションをシミュレーション時でも利用できます。一般的に、シミュレーションは実物の実行時間よりも速く動作しますから、実行時間よりも速くキャリブレーションを行うことができ、このときに求められたキャリブレーションパラメータはシミュレーションの精度にも依存しますが、実物とほぼ同じ値であり、これを基に実物での測定からはじめることで、最終的なキャリブレーション完了までの時間を早めることができます。



 XCPは、ネットワークに依存せず、どのような形であってもECUへのアクセスが可能な状態からの測定/キャリブレーションを実現するために開発・規格化されました。

 元来は、CCPの成功実績からその機能を拡張し、あらゆる車載ネットワークにおいても測定/キャリブレーションを実現することが主目的でしたが、その柔軟性から測定器の汎用インターフェイスとして使用され、さらにはモデルベース開発におけるシミュレーション時と実物時の違いにおいても同じインターフェイスとして利用されるようになっています。XCPは、今後も測定/キャリブレーションのあらゆる局面において利用されることが予想されます。本連載が、皆さまのXCPについての理解と導入の一助となれば幸いです。(連載完)

【 筆者紹介 】
庄井 美章(しょうい よしあき)
ベクター・ジャパン株式会社 適合ツール部 マネージャー

ベクター・ジャパンの適合ツール部にてECUへのキャリブレーション実現にかかわるツール、プロトコル、ハードウェアの提供業務に従事。また、ベクターオンラインセミナーにおいて「モデルベース開発における測定と適合」などのテーマで講師も務めている。

ベクター・ジャパン
http://www.vector-japan.co.jp/
ベクターオンラインセミナー
http://www.vector-japan.co.jp/vj_webinars_jp.html


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.