(57)【特許請求の範囲】
【請求項１】
同期式の直列データバス（１１０）のマスタユニット（１１２）の機能をテストするためのテスト応答（１０２）を供給する方法（２００）であって、該方法（２００）が、
前記マスタユニット（１１２）の所定のコマンド（１１８）を検出するために、データバス（１１０）のコマンド経路（１０８）におけるコマンドビット列（１２０）、アドレス経路（３００）、および、クロック経路（３０２）をトリガモジュール（４００）によって監視するステップ（２０２）と、
検出された前記所定のコマンド（１１８）とアドレス経路（３００）において検出されたアドレスに応答して前記データバス（１１０）の応答経路（１１６）において前記テスト応答（１０２）を４ビット対１ビットのマルチプレクサからなる出力装置（１０６）によって準備するステップ（２０４）であって、短期メモリ（１２４）においてあらかじめ定義された応答規則（１２６）を使用して前記テスト応答（１０２）の応答ビット列（１２８）を準備し、前記４ビット対１ビットのマルチプレクサの入力には、アドレス指定されたスレーブユニットの応答（１３０）を備える応答経路（１１６）、アドレス指定されたスレーブユニットの反転された応答を備える反転された応答経路（４３２）、論理値０および論理値１が接続され、前記テスト応答（１０２）を応答規則（１２６）とクロック経路（３０２）のシステムクロックに基づいて生成する、前記テスト応答（１０２）を４ビット対１ビットのマルチプレクサからなる出力装置（１０６）によって準備するステップと、
を備える、同期式の直列データバス（１１０）のマスタユニット（１１２）の機能をテストするためのテスト応答（１０２）を供給する方法（２００）。
【請求項２】
請求項１に記載の方法（２００）において、
前記所定のコマンド（１１８）が検出された後に、他の応答規則（１３２）を前記短期メモリ（１２４）にユニット（１３４）によって書き込むステップ（２０６）を備え、テスト規則（１３６）を使用して前記他の応答規則（１３２）を書き込み、
同期式の直列データバス（１１０）のマスタユニット（１１２）の機能をテストするためのテスト応答（１０２）を供給する方法（２００）。
【請求項３】
請求項１または２に記載の方法（２００）において、
前記４ビット対１ビットのマルチプレクサからなる出力装置（１０６）によって準備するステップ（２０４）で、
さらに前記コマンド（１１８）に対する応答（１３０）を使用して、前記応答経路（１１６）においてテスト応答（１０２）を準備し、
前記応答（１３０）を読み込み、前記テスト応答（１０２）を得るために、前記応答規則（１２６）を使用して少なくとも１ビットの前記応答（１３０）を変更する、
同期式の直列データバス（１１０）のマスタユニット（１１２）の機能をテストするためのテスト応答（１０２）を供給する方法（２００）。
【請求項４】
請求項１〜３のいずれか一項に記載の方法（２００）において、
前記４ビット対１ビットのマルチプレクサからなる出力装置（１０６）によって監視するステップ（２０４）で、
さらに前記データバス（１１０）の少なくとも１つのアドレス経路（３００）を監視し、
前記データバス（１１０）に接続され、前記マスタユニット（１１２）に階層的に下位の所定のスレーブユニット（１１４）が前記アドレス経路（３００）においてアドレス指定されている場合に前記コマンド（１１８）を検出する、
同期式の直列データバス（１１０）のマスタユニット（１１２）の機能をテストするためのテスト応答（１０２）を供給する方法（２００）。
【請求項５】
請求項１〜４のいずれか一項に記載の方法（２００）において、
前記トリガモジュール（４００）によって監視するステップ（２０２）で、
前記コマンド（１１８）を検出するために、所定のコマンドパターンを使用してコマンドビット列（１２０）を監視する、
同期式の直列データバス（１１０）のマスタユニット（１１２）の機能をテストするためのテスト応答（１０２）を供給する方法（２００）。
【請求項６】
請求項１〜５のいずれか一項に記載の方法（２００）において、
前記トリガモジュール（４００）によって監視するステップ（２０２）で、
前記コマンド（１１８）を検出するために前記コマンドビット列（１２０）の少なくとも１つの所定の部分を監視し、
前記コマンド（１１８）を検出するために第１部分および少なくとも１つの第２部分を監視する、
同期式の直列データバス（１１０）のマスタユニット（１１２）の機能をテストするためのテスト応答（１０２）を供給する方法（２００）。
【請求項７】
請求項１〜６のいずれか一項に記載の方法（２００）において、
前記４ビット対１ビットのマルチプレクサからなる出力装置（１０６）によって準備するステップ（２０４）で、
さらに解放信号（４０８）に応答して前記テスト応答（１０２）を準備する、
同期式の直列データバス（１１０）のマスタユニット（１１２）の機能をテストするためのテスト応答（１０２）を供給する方法（２００）。
【請求項８】
請求項１〜７のいずれか一項に記載の方法（２００）において、
更に、メモリ制御モジュール（４０６）によってあらかじめ定義するステップを備え、前記メモリ制御モジュール（４０６）によってあらかじめ定義するステップで、開始信号（４１８）に応答して、短期メモリ（１２４）において応答規則（１２６）をあらかじめ定義し、
前記メモリ制御モジュール（４０６）によってあらかじめ定義するステップを、時間的に、４ビット対１ビットのマルチプレクサからなる出力装置（１０６）によって準備するステップ（２０４）の前に実施する、
同期式の直列データバス（１１０）のマスタユニット（１１２）の機能をテストするためのテスト応答（１０２）を供給する方法（２００）。
【請求項９】
同期式の直列データバス（１１０）のマスタユニット（１１２）の機能をテストするためのテスト応答（１０２）を供給するための装置（１００）において、該装置（１００）が、
前記マスタユニット（１１２）の所定のコマンド（１１８）を検出するために、前記データバス（１１０）のコマンド経路（１０８）においてコマンドビット列（１２０）、アドレス経路（３００）、および、クロック経路（３０２）を監視するように構成されたトリガモジュール（４００）を含む監視装置（１０４）と、
４ビット対１ビットのマルチプレクサからなる出力装置（１０６）であって、検出された前記所定のコマンド（１１８）とアドレス経路（３００）において検出されたアドレスに応答して、短期メモリ（１２４）においてあらかじめ定義された応答規則（１２６）を使用して、前記データバス（１１０）の応答経路（１１６）においてテスト応答（１０２）を準備するように構成されており、前記応答経路（１１６）に組み込まれている出力ユニット（１０６）であって、前記４ビット対１ビットのマルチプレクサの入力には、アドレス指定されたスレーブユニットの応答（１３０）を備える応答経路（１１６）、アドレス指定されたスレーブユニットの反転された応答を備える反転された応答経路（４３２）、論理値０および論理値１が接続され、前記テスト応答（１０２）を応答規則（１２６）とクロック経路（３０２）のシステムクロックに基づいて生成する出力ユニット（１０６）と、
を備える装置（１００）。
【請求項１０】
請求項１〜８のいずれか一項に記載の方法を実施するように構成されたコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムが保存された読取可能なメモリ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、独立請求項の前提部分に記載の装置および方法に関する。コンピュータプログラムも本発明の対象である。
【背景技術】
【０００２】
データバスにおいては、まずマスタユニットによって制御されるスレーブユニットが、マスタユニットにおいて閾値として定義されているデータ値を供給することによって、データバスのマスタユニットを検査することができる。このために、例えばスレーブユニットは外部の検査設備によって所定の測定値を準備することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
このような背景技術に基づいて、ここで提案するアプローチでは、独立請求項による同期的な直列データバスのマスタユニットの機能をテストするためのテスト応答を供給する方法、さらにこの方法を用いた装置、最後に適切なコンピュータプログラムを説明する。従属請求項に記載の手段により、独立請求項に記載の装置の好ましい実施形態および改良した構成が可能である。
【課題を解決するための手段】
【０００４】
測定値がスレーブユニットによりデータ値にコピーされるときには、コピーエラーによってデータ値が変化してしまうことができる。スレーブユニットのデータ値がデジタル値として操作される場合には、検査したい閾値をマスタユニットにおいてビットレベルの精度によりテストすることができる。なぜなら、データ値を直接に操作する場合にはスレーブユニットにおけるコピーエラーは重要ではないからである。
【０００５】
ここで提案するアプローチによれば、データバスにおけるマスタユニットの機能を正確に、安価に検査することができ、コスト高なテスト設備はなくてもよい。
【０００６】
同期式の直列データバスのマスタユニットの機能をテストするためのテスト応答を供給する方法として、
マスタユニットの所定のコマンドを検出するために、データバスのコマンド経路においてコマンドビット列を監視するステップ、および、
検出された所定のコマンドに応答して、データバスの応答経路においてテスト応答を準備するステップであって、テスト応答の応答ビット列が、短期メモリにあらかじめ定義された応答規則を使用して準備されるステップ、
を備える方法が提案される。
【０００７】
マスタユニットは、計算ユニットであって、他の計算ユニット（例えばスレーブユニット）またはこの計算ユニットで進行するアルゴリズムを制御するか、またはデータを供給する計算ユニットとして理解することができる。マスタユニットの機能は、マスタユニットによって受信された情報に対するソフトウェア制御反応として理解することができる。テスト応答は、マスタユニットのためにあらかじめ定義された情報であってもよい。コマンドビット列は、コマンド経路における様々なコマンド列を表すビット列であってもよい。所定のコマンドは、コマンドビット列の一部であってもよい。応答ビット列は、応答経路におけるテスト応答を表すビット列であってもよい。応答規則は、応答ビット列を生成するための処理指示であってもよい。
【０００８】
この方法は、例えばソフトウェアもしくはハードウェアにおいて実施してもよいし、または例えば制御器においてソフトウェアおよびハードウェアの混合形式で実施してもよい。
【０００９】
この方法は、コマンドが検出された後に他の応答規則が短期メモリに書き込まれる書込みステップを備える。他の応答規則は、テスト規則を使用して書き込むことができる。新しい応答規則を直接にリロードすることにより、所定のコマンドの次の検出に直接に反応することができる。
【００１０】
さらに、応答経路においてコマンドにより得られる応答を使用してテスト応答を準備することができる。応答を読み込み、テスト応答を得るために、応答規則を使用して少なくとも１ビットの応答を変更することができる。実際の応答をビット毎に変更することにより、応答ビット列のどの場所がテスト応答に変更されるかを正確に決定することができる。したがって、所定のように変更された場所の周辺におけるテスト応答は、自然に起こる変化を備えていてもよい。
【００１１】
監視するステップでは、さらにデータバスの少なくとも１つのアドレス経路を監視することができる。この場合、データバスに接続され、マスタユニットに階層的に下位の所定のスレーブユニットがアドレス経路においてアドレス指定されている場合には、コマンドを検出することができる。アドレス経路の監視によって、広範囲にわたるデータバスのマスタユニットをテストすることができる。アドレス経路の監視によって、望ましくないスレーブユニットの応答が変更されることを防止することができる。
【００１２】
コマンドを検出するために、所定のコマンドパターンを使用してコマンドビット列を監視することができる。コマンドパターンは複数のビットを含んでいてもよい。コマンドパターンは、コマンドに特徴的なものであってもよい。コマンドパターンによって、コマンドを確実に検出することができる。
【００１３】
監視するステップでは、コマンドを検出するために、コマンドビット列の少なくとも１つの所定の部分を監視することができる。特に、コマンドを検出するためにコマンドビット列の第１部分および少なくとも１つの第２部分を監視することができる。第１部分と第２部分との間には、少なくとも１ビットの幅を備える間隔が設けられていてもよい。コマンドは、コマンドビット列の恣意的な場所に配置されたビット列によって特徴づけられていてもよい。所定の監視領域によって、重要ではないビットを無視することができる。
【００１４】
さらに、解放信号に応答してテスト応答を準備することができる。解放信号は、外部の条件が満たされたことを表してもよい。これにより、外部の条件が満たされた場合にマスタユニットをテストしてもよい。
【００１５】
この方法は、あらかじめ定義するステップを備えていてもよく、このステップでは、開始信号に応答して、応答規則が短期メモリにおいてあらかじめ定義される。特に、あらかじめ定義するステップは、時間的に、準備するステップの前に実施してもよい。あらかじめ定義することにより、コマンド経路において第１コマンドを直接に検出することができ、テスト応答を準備することができる。あらかじめ定義することによりテストを迅速に行うことができる。
【００１６】
さらに、同期式の直列データバスのマスタユニットの機能をテストするためのテスト応答を供給するための装置が提案され、この装置は次の特徴：
マスタユニットの所定のコマンドを検出するために、データバスのコマンド経路においてコマンドビット列を監視するように構成されている監視装置；および
出力装置であって、検出された所定のコマンドに応答して、短期メモリにおいてあらかじめ定義された応答規則を使用して、データバスの応答経路においてテスト応答の応答ビット列を準備するように構成されており、応答経路に組み込まれている出力ユニットを備える装置が提案される。
【００１７】
装置の形式の本発明のこれらの実施形態によって、本発明の基礎をなす課題を迅速かつ効率的に解決することもできる。
【００１８】
装置は、本明細書ではセンサ信号を処理し、センサ信号の関数として制御信号および／またはデータ信号を出力する電気機器として理解することができる。この装置は、ハードウェアおよび／またはソフトウェアに関して構成されたインターフェイスを備えていてもよい。ハードウェアに関して構成されている場合、インターフェイスは、例えば、装置の種々異なる機能を含む、いわゆる「システムＡＳＩＣ」の一部であってもよい。しかしながら、インターフェイスは、固有の集積回路であるか、または少なくとも部分的に個別のディスクリート部品からなっていることも可能である。ソフトウェアに関して構成されている場合には、インターフェイスは、例えば、他のソフトウェアモジュールと共にマイクロコントローラに設けられているソフトウェアモジュールであってもよい。
【００１９】
機械読取可能な担体またはメモリ媒体、例えば半導体メモリ、ハードディスクメモリ、または光学メモリなどに保存されていてもよいコンピュータプログラム製品、またはプログラムコードを備えるコンピュータプログラム、特にプログラム製品またはプログラムがコンピュータまたは装置で実施される場合に上記いずれかの実施形態にしたがって方法ステップを実施、実行および／または制御するために使用されるコンピュータプログラム製品、またはプログラムコードを備えるコンピュータプログラムも有利である。
【００２０】
本発明の実施例を図面に示し、以下の説明で詳述する。
【図面の簡単な説明】
【００２１】
【図１】一実施形態によるテスト応答を供給するための装置を示すブロック図である。
【図２】一実施形態によるテスト応答を供給するための方法を示すフロー図である。
【図３】一実施形態によるテスト応答を供給するための装置を備える同期式の直列データバスを示す図である。
【図４】一実施形態によるテスト応答を供給するための装置を示す図である。
【発明を実施するための形態】
【００２２】
以下の本発明の好ましい実施例の説明では、異なる図面に示した同様に作用する要素については同じまたは類似の符号を用い、これらの要素については繰り返し説明しない。
【００２３】
図１は、一実施形態によるテスト応答１０２を供給するための装置１００のブロック図を示す。装置１００は、監視装置１０４および出力装置１０６を備える。監視装置１０４は、同期式の直列データバス１１０のコマンド経路１０８に接続されている。データバス１１０はマスタユニット１１２と、マスタユニット１１２に対して階層的に下位のスレーブユニット１１４とを相互接続している。データバス１１０は、コマンド経路１０８の他に少なくとも１つの応答経路１１６を備える。コマンド経路１０８を介して、マスタユニット１１２はスレーブユニット１１４にコマンド１１８を送信する。応答経路１１６を介して、スレーブユニット１１４はコマンド１１８に応答する。監視装置１０４は、マスタユニット１１２の所定のコマンド１１８を検出するために、コマンド経路１０８におけるコマンド１１８のコマンドビット列１２０を監視するように構成されている。コマンド１１８に対応するコマンドビット列１２０の検出時にトリガ情報１２２が準備される。
【００２４】
出力装置１０６は応答経路１１６に組み込まれており、トリガ情報１２２に応答して、データバス１１０の応答経路１１６においてテスト応答１０２を準備するように構成されている。テスト応答１０２は、短期メモリ１２４においてあらかじめ定義されている応答規則１２６を使用して準備される。応答規則１２６はビット毎に短期メモリ１２４から読み出される。テスト応答１０２は応答ビット列１２８を備える。特に、応答規則１２６の長さは応答ビット列１２８の長さに相当する。テスト応答１０２は、マスタユニット１１２の機能をテストするように構成されている。
【００２５】
マスタユニット１１２の反応は、データバス１１０の経路１０８，１１６を監視することによって検出することができる。例えば、スレーブユニット１１４はセンサであってもよい。この場合、テスト応答１０２は、センサによって測定された値を、センサがこの値を実際には全く測定していないにもかかわらず、模倣することができる。模倣される値は、例えば、コマンド経路１０８において他のコマンドをトリガするための閾値より小さくてもよい。マスタユニット１１２が規定どおりに機能している場合には、他のコマンドは出力されない。マスタユニット１１２が誤作動した場合には、例えば、模倣値が低すぎるのにもかかわらず他のコマンドが出力されるか、または誤ったコマンドが出力される場合がある。同様に、模倣値は閾値より大きい場合もある。この場合、マスタユニット１１２は、規定どおりに作動している場合には他のコマンドを出力する。マスタユニット１１２が誤作動した場合には、例えばコマンドが出力されないこともある。
【００２６】
一実施形態では、テスト応答１０２はコマンド１１８に対するスレーブユニット１１４の応答１３０を使用して準備される。この場合、例えば、応答規則１２６は、応答ビット列１２８を得るためには、どの場所で応答１３０のビット列を変更することが望ましいかを定義する。
【００２７】
マスタユニット１１２は、データバス１１０を介してスレーブユニット１１４に同じコマンド１１８を周期的に送信することができる。この場合、応答規則１２６を使用して応答１３０のビット列を毎回同じように変更することができる。
【００２８】
テスト応答１０２が変更されることが望ましい場合には、他の応答規則１３２が必要とされる。一実施形態では、装置１００は短期メモリ１２４に書き込むためのユニット１３４を備える。書き込むためのユニット１３４は、他の応答規則１３２を短期メモリ１２４に書き込むように構成されている。書込みは、トリガ情報１２２に応答して行うことができる。ユニット１３４は、テスト規則１３５を使用して他の応答規則１３２を生成する。テスト規則１３６は、検査したいコマンド１１８に合わせて特別に調整されている。テスト規則１３６は装置１００の構成メモリ１３８に保存されている。
【００２９】
書込みはビット毎に行ってもよい。この場合、他の応答規則１２の第１ビットを短期メモリ１２４に書き込むことができ、応答規則１２６の第１ビットは短期メモリ１２４から読み出される。特に短期メモリ１２４はレジスタであってもよく、レジスタは入力側から書込み可能であり、出力側で読出し可能である。
【００３０】
図２は、一実施形態によるテスト応答を供給する方法２００のフロー図を示す。方法２００は、例えば図１に示した装置で実施してもよい。方法２００は、監視するステップ２０２および準備するステップ２０４を備える。テスト応答は、同期式の直列データバスのマスタユニットの機能を検査するように構成されている。このために、監視するステップ２０２において、マスタユニットの所定のコマンドを検出するために、データバスのコマンド経路においてコマンドビット列が監視される。検出に応答して、準備するステップ２０４では、データバスの応答経路においてテスト応答が準備される。テスト応答の応答ビット列は、短期メモリにおいてあらかじめ定義されている応答規則を使用して準備される。
【００３１】
一実施例では、方法２００は、コマンドが検出された後に他の応答規則が短期メモリに書き込まれる書き込むステップ２０６を備える。この場合、テスト規則を使用して他の応答規則が書き込まれる。
【００３２】
図３は、一実施形態によりテスト応答を供給するための装置１００を備える同期式の直列データバス１００の図を示す。装置１００は、図１に示した装置に実質的に対応している。この場合には出力装置１０６のみが示されている。付加的に、装置１００はデータバス１１０と同様に少なくとも１つの他の同期式の直列データバス１１０に接続されており、他のデータバス１１０において同様に他のマスタユニット１１２をテストするためのテスト応答を準備する。特に、４つまでのデータバス１１０を装置１００に接続してもよい。
【００３３】
図１のデータバスに対して付加的に、この場合には少なくとも１つの他のスレーブユニット１１４がデータバス１１０に接続されている。スレーブユニット１１４に個々にアドレス指定することができるように、データバス１１０はアドレス経路３００を備える。したがって、コマンドビット列が同一であったとしても、所定のスレーブユニット１１４にコマンドを割り当てることができる。アドレス経路３００は、所定のスレーブユニット１１４から応答が出力された場合にテスト応答を準備することができるように同様に装置１００によって監視される。
【００３４】
さらにデータバス１１０はクロック経路３０２を備え、このクロック経路を介して全ての関連装置１１２，１１４の通信がデータバス１１０において同期もしくはクロック制御される。テスト応答を同期もしくはクロック制御することができるように、装置１００は、同様にクロック経路３０２に接続されている。
【００３５】
コマンドを検査するためには、装置１００が構成情報３０４によって構成される。構成情報３０４は構成メモリに保存されている。この場合、構成情報３０４は特徴的なビットパターンもしくはテストしたいコマンドのコマンドパターンを表す。さらに、構成情報３０４はビットマスクを表し、どのビットもしくはコマンドビット列を検査することが望ましいかを定義する。この場合、一実施例では、複数の類似のコマンドを検査することができるように、コマンドが部分的にビットパターンもしくはビットマスクにコピーされている。ビットマスクは、コマンドビット列のデータワードにわたって分配された複数の検査窓を定義することができ、検査窓内のビットは、コマンドを検出するために検査される。換言すれば、ビットマスクは、コマンドビット列の少なくとも１つの検査したい部分を定義する。
【００３６】
一実施例では、構成情報３０４は、どのデータバス１１０を検査すべきであるかを決定するためにバスの番号を含む。さらに構成情報３０４は、応答経路１１６において応答を変更することが望ましいスレーブユニット１１４のアドレスを含んでいてもよい。
【００３７】
さらに、構成情報３０４は操作データおよび操作モードを含む。操作データは、テスト応答を準備するための、もしくは順次に準備すべきテスト応答の順序を準備するための応答規則の一部を表す。この場合、操作データ内には、１つ以上の完全なテスト応答が保存されていてもよい。同様に、スレーブユニット１１４の応答の変更したい個々のビットが操作データ内に保存されていてもよい。操作モードは、同様にテスト応答を準備するための応答規則の一部を表す。この場合、操作モードは、テスト応答を準備するために必要なフレーム条件を特徴づける。
【００３８】
換言すれば、図３はリアルタイムのＳＰＩ操作に基づいたソフトウェアテストのための装置１００を示す。この場合、データバス１１０はＳＰＩバス１１０である。装置１００は、ＳＰＩマニピュレータと呼ぶこともできる。ＳＰＩバス１１０においては、マスタユニット１１２がマスタ１１２と呼ばれ、スレーブユニット１１４がスレーブ１１４と呼ばれる。装置１００には、４つまでの独立したＳＰＩバス１１０が同時に接続されていてもよい。ＳＰＩバス１１０は、クロック経路３０２としてＳＣＬＫもしくはシステムクロックを備える。コマンド経路として、ＳＰＩバス１１０はＭＯＳＩもしくはマスタ・アウト・スレーブ・インを備える。応答経路１１６として、ＳＰＩバス１１０はＭＩＳＯ経路（マスタ・イン・スレーブ・アウト・データ伝送経路と呼ぶこともできる）。ＳＰＩバス１１０のアドレス経路３００は、ＳＳ経路（スレーブセレクト経路と呼ぶこともできる）によってスレーブ毎に形成される。図示の実施例では、したがってＳＰＩバスは第１スレーブ１１４のためのＳＳ１経路および第２スレーブ１１４のためのＳＳ２経路を備える。ＳＰＩマニピュレータ１００はＭＩＳＯ経路に組み込まれている。したがって、スレーブ１１４のＭＩＳＯ（経路）出力部とマスタ１１２のＭＩＳＯ（経路）入力部との直接の接続は存在しない。
【００３９】
ＭＯＳＩ経路を介して、例えば１２０個の異なるコマンドをマスタ１１２からスレーブ１１４に伝送することができる。スレーブ１１４はＭＯＳＩ経路を連続的に監視し、スレーブ１１４に割り当てられたＳＳ経路３００を介してアドレス指定された場合にのみ反応する。
【００４０】
スレーブ１１４がコマンドによってＭＯＳＩ経路においてアドレス指定された場合には、ＭＩＳＯ経路を介して直接にコマンドに対する応答が準備される。応答に適合された誤応答もしくはテスト応答に対するマスタ１１２の反応を分析することができるように、ＳＰＩマニピュレータ１００によって応答が変更もしくは歪曲される。この場合、ビットレベルの精度によりテスト応答に値をコピーすることができ、これらの値は、作動のための閾値としてマスタ１１２内に保存されている。
【００４１】
構成情報３０４として、ＳＰＩバス１１０の場合には、ＳＰＩナンバー、スレーブ・セレクト・ライン、ＳＰＩトリガ・ビット、ＳＰＩトリガ・マスク、および条件付き制御レジスタ（干渉ユニット毎に３２ビット）が保存されている。この場合、ＳＰＩナンバーを介して、接続されているバスのうちどのバスがテストされるのかが定義される。スレーブ・セレクト・ラインを介して、どのスレーブ１１４がテストされることが望ましいのかが定義されている。ＳＰＩトリガ・ビットには、検査したいコマンドのビットパターンが保存されている。ＳＰＩトリガ・マスクには、コマンドを検出するために必要なビット数およびコマンドのビット列内における位置が定義されている。この場合、位置は、ビット列内における複数の場所で定義されていてもよい。
【００４２】
さらに構成情報３０４内には、操作データおよび操作モードが保存されている。
【００４３】
ＳＰＩマニピュレータ１００は、ＳＰＩ・ＭＩＳＯ・ラインもしくは経路においてリアルタイムでデータビットを操作するために用いられる。これにより、ＳＰＩバスラインを介してマイクロコントローラμＣ（ＳＰＩマスタ）１１２とＡＳＩＣ（ＳＰＩスレーブ）１１４との間の通信を行うソフトウェアシステムをビットレベルの精度によりテストすることができる。ここで提案するアプローチによって、制御器の周辺機器設定の変更を回避することができる。周辺機器の設定によってビットレベルの精度によるテストを行うことはほとんどの場合には不可能である。
【００４４】
同じ原則にしたがって、ＳＰＩ・ＭＯＳＩラインを操作するか、またはユニット１２４が二重に設けられている場合には、両方のラインを制御することができる。
【００４５】
ＳＰＩマニピュレータ１００は、ＳＰＩ‐ＭＩＳＯラインもしくは経路においてリアルタイムでデータビットを操作するために用いられる。
【００４６】
図４は、一実施例によるテスト応答１０２を供給するための装置１００の図を示す。装置１００は、図１に示した装置に実質的に対応する。この図には、監視装置１０４および出力装置１０６、ならびに短期メモリ１２４のみが示されている。図示の装置１００は、特に図３の装置の構成部材である。監視装置１０４は、ここでは様々なモジュールを備える。この場合、トリガモジュール４００はコマンド経路１０８においてビット列を監視する。例えば、コマンドは３２ビットの長さである。コマンドを検出するためには、ビット列の最初の１０ビットが監視される。残りのビットは、例えば負荷情報を含む。さらに、トリガモジュールはアドレス経路３００およびクロック経路３０２を監視する。アドレス経路３００において、構成情報で決定されたスレーブユニットがアドレス指定されており、コマンド経路１０８を介して、構成情報で決定された、コマンドを表すビット列が受信された場合には、トリガ信号４０２が準備される。トリガ信号４０２は、マニピュレータ・制御モジュール４０４およびメモリ制御モジュール４０６のために準備される。
【００４７】
トリガ信号４０２が受信され、付加的な条件４０８が満たされた場合には、マニピュレータ制御モジュール４０４において、短期メモリ１２４のためのトリガ情報１２２が出力される。例えば、データバスおよびデータバスのコマンドを様々なコンテクストで使用することができる。正しいコンテクストが提供されている場合には、付加的な条件４０８によってテスト応答１０２を準備することができ、誤ったコンテクストが提供されている場合にはテスト応答１０２を差し控えることができる。
【００４８】
メモリ制御モジュール４０６を介してバッファメモリ４１０，４１２，４１４が制御される。バッファメモリ４１０，４１２，４１４は、この場合、図１の短期メモリ１２４に書き込むためのユニット１３４に対応している。バッファメモリ４１０，４１２，４１４は、この場合にはＦＩＦＯメモリとして作動され、まずバッファメモリ４１０，４１２，４１４に読み込まれた情報が再び読み出される。バッファメモリ４１０，４１２，４１４は、メモリ制御モジュール４０６の読出し信号４１６を介して制御される。読出し信号４１６は、包括的な開始信号４１８または外部の開始信号４２０が読み込まれており、トリガ信号５０２が受信された場合にメモリ制御モジュール４０６によって準備される。
【００４９】
この場合、第１バッファメモリ４１０には操作モジュールが保存されている。第１バッファメモリ４１０を読み出す場合には、読出し信号４１６に応答して時間トリガ４２２および／またはメモリ制御モジュール４０６が制御される。
【００５０】
第２バッファメモリ４１２および第３バッファメモリ４１４には、短期メモリ１２４に次にリロードすべき応答規則１３２があらかじめ保存されている。読出し信号４１６に応答して、第２バッファメモリ４１２および第３バッファメモリ４１４の内容が短期メモリ１２４に移動される。トリガ情報１２２などの読出し信号４１６はトリガ信号４０２に依存しているので、バッファメモリ４１２，４１４が読み出された場合には、バッファメモリ１２４は既に空になっている。この場合、第２バッファメモリ４１２には、次の応答規則１３２の制御情報４２４が保存されている。第３バッファメモリ４１４には次の応答規則１３２のデータ情報４２６が保存されている。この場合、制御情報４２４は、出力装置１０６を制御するための制御ビット４２８のビット列を表す。この場合、データ情報４２６は、出力装置１０６を制御するためのデータビット４３０のビット列を表す。
【００５１】
短期メモリ１２４は、この場合には３２ビット・シフトレジスタである。制御情報４２４のためには、短期メモリ１２４は３２ビッ・制御・シフトレジスタを備える。データ情報４２６のためには、短期メモリは３２ビット・データ・シフトレジスタを備える。
【００５２】
出力装置１０６は、４ビット対１ビットのマルチプレクサ１０６である。マルチプレクサ１０６は、テスト応答１０２として出力されたそれぞれのビットについて、それぞれ制御ビット４２８およびデータビット４３０によって制御される。マルチプレクサ１０６の４つの入力部には、アドレス指定されたスレーブユニットの応答１３０を備える応答経路１１６、アドレス指定されたスレーブユニットの反転された応答を備える反転された応答経路４３２、論理値０および論理値１が隣接している。
【００５３】
制御ビット４２８およびデータビット４３０が０である場合には、テスト応答１０２として応答１３０のそれぞれのビットが出力される。制御ビット４２８が０であり、データビット４３０が１である場合には、テスト応答１０２として、反転された応答のそれぞれのビットが出力される。制御ビット４２８が１であり、データビット４３０が０である場合には、テスト応答１０２として論理値０が出力される。制御ビット４２８およびデータビット４３０が１である場合には、テスト応答１０２として論理値１が出力される。
【００５４】
ＳＰＩマニピュレータ１００の基本思想は、２つのシフトレジスタ１２４の最上位ビットＭＳＢによって制御される４ビット対１ビットのマルチプレクサ１０６に基づいている。シフトレジスタ１２４は、既知のＳＰＩパターンでは、ＦＩＦＯ制御およびデータ４１２、４１４の値によってプレロードされており、それぞれのＳＰＩクロックによって１ビットだけ先にシフトもしくは移動される。ＭＩＳＯライン１１６もしくは経路の操作は、ＳＰＩパターンの検出後に次のビットにより始まる。それぞれの新しいＳＰＩコマンドによって、両方のシフトレジスタ１２４が消去される。したがって、ＳＰＩパターンが検出されていない場合には、ＭＩＳＯビットは操作されないまま保持される。
【００５５】
ＳＰＩ操作モジュール１００は干渉されるべきＰＩコマンドを検出し、選択された４つのモードに応じて３つのＦＩＦＯ４１０，４１２，４１４の同期的な読取りを制御する。複数のＳＰＩコマンドが同時に操作されることが望ましい場合には、このためにそれぞれ多数のＳＰＩ操作モジュールを使用することができる。
【００５６】
制御ＦＩＦＯ４１２およびデータＦＩＦＯ４１４は、例えば３２ビットの幅および深さ５１２の書込みを備える。制御ＦＩＦＯ４１２およびデータＦＩＦＯ４１４は、４ビット対１ビットのマルチプレクサ１０６を制御するための操作データを含む。
【００５７】
モードＦＩＦＯ４１０は、例えば幅３２ビットおよび深さ５１２の書込みを備える。ビット３１〜ビット２８は、どのような条件で３つのＦＩＦＯ４１０，４１２，４１４の次の読取りを行うかを決定するモードを含む。ビット２７〜ビット０は、タイマーのためのプレロード値を含む。これらのビットは、タイマーモードのためにのみ重要である。
【００５８】
ＳＰＩトリガモードでは、検出されたそれぞれのＳＰＩパターンにしたがって、３つのＦＩＦＯ４１０，４１２，４１４の読取りが行われる。タイマートリガモードでは、２８ビットタイマーが作動している場合にＦＩＦＯ４１０，４１２，４１４が読み取られる。この場合、同時に新しいタイマー値がロードされる。これにより、設定可能な操作時間が得られる。包括的トリガモードでは、ＦＩＦＯの読取りは、全てのＳＰＩ操作モジュールの所定の結果に基づいて同時に行われる。ＦＩＦＯ４１０，４１２，４１４への書込みがＰＣによってもあらかじめ行われた後に、外部トリガモードではＦＩＦＯ４１０，４１２，４１４を読み取るためのトリガがＰＣとの相互作用により行われる。これにより、実際の周辺設定を変更することなしに、「仮想周辺」を介して周辺における変更を模倣することができる。
【００５９】
ＦＩＦＯ制御モジュール４０６は、作動しているトリガモードおよび行われたトリガに応じて、いつ３つのＦＩＦＯ４１０，４１２，４１４が新たに読み取られるかを決定する。モードＦＩＦＯ４１０のそれぞれの読取りによって、モードを切り換えることもできる。
【００６０】
ＳＰＩトリガモジュール４００は、ＳＰＩにおいて任意のパターンを検出するために用いられる。これは、２つの３２ビットトレジスタによって行われる。マスクレジスタは、関連するビットのために「１」を含む。パターンレジスタは、ＭＯＳＩライン１０８に対して検査されるべきビットを含む。両方のレジスタは、ＳＰＩパルス３０２において左方向にシフトされ、「０」が補充される。マスクレジスタにおいて全てのビットが０値を有する場合には、このパターンは検出されたとみなされ、トリガ４０２がモジュールＦＩＦＯ制御部４０６およびマニピュレータ制御部４０４に送信される。
【００６１】
タイマー・トリガモジュール４２２は、μＳタイマーの作動後にＦＩＦＯ制御モジュール４０６にトリガを送信する。これにより、ＦＩＦＯ４１０，４１２，４１４が新たに読み取られ、ひいては新しいタイマー値がプレロードされる。
【００６２】
マニピュレータ・制御モジュール４０４は、ＦＩＦＯ４１２，４１４の出力部に印可されている干渉パターン１３２がいつ両方のシフトレジスタ１２４にコピーされるかを決定する。しかしながら、コピーは条件付き制御４０８が論理値「１」である場合にのみ行われる。条件付き制御の条件は、ＭＯＳＩライン１０８におけるＳＰＩパターンの検出が一義的ではない場合、またはシステムにおいて他の条件が満たされる必要がある場合に使用することができる。このために、１つ以上の干渉ユニットが適切に構成されている場合に反応することができる条件を生成する付加的なモジュールが形成される。
【００６３】
実施例が、第１の特徴と第２の特徴との間に「および／または」の接続詞を含む場合には、この実施例は、ある実施形態では第１の特徴および第２の特徴の両方を備えており、別の実施形態では第１の特徴のみ、または第２の特徴のみを備えていると読み取られるべきである。
【図１】
0006550149.tif 000002
【図２】
0006550149.tif 000003
【図３】
0006550149.tif 000004
【図４】
0006550149.tif 000005