(57)【要約】  シリアルバスの試験機器のための電子装置は、シリアルバスを別個のプロセッサに管理される別個のレイヤに分類する一の普遍的なバスモデルを用いる。前記プロセッサはパラメータを有し、このパラメータは一つのタイプのシリアルバスを介して通信するようにプログラムされることができ、又は別のタイプのシリアルバスを介して通信するように再プログラムされることができる。
2005536789.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なるタイプのシリアルバスをエミュレーションするシステムであって、
一つの汎用的バスモデルの複数の異なる通信レイヤを処理する複数の構成要素を有し、
前記複数の構成要素のそれぞれが、データ入力部でデータを受け取り、前記データに対する処理工程を実施し、データ出力部でデータを出力し、
少なくとも一つの前記複数の構成要素が、該構成要素を複数の異なるタイプのシリアルバスとインタラクトするように構成するための調整可能なセッティングを少なくとも一つ有するシステム。
【請求項２】
少なくとも一つの前記複数の構成要素が、そのデータ入力部から受け取ったデータの予期された動作の記録を少なくとも一つ更に有する請求項１に記載のシステム。
【請求項３】
前記少なくとも一つの前記複数の構成要素が、その入力データの予期された動作と合致しない入力データの現実の動作に応じて失敗の合図を送る手段を更に有する請求項２に記載のシステム。
【請求項４】
少なくとも一つの調整可能なセッティングを変更することによりフォルトインジェクションを行う手段を更に有する請求項１に記載のシステム。
【請求項５】
前記複数の構成要素の少なくとも一つが、シリアルバスからの入力ハンドシェイク情報を受信するハンドシェイク入力部を更に有する請求項１に記載のシステム。
【請求項６】
前記複数の構成要素の少なくとも一つが、前記ハンドシェイク情報に応じて取るべきアクションの記録を更に有する請求項５に記載のシステム。
【請求項７】
前記複数の構成要素の少なくとも一つが、そのデータ入力部で受信した入力データのハンドシェイク情報を検出する手段を更に有する請求項６に記載のシステム。
【請求項８】
前記複数の構成要素の少なくとも一つが、シリアルバスに出力ハンドシェイク情報を供給するハンドシェイク出力部を更に有する請求項１に記載のシステム。
【請求項９】
前記複数の構成要素の少なくとも一つが、他の前記複数の構成要素に搬送される事象を少なくとも一つ生成する請求項１に記載のシステム。
【請求項１０】
前記複数の構成要素の少なくとも一つが、現実のシリアルバスを動作させる電気回路として少なくとも部分的に実行される請求項１に記載のシステム。
【請求項１１】
前記複数の構成要素の少なくとも一つが、現実のシリアルバスを動作させるソフトウエア構成要素として少なくとも部分的に実行される請求項１に記載のシステム。
【請求項１２】
前記複数の構成要素の少なくとも一つが、ソフトウエアでシミュレーションされたシリアルバスを動作させるソフトウエア構成要素として少なくとも部分的に実行される請求項１に記載のシステム。
【請求項１３】
前記複数の構成要素が、シリアルバスに出力されるデータを処理する第一の複数の構成要素と前記シリアルバスから入力されるデータを処理する第二の複数の構成要素とを備え、
前記第一の複数の構成要素のそれぞれが前記バスモデルの異なる通信レイヤを処理し、前記第二の複数の構成要素のそれぞれが前記バスモデルの異なる通信レイヤを処理する請求項１に記載のシステム。
【請求項１４】
異なるタイプのシリアルバスを動作させる電子装置であって、
出力シリアルバス信号を示唆するデータを受信するデータ入力部と該データに応じて前記出力シリアルバス信号を供給する出力部とを備えるアナログドライバと、
入力シリアルバス信号を受信する入力部と該入力シリアルバス信号を示唆するデータを供給する出力部とを備えるアナログレシーバと、
前記アナログドライバと前記アナログレシーバとに接続された複数のプロセッサと、を有し、
前記複数のプロセッサのそれぞれが入力及び出力方向の少なくとも一方において異なるレベルのシリアルバス通信を処理し、
前記複数のプロセッサのそれぞれがデータ入力部でデータを受信し、該データに処理工程を実行し、データ出力部からデータを出力するように設定されており、
前記複数のプロセッサのそれぞれが該プロセッサを複数の異なるタイプのシリアルバスとインタラクトするよう構成する少なくとも一つの調整可能なセッティングを有している電子装置。
【請求項１５】
異なる値に対し調整可能なそれぞれのセッティングを少なくとも一つ確立することが、前記電子装置に複数の異なるタイプのいずれのシリアルバスにおける機器をも動作させることを可能にする請求項１４に記載の電子装置。
【請求項１６】
前記複数のプロセッサは、前記アナログドライバに適用される出力データを組み立てるためにデータを処理する第一の複数のプロセッサと、前記アナログレシーバからの信号を前記メモリに記憶させるために処理する第二の複数のプロセッサと、を有する請求項１４に記載の電子装置。
【請求項１７】
前記第一の複数のプロセッサが出力データに関するシリアル通信のレベルを処理し、
前記第二の複数のプロセッサが入力データに関する略同じレベルのシリアル通信を処理する請求項１６に記載の電子装置。
【請求項１８】
前記アナログドライバが第一のアナログドライバであり、
シリアルバスにクロック信号を供給する第二のアナログドライバと、前記クロック信号のタイミング特性を制御する前記第二のアナログドライバに接続された出力部を備える少なくとも一つの追加のプロセッサと、を更に有する請求項１４に記載の電子装置。
【請求項１９】
前記アナログレシーバが第一のアナログレシーバであり、
シリアルバスからクロック信号を受信する第二のアナログレシーバと、
前記クロック信号のタイミング特性を解釈する前記第二のアナログレシーバを備える少なくとも一つの追加のプロセッサと、を更に有する請求項１４に記載の電子装置。
【請求項２０】
前記アナログドライバが第一のアナログドライバであり、シリアルバスにエンベロープ及び同期出力信号を供給する少なくとも一つの第二のアナログドライバと、前記エンベロープ及び同期出力信号の少なくとも一つの特性を制御する少なくとも一つの追加のアナログドライバのそれぞれに接続された出力部を備える少なくとも一つの追加のプロセッサと、を更に有する請求項１４に記載の電子装置。
【請求項２１】
前記アナログレシーバが第一のアナログレシーバであり、シリアルバスから少なくとも一つのエンベロープ及び同期出力信号を受信する少なくとも一つの第二の追加のアナログレシーバと、
前記少なくとも一つのエンベロープ及び同期出力信号の特性を解釈する前記第二の追加のアナログレシーバに接続する入力部を備える少なくとも一つの追加のプロセッサと、を更に有する請求項１４に記載の電子装置。
【請求項２２】
前記アナログドライバが第一のアナログドライバであり、
出力ハンドシェイク信号を供給する他のアナログドライバを更に有する請求項１４に記載の電子装置。
【請求項２３】
前記アナログレシーバが第一のアナログレシーバであり、
入力ハンドシェイク信号を受信する他のアナログレシーバを更に有する請求項２２に記載の電子装置。
【請求項２４】
入力ハンドシェイク信号を受信する前記他のアナログレシーバが、
ハンドシェイク情報を搬送する前記複数のプロセッサの少なくとも一つと接続する出力部を備える請求項２３に記載の電子装置。
【請求項２５】
前記複数のプロセッサの少なくとも一つがハンドシェイク信号を供給する出力部を備え、
前記ハンドシェイク信号のそれぞれを受信する少なくとも一つの入力部と、出力ハンドシェイク信号を供給する前記他のアナログドライバに接続された出力部とを備えるハンドシェイクプロセッサを更に有する請求項２３に記載の電子装置。
【請求項２６】
前記ハンドシェイクプロセッサが、入力ハンドシェイク信号を受信する前記他のアナログレシーバの前記出力部に接続する追加の入力部を備える請求項２３に記載の電子装置。
【請求項２７】
少なくとも一つの前記複数のプロセッサが、それが管理するシリアルバスの特性と関連した事象を特定する出力部を備え、
少なくとも一つの前記複数のプロセッサが、前記複数のプロセッサのうち少なくとも別の一つにより出力された事象を受信する入力部を備える請求項１４に記載の電子装置。
【請求項２８】
前記複数のプロセッサの個別のプロセッサ間で事象を通信させる事象バスを更に有する請求項１４に記載の電子装置。
【請求項２９】
前記事象バスは、計測、割り込み及び制御信号のいずれとも通信する外部の機器と接続可能である請求項２８に記載の電子装置。
【請求項３０】
ハンドシェイク信号を処理するハンドシェイクプロセッサを更に備え、
前記事象バスにより通信された前記事象はハンドシェイク信号を有する請求項２８に記載の電子装置。
【請求項３１】
様々な異なるタイプのシリアルバスのための機器を試験する方法であって、
前記機器を動作させるシリアルバスの特性に関連したパラメータを特定すること、
前記特定されたパラメータを複数のプロセッサにプログラムすること、及び
前記プログラムされたパラメータで前記機器を実行することを含み、
前記複数のプロセッサのそれぞれがシリアルバスプロトコルの異なるレイヤを処理すると共に、異なるパラメータを使用して異なるシリアルバスのためにプロトコルを特定する方法。
【請求項３２】
前記特定するステップが、予め記憶されている関連するパラメータを有するシリアルバスタイプの一群の一つを認定することを含む請求項３１に記載の方法。
【請求項３３】
前記特定するステップが少なくとも一つの前記パラメータを変化させることを含み、予め記憶されている関連するパラメータを備え前記シリアルバスタイプと近似し非同一のバスのための機器を適合させる請求項に３２記載の方法。
【請求項３４】
前記機器を実行するステップが、名目値から前記パラメータの少なくとも一つに変化させることによりフォルトインジェクションを行うことを含む請求項３１に記載の方法。
【請求項３５】
前記機器を実行するステップは、失敗が発生したか否かを決定するため前記複数のプロセッサの少なくとも一つが該プロセッサに供給された入力データを予期した動作と比較することを含む請求項３１に記載の方法。
【請求項３６】
前記機器を実行するステップは、失敗を報告したプロセッサの出所に応じて該失敗を分類することを更に含む請求項３５に記載の方法。
【請求項３７】
異なるプロセッサは異なるパラメータを有し、前記機器を実行するステップが
その仕様のマージンに近い機器の動作を試験するため前記パラメータの少なくとも一つを名目値から変化させることを含む請求項３１に記載の方法。
【請求項３８】
前記機器を実行するステップは、
少なくとも一つのプロセッサがその入力データでの状態を示唆する出力を生成すること、及び
前記少なくとも一つのプロセッサにより実行される活動を決定するため前記状態を示唆する前記出力を監視することを含む請求項３１に記載の方法。
【請求項３９】
複数の異なるタイプのシリアルバスをエミュレーションする方法であって、
シリアルバス通信を複数の通信レイヤを含むように表すこと、
独立したプロセッサで前記複数の通信レイヤのそれぞれのためシリアルバスデータを処理すること、
異なるタイプのシリアルバスとインタラクトするため前記独立したプロセッサの複数のセッティングを調整すること、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して電子部品のための自動試験装置に関し、より詳しくは、幅広い種々のタイプのシリアルバスをシミュレーションし、エミュレーションし又は試験することに適用可能な機器に関する。
【背景技術】
【０００２】
シリアル接続は、デジタルシステムの電子通信部間の通信に関しよく知られた方法である。デジタルシリアル接続では、トランスミッタは、ワイヤ、光ファイバ又は他の伝達媒体を介してオリジナルデータを受信し再構築するレシーバにデータを送信する。このシリアルデータ連結は、プログラムコード、制御信号等のみならず静的な情報も含むいかなる種類のデータの通信に対しても用いることが可能である。
【０００３】
「シリアルバス」は、通信のためのストラクチャ（すなわち媒体、符号化、データ形式、スピードなど）を規定するデジタルシリアル接続である。これは単一データ信号を用いて通信を行うため、シリアルバスは、システムの異なる部分を相互接続するワイヤの数を減らすことが望ましいアプリケーションにおいて一般的である。これらのアプリケーションには、デジタル電話通信のような長距離通信、飛行機や自動車内にあるような重さを最小限にすることが望まれるアプリケーションと、ごく少数のワイヤ又はごく少数の接触しか持たない小さなコネクタを使用することが望まれるアプリケーションとが含まれる。
【０００４】
シリアルバスは、デジタルデータを取得し、これを順番に並べ、要求される場合にはエラー検出及び補正のために内容を付加し、（主としてコスト、ノイズ耐性、電力などを最大限に利用するため）前記データで何らかの方法により信号を変調し、同様の媒体を介して前記データを送信することを一般的に伴うものである。データを受信するときは反対のプロセスが基本的に行われる。これらの機能を実行する方法は膨大である。多数の標準的シリアルバス、加えて使用されている多数のアプリケーション特定のシリアルバスが、このアプローチの柔軟性を証明している。
【０００５】
単一データ信号に加え、シリアルバスは非データサポート信号も用いる。これらの信号はデータの送信をサポートするが、実質的に送信中のデータを構成しない。これらの非データ信号は、
・  ハンドシェイク信号――データの用意ができていることやデータをもう受け取ることが出来ないこと、又は伝送が始まりつつあるか終了しつつあるかをトランスミッタとレシーバとの間に合図することによってデータフローを調整する専用の信号
・  クロック――データのためのタイミング情報を提供する信号、即ちこれらはバス上のシンボルが一定になったとき又は受け取りの準備ができたときに資格を得る。クロックはまた、データが伝送の準備ができている又はいないときにオンオフ動作することによってハンドシェイクの機能も果たす。
【０００６】
・  同期信号――データ伝送の開始（時として終了）を指示する用途が限定されたハンドシェイク信号
・  エンベロープ信号――伝送の期間中データが有効であるとき合図する、用途が限定されたハンドシェイク信号
を通例含んでいる。
【０００７】
空中を介した又は空間を介したワイヤレス伝送は、ここではシリアル伝送とみなされることに注意されたい。１つのシンボルにおいて１ビット（データの最小単位）より多くのデータを符号化するものは、我々のシリアルバスの定義に包含される。これらの例においてシンボルの符号化は必然的に非バイナリである、即ち１つのシンボルにあるビットは変動する振幅、位相、又は周波数に象徴される。複数のシンボルが１つの信号を介して送信される限り、これらのシンボルを送信するバスはシリアルバスとみなされ得る。
【０００８】
非常に多数の異なるシリアルバスが今日では使用されているが、これらの多くがただ１つのアプリケーションのために開発されている。現代の航空機は、何百事例ものシリアルバス及びたくさんの異なるタイプのシリアルバスを用いている。自動車又は固定プラント（例えば核エネルギープラント）のような他の大きなシステムも同様である。異なるバスは、データの符号化、データ伝送のタイミングの決定、合図及び制御の供給、エラー検出及び補正の提供、そして媒体を介したデータ信号の変調について、しばしば異なる方法を持つものである。いくつかのバスは単方向性であるが、他のバスは双方向性である。いくつかのバスはポイントツーポイントであるが、他のバスはマルチドロップである。いくつかのバスはハンドシェイク、エンベロープ、又は同期信号を持つが、他のバスはシリアルデータストリーム内でこれらの機能の全てについて符号化を行う。いくつかのバスはただ単純なデータ伝送を提供するが、他のバスはその定義に応答時間、コリジョン検出及び回避、エラーの再試行そして複数端末送信のようなより高い機能を包含させる。
【０００９】
この様々なバスタイプ及び特徴によって、シリアルバスの制御、試験、及びメンテナンスの標準化について現実的な問題が引き起こされている。複数のシリアルバスは多くの複合システムの要を形成するため、これらのシリアルバスを監視し制御することはこれらがその一部を構成するシステムを監視し制御する主要な方法となっている。我々は、種々のバスをインターフェースさせる普遍性のための要求を認識し、問題の現状は次のように要約することができると確信している。
【００１０】
・  複合システムは、多くの実体とシリアルバスのタイプとを含んでいる。
【００１１】
・  何百もの標準化されたシリアルバスと、無数のカスタムシリアルバスとが今日使用されている。
【００１２】
・  複合システムを試験し、デバグし、制御するためにこれらのバスを制御することが望まれている。
【００１３】
・  我々が把握している機器又は回路では少数のバスのバリエーションより多くのものとインターフェースすることができず、いかなる機器も少数のバスのタイプより多くのものを制御するために要求される性能を有していないように思われる。
【００１４】
・  その結果、複合システムは何十もの異なる独立したシリアルバスインターフェースを一般に組み入れている。
【００１５】
・  非標準のバスは、構築にかなりの時間と費用を要するカスタムインターフェースをしばしば必要とする。
【００１６】
我々は、高く望まれているこの問題に対する解決策は、
・  複数の標準的なシリアルバスを制御でき、
・  カスタムインターフェースを構築するという要件なしで、複数のカスタムシリアルバスを制御するように構成され又はプログラムされることができ、
・  それらのアプリケーションに現在利用できる方法と同じだけ使用が簡単になり得る
回路又は機器であろうと確信するに至った。
【００１７】
現在のところ、異なるタイプのバスとインターフェースするための技術は、(i)アプリケーション特定機器を使用すること、及び(ii)シリアル任意波形生成器を使用することを含んでいる。一つの標準的なバス、即ち多数のアプリケーションで使用される公式の定義を有するバスを制御する最も一般的な方法は、一つの「アプリケーション特定機器」によるものである。一つのアプリケーション特定機器は、特定のタイプのバスを制御するために特別に設計された機器又は他のインターフェースである。多数のこのような機器が、一般に出回っているバスに対して現在利用可能となっている。
【００１８】
アプリケーション特定機器は、概して一つの標準的なバスの限定された一組の定められたバリエーションとインターフェース可能である。例えば、TIA／EIA‐232（即ち、RS‐232）は、一般に受け入れられる複数の作動速度、ワード長さ、作動電圧レベルを有する。RS-232へのアプリケーション特定機器のほとんどが、限定された一組のこれらのバリエーションを許容する代替の構成を有している。これらの機器は予め定められた一組のバリエーションから選択できるにもかかわらず、これらはインターフェースの細かい制御はしない。例えば、RS-422は、より遠い距離と高い伝送速度を可能にする差分信号送信を使用することを除きRS-232と同等である。ゆえに、ある機器はRS-422とRS-232との両方を内蔵し、ユーザに二つのうちの一つを選択させてもよい。しかしながら、このような機器は大幅な仕様変更を許さないであろう。
【００１９】
図１は、一つのアプリケーション特定機器の簡単なブロック図である。データは、定められたバス標準に基づいてそれを処理する機器に流入し流出する。少数のパラメータ（A、B及びC）が静的に指定し、特定のバス特性を選択することができる。
【００２０】
前記アプリケーション特定機器により、使いやすさという利点が与えられる。前記機器は限定された一組のバスをエミュレーションするように設計されているため、セットアップをほとんど必要としない。ユーザは、バスの仕様を心配することなくデータの送受信に集中することができる。加えて、前記アプリケーション特定機器により、ある程度の柔軟性が与えられる。もし機器設計者が複数の利用可能性を予想することができれば、これらを組み込んで設計することが可能となり、ユーザは利用可能なバリエーションから選択することができるようになる。しかしながら、新たな特徴を加えるごとに費用と複雑さが追加されることになる。
【００２１】
これらの利点にも関わらず、アプリケーション特定機器は現実には普遍的ではない。この機器は、設計者が設計のときにエミュレーションすると予想したバスをエミュレーションできるだけである。エミュレーションされるバスが多くなるほど、前記機器は複数の機器と同等になるまで大型化し複雑化する。そして、予期しなかったバリエーションが導入されると、もしそのバリエーションをエミュレーションしなければならない場合には、前記機器を再設計する必要がある。要約すると、アプリケーション特定機器はバスエミュレーションに対する普遍的な解決策を提供しないが、これらは使いやすさのために標準となっている。
【００２２】
現在、シリアル波形の生成における最高の柔軟性は、図２に示された技術によって得られている。一の任意波形生成器２１０は、恐らく複数のシリアルバスに対し最適化されたものであり、その性能限度内においてどの様なシリアルストリームを生成することにも使用することができる。同様に、デジタイザ２１２は、シリアルバスストリームを獲得しそれをデジタルデータの再構築のため保存することに使用可能である。この「Arb/Dig」アプローチは、多数の標準的そしてカスタムシリアルバスに対しデータを生成し及び／又は受け取る能力を有する。これはバス性能にマージンを持たせ得る利点も提供する、即ち、そのソースデータを変化させることによりスピード、電圧レベル及びスルーレートのようなパラメータを制御することができる。
【００２３】
しかしながら、前記Arb/Digアプローチは使用が困難である傾向にある。概してシリアルデータはアナログ波形レベルで設定され、実行されなければならない。加えて、この技術は期待されるものほどには柔軟性はない。例えばワード毎のデータビット数に小さな変更を加えると、スクラッチからのアナログ波形全体を再度創作することが必要となる可能性もある。更に、一般にこの技術は非即時応答制御を提供する。データ変換及び解析は一般に前処理及び後処理の間にメモリから生じるため、前記Arb/Digアプローチは本来的にハンドシェイク又は他の即時応答に対して設定されたものではない。加えて、Arb/Dig実行の動作可能な部分は、入力又は出力波形のビット割合で動作し、それゆえ多数の高速電気回路を必要とする。結果として高速電気回路は、より高い費用、より高い電力となってしまう。
【００２４】
望まれているものは、その性能エンベロープ内で、可能性がある全ての（標準の又はカスタムの）シリアルバスをエミュレーションする能力があるバスエミュレータである。これはハンドシェイク、同期、クロック及びそれ以外の制御信号の処理が可能であるべきである。これはまだ開発すらされていないバスのバリエーションの取り扱いに対して柔軟性を有するべきである。このシリアルバスエミュレータは、アプリケーション特定機器と同様に使用が容易であるべきであり、費用効率が良く小型の態様で提供されるべきである。
【発明の概要】
【００２５】
前述の背景を考慮し、本発明の一つの目的は、異なるタイプのシリアルバスに対して試験を実施するために試験装置を容易に構成することができるようにすることである。
【００２６】
他の目的及び利点、並びに前述の目的も達成するため、複数のシリアルバスを試験する機器のための電子装置は、別個のプロセッサによって管理される別個のレイヤにシリアルバスを分類する汎用的バスモデルを用いる。これらのプロセッサは、一つのタイプのシリアルバスを介して通信するためにプログラムされることが可能であり、別のタイプのシリアルバスを介して通信するために再度プログラムされることが可能である。
【発明を実施するための最良の形態】
【００２７】
本発明の更なる目的、利点及び新規な特徴は、次の記載及び図面を参酌することにより明らかになる。
【００２８】
ネットワークにおいて複数の通信プロトコルを複数のレイヤに分類することは一般的である。これらのレイヤはタスク間で若干任意の分割を行い、ネットワークトラフィックを制御する複雑な問題を管理する。最も一般的な実施形態は七階層の開放型システム間相互接続（OSI）モデルと呼ばれている。シリアルバスは一般に複雑さは少ないが、それら自身のレイヤを持っている。本発明は、これらのレイヤの存在を認識し、それらの構造及びインタラクションの汎用的「バスモデル」を創作した。
【００２９】
図３は、本発明による汎用的バスモデル３００の実施形態を示している。バスモデル３００は、シリアルバスを介してデータを送信するためそのデータに行わなければならない複数の動作があるという事実を反映している。データを受信するときは、ほぼ同様の動作が逆に行われる。これらの動作は、単なる「シリアライゼーション」、即ち並列データから直列データへの直接変換よりも細かいものである。全てのバスが示されている全ての動作を有するわけではないが、全てのバスがそれらのうち少なくともいくつかを有している。
【００３０】
簡潔に述べると、データをシリアルバスで送信するためには、そのバスは、データが「ワード」に分類されることを一般に必要とする。いくつかのバスは、「メッセージ」と呼ばれるより高いレベルの複数のワードの分類を有し、これらは次々に「フレーム」に分類することができる。複数のワードは、各々がデータ搬送、エラー補正、同期化、コリジョン検出などのような特定の機能を有する「フィールド」に細分化することができる。これらフィールドのそれぞれが一又はそれ以上の「シンボル」を含んでもよい。各シンボルは、一又はそれ以上のデータビット、又は同期パターンのようないくつかの非データ情報を意味することができる。いくつかのシンボルの形態は、それらの「シーケンス」、即ちそれらに先行する又は次に続くシンボルに依存するシンボル変化の形態に依存することができる。出力データは、伝送の前に「符号化される」ことができる。一のシンボルの論理的表現は次に一の物理的「波形」に変換される。「タイミング」がこの波形に適用され、電圧又は電流のレベルが変調されてシリアルビットストリームを生成する。
【００３１】
シリアルビットストリームを受信するときは、ほぼ同様の一連の動作が逆の順序で起こる。最初に変調が取り除かれる。データがいかなる速さで動いていたかを考慮せずに一連のシンボルを残存させ、タイミングが除去される。各シンボルは、限定された一組の可能性のあるシンボル（一般的にバスタイプに対し特定のシンボル）によって認定される。シーケンス依存は復号化されて取り除かれ、前記シンボルは予期されたフィールドに基づいて分類される。複数のフィールドは予期されたワード形式に基づいて分類される。最後に、複数のワードは複数のメッセージに、複数のメッセージは複数のフレームにアセンブリされる。
【００３２】
送信する及び受信するシリアルデータに関連するこれらの動作の少なくともいくつかは、全てのシリアルバスに対し何らかの方法で間接的に実行される。バスモデル３００は、これらの動作を明確に認識し、そしてそれらを分類し順序付けし、それらの間の関係を明確にする。特に、このバスモデルは、次の機能を果たす。
・  複数のシリアルバス伝送信号をそれらの又は同様の構成要素に細分化する
・  各構成要素に関連する変数を認定する
・  前記構成要素を順序付けし、それらの内部関係を定める
・  幅広い種々のシリアルバスをエミュレーションし、動作させ、シミュレーションし、又は試験するために実行されることがある一のモデルに、この全てのデータをカプセル化する。
各構成要素のための変数のリストは広範囲となし得る。例えば、各フィールドに対しては、シンボルで表した長さ、各フィールドが持つことがあるシンボルのタイプ、各フィールドが搬送する情報のタイプ（データ、エラー補正など）、ワードにおける位置、及びエラー補正をするための演算に寄与するか否かを知ることが要求される。一つのバスは、様々な異なるワードタイプをサポートすることが可能である。複数の異なるワードタイプは、複数の異なるフィールドをサポートすることが可能である。ゆえに、それはワードタイプによって異なるフィールドを定めることも要求されるであろう。
【００３３】
バスモデル３００は、多数の利点を提供する。それは独立した、付加的に設定可能な一つの実体である。それは記憶され読み出されることができ、またそれは編集されることができる。それは抽象概念として又は実行概念としてシミュレーションされることができる。バス特性は付加的に表示でき、又は使いやすさを得るため該特性を標準的なバスの仕様において特定される様々な方法で分類することができる。前記バスモデルは全てのバスの動作特性を限られたモデル内にカプセル化するため、単に一連の事項に応じるのみでカスタムバスに対して一のバスモデルを構築されることが可能である。バスモデルは基本から構築することもできるし、又は別のモデルの観点から、例えば「ワード当たり２０データビットだけのRS-232」のように特定することができる。一のバスモデルは、バスの仕様の複雑さの制御を許容し、特定のバス基準に適用される部分のみ又はユーザが制御しなければならない部分のみを顕在化させる。
【００３４】
全てのバスモデルの特性を全てのバスに適用しなければならないわけではない。例えば、バスによってはシンボルエンコーダにおいて順序依存性を持たないものもある。この場合、前記バスモデルは単にその依存性の欠如を反映しており、即ち「ヌル特性」を示す。
【００３５】
つまり、前記バスモデルは、広範囲なバスの動作を特定するための普遍的なアプローチを提供するという利点を有している。バスの動作は、管理及び理解を容易とするため複数のパラメータに分類することができる。バス動作は付加的に、或いは他のバスと異なるものとして特定することができる。一またはそれ以上のバスパラメータは、そのモデルの他のパラメータ又は他の部分に影響を及ぼさずに、容易にマージンを与えることが可能である。バスの仕様は、バスエミュレータの実行に使用される機器から独立している。特定のシリアルバスのためのパラメータが一旦プログラムされると、そのバスは、まさにあたかもそのインターフェースがそのバスのためにカスタム設計されたようにエミュレーションされることができる。
【００３６】
図４は、前記バスモデルのそれぞれの構成要素に用いられるタイプの一般的なプロセッサ４１０を単純化したブロック図を示している。各プロセッサ４１０は、データを受信するデータ入力部とデータを送信するデータ出力部とを有している。前記バスモデルに対応するレベルに対するバス特性を獲得するため、一群のパラメータ即ち「変数」４１２は各プロセッサに関連付けられている。好適には、各プロセッサ４１０はそれが実行可能なアクション４１４の関連リストを備えている。これらのアクションは、特定の入力データ、ハンドシェイク又は他の制御信号、他のプロセッサで起こっている事象、又は外部機器若しくは器具から生じた事象若しくは要求に応答して取られるアクションを含んでいる。
【００３７】
好ましくは、各プロセッサは、その入力データへのパラメータの一の限られた組を適用すること、及びその出力データを介して結果を送ることにのみ関係する。一つの「プロセッサ」は、ハードウエア、ソフトウエア、又はこの二つの組み合わせとすることが可能である。要はそのプロセッサがそのバスモデルと整合することである。ゆえに、バスモデルで獲得される特性は、前処理の必要なしに前記プロセッサに直接適用することができる。前記バスモデルで獲得された（電圧レベルや速度のような）個々の特性は、他の特性に影響されずに独立して制御することができる。
【００３８】
前記バスモデルは、複数のシリアルバスのための普遍的なエミュレータの仕様を特定するために用いることができる。一のバスモデルは、シリアルバスの構成要素の各特性の特性を特定することによってどんなシリアルバスもエミュレーションすることができる。前記モデルの各構成要素に一のプロセッサを割り当てることにより、どんなシリアルバスも各プロセッサの働きを特定することによってエミュレーションすることができる。
【００３９】
好適な実施形態では、前記バスモデルの各構成要素のためのプロセッサは他の全てのプロセッサから独立している。独立したプロセッサにより前記バスモデルを実行することは多くの利点を与える。
【００４０】
・  高性能を許容する。
【００４１】
・  独立した複数のプロセッサは並列に動作することができ、最高の速度のためシリアルバスストリームをアセンブリし、そして元に戻す。
【００４２】
・  各プロセッサは特定された一組の特性のみに作動し、それを小型化し簡素化させることができる。
【００４３】
・  ただ一つのプロセッサに変更を加えることによってただ一つのパラメータ変更又は「マージンを持たせること」が可能である。
【００４４】
・  各プロセッサはそれが実行する特定の機能のために最適化されることができる。例えば、ワードはシンボルと同じほど速やかに生成する必要がないため、より低速でより廉価な技術を用いて生成することができる。高速で動作しなければならないプロセッサのみが高速に実行することを必要とする。
【００４５】
・  観察能力及び制御力が向上する。プロセッサ間のトラフィックを監視することにより、システムは、新しいシンボルが生成されたとき又は特定のタイプのシンボルが生成されたとき、或いはワードを受信したときなどを同定することができる。これはシステム性能を評価し、エラーを検出する上で有利である。
【００４６】
・  多くのバスはエラーを検出し及び復旧することを必要とする。検出されたエラーを前記バスのその部分を処理するプロセッサと関連付けることにより、エラーは実行可能な最も早い時点において検出することが可能になる。タイミングエラーは、一般に最も速い速度を有するタイミングプロセッサにより早期に検出される。バスコリジョンエラー（不適当な電圧レベル又はシンボル）は、連鎖の終端ではなくレシーバ入力部の近傍で検出される。
【００４７】
・  エラーインジェクション。パラメータを動的に変化させることにより、エラーは連鎖の他のいかなる部分を変化させる必要がなく、連鎖のどの時点においてもインジェクションされる。例えば、スプリアスシンボルはワードアセンブリに影響を与えることなくシンボルエンコーダにインジェクションされる。
【００４８】
好適な実施形態では、各プロセッサは状態を示す装置として実行される。各プロセッサをマルチスレッドコンピュータシステム内の別個のスレッドとして実行することも望まれるであろう。プロセッサは、シリアルバス信号のアナログ特性（例えばアナログ電気回路）に対処する部分を含むこともできる。
【００４９】
図５に示されたように、前記バスモデルは、クロック、同期信号、エンベロープ信号のようなバスの非データ信号を含むように容易に拡張することができる。バスモデルの構成要素への細分化およびそれらの間で定められたインターフェースによって、非データ信号を制御する機能は容易に実行にリンク付けされる。クロック出力は、例えば、タイミング情報が生成されることを必要とするだけであり、そのデータタイミングの前に最終段階にリンクされることのみを必要とする。同様に、エンベロープ又は同期出力は、送信されたワードの始点及び終点の位置の認識を必要とするだけであり、これはフィールドプロセッサ（３１８）からの利用可能な情報である。この情報は、取得されて出力のアナログ特性に基づきピックアップし処理することが可能である。前記バスモデルを実行することを用いれば、情報を追加のプロセッサを介して搬送し、波形を更に変更するか又は送信された信号の処理の遅延の残り部分を適合させることができる。受信側では、前記クロック入力はシンボルが復号化されたときのみに変更され、このためそれはシンボルの復号化のみに影響する。エンベロープ又は同期信号は追加のタイミング情報を単に加えるだけであり、これも同様である。
【００５０】
前記バスモデルは、故にそのバスの非データ部分に適用することができる。このバスモデルは、電圧や負荷サイクルのようなその信号に特有なバスの部分のみを補う必要がある。前記バスモデルの共用部分は、冗長性なしで全てに対し依然として等しく適用される。もしフィールド長さが変更された場合には、クロック及びエンベロープは自動的に拡張されて整合される。仮に入力クロック周波数が変化しても、タイミング情報を認識していない他の段階では変更を必要としない。
【００５１】
前記バスモデルはまた、ハンドシェイク動作の仕様を簡素化する。ハンドシェイク信号はデータが送信されたとき、それが受信されたとき、又はその両方において変更され得る。これらは即時に、又は次のワードにおいて、又は次のフレームにおいて適用することができる。データ交換の種々の側面を制御する複数のハンドシェイク信号も存在し得る。ハンドシェイク信号は単方向又は双方向であることが可能である。ハンドシェイクは、追加の外部信号なしにデータストリームの一部として生じることすらできる。基本的に、データ伝送におけるバリエーションと同じだけ多くの可能なバリエーションがハンドシェイクにおいて存在する。
【００５２】
図６は、いかにして簡単にそして柔軟にハンドシェイクがこのモデルで実行されるかを示している。入力ハンドシェイク情報はアナログレシーバ６４８に受け取られバスモデルの全ての構成要素（３１２−３２６、３３２−３４６）に適用される。出力ハンドシェイク信号は、ハンドシェイク構成要素６２６を通過し、次にアナログドライバ６２８によりシリアルバスに出力される。ハンドシェイク情報は、好ましくは事象バス６５０を介して送信され受信されるが、これは必要とされるものではない。事象バス６５０は、他の構成要素の間だけでなく種々の前記プロセッサ間での通信を促進するが、より詳細に以下で議論される。
【００５３】
一時的に図４に戻って簡単に参照すると、各プロセッサ４１０はそのモデルに付加された別の特性、即ちあるハンドシェイクに応答しプロセッサが行う内容を有している。プロセッサはそれを無視し、中断し、前の構成要素からのいくつかの入力に対し待機し、又は次の構成要素に合図を送ることができる。同様に、一の出力ハンドシェイク信号は前記バスモデルの構成要素のどれからでも情報を受け取ることができる。各構成要素はそのモデルの中で別の特性を備え、それが出力ハンドシェイクに参加するか否か、及び何が出力ハンドシェイクを引き起こすかを特定する。前記構成要素は特定のビットパターン又はフルバッファとすることができるであろう。
【００５４】
前記バスモデルはまた、出力ハンドシェイク構成要素を含めるように拡張される。この方法では、ハンドシェイク動作はバスモデル内で獲得され、ちょうど他のどのバス特性と同じように、独立したプロセッサを用いて実行される。そしてハンドシェイク情報は前記バスモデルのどの構成要素に対しても又はどの構成要素からも供給されるため、いずれのタイプのハンドシェイクも前記バスモデルの任意の部分とインタラクトでき、他のどこでも達成されているハンドシェイクにおける柔軟性の全てを提供する。
【００５５】
図６は、一つの入力ハンドシェイク及び一つの出力ハンドシェイクのみを示しているが、ハンドシェイクの数は要求されるものと同じだけ増やすことができる。同様に、別個の信号というよりむしろデータ信号の一部であるハンドシェイクは、どの構成要素からも出力することができ、同様の方法によってどの構成要素にも入力信号として適用することができる。
【００５６】
バスモデルの異なるレイヤに対して異なるプロセッサを付与することに起因する前述の柔軟性は、ハンドシェイクにも同様に当てはまる。ハンドシェイク情報を使用する構成要素はその出所には無関係である。ハンドシェイク情報を生成する構成要素はその行き先には無関係である。
【００５７】
処理構成要素からの特定の出力信号は便宜的に事象バス６５０内に分類することが可能である。事象バス６５０は、フィールドの始まり、送信されたワードの終わり又は受信メッセージの始まりのような、前記バスモデル内での「事象」の通信を容易とする。前記事象バスは、そのシステムの複雑さを増加させずに構成要素の入力／出力を集約するために用いることができる。
【００５８】
図６は、前記事象バスがどのように用いられるかを示すものである。どの処理構成要素もその出力以上の出力を前記事象バスへ導き、各処理構成要素は前記事象バス全体へアクセスする。
【００５９】
前記バスモデルの要求の役割は、各構成要素が他の構成要素の働きを認知していないという事実に端を発している。これは、何が前記モデルの残りに影響を与えずに一のパラメータを変化させることができるということである。しかし、例え他の構成要素が何をしているかという詳細を知る必要がないとしても、他の構成要素が何らかのことを実行しているときを知ることを必要としている限定された一組の構成要素（それらの実行するハンドシェイク、コリジョン検出、多くの他のものを含む）がある。前記事象バスはその記述及び討議を簡素化する。
【００６０】
前記モデルの実行では、前記事象バスはまた、計測や割り込み等のために事象を使用することができる外部機器に事象をエクスポートするために用いることができる。同様に、事象は外部機器からインポートされることができ、非バス操作によるバス動作の制御を許容する。これは、前記バスが、個別のアナログ及びデジタル機能と前記バスとを統合した複合システムの一部であるときに価値がある。例えば、外部の熱検出器からの警告信号によってバス伝送をトリガすることができる。
【００６１】
好適には、前記バスモデルは、種々の異なるシリアルバスのいずれかとインターフェースする機器に対し試験機能を遂行する試験機器として実装される。前記バスモデルのレイヤ構造は、フォルトインジェクションやマージンを持たせること等の標準的な試験機能を展開するだけでなく、機能試験の記述を容易にする。
【００６２】
フィールド長さ、ワードタイプ、パリティ等のバスパラメータを変更する独立した能力は、容易にフォルトインジェクションを可能とする。フォルトは、一つの事象（一つのワード、一つのシンボル等）のために又は恒久的に変更されたパラメータであるに過ぎない。もしバスの制御ではなく、バスの試験が目的であれば、本発明は本質的にフォルトインジェクションを行う能力を含んでいる。
【００６３】
まさにフォルトインジェクションされる可能性があれば、前記バスモデルは失敗を容易に検出し分類することができる。前記モデルの各構成要素は、他の構成要素からの入力に対して予期される動作のリストを備えている。もし前記入力が前記予期されるリストの一部でない又は誤ったシーケンスでの動作を示した場合は、構成要素はフォルト出力を生成しかねない。各構成要素が限られた独立の機能を実行するので、フォルトはこの機能に基づいて自動的に分類される。例えば、ビットデコーダにより検出されるエラーは、ビットエンコードのエラーである。メッセージアセンブラにより検出されるエラーは、メッセージアセンブリのエラーである。各構成要素は、所望により追加の項目をそのフォルト検出に加えることができるが、前記バスモデルにより与えられる特有のフォルトを固有的に分類化するということが本発明の利点である。
【００６４】
前記モデルはまたフォルトを予期し処理する。初期のバス仕様がフォルト動作とみなすものを包むようにバスモデルを拡張することにより、むしろこの動作を受け入れ受信データ内に包含させることができる。これは、回復することの一部としてデータを破棄することを必要とするモデル外の事象を作るのではなく、より高いレベルのレイヤにフォルトに基づいた特定の働きをさせることを許容する。換言すれば、フォルトは、正常であるがタグ付けされた動作となることができる。もしこのモデルの実行が、ただバスをエミュレーションするのではなく試験として用いられれば、フォルトの予期は、起こることが待たれ、引き起こされたエラーを受け入れることができる。
【００６５】
バスコリジョンのようないくつかのフォルトは、早期の検出と即時の処理とを必要とする。例えばバスコリジョンは、トランスミッタが停止されることを必要とすることがある。本発明における機能の分離は、フォルトを可能な最も早い段階で検出させ、適当なトランスミッタ段階のために（事象バスでのコリジョン事象に基づいて）処理を特定する。もしトランスミッタが即時にトライステートする必要があれば、コリジョン事象が生じたときにトライステートすることはアナログ出力の処理の役目である。それどころかもしバスが現在送信されたワードが終了することを必要とするのであれば、より早い処理構成要素によって同じコリジョン事象が用いられ、現在のワードの終わりで終端する。
【００６６】
前記バスモデルはまた、複数の処理構成要素を巻き込むバス演算パラメータの監視、制御、計測を許容する。図６は、前記バスモデルが容易に許容する監視、制御及び計測の一般的類型の具体例を示している。図６に示したように、前記バスモデルの一部又はある外部機器であることが可能な監視／計測構成要素６６０は、好適には事象バス６５０を介し、トランスミッタタイミングプロセッサ３２６及びレシーバタイミングプロセッサ３４６の両方から入力を受け入れ、二つの間の時間に基づいて計測又は制御を行う。この機能性はトランスミッタ及びレシーバの操作タイミングとは独立したものである。現実に、プロセッサ３２６及び３４６は、その計測に「気づいている」ことさえ必要としない。このように前記バスモデルは、複雑性又は処理構成要素への追加の機能がなくても観測能力及び制御を許容する。
【００６７】
別の実施形態
一つの実施形態を述べてきたが、数多くの別の実施形態又はバリエーションを構成することができる。例えば、特定の明示されたレイヤ（即ちフレーム、メッセージ、ワード等）を有しているバスモデルの特定の形態が示されてはいるが、本発明はこれら特定のレイヤを持つバスモデルに限定されない。前記レイヤの固有性は変更でき、本発明にとって決定的な意味を持つものではない。
【００６８】
更に、バスエミュレータは、示された全ての構成要素を含んでいる必要はない。例えばRS-232は、そのバスプロトコルにフレーム、メッセージ、及びシーケンス依存を使用しない。このため、より簡易でより費用が高価でないRS-232に対するバスエミュレータが、それらの使用されていない構成要素に関連するプロセッサを除外し、費用を省くことができる。
【００６９】
示され説明されたように、前記バスモデルの構成要素は好ましくは「独立した」プロセッサで実行される。これらのプロセッサは、物理的に分離したハードウエア又は分離したソフトウエアプログラムとして実行されることが可能である。「独立した」の定義はここにはないが、しかしながら、異なるプロセッサを同一のチップ上、同一のソフトウエアモジュール内に形成すること、又は特定の共通のハードウエア又はソフトウエアを共用することを防止するものと解釈されるべきである。従って、種々のプロセッサはある独立した機能性を提供するが、これらは物理的に又は構造的に分離されている必要はない。
【００７０】
いくつかのアプリケーションでは、出力及び入力データのためプロセッサを一体化することが有利になることがある。図３に戻って参照すると、出力データのためのフレームプロセッサ３１２は、入力データのためのフレームプロセッサ３３２と一体化することができる。対応する機能を実行する他のプロセッサも同様に一体化することができる。
【００７１】
「シリアルバス」はワイヤ伝送を表すと一般に考えられるが、ここで使用されるこの語はワイヤレス、光ファイバ、RF信号、及び他のタイプの通信をも含んでいる。イーサネット（登録商標）のようなマルチドロップバス、ARINC-629、及びTTPも同様に包含される。「シリアルバス」という言葉はシングルエンド信号を使用するバスのみならず、異なる信号（即ち、対でやって来るが相互に反対に変化する信号）を使用するバスも含む。更に、「シリアルバス」という言葉は、半二重及び全二重バスのみならず、バス単方向性及び双方向性のバスも含む。
図３のバスモデルは、幅及び深度の両方を容易に拡張することができる。これは複数のデータストリームを備えることができ、又はフレーム及びメッセージを超えるより高いデータ編成レイヤを備えることができる。
【００７２】
前記バスモデルは、主としてバスエミュレーション及び試験との関係で説明されてきたが、該モデルは純粋なシミュレーション環境においても用いることができる。例えば、前記バスモデルを具現化する試験装置は、ソフトウエアで部分的又は全体的にシミュレーションされることができ、シリアルバス装置の試験用プログラムの開発を容易にする。
【００７３】
従って、本発明はその好適な実施形態を参照して詳細に示され説明されてきたが、本発明の趣旨及び範囲から外れることなくこの技術における当業者によって形態及び詳細における種々の変更がこれになされることが理解される。
【図面の簡単な説明】
【００７４】
【図１】特定タイプのシリアルバス及び装置を試験する従来技術に基づく、専用試験機器の簡単なブロック図である。
【図２】幅広い複数の異なるシリアルバス及び装置を試験する従来技術に基づく、汎用的試験機器の簡単なブロック図である。
【図３】本発明に基づき、一つのバスモデルを用いて幅広い複数の異なるシリアルバス及び装置を試験する包括的試験機器の簡単なブロック図である。
【図４】図３のバスモデルに見られるようなプロセッサの包括的なブロック図である。
【図５】図３のバスモデルの変形した図であり、クロック、エンベロープ信号及び同期信号を管理する追加の要素を示している。
【図６】図３のバスモデルの変形した図であり、事象バス及び特定のハンドシェイク要素を示している。
【図１】
2005536789.tif 000003
【図２】
2005536789.tif 000004
【図３】
2005536789.tif 000005
【図４】
2005536789.tif 000006
【図５】
2005536789.tif 000007
【図６】
2005536789.tif 000008
【国際調査報告】
2005536789.tif 000009
2005536789.tif 000010