新しい制御アルゴリズムの開発者は必ず、実際の量産ハードウェアと組み合わせた機能テストが必要になる段階に到達します。シミュレーションでの事前の機能テストにすべて成功していたとしても、実ECUへの統合の段階で、リアルタイム要件やハードウェア依存性など、新たな境界条件が追加されます。特に、インターフェースが固定されたECUを使用するモバイルアプリケーションでは、このことが課題となります。というのも、現行シリーズのECUでは性能が不十分なことが多いにもかかわらず、次期ECUはまだ利用することができないためです。さらに、開発者は以前の量産コード自体や、その量産コードを直接扱うためのツールチェーンにアクセスできないことも頻繁にあります。
その際、次に取る行動の選択肢は2つあります。それがフルパス手法とバイパス処理です。
フルパス手法とは
フルパス手法では、制御ユニット全体をdSPACEリアルタイムプラットフォームに置き換えます。そして、既存のコードをリアルタイムプラットフォームに移植し、すべてのインターフェースをプロトタイプシステムに実装します。その際は、dSPACE MicroAutoBoxやSCALEXIO AutoBoxなどを使用します。これらはそのまま車載して、新しい機能を車両の走行中にテストすることができます。量産制御ユニットに比べて、プロトタイプシステムは非常に高い処理能力と大きな記憶容量を提供します。そのため、開発の早期の段階ではこれらの側面を考慮する必要がありません。
フルパス手法は、リアルタイムプラットフォームへの移植を容易に実施し、インターフェースを管理できる事例に適しています。
バイパス処理とは
バイパス処理の場合、現行シリーズのECUを使用でき、新たに開発された機能のみをプロトタイピングシステムに配置します。この場合、ECUソフトウェアのバイナリコードにわずかなサービスをパッチ適用するだけなので、量産制御ユニットのソースコードや新しいソフトウェアバージョンを作成するためのツールチェーンに別途アクセスする必要はありません。
dSPACE DCI-GSI2は、テストおよび開発インターフェースでECUに接続し、dSPACEのプロトタイピングシステムとXCP on Ethernet経由で通信します。ECUの機能はバイパス処理され、新たに開発された機能はdSPACEリアルタイムプラットフォーム上で実行されます。そして、出力データはECUに書き込まれます。
あらゆるものをリアルタイムに処理
非常にシンプルなことのように聞こえますが、データの読み出しと書き込みを、極めて正確に、高い精度で同期化して行うことが実際には必要です。そのためには、機能の実行と制御ユニットへのアクセスを同期化しなければなりません。それにより、データは一貫性が保たれ、適切なタイミングで処理が行われ、それに応じた書き込みが可能となります。また、バイパス処理がアルゴリズムの機能に影響しないようにするため、処理のサイクルタイムは極めて短時間であることが必要です。これはリアルタイムカップリングと呼ばれる設計上の重要な特長です。そのため、DCI-GSI2では、データのやり取りにおけるリアルタイム性能やレイテンシを最小にすることに極めて注力しています。
ツールが連携する仕組み
DCI-GSI2は、dSPACE Communication Interface – Generic Serial Interfaceの略語であり、制御ユニットとdSPACE MicroAutoBoxなどの間に配置されます。DCI-GSI2は制御ユニットから入力値やセンサ値を取得し、MicroAutoBoxに渡すよう設計されています。そこで新しい機能が実行され、計算値はDCI-GSI2経由で制御ユニットに書き戻されます。制御ユニットの制御シーケンスにおいては、新たに開発する機能を高い精度で同期化します。これは機能バイパス処理と呼ばれます。
XCPサービスをECUで使用できる場合、リアルタイムシステムはECUに直接接続可能です。ただし、XCPのアクセス権を後から追加するのは非常にコストがかかり、時に不可能な場合もあるため、最初の制御ユニットソフトウェアの作成時に付与しておく必要があります。dSPACE DCI-GSI2を用いたdSPACEソリューションでは、XCPを使用せずに制御ユニットの機能にアクセスすることも可能なため、制御ユニットの量産コードにアクセスすることなくdSPACEツールチェーンとの接続を実現することができます。これは、既にバイナリ形式でコンパイルされ、制御ユニットソフトウェアに適用されている成果物によって可能になります。この手順は、ソースコードを変更しなくても機能します。
標準的な量産制御ユニットに比べ、MicroAutoBoxには演算処理能力に関する制限がほぼないため、開発者はコードの最適化について心配することなく完全に機能開発に集中することができます。さらに、dSPACEの試験用ソフトウェアであるControlDeskを使用すると、ソフトウェアの実行中に新しい機能の信号をすべて計測しビジュアル表示することができるため、デバッグ作業を大幅に簡素化できます。また、ソフトウェアを再ビルドすることなく、テストの実行中にコントローラのパラメータを調整し、テスト車両で直接コントローラの挙動を最適化することが可能なため、反復的な開発を容易に実現できます。
情報ボックス:XCPサービス
XCPは、「Universal Measurement and Calibration Protocol」の略語です。ASAM(Association for Standardization of Automation and Measuring Systems)によってさまざまなバスおよびネットワークメディア向けのプロトコル(XCP on Ethernet、XCP on CANなど)が定義されており、制御ユニットにおけるデータやパラメータの読み書きに使用されています。
Tim Förster
リアルタイムテストおよび開発ソリューション担当プロダクトマネージャ、dSPACE
Martin Teiner
リアルタイムテストおよび開発ソリューション担当プロダクトマネージャ、dSPACE