(57)【特許請求の範囲】
【請求項１】
車両の開ループ制御又は閉ループ制御装置（２）の開ループ制御又は閉ループ制御機能をエミュレーションコンピュータ（３）でエミュレートする方法であって，エミュレートを開始する前に，前記エミュレーションコンピュータ（３）のソフトウェアインターフェイス（１２）と前記車両の開ループ制御又は閉ループ制御装置（２）のソフトウェアインターフェイス（１３）を介してデータ接続（９）が形成される，前記方法において，
前記データ接続を介して、エミュレートすべき機能を定義するためのデータが格納されるテーブルのサイズ及び前記データのワード長さを含むコンフィグレーションデータが前記車両の開ループ制御又は閉ループ制御装置（２）に伝達されることによって、エミュレートを開始する前に、前記エミュレーションコンピュータ（３）のソフトウェアインターフェイス（１２）と前記車両の開ループ制御又は閉ループ制御装置（２）のソフトウェアインターフェイス（１３）がコンフィグレートされ、エミュレートが可能になることを特徴とする車両の開ループ制御又は閉ループ制御装置の開ループ制御又は閉ループ制御機能をエミュレートする方法。
【請求項２】
前記データ接続（９）のためのリソース及び、開ループ制御又は閉ループ制御装置（２）の読み書きメモリ（６）のリソースは，ソフトウェアインターフェイスコンフィグレーションに従って動的に管理される，
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記コンフィグレーションデータは，前記エミュレーションコンピュータ（３）の初期化段階の間に開ループ制御又は閉ループ制御装置（２）に伝達される，
ことを特徴とする請求項２に記載の方法。
【請求項４】
車両の開ループ制御又は閉ループ制御装置（２）と外部のエミュレーションコンピュータ（３）とを有するエミュレーション装置（１）であって，前記エミュレーション装置（１）は，開ループ制御又は閉ループ制御装置（２）の開ループ制御又は閉ループ制御機能をエミュレートするために使用され，前記開ループ制御又は閉ループ制御装置（２）はソフトウェアインターフェイス（１３）を有し，前記エミュレーションコンピュータ（３）はソフトウェアインターフェイス（１２）を有しており，かつ前記開ループ制御又は閉ループ制御装置（２）及び前記エミュレーションコンピュータ（３）はエミュレーションの開始前に，前記エミュレーションコンピュータ（３）のソフトウェアインターフェイス（１２）と前記車両の開ループ制御又は閉ループ制御装置（２）のソフトウェアインターフェイス（１３）を介して構築可能なデータ接続（９）を介して互いに接続されている，前記エミュレーション装置において，
前記データ接続を介して、エミュレートすべき機能を定義するためのデータが格納されるテーブルのサイズ及び前記データのワード長さを含むコンフィグレーションデータが前記車両の開ループ制御又は閉ループ制御装置（２）に伝達されることによって、エミュレートを開始する前に、前記エミュレーションコンピュータ（３）のソフトウェアインターフェイス（１２）と前記車両の開ループ制御又は閉ループ制御装置（２）のソフトウェアインターフェイス（１３）がコンフィグレートされ、エミュレートが可能になることを特徴とするエミュレーション装置。
【請求項５】
前記データ接続（９）は，シリアルのバスシステムとして，形成されている，ことを特徴とする請求項４に記載のエミュレーション装置（１）。
【請求項６】
コンピュータにより読み取り可能な媒体であって，請求項１から３のいずれか１項に記載の方法を実施するコンピュータプログラムが格納される、コンピュータにより読み取り可能な媒体。
【請求項７】
コンピュータプログラムにおいて，
前記コンピュータプログラムがマイクロプロセッサ（５）上で実行される場合に，請求項１から３のいずれか１項に記載の方法を実施することを特徴とするコンピュータプログラム。
【請求項８】
メモリ素子（４）上格納されている，ことを特徴とする請求項７に記載のコンピュータプログラム。
【発明の詳細な説明】
【０００１】
従来技術
本発明は，特に車両の開ループ制御／閉ループ制御装置の開ループ制御及び／又は閉ループ制御機能をエミュレートする方法と装置に関する。エミュレーションは，機能を外部のエミュレーションコンピュータへ提供することによって実行される。エミュレーションの開始前に，エミュレーションコンピュータのソフトウェアインターフェイス及び開ループ制御／閉ループ制御装置のソフトウェアインターフェイスを介してデータ接続が形成される。
【０００２】
本発明は，さらに，特に車両の，開ループ制御又は閉ループ制御装置と外部のエミュレーションコンピュータとを有するエミュレーション装置に関する。エミュレーション装置は，機能をエミュレーションコンピュータへ待避させることによって，開ループ制御及び／又は閉ループ制御機能をエミュレートするために使用される。開ループ制御／閉ループ制御装置とエミュレーションコンピュータは，各々ソフトウェアインターフェイスを有しており，かつ開ループ制御／閉ループ制御装置とエミュレーションコンピュータは，エミュレーションの開始前にソフトウェアインターフェイスを介して構築可能なデータ接続を介して互いに接続されている。
【０００３】
さらに，本発明は，車両の開ループ制御又は閉ループ制御装置のためのメモリ素子に関する。メモリ素子上には，計算装置上，特にマイクロプロセッサ上で実行可能なコンピュータプログラムが格納されている。メモリ素子は，特にリードオンリーメモリとして，ランダムアクセスメモリとして，あるいはフラッシュメモリとして形成されている。そして本発明は，コンピュータプログラムにも関する。
【０００４】
開ループ制御／閉ループ制御装置の開ループ制御／閉ループ制御機能をエミュレートするエミュレーション装置は，新しい開ループ制御／閉ループ制御機能を開発する際あるいはソフトウェア的に実現する際に，いわゆるプロトタイピングツールとして使用される。この種のエミュレーション装置は，バイパスとも称される。バイパスを用いて，任意の開ループ制御／閉ループ制御装置（ＥＣＵ，Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）の機能を，外部のエミュレーションコンピュータへ提供することができる。開ループ制御／閉ループ制御装置とエミュレーションコンピュータとの間の通信は，データ線を介して行われ，そのデータ線は例えばバス線，特にコントローラエリアネットワーク（ＣＡＮ）−バス線として形成されている。通信するために，開ループ制御／閉ループ制御装置内にも，エミュレーションコンピュータ内にも，ソフトウェアインターフェイスが設けられている。
【０００５】
ＤＥ３３１８４１０Ａ１からは，冒頭で説明した種類の制御装置の機能をエミュレートする方法が知られている。新しい開ループ制御／閉ループ制御プログラムは，高性能のエミュレーションコンピュータ上で簡単な方法で，より高いプログラミング言語で形成することができ，それによってソフトウェア機能の高速な開発が与えられる（Ｒａｐｉｄ  Ｐｒｏｔｏｔｙｐｉｎｇ）。新しくプログラミングされた機能を検査するために，エミュレーションコンピュータはデータ接続を介して，機能がそのために形成されている，その開ループ制御／閉ループ制御装置と接続される。新しい機能は，エミュレーションコンピュータ上で実行され，開ループ制御／閉ループ制御プログラムの残りの部分は開ループ制御／閉ループ制御装置上で実行される。それによって新しいソフトウェア機能の開発段階において既に，シリーズ制御装置を使用することができるので，新しくプログラミングされた機能による試験は，特にシリーズに近い形で経過する。
【０００６】
エミュレーションの開始前に，エミュレーションコンピュータと制御装置との間でソフトウェアインターフェイスを介してデータ接続が形成される。エミュレーションコンピュータの初期化段階の間，データ接続は固定的に設定された伝送プロトコルに従って定められたエミュレートすべき機能のデータを伝送する。これらのデータは，そのために設けられている制御装置内のテーブルに格納される。バイパス駆動においては，制御装置からエミュレーションコンピュータへの通信は，固定のトリガーイベントを介して作動される。制御装置とエミュレーションコンピュータとの間の通信の種類は，テーブル内に格納されているデータに従って定められる。
【０００７】
冒頭で挙げた種類のエミュレーション装置は，ＤＥ３９１７９７９Ｃ２からも知られている。そこには，データ接続のために制御装置の標準化されたハードウェアインターフェイスを利用するバイパスが記載されている。制御装置は，バイパス駆動の間，エミュレートすべき機能がその中に格納されているエミュレーション装置の読み書きメモリ，あるいは開ループ制御／閉ループ制御プログラムの本来のプログラムシーケンスがその上に格納されている制御装置の読取りメモリにアクセスする。トリガーイベントの作動後に，開ループ制御／閉ループ制御装置のマイクロプロセッサ上では，もはや開ループ制御／閉ループ制御プログラムは実施されず，エミュレーション装置の読み書きメモリへ切換えられて，エミュレートすべき機能が実施される。
【０００８】
本出願においては，ＤＥ３３１８４１０Ａ１とＤＥ３９１７９７９Ｃ２を，明確に参照する。
【０００９】
従来技術から知られた，開ループ制御／閉ループ制御装置の機能をエミュレートする方法と装置においては，欠点は，開ループ制御／閉ループ制御装置とエミュレーションコンピュータのインターフェイスが，エミュレートすべき機能に向けられており，かつそれに応じて決定されていることである（ソフトウェアインターフェイスの固定のプログラミングによって，あるいはハードウェアインターフェイスの固定のハードウェアコンフィグレーションによって）。特に，バイパス駆動の間のエミュレーションコンピュータと開ループ制御／閉ループ制御装置との間のデータ伝送のためのプロトコルは，固定的に設定されている。即ち，例えばテーブルの大きさ，伝送されるコンフィグレーションデータのワード長さ，データ伝送のための時間ウィンドウ及び，データ接続の監視付きで処理するか，あるいはそれなしで処理するかに関するデータは，ソフトウェアインターフェイスの複雑な再プログラミングによってしか新しくエミュレートすべき開ループ制御／閉ループ制御機能に適合させることはできない。インターフェイスにおけるソフトウェアの変更が必要なことによって，ラピッドプロトタイピングの可能性は，著しく制限される。
【００１０】
従って本発明の課題は，開ループ制御／閉ループ制御装置の新しい開ループ制御／閉ループ制御機能の開発とプログラミングを，著しく促進する可能性を提供することである。
【００１１】
この課題を解決するために，本発明は，冒頭で挙げた種類の開ループ制御／閉ループ制御機能をエミュレートする方法に基づいて，ソフトウェアインターフェイスがエミュレーションの開始前に，ソフトウェアを変更することなく各種開ループ制御／閉ループ制御機能をエミュレートするためにコンフィグレートされることを，提案する。
【００１２】
従って本発明によれば，ソフトウェアインターフェイスは自由にプログラミングできるので，開ループ制御／閉ループ制御装置とエミュレーションコンピュータとの間のデータ接続のためのプロトコルを，各々エミュレートすべき開ループ制御／閉ループ制御機能に適合させることができる。適合は，ソフトウェアインターフェイスの再プログラミングなしで行われる。それによって，開ループ制御／閉ループ制御装置の新しい開ループ制御／閉ループ制御機能の開発とプログラミングのためのラピッドプロトタイピングの範囲内で，新しい可能性が拓かれる。
【００１３】
ソフトウェアインターフェイスをコンフィグレートするために，開ループ制御／閉ループ制御機能のエミュレーション前に，コンフィグレーションデータがエミュレーションコンピュータからデータ接続を介して開ループ制御／閉ループ制御装置へ伝達される。コンフィグレーションデータは，例えば，エミュレートすべき機能を定義するためのデータがその中に格納されている表の大きさ，データのワード長さ，開ループ制御／閉ループ制御プログラムがその中で実行される時間ウィンドウ及び，バイパス駆動の間のデータ接続が監視されるか否かについてのデータを含んでいる。時間ウィンドウは，固定的に設定しても良く，事象によって案内されるようにしてもよい。コンフィグレーションデータは，データ伝送のための伝送プロトコルを特殊化するため，及びソフトウェアインターフェイスをコンフィグレートするために利用される。
【００１４】
本発明の好ましい展開によれば，ソフトウェアインターフェイスは，予め設定可能な量の測定量及び作用量から各種開ループ制御／閉ループ制御機能をエミュレートするようにコンフィグレートされる。従って種々のコンフィグレーションデータを有する既存のライブラリーから，実際にエミュレートすべき機能に好適なものが選択されて，ソフトウェアインターフェイスがそれに応じてプログラミングされる。
【００１５】
本発明の好ましい実施形態によれば，データ接続のためのリソース及び開ループ制御／閉ループ制御装置の読み書きメモリのリソースが，インターフェイスコンフィグレーションに従って動的に管理されることが，提案される。従って，ある程度対応付け（いわゆるアロケーション）−層が導入され，それがテーブル内に格納されているデータ，対応するテーブル及び対応するテーブル位置へのアクセスを案内する。エミュレーション前にこのアロケーション−層を定義することによって，テーブルの大きさとその中に格納されているデータのワード長さを可変に選択すること，あるいはインターフェイスコンフィグレーションに適合させることができる。
【００１６】
本発明の他の好ましい展開によれば，エミュレーションコンピュータにおけるコンフィグレーションが決定されて，コンフィグレーションデータがエミュレーションの開始前にデータ接続を介して開ループ制御／閉ループ制御装置へ伝達されることが提案される。エミュレーションコンピュータ上でエミュレートすべき機能をより高位の言語でプログラミングする範囲内で，エミュレーションコンピュータと開ループ制御／閉ループ制御装置のソフトウェアインターフェイスをどのようにコンフィグレートすべきかも決定される。その場合には，エミュレーションの開始前に，コンフィグレーションデータが開ループ制御／閉ループ制御装置に伝達される。
【００１７】
コンフィグレーションデータは，好ましくはエミュレーションコンピュータの初期化段階の間に，開ループ制御／閉ループ制御装置へ伝達される。
【００１８】
本発明の課題の他の解決として，冒頭で挙げた種類のエミュレーション装置に基づいて，ソフトウェアインターフェイスは，エミュレーションの開始前にソフトウェアを変更することなく，各種開ループ制御／閉ループ制御機能をエミュレートするようにコンフィグレートできることが提案される。
【００１９】
本発明の好ましい展開によれば，データ接続はシリアルのデータバスとして，特にコントローラエリアネットワーク（ＣＡＮ）−バスとして形成されていることが提案される。
【００２０】
重要なことは，本発明に基づく方法を，車両の開ループ制御／閉ループ制御装置のために設けられている，メモリ素子の形式で実現することである。その場合に，メモリ素子上にコンピュータプログラムが格納されており，そのコンピュータプログラムは計算装置上，特に開ループ制御／閉ループ制御装置のマイクロプロセッサ上で実行可能であって，本発明に基づく方法を実施するのに好適である。従ってこの場合には，本発明はメモリ素子上に格納されているコンピュータプログラムによって実現されるので，コンピュータプログラムを有するメモリ素子は，コンピュータプログラムがそれを実施するのに好適な方法と同様に，本発明を表している。メモリ素子として，特に電気的なメモリ媒体，例えばリードオンリーメモリ，ランダムアクセスメモリ又はフラッシュメモリが使用される。
【００２１】
本発明は，また，コンピュータプログラムに関しており，そのコンピュータプログラムは，それが計算装置上，特にマイクロプロセッサ上で実施される場合に，本発明に基づく方法を実施するのに好適である。その場合に，コンピュータプログラムがメモリ素子上，特にフラッシュメモリ上に格納されていると，特に効果的である。
【００２２】
実施例の説明
図１には，本発明に基づくエミュレーション装置が，その全体を参照符号１で示されている。エミュレーション装置１は，車両の開ループ制御又は閉ループ制御装置２と外部のエミュレーションコンピュータ３を有する。エミュレーション装置１は，ソフトウェアのラピッドプロトタイピングのためのプロトタイピング工具（werkzeug）として使用される。開ループ制御／閉ループ制御装置２は，車両の所定の機能，例えば内燃機関，操舵，ブレーキ，トランスミッション及び／又は車両の道路位置を開ループ制御／閉ループ制御するために使用される。開ループ制御／閉ループ制御装置２は，メモリ素子４を有しており，そのメモリ素子上に開ループ制御／閉ループ制御プログラムが格納されている。メモリ素子４は，例えばフラッシュメモリとして形成されている。開ループ制御／閉ループ制御プログラムは，マイクロプロセッサ５上で実行可能である。プログラム実行の間，データは読み書きメモリ６から読み出され，あるいはそれに格納される。開ループ制御／閉ループ制御プログラムの実行によって，開ループ制御／閉ループ制御装置２は，それに対応付けられた開ループ制御／閉ループ制御課題を満足する。
【００２３】
エミュレーションコンピュータ３は，モニタ７と選択的に他の出力装置及びキーボード８と選択的に他の入力装置を有している。開ループ制御／閉ループ制御プログラムの新しい又は変更された開ループ制御／閉ループ制御機能は，エミュレーションコンピュータ３上でプログラミングされる。新しくプログラミングされた機能をいわゆるバイパス駆動において試験するために，エミュレーションコンピュータ３は，まずデータ接続９を介して開ループ制御／閉ループ制御装置２に接続される。データ接続９は，コントローラエリアネットワーク（ＣＡＮ）−バス線として形成されている。
【００２４】
バイパス駆動の間，開ループ制御／閉ループ制御プログラムは開ループ制御／閉ループ制御装置２上で実行される。プログラム実行の間にトリガーイベントが作動されると即座に，エミュレーションコンピュータ３内でモデル化されている開ループ制御／閉ループ制御プログラム機能が呼び出されて実施される。エミュレーションコンピュータは，他のメモリ素子を有しており，その上にはエミュレートすべき開ループ制御／閉ループ制御機能が格納されている。機能を実施するために，エミュレーションコンピュータ３は，マイクロプロセッサ１０を有している。プログラム機能の実施前あるいは実施中に，データはデータ接続９を介して開ループ制御／閉ループ制御装置２の読み書きメモリ６から読み出されて，プログラム実施後にこの読み書きメモリ上に格納される。
【００２５】
エミュレーションコンピュータ３内でプログラム機能を実施した後には，再び開ループ制御／閉ループ制御装置２内の開ループ制御／閉ループ制御プログラムの実行に戻る。
【００２６】
あるいは，開ループ制御／閉ループ制御装置２内の制御プログラムとエミュレーションコンピュータ３内のプログラム機能を互いに対して並列に実行することもできる。このようにして，新しく形成された開ループ制御／閉ループ制御機能を開発段階において既に，シリーズ−開ループ制御／閉ループ制御装置２上で実施することができ，それは特にシリーズに近い試験を可能にする。
【００２７】
エミュレーションコンピュータ３と開ループ制御／閉ループ制御装置２の間の通信を制御して調整するために，エミュレーション３と開ループ制御／閉ループ制御装置２には，各々自由にコンフィグレート可能なソフトウェアインターフェイス１２，１３が形成されている。開ループ制御／閉ループ制御機能のプログラミングと共に，ソフトウェアインターフェイス１２，１３をコンフィグレートするためのコンフィグレーションデータも形成される。実際にエミュレートすべき機能に好適なコンフィグレーションデータは，例えば種々のコンフィグレーションデータを有する既存のライブラリーから取り出すことができる。ソフトウェアインターフェイス１２，１３の自由なコンフィグレートによって，開ループ制御／閉ループ制御装置２とエミュレーションコンピュータ３との間のデータ伝送のためのプロトコルを，各々エミュレートすべき開ループ制御／閉ループ制御機能に適合させることができる。各種機能をエミュレートするためのソフトウェアインターフェイスの複雑な再プログラミングは，もはや不要である。
【００２８】
コンフィグレーションデータは，例えば，エミュレートすべき機能を定義するデータがその中に格納されているテーブルの大きさ，データのワード長さ，処理がその中で行われる時間ウィンドウ及び，バイパス駆動の間データ接続９が監視されるか否かについてのデータを含んでいる。テーブルは，読み書きメモリ６内に格納される。本発明によれば，テーブルに格納されているデータへのアクセスは，該当するテーブルへの対応付け（いわゆるアロケーション）層とそれに応じたテーブル位置を用いて案内される。
【００２９】
エミュレーションコンピュータ３内で新しくプログラミングされた機能のエミュレーションを開始する前に，エミュレーションコンピュータ３の初期化段階の間にコンフィグレーションデータがデータ接続９を介して開ループ制御／閉ループ制御装置３に伝送されて，ソフトウェアインターフェイス１２，１３がそれに応じてコンフィグレートされる。初期化の間，ハードウェアインターフェイス（ＣＡＮ）も，コンフィグレーションに従って初期化され，あるいはコンフィグレートされる。
【００３０】
車両の開ループ制御／閉ループ制御装置２をバイパス駆動するための本発明に基づく方法を，図２を用いて以下で説明する。方法は，機能ブロック２０において開始される。次に機能ブロック２１内でエミュレーションコンピュータ３の初期化が行われる。初期化の範囲内で，コンフィグレーションデータも開ループ制御／閉ループ制御装置２に伝送される。その後機能ブロック２２において，ソフトウェアインターフェイス１２，１３がコンフィグレーションデータに従ってコンフィグレートされる。
【００３１】
その後，機能ブロック２３において，開ループ制御／閉ループ制御装置２内の開ループ制御／閉ループ制御プログラムの実施が開始される。開ループ制御／閉ループ制御プログラムは，インターフェイス初期化（機能ブロック２２）の前に既に，開始させておくこともできる。トリガーによって，エミュレーション装置１上で計算が開始される。トリガーイベントの定義は，機能ブロック２３においてソフトウェアインターフェイス１２，１３のコンフィグレーションを介して行われている。開ループ制御／閉ループ制御プログラムあるいは開ループ制御／閉ループ制御機能の実施後に，開ループ制御／閉ループ制御装置２とエミュレーションコンピュータ３は，結果を読み書きメモリ６へ書き込む。
【００３２】
判断ブロック２４において，プログラム実行の間にデータを読み書きメモリ６から呼び出すべきか，が調べられる。肯定の場合には，機能ブロック２５においてデータが読み書きメモリ６から呼び出される。次にまた，開ループ制御／閉ループ制御装置２内の開ループ制御／閉ループ制御プログラムの実施へ戻って，判断ブロック２４へ分岐する。
【００３３】
もはや読み書きメモリ６からデータを呼び出す必要がない場合には，判断ブロック２６において，開ループ制御／閉ループ制御プログラムが終了しているか，が調べられる。肯定の場合には，機能ブロック２７において終了される。そうでない場合には，開ループ制御／閉ループ制御装置２内での開ループ制御／閉ループ制御プログラムの実施が続行されて，判断ブロック２４に分岐する。
【図面の簡単な説明】
図面
本発明の他の特徴，利用可能性及び利点は，図面に示す本発明の実施例についての以下の説明から明らかにされる。その場合に全ての記載された，あるいは図示されている特徴は，それ自体単独で，あるいは任意の組合わせにおいて，特許請求項におけるその要約又はその帰属に関係なく，かつ詳細な説明あるいは図面におけるその表現あるいは表示に関係なく，本発明の対象を形成する。
【図１】  好ましい実施形態に基づき，本発明によるエミュレーション装置を示すブロック回路図である。
【図２】  好ましい実施形態に基づき，本発明によるエミュレーション方法を示すフローチャートである。
【図１】
0004748635.tif 000002
【図２】
0004748635.tif 000003