複数のバス通信インターフェースを管理するための新しいソリューション

発表日: 2016年10月12日

Chris Manning、HILアプリケーションエンジニア、dSPACE Inc.

dSPACEアプリケーションエンジニアとして私はこれまでに、CAN、CAN FD、J1939、LIN、FlexRay、いくつものEthernetバージョンなどを含む多数のバスを利用したプロジェクトに取り組んできました。組込み制御システムはますます複雑化しているため、これらのような分散ネットワークを使用すると、システムをモジュール化したり車載配線を削減したりすることができます。これらのネットワークのそれぞれには、データの冗長性、バス速度、帯域幅から信頼性およびコストに至るまで、固有の長所と短所があります。どの車両プラットフォームにも、こうしたバス同士を組み合わせたシステムが見受けられます。

車載エレクトロニクス全体のバスシステムは重要なコンポーネントであるため、バス通信の妥当性確認は極めて重要です。この妥当性確認および検証タスクを実行するために、エンジニアは一般にdSPACE HILシステムや仮想検証プラットフォームVEOSを使用します。多くの場合、エンジニアはシミュレーション環境のセットアップにおいて、環境上で送受信したりテストしたりするメッセージを設定する必要があります。

ただし、通常これらのバスネットワークにはそれぞれ独自の設定ツールが用意されています。dSPACEでは、CAN用のReal-Time Interfaceボードライブラリ(RTI CAN Blockset)とその姉妹製品であるRTI CAN MultiMessage BlocksetがCAN用の設定ツールを提供しています。RTI LIN MultiMessage Blocksetは、対応するLIN用の設定ツールです。そしてFlexRay向けには、dSPACE FlexRay Configuration Toolがあります。また、使用したいプロトコル(UDP、TCPなど)に応じて、Ethernet設定には多様なオプションを利用することができます。これらのツールのそれぞれが異なるインターフェースを備えており、それらをすべて把握するのは難しいほどです。

dSPACE Bus Manager

dSPACEは最近、さまざまなバスインターフェースの課題に対処できる新しいツールを発表しました。dSPACE Bus Managerは、汎用的なバスシミュレーション設定ツールです。このツールはdSPACEシステムに対応した単一の中心的なツールとして設計されており、CAN、CAN FD、およびLINを使用してバス通信を設定する場合に使用します。今後のバージョンでは、FlexRay、Ethernetなどのバスを追加サポートします。Bus Managerは、モデリング環境に依存せずに、複数のバスタイプおよびdSPACEシミュレーションプラットフォーム間に共通のインターフェースを提供します。

最近、新しいBus Managerを使用する機会を得ました。ここでは、私が発見したユーザにとって大切になり得る重要事項をいくつかご紹介します。

バス通信のあらゆるニーズに対応する単一の設定ツール

Bus Managerの主要な目的の1つは、さまざまなプロトコル向けのバス通信のセットアップに必要な設定ツールの数を減らすことです。設定対象のすべてのバスタイプに同じワークフローが使用されます。

1.通信マトリクスをインポートします。

Bus ManagerではDBC、LDF、FIBEX、ARXMLなど、バス通信マトリクスに一般的に使用されるさまざまなファイル形式を扱うことができます。

2.通信マトリクスのエレメントをバス設定に追加します。

dSPACEプラットフォームでシミュレーションを行うバス設定に、ノード、メッセージ、または信号をドラッグアンドドロップすることができます。関連するすべての親エレメントおよび子エレメントも自動的に追加されます。同じバス設定に複数のデータベースのエレメントを使用することもできます。また、希望するメッセージや信号を表示するようにフィルタをかけることも可能です。

3.バス設定の各種設定を変更します。

CANメッセージの周期的なタイミング、LINスケジュールテーブル、信号のモデルアクセス、メッセージの生データアクセス、他のあらゆるコンフィギュレーションなどの設定を変更することができます。

4.構造化されたSimulink®モデルを生成します。

その後、そのモデルを既存のSimulinkインプリメンテーションに接続します。これはプラントモデルまたは制御アルゴリズムの場合があります。

5.モデルをビルドし、VEOSまたはSCALEXIOにロードします。

この共通プロセスにより、さまざまなバスプロトコルの同時設定がさらに容易になります。

VEOSでのバス通信のシミュレーション

Bus Managerのもう1つの主な新機能は、VEOSを使用したバス通信のシミュレーション機能です。VEOSは、機能開発者、ソフトウェアアーキテクト、およびECUテスト担当者が実際のECUハードウェアやHILシミュレータの入手前であっても機能テストを実施し、テスト手順を開発できる機能を提供するdSPACE製品です。

Bus Managerを使用すると、バスシミュレーションコンテナを生成することができます。このバスシミュレーションコンテナは、バーチャルECU(V-ECU)インプリメンテーションコンテナまたはFunctional Mock-up Unitsと一緒にVEOSオフラインシミュレーションアプリケーションにインポートすることができます。必要なすべてのユニットをVEOSにロードした時点で、通信クラスタを設定することができます。接続を変更するには、単に利用可能な通信コントローラのリストから接続したい通信クラスタへと、ドラッグアンドドロップで移動します(下の画像を参照)。この方法で、V-ECUインプリメンテーションをレストバスシミュレーション(ネットワーク上の他のすべてのノードをシミュレートするモデル)に接続することができます。

オフラインシミュレーションを開始した後は、ControlDeskやAutomationDeskなどの他のdSPACEツールを使用して、ECUの機能テストやテスト手順の開発を開始することができます。私の場合は、レストバスシミュレーションをASMプラントモデルに接続したモデルを生成することができました。次にControlDeskを使用して、ControlDesk Bus Navigator ModuleのモニタでCAN通信を表示させることができました。また、ASMの運転操作を開始し、CAN信号が更新されるのを確認することもできました。また、さまざまなCANノードを有効化または無効化して、ECUの損失をシミュレートすることができました。その際には、CANモニターでこの変更が反映されていることを確認しました。HILもECUも使用せず、PC上で動作するシミュレーションのみで、これらをすべて実行することができました。

ツールの自動化

Bus Managerでの私のお気に入りの新機能は、おそらくツール自動化機能です。dSPACEソフトウェアスイートの多くのプログラムでは、ツールの自動化を利用できます。たとえば、ControlDeskレイアウトの生成は、手作業ではなくスクリプトで実行できます。同様に、Bus Managerでは、通信マトリクスのロード、バス設定の生成、および設定変更をすべてPythonスクリプトを使用してプログラムで実行できるようになりました。この機能により、バス通信のバージョンをはるかに容易に処理できるようになり、考えられる設定ごとにバス設定を再設定する煩わしい作業を行う必要がなくなります。

今後の展望

Bus Managerには、dSPACE Releaseごとに新しい機能が追加されています。FlexRayやEthernetのサポート、バス操作オプションの拡充、および今後のリリースでの新たなSCALEXIOバスボードのサポートをご期待ください。

Bus Managerの試用またはデモに興味がありますか。担当のdSPACEアカウントマネージャーにお問い合わせください。

皆様、お読みいただきありがとうございます。Bus Managerを使用したバス通信のセットアップをお楽しみください。

製品情報

ニュースレターを購読します

メールマガジンの購読希望・変更/配信停止手続き