早期の車載ECUタイミング検証の実現

車載ECUの制御では、特定の時間内に処理を終えないといけないといったタイミングの要求があります。
例えば、自動ブレーキシステムでは、安全性を確保するために「レーダーが障害物を検出してから300ms以内に必ずブレーキを作動させる」といったタイミングの要求があります。

タイミング要求の概念図

このようなタイミング要求は、車載制御ECU、特に自動運転制御などでは数百の要求項目があります。開発の最終段階でこの要求を満足していないことが判明した場合、修正は容易ではありません。

修正するには、その原因を知る必要があります。ハードウェアの変更は困難なため、一般的にはソフトウェアによる対策を行います。ここでは、時間がかかっている関数のリストアップや、タスクの最適化についての検討が必要となります。

実行時間短縮の目途が付けば、関数・タスクを再設計し、再実装・再テストを行うこととなりますが、開発終了までの時間の無い中でこのような作業を行うのは非常に困難です。

そこで、より早い段階でのタイミング検証が求められます。
chronSUITEは、早期検証を実現するシミュレーションツール、最悪実行時間算出ツールなどで構成される、ドイツINCHRON社のタイミング検証支援ツールです。

chronSUITEのchronSIMを使えば、設計時にタスク設計を最適化することが可能です。タスク設計情報、タイミング要求をchronSIMに入力すれば、シミュレーションにより、タイミング要求を満たしているか、何がオーバーヘッドとなっているかの解析、タイミング不具合の解析を行うことができ、タイミング設計変更⇒シミュレーションを繰り返すことで素早いフィードバックによる早期の適切なタスク設計が可能となります。

自動運転などではマルチコア、VMが使用されますが、それらも考慮した解析や、複数ECU間の通信を含めたシミュレーションも可能です。

chronSIM によるタスクシミュレーションchronSIM によるタスクシミュレーション

実装やハードウェアの完成後には、chronSUITEのchronVIEWを使うことで、ソフト実装、ハードウェアを含めたタイミング検証を行うことができます。タスクの起動、休止、終了などの状態を、トレースするツールからのトレースデータを使用してタイミング解析を行います。

chronVIEWによる実機のタイミング検証chronVIEWのタイミング検証画面chronVIEWによる実機のタイミング検証

このように、chronSIMを使えば早期のタイミング検証はタスク設計情報のみであれば可能ですが、実装を含むとなるとハードウェアの完成を待つ必要がありました。ECUアプリケーションのロジックの確認であれば、MILS、SILSで可能ですが、タイミングとなると、CPUの処理速度、タスクの実行動作がリアルのECUと異なるため、従来のMILS、SILSでの早期の検証は難しいものでした。

ユビキタスAIと株式会社 エー・アンド・デイで共同開発、販売している「GSIL」は、ハードウェアの完成前にPC上で車載制御ECUのロジックの確認、デバッグが容易に可能となるツールです。このGSILには、MILSや従来のSILSでは困難な、早期の段階で実装を含めたタイミング要求を検証できる機能があります。

まず、CPUの処理速度の違いによる実機との実行速度の違いですが、インストラクションセット、メモリアクセスなどの違いがあるため実機と完全に同じ条件とはならないものの、実機とPCでベンチマークを取り、おおよその倍率を算出して実行速度を把握することができます。タイミングの保証まではできませんが、開発早期での時間のボトルネックの把握が可能となります。「GSIL」では、トレースデータを設定した倍率を考慮してエクスポートする機能があり、これらを簡単に実現可能です。

次にタスクの実行動作ですが、一般的にSILSではその実行時に並列処理を行うことはできません。したがって、上記の手法を使っても処理時間は実ECUとは大きく異なってしまいます。これはGSILでも同様です。

GSILの実際のタスク実行動作GSILの実際のタスク実行動作

しかし、GSILでは、タスクの処理のトレースに工夫することで、あたかも並列処理をしたかのような動作をシミュレーションできます。

並列処理を考慮したトレースデータのインポート並列処理を考慮したトレースデータのインポート

これにより、より正確なタイミング要求時間の解析が可能になりました。また、ユビキタスAIが取り扱っているドイツVerifysoft社のカバレッジ測定ツールTestwell CTC++を使用することで、関数毎に関数の開始から終了までの処理速度の計測が可能です。各タスクから呼ばれる関数のどの関数でどれだけの時間がかかっているかを把握し、その関数のCコードを変更することで、効率的にトータルの実行速度の短縮が可能となります。

これらのツールを利用することで、開発のそれぞれの段階においてタイミング検証を実施することが可能になります。

V字開発プロセスでのタイミング検証V字開発プロセスでのタイミング検証

より詳しい技術や関連製品について知りたい方へ

お気軽相談

本コラムに関係する技術や関連する製品について知りたい方は、お気軽にご相談ください。


製品情報

マルチECU対応タイミング検証ツール

chronSUITE

タイミング設計、時間制約の設計、実装での発見困難なミスをシミュレーション、実機で検出
製品ページを見る
製品情報

車載ECUソフトウェア開発向けシミュレーションツール

GSIL

ハードウェア完成前にPC上でECUソフトウェアを検証
製品ページを見る
製品情報

カバレッジ測定ツール

Testwell CTC++

組込み向けターゲットシステム向けカバレッジ測定
製品ページを見る

システムテストのカバレッジ測定

コラムを読む

組込み制御ソフト開発へのシミュレーション応用による開発効率向上

コラムを読む

CANを使用したSILSテスト ―車両全体シミュレーション、テストケース再利用―

コラムを読む

GSILのMILS開発への適用

コラムを読む

GSILのCI(Continuous Integration)適用

コラムを読む

GSILの網羅的自動テストケース生成機能を使ったECUの信頼性向上

コラムを読む

OEM⇔サプライヤでのECU制御ソフトウェア環境共有による手戻り工数削減方法

コラムを読む

SILSを使用した車載制御ECUソフトウェア開発競争力強化

コラムを読む

車載ECUシミュレーションでテスト資産を活かすための技術とは?

コラムを読む