(57)【特許請求の範囲】
【請求項１】
同期バスと物理的に係合するバス延長器を用いて該同期バスを延長する方法であって、前記バス延長器が延長器装置と相互接続部とを備える方法において、
延長器装置を設け、該延長器装置を前記同期バスと物理的に係合させるとともに、任意の長さを有する相互接続部を設け、該相互接続部を介して前記延長器装置をリモート装置に接続し、
前記延長器装置において、前記同期バスから複数のバス信号を受信し、前記相互接続部を介して、リモート装置に前記複数のバス信号をドライブし、
前記延長器装置において、前記リモート装置から前記相互接続部を通してリターン信号を受信し、前記リターン信号は前記相互接続部の長さに関連して変化する整定時間を有し、
前記延長器装置により、少なくとも前記リターン信号の前記整定時間と同じ長さのホールドオフインターバルを確立し、
前記ホールドオフインターバルが経過した後に、前記延長器装置から前記リターン信号を前記同期バスに印加する、
ステップを含む方法。
【請求項２】
前記ホールドオフインターバルを確立するステップは、
前記延長器装置により、リモート装置を起動してリターン信号を生成し、
前記延長器装置により、前記リターン信号が安定するまでサンプリングクロック数をカウントする、
ことを含む請求項１に記載の方法。
【請求項３】
前記リモート装置を起動してリターン信号を生成するステップは、前記リモート装置に読出し命令を発行することを含む請求項２に記載の方法。
【請求項４】
前記ホールドオフインターバルを確立するステップは、前記ホールドオフインターバルを、前記相互接続部の長さの範囲に対応するだけの十分な長さの標準的なインターバルに設定することを含む請求項１に記載の方法。
【請求項５】
前記延長器装置が、
前記延長器装置によって前記同期バスをモニタして、前記リモート装置とのトランザクションを検出し、
前記延長器装置によって、前記リモート装置とのトランザクションを記憶する、
ことをさらに含む請求項１に記載の方法。
【請求項６】
前記モニタするステップにおいて検出されるトランザクションは、前記リモート装置への書込み命令であり、前記トランザクションを記憶するステップは、前記リモート装置の構成を示すレコードを構築することを含む請求項５に記載の方法。
【請求項７】
前記リモート装置は第１のリモート装置であり、
前記第１のリモート装置と第２のリモート装置の一方に、前記リモート装置の構成を示すレコードを復元し、前記第１のリモート装置と前記第２のリモート装置の前記一方を、動作させるために事前調整することをさらに含む請求項６に記載の方法。
【請求項８】
前記同期バスをモニタするステップは、高速応答が要求される前記同期バスに関する条件を検出し、前記リモート装置の代わりに、前記条件を満足するための高速応答を行うことをさらに含む請求項５に記載の方法。
【請求項９】
前記リモート装置への電力を、制御しながら供給および切断することをさらに含む請求項１に記載の方法。
【請求項１０】
同期バスカードの検査を容易にするために、同期バスを延長するバス延長器であって、
前記同期バスに結合される延長器装置と、
前記延長器装置に結合され、被検査ユニット（ＵＵＴ）と係合するように配置されるコネクタまである長さにわたって延在する相互接続部とを備え、
前記延長器装置は、前記相互接続部および前記同期バスに結合されるホールドオフ回路を含み、前記ホールドオフ回路は、
前記相互接続部の長さに基づいて、ホールドオフインターバルを記憶する遅延レジスタと、
前記ホールドオフインターバルが経過するまで、前記ＵＵＴから到達するリターン信号が、前記同期バスにアサートするのを防止するための遅延回路と、
を含むバス延長器。
【請求項１１】
前記ホールドオフ回路は遅延判定回路を備え、該遅延判定回路は、
前記相互接続部に結合され、前記リターン信号が安定するために必要とされるサンプリングクロックの数を判定するために前記リターン信号をサンプリングし、その結果を前記遅延レジスタに記憶する信号サンプラーと、
前記遅延レジスタおよび前記遅延回路に結合され、前記遅延レジスタに記憶された前記サンプリングクロックの数が経過するまで待機し、前記同期バスに前記リターン信号を送出するために、前記遅延回路を起動するストローブ回路と、
を備える請求項１０に記載のバス延長器。
【請求項１２】
前記延長器装置はさらにバススヌーパ回路を備え、該バススヌーパ回路は、
前記同期バスに結合され、前記ＵＵＴとのトランザクションを検出するバスデコーダと、
前記バスデコーダおよびリモートバスインターフェースに結合され、前記ＵＵＴとのトランザクションを記憶するリモート状態メモリと、
を備える請求項１０に記載のバス延長器。
【請求項１３】
前記バスデコーダによって検出されるトランザクションは前記ＵＵＴへの書込み命令であり、前記リモート状態メモリは、前記ＵＵＴの状態を示すレコードを記憶する請求項１０に記載のバス延長器。
【請求項１４】
前記ＵＵＴは第１のＵＵＴであり、前記延長器装置は、前記第１のＵＵＴのための前記レコードを第２のＵＵＴにコピーし、動作させるために前記第２のＵＵＴを事前調整するように構成され、配置される請求項１３に記載のバス延長器。
【請求項１５】
前記同期バスに結合され、高速応答が要求される前記同期バスに関する条件を検出し、前記条件を満足するために高速応答を行うローカル応答生成器をさらに備える請求項１２に記載のバス延長器。
【発明の詳細な説明】
【０００１】
本発明は概括的には自動検査装置に関し、より詳細には、同期バス装置を試験（検査）する自動検査システムにおいて同期バスを延長する方法に関する。
発明の背景
最近のコンピュータシステムは、データを通信するために高速の同期バスを用いる。同期バスは、全てのバス装置に共通のクロックを供給することにより、バス上の動作を調整する。非同期バスは、動作状態を調整するために共通のクロックを用いない。同期バスの例には、ＰＣＩ、ＡＧＰおよびカードバスが含まれる。
【０００２】
電子回路基板の製造業者は、その製品が確実に性能および機能のための要件を満たすように、自動検査装置（「ＡＴＥ」あるいは「テスタ」）を用いる。１つの検査構成では、被検査（検査対象）ユニット（「ＵＵＴ」）が１つあるいは複数のインターフェースコネクタを介してテスタに取り付けられ、テスタは、ＵＵＴの固有の環境を再現することによりＵＵＴを検査する。ＵＵＴ自体が同期バスカードである場合、テスタは、ＵＵＴが接続される完全な同期バスを含むことにより、バス環境を再現することもできる。
【０００３】
同期バスのある特徴によって、同期バスカードのＡＴＥ検査に問題が生じる。同期バスの主な制約は、高速で動作するために、同期バスを短くしておかなければならないことである。３３ＭＨｚ以上で動作する同期バスは、１フィート長以上にされることはほとんどない。同期バスを短くしておく必要があるために、付随する全てのハードウエアおよび冷却装置とともにバス全体が、テスタインターフェース付近の場所に押し込められる。しかしながら、テスタインターフェース周囲の領域は、既に密集している傾向がある。テスタのリソースのうちの大部分のリソースの中心的な場所であることに加えて、テスタインターフェースは典型的には、検査用アダプタ、補助装置、およびＵＵＴを着脱するためのハンドラも含む。それゆえ、同期バスを短くしておく必要性は、テスタインターフェース付近の利用可能な空間の不足と矛盾するようになる。
【０００４】
また同期バスは、障害分離しにくいことから悪影響を受ける傾向がある。１つのカード上の不具合（障害）が他のカード上の不具合として現れる可能性があり、それにより、バス全体が誤動作するようになる可能性がある。正常なＡＴＥのベンチマークによって、障害を分離することができる。大部分の同期バスに共通な障害分離の欠如は、ＡＴＥにおける高い障害分離の要件とまさに両立しない。
【０００５】
同期バスの中には、明示的にリセットすることを必要とすることなく、電力（電源）を供給した状態でバスカードを変更することに対応し、新しいカードの「活性（作動）」を識別することができるものもある（「ホットスワッピング」として知られる機構）。しかしながら、多くのバスは、カードが迅速に変更されるように設定されていない。これらのバスは、カードを差し込むか、あるいは取り出すことができる前に電源を切らなければならず、正常な動作を再開することができる前に、時間をかけてリセットを行わなければならない。ＡＴＥシステムは典型的には、製造ラインのようにして大量のカードを検査する。ホットスワッピングに対応していないバスの場合、カードを交換するための時間がかかる手順に時間を要することは、高いスループットのＡＴＥ要件と両立しない。
【０００６】
図１は、最近のコンピュータシステムにおいて共通に用いられるタイプの同期バスを示しており、同期バスを短くしておくための必要性を示す。クロックドライバ１１２がマスタークロック信号１１４をバッファリングし、個々のバージョンのマスタークロックを、バス１１０にプラグ接続（挿入）された各装置１２２、１２４および１２６上の各クロック受信機１２０に供給する。クロックドライバ１１２は、ほとんどタイミングのずれを生じることなく、全てのスロットにマスタークロック信号１１４を分配する。すなわち、バスの種々のスロット上のクロック信号間にほとんど位相差は現れない。
【０００７】
図１に示されるように、バス１１０上の各装置１２２、１２４および１２６は、データ送信機１１６と、データ受信機１１８と、クロック受信機１２０とを備える。バス１１０は、マルチドロップ、マルチマスター方式に構成され、全ての装置が、バス上の任意の他の装置からデータを送受信できる。たとえば、装置１２２はその送信機１１６を用いて、データ信号を装置１２６に送信することができ、その後、装置１２６は、その受信機１２０を用いて、データ信号を受信することができる。
【０００８】
図１では、「Ｔprop」を、データ信号がバス内を伝搬し、到達するのにかかる時間としている。Ｔpropは、バスの物理的な長さ、そのインピーダンス、バス上の装置のインピーダンス、誘導性および容量性負荷、バス終端を含む多数の要因に関連する有限の遅延である。マスタークロック１１４の周期がＴpropより著しく長い場合には、装置１２２からのデータ信号は、次のクロックエッジの前に、バス内を伝搬し、装置１２６に到達するだけの十分な時間を有する。しかしながら、Ｔpropがクロック周期に近づくか、あるいはそれを超える場合には、装置１２６は、データ信号が安定（セトル：ｓｅｔｔｌｅ）する前にそのクロックエッジを受信し、無効なクロックが発生するようになる。適切に動作させるために、Ｔpropはクロック周期より常に短くしなければならない。Ｔpropがクロック周期より短いという要件の実用上の結果は、非常に高速の同期バスが非常に短くされるという結果につながる。
【０００９】
同期クロックの長さを延長するために種々の技術が用いられており、部分的に成功を収めている。これらの技術は、バス負荷の変更、バスの低速化、ブリッジングおよびリモートバス制御を含む。
バス負荷の変更
遅延時間Ｔpropはバスの物理的な長さばかりでなく、その電気的負荷にも依存する。バスの負荷を低減することにより、バスを物理的に延長し、依然としてクロック周期より短いＴpropを維持することができる場合がある。
【００１０】
実用上の問題としては、バス負荷を低減することにより、わずかな利得が生成されるにすぎない。大部分のバス実装形態は積極的にバス負荷を制御し、改善するためのわずかなマージンを残している。最良の条件下では、バス負荷を低減することにより、同期バスは数インチだけ延長することができる。ＡＴＥ環境では、この改善は小さすぎて有用ではない。
バスの低速化
バスのクロック周期がバスの最大長を制限するので、理論的には、クロック周期を長くすることにより、バスを長くすることができる。クロック周期を長くなればなるほど、誤ったクロックが現れる前に、多くのデータが伝搬する可能性が生じる。クロック周期を長くすることは、バスを延長する簡単で、魅力的な方法であると思われるが、この技術はいくつかの短所を有する。第１に、全てのバスがクロック周期を変更できるわけではない。第２に、低減された速度でバスを動作させることにより、バス上の動作が遅くなり、システム全体のスループットが低下するようになる。第３に、バスを延長することは、バスに負荷をかけることにより、クロック信号にリンギングを生じる可能性があり、そのリンギング自体によって誤ったクロックが生じる危険性がある。クロック周期を低下させることによって、リンギングは低減されない。しかしながら、状況によっては、クロックのエッジを遅くすることにより、リンギングが低減される場合もある。しかしながら、クロックエッジを遅くすることは、実際には達成するのが難しい。最後に、低下した速度でＵＵＴを検査することは、あるタイプの障害を解明し損なう危険性がある。多くの障害は、ＵＵＴが定格の速度で動作する際にのみ明らかになる。クロックを低速にすることは、障害検出を犠牲にし、したがってＡＴＥの主な目的と両立しない。
ブリッジング
図２は、同期バスを延長するための市販の技術である、バスブリッジングを示す。バスブリッジングの一形態を提供するために現れた１つの製品は、ＳＢＳ  Ｔｅｃｈｎｏｌｏｇｉｅｓ社（Ｓｔ．Ｐａｕｌ、ＭＮ）から市販されるモデル２１３０である。図２に示されるように、ブリッジデバイス（装置）２１８は、当初の同期バス２１０と、延長された同期バス２１２との間に挿置される。ブリッジ装置２１８は、バス２１０と２１２との間で信号をコピーし、リモートデバイス（装置）２１６が、ローカルデバイス（装置）２１４と双方向に通信できるようにする。ブリッジングは、バスを互いから電気的に分離しながら、直列にバスを有効に接続する。バスをさらに長く延長するために、多数のブリッジ装置をカスケードに接続することができる。
【００１１】
ブリッジ・コンフィギュレーション
（構成）の一部を形成する各バス部分は、長さを最大にするために、バスの仕様に一致しなければならない。したがって、ブリッジングによって、バスはカスケードに接続されるようになるが、任意の個々のバスセグメントの長さを延長することはない。それゆえ、ブリッジングは、ＵＵＴ周囲の領域を障害物のない状態にしておくための必要性に対処するものではない。
リモートバス制御
リモートバス制御は、同期バスを長い距離まで延長するために用いられている。リモートバス制御の一形態を提供するために現れた１つの製品は、Ｃａｔａｌｙｓｔ  Ｅｎｔｅｒｐｒｉｓｅｓ社（Ｓａｎ  Ｊｏｓｅ、ＣＡ）から市販されるモデルＴＡ３００である。リモートバス制御は、バス信号を異なるバスプロトコルに翻訳（変換）し、変換された信号を離れた場所に送信し、その信号を元の形に変換し直して、その離れた場所においてバス信号を再構築することにより動作する。
【００１２】
図３はリモートバス制御の一例を示す。ローカル同期バス３１０上の制御用装置３１４が、リモート同期バス３１２上のリモートデバイス（装置）３２０と通信を行う。バスは、ローカル同期バス３１０に接続されるローカル変換デバイス（装置）３１６と、リモートバス３１２に接続されるリモート変換装置３１８と、２つの変換装置間の相互接続部３２２とを用いて通信する。ある実装形態では、リモートバス３１２は省略され、リモート装置３２０は、変換装置３１８に直結される。
【００１３】
リモートバス制御はほとんど無限に延長可能であるが、特にＡＴＥでは、多くの問題が生じる。第１に、リモートバス制御にはコストがかかる傾向がある。なぜなら、その制御を達成するために、多数のハードウエアおよびソフトウエアを必要とするためである。第２に、リモートバス制御は、リモートカードに固有の環境を用いて、リモートカードと通信しない。リモートバス制御は、長距離伝送に適している種々のプロトコル、たとえばシリアルバスプロトコルへの変換を必要とする。リモートバス制御は、リモートカードに固有の「デバイスドライバ」を用いない。「デバイスドライバ」は、ホストコンピュータのオペレーティングシステムと装置との間の通信を管理するプログラムである。リモートバス制御は、オペレーティングシステムと装置との間に種々のバスプロトコルを挿入し、リモートカードを動作させるために、固有のデバイスドライバを用いない。第３に、リモートバス制御では、ＵＵＴ付近でハードウエアを使用する必要がある。リモートバス３１２が削除される場合であっても、変換装置３１８は依然としてＵＵＴ付近に配置される。
発明の概要
上記の背景を念頭に置いて、本発明の目的は、バスの固有のバスプロトコルを用いて、任意の長さの距離だけ同期バスを延長することである。
【００１４】
本発明の別の目的は、そのバスがホットスワッピングに標準的に対応するか否かに関係なく、リモートバスカードをホットスワッピングできるようにすることである。
【００１５】
本発明のさらに別の目的は、リモートバスカード上の障害が、システムの他の場所において生じるようになる不具合を引き起こさないようにすることであり、それゆえ障害分離を促進することである。
【００１６】
上記の目的、ならびに他の目的および利点を達成するために、同期バスを延長する方法は、同期バスと物理的に係合する延長器装置を用いる。その方法は、同期バスから複数のバス信号を受信するステップと、インターコネクト（相互接続部）を介して、複数のバス信号をリモート装置をドライブ（駆動）するステップと、相互接続部上でリモート装置からリターン信号を受信するステップとを含む。その方法はさらに、少なくともリターン信号の整定時間の間、ホールドオフインターバルを確立するステップと、ホールドオフインターバルが経過した後に、そのリターン信号を同期バスに印加するステップとを含む。
【００１７】
本発明の別の態様によれば、同期バスと物理的に係合する延長器装置を用いて同期バスを延長する方法は、リモート装置とのトランザクションを検出するために、同期バスをモニタするステップを含む。そのトランザクションは、リモート装置の構成を符号化する内容を含む。その方法はさらに、リモート装置の構成のローカルコピーを保持するために、リモート装置とのトランザクションの内容を格納するステップを含む。
【００１８】
本発明の別の態様によれば、ＵＵＴを検査する方法は、第１のＵＵＴのためのコンフィギュレーション
（構成）データのレコードを構築するステップを含む。またその方法は、第２のＵＵＴが導入される後の時間まで、同期バスと第１のＵＵＴとの間のパワー（電力）の流れを遮断するステップも含む。その方法は、第２のＵＵＴを検査し始める前に、第２のＵＵＴ上に、第１のＵＵＴのための構成データのレコードをコピーするステップを含む。それにより、その方法を用いて、同期バスを動作状態にしたまま、ＵＵＴが安全に交換されるようになる。
【００１９】
本発明の別の態様によれば、同期バスを延長するためのバス延長器は、同期バスカードの検査を容易にする。バス延長器は、同期バスに接続される延長器装置と、延長器装置に接続され、ＵＵＴと係合するように構成されるコネクタまで、ある長さにわたって延在する相互接続部とを備える。延長器装置は、相互接続部および同期バスに接続されるホールドオフ回路を備える。ホールドオフ回路は、相互接続部の長さに基づいて、ホールドオフインターバルを格納するための遅延レジスタと、遅延回路とを含む。遅延回路は、ホールドオフインターバルが経過するまで、ＵＵＴから到達するリターン信号が、同期バス上でアサートするのを防ぐ。
【００２０】
本発明のさらに別の目的、利点および新規の特徴は、以下の記述および図面を検討することから明らかになるであろう。
本発明は、以下に記載される詳細な説明および添付の図面を参照することにより理解が進むであろう。
好ましい実施形態の説明
本発明によれば、同期バスの固有のプロトコルを維持しながら、バスエクステンダ（延長器）が物理的に制限された同期バスを、任意の長さの距離だけ延長する。バス延長器は、リモート装置の「イニシエータ」（マスター）および「ターゲット」（スレーブ）動作の両方に対応する。本発明によるバス延長器によって、リモート装置は、バスに直接的にプラグ接続されているかのように動作できるようになる。
【００２１】
図４は、本発明によるバス延長器４００をブロック図で示す。バス延長器は、バスコネクタ４２２を介して、バス１１０（図１）、たとえばＰＣＩバスと係合する。相互接続部（インターコネクト）４１８がバス延長器に接続され、リモートバスカードが係合されるリモートバックプレーンコネクタ４２４まで、バス信号を任意の長さの距離だけ延長する。バスターミネータ４２０が、リモートバックプレーンコネクタ４２４付近でバス信号を終端する。
【００２２】
バス延長器４００は、標準的なバスカードの形をとることが好ましい。好ましい実施形態では、バス延長器４００は、標準的なＰＣＩサイズおよび形状を有する単一スロットＰＣＩカードであり、ＰＣＩバスの任意の利用可能なスロットに差し込むことができる。バスコネクタ４２２は標準的なＰＣＩカードコネクタであることが好ましく、リモートバックプレーンコネクタ４２４は標準的なＰＣＩバックプレーンコネクタであることが好ましい。相互接続部４１８は典型的にはケーブルであるが、プリント回路基板、フレックスカード、あるいは他の多信号伝達媒体でも同様に動作することができる。相互接続部４１８は、等しい長さの信号経路を含み、バス信号間にほとんどタイミングのずれを生じないことが好ましい。
【００２３】
図４に示されるように、バス延長器４００は、バス「スヌーパ（ｓｎｏｏｐｅｒ）」回路４１４と、リモートバスインターフェース４１２と、ホールドオフ回路４１６とを備える。バススヌーパ回路４１４はバストランザクションを復号化（デコード）し、適切な動作を実行する。リモートバスインターフェース４１２は、バス１１０からのバス信号と、リモート装置からのリターン信号とを送受信する。ホールドオフ回路４１６は、所定のホールドオフインターバルだけ待機し、その後、リターン信号をバスに印加する。ホールドオフインターバルは可変であり、リターン信号がバス延長器に到達し、安定化することができるだけの十分に長いインターバルに設定されることが好ましい。
【００２４】
好ましい実施形態では、リモートバスインターフェース４１２、バススヌーパ回路４１４およびホールドオフ回路４１６はともに、３．３Ｖ  ＣＭＯＳロジックを用いる１つのフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）上に製造される。ＦＰＧＡは便宜的に用いられており、本発明に不可欠ではない。ディスクリート部品あるいは他の高密度の素子と同様に、特定用途向け集積回路（ＡＳＩＣ）が用いられる場合もある。ＦＰＧＡの実装形態は３３ＭＨｚ、３２ビットの性能に対応し、ＰＣＩバージョン２．２標準規格に準拠する。しかしながら、その設計は、他のバス上で、６６ＭＨｚ、６４ビットＰＣＩの性能に対応するように拡張することができる。
【００２５】
オプションとして、制御線４２６を介してＡＴＥコントローラを通信するために、ＦＰＧＡ内に制御部（セクション）４１０が設けられる。制御線４２６を用いて、制御部４１０は、障害をＡＴＥコントローラに報告し、ＡＴＥコントローラから動作命令を受信する。別法では、制御部は、障害を報告し、動作命令を受信するために、バス１１０と直接的に通信する。しかしながら、制御部４１０は省略され、バス延長器４００が、バス延長器の外部からの明示的な制御を必要とすることなく、自己充足的に動作することが好ましい。バス延長器４００は、個別のソフトウエアを必要としない、あるいは用いないことが好ましい。たとえば、バス延長器は、自らの固有のデバイスドライバを必要としない。
【００２６】
リモートバスインターフェース４１２は、リモート装置に送信される信号のソース、およびリモート装置から返送されるリターン信号の受信機の両方に対応する。長い距離にわたってリモート装置にバス信号を送信し、かつバスターミネータ４２０の負荷インピーダンスを駆動（ドライブ）するために、リモートバスインターフェース４１２は、低インピーダンスのドライバを備えることが好ましい。各低インピーダンスドライバは、並列に接続されるＦＰＧＡのいくつかのＣＭＯＳゲートからなることが好ましい。最小のタイミングずれを達成するために、低インピーダンスドライバは、同一の回路トポロジーを有することが好ましい。リモート装置からのリターン信号を受信し、かつバッファリングするために、ＦＰＧＡ内にＣＭＯＳゲートが設けられることが好ましい。相互接続部４１８の特性インピーダンスを一定に保持することにより、かつリモート装置付近のバスターミネータ４２０でバスを終端することにより、バス延長器４００は、実質的にリンギングあるいは歪みを生じることなく、信号を送受信することができる。
【００２７】
またバス延長器４００は、リモートバスインターフェース４１２に接続されるパワースイッチング回路４２８も備える。パワースイッチング回路は、図４に示される、ホットスワップ端子４３０において供給されるデジタル「ホットスワップ」信号に応答して、延長器４００とリモート装置との間で電源電流を選択的に遮断、かつ導通させる。ホットスワップ信号は、２つの個別の状態、ＯＰＥＮおよびＣＬＯＳＥを有する。ＯＰＥＮ状態中に、パワースイッチング回路はリモート回路に対する電源を遮断する。ＣＬＯＳＥ状態中に、パワースイッチング回路は、バス延長器４００とリモート装置との間で自由に電力を導通させる。ホットスワップ端子４３０は、任意の適当なデジタル信号源、たとえば、テスタインターフェースあるいは手動スイッチのデジタルビットから駆動される場合がある。リモートバスインターフェース４１２の低インピーダンスドライバは、ホットスワップ信号の起動に応答して、高インピーダンス状態も有することが好ましい。パワースイッチング回路と、高インピーダンス状態を有するような低インピーダンスドライバの能力によって、バス１１０が動作し続けている間に、リモート装置は停止、あるいは安全にスワップされるようになる。パワースイッチング回路４２８の実装形態は、高電流切替え装置、好ましくは、ＦＰＧＡの外部にある高電流ＭＯＳＦＥＴを備える。低インピーダンスドライバを高インピーダンス状態に駆動するための回路は、ＦＰＧＡ内に存在することが好ましい。オプションでは、パワースイッチング回路は、所定のタイミングシーケンスにしたがってリモート装置に対して電源を接続、あるいは切断するために、パワーシーケンス回路を備えることができる。
【００２８】
図５は、バススヌーパ回路４１４をブロック図の形で示す。バススヌーパ回路は、バストランザクションを復号化し、適当な動作を実行する。バスデコーダ５１０がバス１１０およびリモートバスインターフェース４１２に接続され、バスとリモート装置との間のバストランザクションを検査する。トランザクションがリモート装置に対する構成（コンフィギュレーション）書込み（ＷＲＩＴＥ）命令である場合には、バスデコーダは、書込み命令の内容をリモートステータス（状態）メモリ５１２に格納する。トランザクションがリモート装置に対する構成読出し（ＲＥＡＤ）命令である場合には、バスデコーダは、必要に応じて、リモート装置から読み返されることになるデータを変更するためのデータマスクを構築する、マスクジェネレータ（生成器）５１６に通知する。トランザクションが高速の応答を必要とするトランザクションである場合には、バスデコーダは、適当な高速の応答を生成する、ローカルレスポンスジェネレータ（応答生成器）５１４に通知する。
【００２９】
バススヌーパ回路４１４は、リモート装置に向けられる構成書込み命令の内容をリモート状態メモリ５１２に格納する。好ましい実施形態では、バススヌーパ回路４１４は、全ての書込み命令の内容をリモート状態メモリ５１２に格納するとは限らない。むしろ、バススヌーパ回路４１４は、リモート装置の６４個の特定の「構成（コンフィギュレーション）」レジスタに向けられるターゲット書込み命令の内容のみを格納する。ＰＣＩ仕様は、ＰＣＩカードの６４個の構成レジスタを定義する。これらのレジスタのうちの多くは、ＰＣＩバスが動作するために書込みが行なわれなければならない。知られているように、ＰＣＩバスＢＩＯＳは、ＰＣＩバスがリセットされる度に、バスに挿入（プラグ接続）されている各装置のために、これら６４個の構成レジスタの必要な値を書き込む。
【００３０】
時間とともに、かつ各ＰＣＩバスリセット時には明示的に、リモート状態メモリ５１２は、リモート装置のための全６４個の構成レジスタのローカルレコードを蓄積する。一旦必要になるなら、既知の安定状態を構成するために、構成レジスタのレコードは、そのリモート装置に再度格納されることができるか、あるいは異なるリモート装置に格納されることができる。ＰＣＩバスの付加的なリセットは必要とされない。
【００３１】
６４個の構成レジスタ以外のＰＣＩカード上のレジスタ（すなわち、非構成レジスタ）は、バス動作を確立するために不可欠ではない。ユーザの希望に応じて、６４個の構成レジスタが再度格納された後に、非構成レジスタの内容が、従来のターゲット書込み命令を用いて、リモート装置にコピーされることができる。別法では、リモート装置に書き込まれる全てのデータを格納するために、リモート状態メモリ５１２にメモリを加えることができるが、メモリを設けることによりさらにコストがかかるであろう。
【００３２】
ＰＣＩ仕様は、１つのＰＣＩカード上の多数の論理素子に対応する。好ましい実施形態によれば、バススヌーパ回路４１４は、種々の論理素子間を区別し、多数の論理素子に対応するだけの十分なメモリを提供する。
【００３３】
好ましい実施形態では、バス延長器４００は、リモート状態メモリ５１２の内容をリモート装置にコピーするために状態機械（ステートマシン：図示せず）を用いる。ステートマシンは、ホットスワップ信号に応答して動作し、バス１１０と独立して動作することが好ましい。また、ステートマシンは、パワースイッチング回路４２８も制御することが好ましい。ホットスワップ信号がＯＰＥＮであるとき、ステートマシンは、パワースイッチング回路４２８を起動し、リモート装置への電力を遮断する。ホットスワップ信号の状態がＯＰＥＮからＣＬＯＳＥに変化するとき、ステートマシンは、リモート装置に電力を供給し、リモート状態メモリ５１２の内容を、リモート装置の構成レジスタに排出する。
【００３４】
ステートマシンとともにパワースイッチング回路４２８の動作によって、リモート装置はホットスワップできるようになる。リモート装置のホットスワッピングは、バス１１０から独立して動作するので、本発明は実際に、ホットスワッピングに直接対応しないバスにホットスワッピング機能を提供する。
【００３５】
図５に示されるように、バススヌーパ回路４１４は、マスク生成（ジェネレータ）回路５１６も備える。マスク生成回路５１６は、データマスクを生成することにより、所定のターゲット読出し命令セットに応答して動作する。マスク生成器５１６は、データマスクをホールドオフ回路４１６に渡し、ホールドオフ回路４１６はそのマスクを、リモート装置から返送されるリターン信号に適用し、必要に応じてリターン信号を変更する。
【００３６】
「非構成」レジスタのターゲット読出し命令の場合、データマスクはトランスペアレント（透過性）であり、変化していない全てのデータを通過させるように構成される。データマスクは、ある一定の構成レジスタのターゲット読出し命令の場合にのみ操作可能、すなわち非トランスペアレントである。ある一定の構成レジスタは、リモート装置が延長形態で用いられるときに、有効でないリモート装置の特性を特定するデータを格納する。たとえば、ＰＣＩ装置は、特定のトランザクションに応答して、その装置が必要とするクロックサイクルの数を指示する構成データを格納する。クロックサイクルの数は、バス延長器４００が異なる数のクロックサイクルに応答し、延長器レイテンシーを相殺する場合があるので、延長形態では有効でない場合がある。この状況下では、マスク生成器５１６は、リモート装置から読み返されるデータの１つあるいは複数の無効なビットを変更するために用いられることになるデータマスクを生成する。別の例としては、構成レジスタは、ＰＣＩカードが６６ＭＨｚ通信に対応するか否かを指示する。最初の、バス延長器４００のＦＰＧＡ実装形態は、６６ＭＨｚ通信に対応しない。本発明のＦＰＧＡ実装形態では、マスク生成器５１６は、６６ＭＨｚ動作が試行されないことを確実にするために、強制的に否定応答するデータマスクを生成する。
【００３７】
また、図５に示されるバススヌーパ回路４１４は、ローカル応答生成器５１４も備える。バスデコーダ５１０は、高速の応答を必要とするトランザクションを特定し、ローカル応答生成器５１４は、適当な高速の応答を生成する。ローカル応答生成器は、延長構成がバス仕様において相殺されないレイテンシーを加えるため用いられる。たとえば、ＰＣＩバス仕様に準拠して、ＰＣＩイニシエータがＰＣＩターゲットにアドレスを送信するとき、バスイニシエータは、バスターゲットが所定の制限時間内に応答することを期待する。バスイニシエータは、応答がない場合には、指定されたスロットにＰＣＩ装置が導入されていないことを意味するものと解釈する。
【００３８】
延長構成では、リモートバスターゲットは典型的には許容可能な時間内に応答することができない。本発明によれば、リモート装置がバスターゲットとして動作するとき、ローカル応答生成器５１４は、リモート装置の代わりに、許容可能な時間内にバスイニシエータへの応答を発行する。ローカル応答生成器の応答は、バス１１０上に１つあるいは複数の待機状態をアサートすることを含む場合がある。同様に、リモート装置がバスイニシエータとして動作するとき、ローカル応答生成器の応答は、ローカルバスターゲットの代わりに、ＰＣＩ仕様による応答のために許容可能な時間内に、１つあるいは複数の待機状態をリモート装置に送信することを含む場合がある。
【００３９】
リモート装置がバスイニシエータとして動作するとき、ローカル応答生成器５１４は、リモート装置からのイニシエータ読出しあるいは書込み命令を期待して、リモート装置に待機状態を適用し続ける。バス延長器４００は、リモート装置に待機状態をアサートし始める前には、リモート装置からイニシエータ読出しあるいは書込み命令を受信するまで待つことができない。なぜなら、リモート装置が、ＰＣＩ仕様によって許容される応答のための時間内に待機状態を受信しない場合があるためである。それゆえ、リモート装置がバスイニシエータとして動作するとき、ローカル応答生成器５１４は、デフォルトによって、リモート装置に待機状態をアサートし、一旦、イニシエータトランザクションが完了した場合にのみ、待機状態のアサートを停止することが好ましい。
【００４０】
バスのハングアップを回避するために、ローカル応答生成器５１４は、ウォッチドッグタイマ（図示せず）を含むことが好ましい。リモート装置が挿入されていないか、機能していない場合には、ウォッチドッグタイマは待機状態の発行を終了し、標準的なバス動作が再開されるようにする。ウォッチドッグタイマのタイムアウトは、全ての予想される標準的な遅延に対応するだけの大きな値に設定されることが好ましい。バス延長器がバスターゲット自体から待機状態を受信する場合には、バス延長器は、バス延長器が待機状態を受信し終えるまで、ウォッチドッグタイマの動作を停止する。バス延長器が待機状態を受信し終えた後に、ウォッチドッグタイマはカウント動作を開始する。
【００４１】
また、バス延長器４００はホールドオフ回路４１６も備える。ホールドオフ回路は、リモートバスインターフェース４１２からリターン信号を受信し、バス１１０にリターン信号を送出する前に、所定の時間インターバルだけ待機する。
【００４２】
図６および図７は、ホールドオフ回路４１６をブロック図で示す。図６に示されるように、ホールドオフ回路は、マスク回路６１６と、遅延回路６１０と、遅延判定回路６１２とを備える。マスク回路６１６はリモートバスインターフェース４１２からリターン信号を受信し、必要に応じて、リターン信号を変更するために、マスク生成器５１６によって生成されるデータマスクを適用する。遅延回路６１０は、マスク回路６１６からリターン信号を受信し、遅延回路６１０がストローブ信号６１４を受信するまで、リターン信号のバス１１０の通過を遮断する。
【００４３】
図７に示されるように、遅延判定回路６１２は、信号サンプラー７１０と、遅延レジスタ７１２と、ストローブ回路７１４とを備える。信号サンプラーは、バス延長器４００とリモート装置との間のラウンドトリップディレイ（往復遅延）に関連するホールドオフインターバルを判定する。ホールドオフインターバルは、バス延長器４００からリモート装置へのバス信号の遅延時間と、リモート装置の応答時間と、リモート装置から戻るリターン信号の設定時間とを含むことが好ましい。遅延レジスタ７１２は、ホールドオフインターバルの値を格納する。バス延長器４００がリモート装置に命令を送信するとき、ストローブ回路７１４は、命令が送信されるために経過した時間をホールドオフインターバルと比較する。２つの値が一致する場合には、ストローブ回路７１４は、ストローブ信号６１４を生成し、遅延回路６１０は、バスサイクル内の次の適当な時点で、バスにリターン信号を送出する。
【００４４】
信号サンプラー７１０は、リモート装置へのターゲット読出し命令をシミュレートすることにより、ホールドオフインターバルを判定することが好ましい。信号サンプラーは、ターゲット読出し命令の発行と、リターン信号が安定する整定時間との間の時間インターバルを測定する。ＰＣＩ仕様は、製造業者ＩＤを格納するためのＰＣＩカード上の特定のアドレスと、このアドレスのターゲット読出しに対する応答時間とを指定する。信号サンプラーは、製造業者ＩＤのターゲット読出しをシミュレートすることが好ましい。
【００４５】
信号サンプラー７１０はリターン信号をモニタする。リターン信号は、それらが到達し、安定する前には、全て「１」の値を示す。その応答が全て「１」の値以外の値であり、連続した測定の場合に同一の読み値を与えるとき、リターン信号は安定している。信号サンプラーは、遅延レジスタ７１２に、経過した時間に対応する値を格納する。リモート装置の応答時間はわかっている（ＩＤレジスタのターゲット読出しのために定義される）ので、ラウンドトリップディレイは、リモート装置の応答時間とは無関係に判定されることができる。
【００４６】
さらに別の代替形態によれば、信号サンプラー７１０は、実際の（シミュレーションではない）ターゲット読出し命令に応答して動作し、各命令のための新しいホールドオフインターバルを生成する。
【００４７】
信号サンプラー７１０は、ステートマシン（図示せず）の方向に基づいて、バス延長器４００の最初の使用時に自動的に最適なホールドオフインターバルを判定することが好ましい。別法では、信号サンプラー７１０は、外部コマンドの発行時に動作する。信号サンプラーが動作するためのコマンドを再び受信するまで、後続の通信のために同じホールドオフインターバルが繰返し用いられる。
【００４８】
さらに別の代替形態によれば、本発明は信号サンプラーを設けず、システムの初期設定中に、遅延レジスタ７１２の値が確立される。遅延レジスタ７１２の値は、バス延長器４００とリモート装置との間のラウンドトリップディレイの手動による測定値、あるいは推定値に基づく。遅延レジスタの値は永続的に確立されるか、あるいは時間毎に変更されることができる。実験では、２つの３３ＭＨｚバスサイクル（６０ナノ秒）の固定された遅延であれば、１０フィートの長さを有する相互接続部に対応するのに十分であることが示されている。
【００４９】
信号サンプラー７１０は、バス周波数の倍数、たとえばバス周波数の２倍でリターン信号をサンプリングすることにより、ホールドオフインターバルを測定することが好ましい。信号サンプラーのサンプリングレートが高くなると、ホールドオフインターバルの精度も高くなり、ホールドオフインターバルが過大になる可能性が低くなる。別法では、信号サンプラー７１０は、バス周波数と同じ、あるいは遅いサンプリングレートで動作する。
【００５０】
本発明者は、リターン信号がホールドオフ回路によって用いられ、良好な結果が得られる時点を判定する他の方法もわかった。たとえば、ホールドオフ回路はリング発振器を用いて、バス延長器４００と相互接続部４１８とを含むループにおいて発振を開始することができる。発振の周波数はラウンドトリップディレイに比例する。別の例としては、バス延長器４００は、バス延長器４００と、相互接続部４１８の遠端との間の信号の伝搬時間を測定するために、時間領域反射率計（ＴＤＲ）を設けられることができる。
【００５１】
図８ａおよび図８ｂは、リモート装置がバスターゲット（スレーブ）として動作する際に、上記のバス延長器４００によって実行される動作を記述する流れ図である。図８ａは、ターゲット読出し命令に応答するバス延長器動作を示す。図８ｂは、ターゲット書込み命令に応答するバス延長器動作を示す。
【００５２】
図８ａでは、バス延長器４００は、バス１１０上でバスイニシエータからターゲット読出し命令を受信し、バススヌーパ回路４１４がターゲット読出し命令を復号化する。ステップ８１０では、ローカル応答生成器５１４が、リモートバスターゲットの代わりに、バスイニシエータによって指定されるターゲットアドレスが有効であることの確認信号を生成する。また、ローカル応答生成器５１４は、バス１１０上に待機状態をアサートする。
【００５３】
ステップ８１２では、マスク生成器５１６がデータマスクを生成する。データマスクの値は、指定されるターゲットアドレスに固有である。データマスクは、リモート装置から読み返されることになる構成データのビットを変更するように選択的に編成され、そのビットは、延長された形態には当てはまらない通信特性を符号化している。延長された形態に当てはまらない構成レジスタの場合を除いて、データマスクは、全てのターゲット読出しアドレスの内容の場合にトランスペアレントである。マスク生成器５１６は、マスクを必要とするターゲットアドレスのためのマスク値を格納するローカルメモリ（図示せず）を備えることが好ましい。
【００５４】
ステップ８１４では、バス延長器４００はリモート装置にバス信号を送信し、ステップ８１６では、バス延長器４００はホールドオフインターバルのカウントダウンを開始する。ステップ８１８では、リモート装置からバス延長器４００にリターン信号が到達し、バス延長器は、ステップ８１２において生成された読出しマスクを適用する。ステップ８２０では、ホールドオフインターバルが経過し、バス延長器４００は、バスサイクル内の適当な段階で、バス１１０にリターン信号を送出する。さらに待機状態が要求されなければ、ホールドオフインターバルが経過したとき、ローカル応答生成器５１４は、バス１１０から待機状態をデアサート（ｄｅａｓｓｅｒｔ）する。リモート装置がさらに、ホールドオフインターバルの満了より長く待機状態を要求する場合には、ローカル応答生成器５１４は、バス１１０にさらに待機状態を付加する。
【００５５】
図８ａにおいて、ステップ８１０〜８１６は、順番に行われるように示される。しかしながら、これらのステップの順序は変更できることがわかっている。たとえば、ステップ８１２において生成されるデータマスクは、リターン信号がバス延長器４００に到達するまでに準備される必要はない。ステップ８１０〜８１６は同時に行われることが好ましい。
【００５６】
図８ｂは、ターゲット書込み命令に応答するバス延長器の動作を示す。バス延長器４００は、バス１１０上で、バスイニシエータからターゲット書込み命令を受信し、バススヌーパ回路４１４がターゲット書込み命令を復号化する。ステップ８３０では、ローカル応答生成器５１４が、応答のための許容可能な時間内に、バス１１０上に待機状態をアサートする。
【００５７】
ステップ８３２では、バス延長器４００は、ホールドオフインターバルをカウントダウンし始める。ターゲット書込み命令が構成書込み、すなわち、６４の「構成」レジスタのうちの１つへの書込みである場合には、ステップ８３４において、バス延長器４００は、構成データのローカルコピーを格納する。リモート装置が多数の論理素子を含む場合には、格納するステップ８３４は、特に指定された論理素子のための構成データを格納するステップを含む。
【００５８】
ステップ８３６では、バス延長器４００は、リモート装置にバス信号を送信する。「構成」および「非構成」書込み命令の両方が送信される。ホールドオフインターバルが経過するとき、ローカル応答生成器５１４は、さらに待機状態が要求されなければ、バス１１０から待機状態をデアサートする。ホールドオフインターバルの満了後に、リモート装置がさらに待機状態を要求する場合には、ローカル応答生成器５１４は、要求される待機状態をバス１１０に付加する。
【００５９】
図８ｂは、ステップ８３０、８３２、８３４および８３６を順番に示す。しかしながら、これらのステップは、任意の特定の順番で行われる必要はない。ステップ８３０および８３２はバス１１０を「スヌープ（ｓｎｏｏｐ）」するステップの一部であり、任意の順番で、あるいは同時に行うことができる。同様に、スヌープするステップ（８３２および８３４）、ならびにリモート装置に信号を送信するステップ（８３６）は任意の順番で、あるいは同時に行うことができる。
【００６０】
図８ｃおよび図８ｄは、リモート装置がバスイニシエータ（マスター）として動作する際に、上記のバス延長器４００によって実行される動作を記述する流れ図である。図８ｃは、リモート装置によって生成されるイニシエータ読出し命令に応答する動作を示す。図８ｄは、リモート装置によって生成されるイニシエータ書込み命令に応答する動作を示す。
【００６１】
図８ｃに示されるように、ステップ８５０において、バス延長器４００は、リモート装置に待機状態をプリアサート（ｐｒｅａｓｓｅｒｔ）する。バス延長器４００がバスイニシエータに対してローカルである（すなわち、バス延長器およびバスイニシエータが同じバス１１０にプラグ接続される）図８ａのターゲット読出しの場合と異なり、ここでは、バスイニシエータに対して「ローカルな」装置は存在しない。バスイニシエータはリモート装置であり、一般に、ＰＣＩ仕様によって指定される応答のための許容可能な時間内に、バスターゲットから応答を受信することができない。それゆえ、ローカル応答生成器５１４は、バス延長器が、リモートカードがバスイニシエータとして動作していることを検出する際には必ず、デフォルトによってリモート装置に待機状態をアサートし続けることが好ましい。バス延長器は、一旦、バス延長器がバスターゲットから実際の応答を受信したときにのみ、イニシエータ読出しに応答して待機状態をデアサートする。
【００６２】
バス延長器４００は、リモート装置からバスイニシエータ動作を検出するために、絶えずリターン信号をモニタする。ステップ８５２では、バス延長器はリターン信号の変化を検出する。誤りを回避するために、バス延長器は、バス１１０にリターン信号を送出する前に、リターン信号が安定するのに十分な所定の時間インターバルだけ待機する。一実施形態では、この時間インターバルは、上記のホールドオフインターバルであり、バス延長器は、ステップ８５４においてホールドオフインターバルをカウントし始める。しかしながら、ホールドオフインターバルは、全てのラウンドトリップディレイを含むので、必要以上に長くなる。別法では、バス延長器はホールドオフインターバルより短いが、リターン信号が安定するようになるだけの十分に長い時間だけ待機する。所定の時間インターバルが経過した後、バス延長器４００は、バスサイクル内の次の適当な時点で、バス１１０にリターン信号を放出する（ステップ８５６）。
【００６３】
ステップ８５６において送出されたリターン信号は、リモート装置からのイニシエータ読出し命令を符号化する。一旦アサートされたなら、バス延長器４００は、バスターゲットからの応答を待つ。バス延長器がバスターゲットからデータ（読出し値）を受信する場合には、バス延長器は待機状態をデアサートし（ステップ８５８）、リモート装置に読出し命令の結果を送信する（ステップ８６０）。バス延長器４００がバスターゲットから１つあるいは複数の待機状態を受信する場合には、バス延長器がバスターゲットから待機状態を受信し終えるまで、バス延長器はリモート装置に待機状態をアサートし続ける。バス延長器４００は、データが到達する際に、リモート装置にデータを送信する。
【００６４】
図８ｄは、リモート装置からのイニシエータ書込み命令に応答するバス延長器動作を示す。上記のように、バス延長器が、リモート装置がバスイニシエータとして動作していることを検出する際には必ず、バス延長器はリモート装置に待機状態をアサートし続ける（ステップ８７０）。バス延長器４００は、リモート装置からのイニシエータ読出しあるいは書込み命令を検出するために、リターン信号を絶えずモニタする。ステップ８７２では、バス延長器はリターン信号の変化を検出する。上記のように、バス延長器は、バス１１０にリターン信号を送出する前に、リターン信号が安定するための所定の時間インターバルだけ待機する。一実施形態では、この時間インターバルは、上記のホールドオフインターバルであり、バス延長器は、ステップ８７４においてホールドオフインターバルをカウントし始める。別法では、バス延長器は、ホールドオフインターバルより短いが、リターン信号が安定するだけの十分に長い時間だけ待機する。所定の時間インターバルが経過した後、バス延長器４００は、バスサイクル内の次の適当な時点で、バス１１０にリターン信号を送出する（ステップ８７６）。
【００６５】
リターン信号は、リモート装置からのイニシエータ書込み命令を符号化する。バスターゲットが書込み命令に応答して待機状態を生成しない場合には、ローカル応答生成器５１４は、ステップ８７８において、リモート装置に待機状態をデアサートする。バスターゲットが待機状態をアサートする場合には、ローカル応答生成器５１４は、リモート装置に待機状態をデアサートする前に、ターゲットが待機状態をデアサートするのを待つ。
【００６６】
図９は、本発明にしたがってバス延長器４００を用いるリモートＵＵＴを検査するための検査システム９００を示す。図１０は、図９の検査システムを用いてリモートＵＵＴを検査するためのプロセスを示す。バス延長器４００は、ＵＵＴ上で生じる障害がバス１１０に伝搬するのを防ぎ、それゆえ、検査システム９００の障害分離を促進する。
【００６７】
図９に示されるように、バス延長器４００はバス１１０に挿入（プラグ接続）される。相互接続部４１８はバス延長器４００に接続され、リモートＵＵＴ９１８まで延在する。さらに別のバス装置９１２もバス１１０に挿入される。オプションでは、検査システムは、オプションの制御線４２６を介してバス延長器４００に接続されるＡＴＥコントローラ９２０を備える。
【００６８】
検査システム９００は、図１０ａのステップ１０１０において示されるように、第１のＵＵＴを動作させる。第１のＵＵＴが動作するとき、バス延長器４００は、第１のＵＵＴに書き込まれたデータを「スヌープ」し、スヌープされた構成データをローカルメモリに格納する（ステップ１０１２）。検査システムが第１のＵＵＴを動作させる際に、障害が生じる場合がある。バス延長器４００は、障害をトラップし、障害がバス１１０に伝搬しないようにする。１つのオプションの実施形態によれば、バス延長器４００は、制御線４２６を介して、ＡＴＥコントローラ９２０に障害を通知する。別のオプションの実施形態によれば、バス延長器４００は、バス１１０を介して直接、バス１１０が導入されているホストコンピュータに障害を通知する。ステップ１０１８では、パワースイッチング回路４２８を起動することにより、第１のＵＵＴから電源が切り離される。上記のように、パワースイッチング回路は、ユーザあるいは検査プログラムがホットスワップ端子４３０にＯＰＥＮレベルを適用するとき起動することが好ましい。また、ホットスワップ端子４３０へのホットスワップ信号の適用によって、バス延長器４００内の低インピーダンスドライバが高インピーダンス状態に構成されることが好ましい。ステップ１０１８はオプションで、所定のタイミングシーケンスにしたがって、第１のＵＵＴへの電源を遮断する場合がある。
【００６９】
ステップ１０２０（図１０ｂ）では、第１のＵＵＴ９１８が、第１のＵＵＴと同じタイプの第２のＵＵＴと置き換えられる。ユーザが手動でＵＵＴを置き換える場合があるか、あるいはテスタインターフェース付近にある専用のハンドリング装置が自動的にＵＵＴを置き換える場合がある。ステップ１０２２では、バス延長器は、好ましくはホットスワップ信号の適用に応答して、第２のＵＵＴに電力を供給する。オプションでは、ステップ１０２２は、所定のタイミングシーケンスにしたがって第２のＵＵＴに電力を供給する。一旦、第２のＵＵＴに電力が供給されたなら、ステップ１０２４において、バス延長器は、第２のＵＵＴに、そのローカルメモリの内容をコピーする。第１および第２のＵＵＴがいずれも同じタイプであるので、第１のＵＵＴのためのローカルメモリに格納された構成データは、第２のＵＵＴの場合にも有効である。ステップ１０２６では、検査システムは、バス延長器４００上で第２のＵＵＴを動作させる。それゆえ、バス延長器４００によって、バス１１０の電源を切って入れ直したり、リセットしたりすることを必要とすることなく、第１および第２のＵＵＴの電源を切って入れ直したり、交換したりすることができる。
【００７０】
図１０ｃは、検査システム９００が第１のＵＵＴ上の障害から如何に復旧するかを示す。ステップ１０３０では、第１のＵＵＴへの電力が復旧される。ステップ１０３４では、バス延長器は、そのローカルメモリに格納される構成データを第１のＵＵＴにコピーし、それにより第１のＵＵＴの構成レジスタを復元する。ステップ１０３６において、検査システム９００は検査動作を再開する。バス１１０の電源を切って入れ直したり、リセットしたりする必要はない。
【００７１】
一実施形態について記載してきたが、種々の代替形態あるいは変更形態が実施されることもできる。たとえば、バス延長器４００は、バス内に直接構築されることができ、バスカードとして実装される必要はない。好ましい実施形態はＰＣＩバスに向けられる。しかしながら、本発明によるバス延長器は、任意の同期バス、たとえばカードバスあるいはＡＧＰにおいて実装されることができる。
【００７２】
種々のバスカードを離れた場所まで同時に延長するために、種々のバス延長器が１つのバス上に設けられる場合がある。バス延長器４００は種々の応用形態において用いられる場合がある。技師および専門技術者は、実使用時に、バスカードを監視する必要がある。バス長に関する厳しい制約は、「延長器カード」、すなわち、バスカードの前後にアクセスすることができるようにするために、バスの面から外部にバス信号を導出するカードの利用を禁止することである。バス延長器４００は、バスのタイミング要件を妨害することなく、都合の良いデバッグ場所までバスカードを延長するために、このような状況において用いられる場合がある。また本発明は、本発明を種々のバスカードの動作を実演するために用いることができるコンピュータ販売店においても有用な場合がある。本発明によって、バスカードは、販売店員がコンピュータのカバーを取り外し、コンピュータの電源を切り、新しいカードを適所に入れてコンピュータをリブートすることを必要とすることなく、消費者が比較するために容易にスワップされるようになる。
【００７３】
それゆえ、当業者は、特許請求の範囲の精神および範囲から逸脱することなく、本明細書に記載された好ましい実施形態に対して、追加、削除および変更がなされることができることを理解するであろう。
【図面の簡単な説明】
【図１】  本発明が動作することができる従来の同期バスアーキテクチャの簡略化された概略図である。
【図２】  ブリッジングの従来の技術を示すブロック図である。
【図３】  リモートバス制御の従来の技術を示すブロック図である。
【図４】  本発明によるバス延長器のブロック図である。
【図５】  図４のバススヌーパ回路を詳細に示すブロック図である。
【図６】  図４のホールドオフ回路を詳細に示すブロック図である。
【図７】  図６の遅延判定回路を詳細に示すブロック図である。
【図８】  図８ａ〜図８ｄは、リモート装置がバスターゲットモードにおいて動作している際に、図４のバス延長器を用いるリモート装置の読出し動作の例を示す流れ図である。
【図９】  リモートＵＵＴを検査するための本発明によるバス延長器を含む検査システムを示すブロック図である。
【図１０】  図１０ａ〜図１０ｃは、本発明による、１つあるいは複数のリモートＵＵＴを検査する方法を示す流れ図である。
【図１】
0004272833.tif 000002
【図２】
0004272833.tif 000003
【図３】
0004272833.tif 000004
【図４】
0004272833.tif 000005
【図５】
0004272833.tif 000006
【図６】
0004272833.tif 000007
【図７】
0004272833.tif 000008
【図８】
0004272833.tif 000009
0004272833.tif 000010
【図９】
0004272833.tif 000011
【図１０】
0004272833.tif 000012