(57)【要約】  バスブリッジを行うための方法は、少なくとも１つのモジュールバス（１３２）と少なくとも１つの高度拡張可能インターフェイス（ＡＸＩ）バス（１６２）の間のバスリクエストを変換するために、モジュールバスとＡＸＩバスとの間に連結されるバスインターフェイスデバイス（１１０）を提供することを含む。バスインターフェイスデバイスはロジック（１１４）を含む。ロジックは、モジュールバスプロトコルのＲ／Ｗリクエスト及びＡＸＩバスプロトコルのＲ／Ｗリクエストのうちの１つである読込み／書出し（Ｒ／Ｗ）リクエストを受信すること（３０４、３５４）と、バッファリングされたＲ／Ｗリクエストを提供するために、Ｒ／Ｗリクエストをバッファリングすること（３０６、３５６）とを行うように構成される。ロジックは、バッファリングされたＲ／ＷリクエストがモジュールバスプロトコルのＲ／Ｗリクエストである場合、バッファリングされたＲ／Ｗリクエストを第１のＡＸＩプロトコル準拠のリクエストに変換し（３１０）、バッファリングされたＲ／ＷリクエストがＡＸＩバスプロトコルのＲ／Ｗリクエストである場合、バッファリングされたＲ／Ｗリクエストを第１のモジュールバスプロトコル準拠のリクエストに変換する（３６０）。変換されたリクエストは、これらの個々のバスに送信される（３１２、３６２）。
2019507926.tif 000002
【特許請求の範囲】
【請求項１】
バスブリッジを行うための方法であって、
少なくとも１つのモジュールバス（１３２）と少なくとも１つの高度拡張可能インターフェイス（ＡＸＩ）バス（１６２）の間のバスリクエストを変換するために、前記モジュールバスと前記ＡＸＩバスとの間に通信的に連結されたバスインターフェイスデバイス（１１０）を提供するステップであって、前記バスインターフェイスデバイスはロジック（１１４）を含む、ステップを含み、前記ロジックは、
モジュールバスプロトコル（モジュールバスプロトコルのＲ／Ｗリクエスト）及びＡＸＩバスプロトコル（ＡＸＩバスプロトコルのＲ／Ｗリクエスト）のうちの１つである読込み／書出し（Ｒ／Ｗ）リクエストを受信すること（３０４、３５４）と、
バッファリングされたＲ／Ｗリクエストを提供するために、前記Ｒ／Ｗリクエストをバッファリングすること（３０６、３５６）と、
前記バッファリングされたＲ／Ｗリクエストが前記モジュールバスプロトコルのＲ／Ｗリクエストである場合、前記バッファリングされたＲ／Ｗリクエストを第１のＡＸＩプロトコル準拠のリクエストに変換し（３１０）、前記バッファリングされたＲ／Ｗリクエストが前記ＡＸＩバスプロトコルのＲ／Ｗリクエストである場合、前記バッファリングされたＲ／Ｗリクエストを第１のモジュールバスプロトコル準拠のリクエストに変換すること（３６０）と、
前記第１のＡＸＩプロトコル準拠のリクエストを前記ＡＸＩバスに、又は前記第１のモジュールバスプロトコル準拠のリクエストを前記モジュールバスに送信すること（３１２、３６２）と
を行うように構成される、方法。
【請求項２】
前記ＡＸＩバスプロトコルのＲ／Ｗリクエストが、マスタ読込みリクエストもしくはマスタ書出しリクエスト又はスレーブ読込みリクエストもしくはスレーブ書出しリクエストのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記Ｒ／Ｗリクエストが前記マスタ読込みリクエスト又はマスタ書出しリクエストであることに応答して、前記マスタ読込みリクエスト又はマスタ書出しリクエストを行うステップ（４５４）
をさらに含む、請求項２に記載の方法。
【請求項４】
前記Ｒ／Ｗリクエストが前記スレーブ読込みリクエスト又はスレーブ書出しリクエストであることに応答して、マスタバスの読込み有効信号又は書出し有効信号が、前記スレーブ読込みリクエスト又はスレーブ書出しリクエストが有効であることを示すかどうか判断するステップ（４０６）と、
前記スレーブ読込みリクエスト又はスレーブ書出しリクエストが有効であることに応答して、前記スレーブ読込みリクエスト又はスレーブ書出しリクエストを行うステップ（４０８）と
をさらに含む、請求項２に記載の方法。
【請求項５】
前記ロジックが、
スレーブ書出しデータ有限状態機械（ＦＳＭ）（２３０）と、
スレーブ読込みデータＦＳＭ（２３２）と、
マスタ書出しＦＳＭ（２３４）と、
マスタ読込みＦＳＭ（２３６）と、
モジュールバスインターフェイスＦＳＭ（２４０）と
のうちの少なくとも１つをさらに含む、請求項１に記載の方法。
【請求項６】
前記ロジックがゲートアレイを含む、請求項１に記載の方法。
【請求項７】
バスインターフェイスデバイス（１１０）であって、
プロセッサ（１１２）と、
前記プロセッサと通信するロジック（１１４）であって、前記バスインターフェイスデバイスは、少なくとも１つのモジュールバス（１３２）と少なくとも１つの高度拡張可能インターフェイス（ＡＸＩ）バス（１６２）の間のバスリクエストを変換するために、前記モジュールバスと前記ＡＸＩバスとの間に通信的に連結される、ロジック（１１４）と、を備え、前記ロジックは、
モジュールバスプロトコル（モジュールバスプロトコルのＲ／Ｗリクエスト）及びＡＸＩバスプロトコル（ＡＸＩバスプロトコルのＲ／Ｗリクエスト）のうちの１つである読込み／書出し（Ｒ／Ｗ）リクエストを受信すること（３０４、３５４）と、
バッファリングされたＲ／Ｗリクエストを提供するために、前記Ｒ／Ｗリクエストをバッファリングすること（３０６、３５６）と、
前記バッファリングされたＲ／Ｗリクエストが前記モジュールバスプロトコルのＲ／Ｗリクエストである場合、前記バッファリングされたＲ／Ｗリクエストを第１のＡＸＩプロトコル準拠のリクエストに変換し（３１０）、前記バッファリングされたＲ／Ｗリクエストが前記ＡＸＩバスプロトコルのＲ／Ｗリクエストである場合、前記バッファリングされたＲ／Ｗリクエストを第１のモジュールバスプロトコル準拠のリクエストに変換すること（３６０）と、
前記第１のＡＸＩプロトコル準拠のリクエストを前記ＡＸＩバスに、又は前記第１のモジュールバスプロトコル準拠のリクエストを前記モジュールバスに送信すること（３１２、３６２）と
を行うように構成される、バスインターフェイスデバイス（１１０）。
【請求項８】
前記ＡＸＩバスプロトコルのＲ／Ｗリクエストが、マスタ読込みリクエストもしくはマスタ書出しリクエスト又はスレーブ読込みリクエストもしくはスレーブ書出しリクエストのうちの少なくとも１つを含む、請求項７に記載のバスインターフェイスデバイス。
【請求項９】
前記Ｒ／Ｗリクエストが前記マスタ読込みリクエスト又はマスタ書出しリクエストであることに応答して、前記マスタ読込みリクエスト又はマスタ書出しリクエストを行うこと（４５４）
をさらに含む、請求項８に記載のバスインターフェイスデバイス。
【請求項１０】
前記Ｒ／Ｗリクエストが前記スレーブ読込みリクエスト又はスレーブ書出しリクエストであることに応答して、マスタバスの読込み有効信号又は書出し有効信号が、前記スレーブ読込みリクエスト又はスレーブ書出しリクエストが有効であることを示すかどうか判断すること（４０６）と、
前記スレーブ読込みリクエスト又はスレーブ書出しリクエストが有効であることに応答して、前記スレーブ読込みリクエスト又はスレーブ書出しリクエストを行うこと（４０８）
をさらに含む、請求項８に記載のバスインターフェイスデバイス。
【請求項１１】
前記ロジックが、
スレーブ書出しデータ有限状態機械（ＦＳＭ）（２３０）と、
スレーブ読込みデータＦＳＭ（２３２）と、
マスタ書出しＦＳＭ（２３４）と、
マスタ読込みＦＳＭ（２３６）と、
モジュールバスインターフェイスＦＳＭ（２４０）と
のうちの少なくとも１つをさらに含む、請求項７に記載のバスインターフェイスデバイス。
【請求項１２】
前記ロジックがゲートアレイを含む、請求項７に記載のバスインターフェイスデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]開示の実施形態は、工業用通信で使用されるマイクロプロセッサと回路の間の回路間通信に関し、より詳細には、モジュールバスと高度拡張可能インターフェイス（ＡＸＩ：ａｄｖａｎｃｅｄ  ｅｘｔｅｎｓｉｂｌｅ  ｉｎｔｅｒｆａｃｅ）バスとの間の読込み／書出しリクエストを変換するためのバスブリッジに関する。
【背景技術】
【０００２】
[0002]工業施設は通信ネットワークを使用して情報及びデータを送受信する。工業施設は、プロセス又は工業生産、ビルオートメーション、サブステーションオートメーション、及び自動メータ読取りなどの様々な産業及び用途を含むことができる。通信ネットワークは、様々なコンピュータ、サーバ、及び互いに通信する他のデバイスを使用することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
[0003]工業施設は、時とともにアップデート及び取替えを必要とする旧式の通信デバイスを有することがある。残念ながら、何年か後に製造業者が特定の通信プロトコルをサポートするデバイスの製造をやめる可能性がある。旧式化に直面しているこのような旧式のシステムの１つは、モジュールバス通信プロトコルをサポートする、ローカル制御ネットワーク（ＬＣＮ：ｌｏｃａｌ  ｃｏｎｔｒｏｌ  ｎｅｔｗｏｒｋ）のシャシを基礎とするシステムである。高度拡張可能インターフェイスバスなどの現在の通信プロトコルをサポートする比較的新しいデバイスは、モジュールバスを利用するシステムと通信することができない。
【課題を解決するための手段】
【０００４】
[0004]本発明の概要は、提供された図面を含む、発明を実施するための形態において以下にさらに説明される、開示された概念の簡単な選択を単純な形で紹介するために提供される。本発明の概要は、請求される主題の範囲を限定することを意図するものではない。
【０００５】
[0005]開示の実施形態はバスブリッジを行うための方法を含む。方法は、少なくとも１つのモジュールバスと少なくとも１つの高度拡張可能インターフェイス（ＡＸＩ）バスの間のバスリクエストを変換するために、モジュールバスとＡＸＩバスとの間に通信的に連結されたバスインターフェイスデバイスを提供することを含む。バスインターフェイスデバイスは、ゲートアレイ又はプログラマブルロジックなどのロジック（以下、ロジック又はプログラマブルロジックと呼ばれる）を含む。ロジックは、モジュールバスプロトコル（モジュールバスプロトコルのＲ／Ｗリクエスト）及びＡＸＩバスプロトコル（ＡＸＩバスプロトコルのＲ／Ｗリクエスト）のうちの１つである読込み／書出し（Ｒ／Ｗ：ｒｅａｄ／ｗｒｉｔｅ）リクエストを受信することと、バッファリングされたＲ／Ｗリクエストを提供するために、Ｒ／Ｗリクエストをバッファリングすることとを行うように構成される。ロジックは、バッファリングされたＲ／ＷリクエストがモジュールバスプロトコルのＲ／Ｗリクエストである場合、バッファリングされたＲ／Ｗリクエストを第１のＡＸＩプロトコル準拠のリクエストに変換し、バッファリングされたＲ／ＷリクエストがＡＸＩバスプロトコルのＲ／Ｗリクエストである場合、バッファリングされたＲ／Ｗリクエストを第１のモジュールバスプロトコル準拠のリクエストに変換する。第１のＡＸＩプロトコル準拠のリクエストはＡＸＩバスに送信され、又は第１のモジュールバスプロトコル準拠のリクエストはモジュールバスに送信される。
【０００６】
[0006]別の開示の実施形態はバスインターフェイスデバイスを備える。バスインターフェイスデバイスはプロセッサ、及びプロセッサと通信するゲートアレイ又はプログラマブルロジックなどのロジックを含む。バスインターフェイスデバイスは、少なくとも１つのモジュールバスと少なくとも１つの高度拡張可能インターフェイス（ＡＸＩ）バスの間のバスリクエストを変換するために、モジュールバスとＡＸＩバスとの間に通信的に連結される。ロジックは、モジュールバスプロトコル（モジュールバスプロトコルのＲ／Ｗリクエスト）及びＡＸＩバスプロトコル（ＡＸＩバスプロトコルのＲ／Ｗリクエスト）のうちの１つである読込み／書出し（Ｒ／Ｗ）リクエストを受信することと、バッファリングされたＲ／Ｗリクエストを提供するために、Ｒ／Ｗリクエストをバッファリングすることとを行うように構成される。ロジックは、バッファリングされたＲ／ＷリクエストがモジュールバスプロトコルのＲ／Ｗリクエストである場合、バッファリングされたＲ／Ｗリクエストを第１のＡＸＩプロトコル準拠のリクエストに変換し、バッファリングされたＲ／ＷリクエストがＡＸＩバスプロトコルのＲ／Ｗリクエストである場合、バッファリングされたＲ／Ｗリクエストを第１のモジュールバスプロトコル準拠のリクエストに変換する。第１のＡＸＩプロトコル準拠のリクエストはＡＸＩバスに送信され、又は第１のモジュールバスプロトコル準拠のリクエストはモジュールバスに送信される。
【図面の簡単な説明】
【０００７】
【図１】[0007]一実施形態例による、モジュールバスとＡＸＩバスの間の読込み／書出しリクエストを変換するための例示のバスブリッジインターフェイスデバイスのブロック図である。
【図２】[0008]一実施形態例による、バスブリッジインターフェイスデバイスの例示のプログラマブルロジックのブロック図である。
【図３Ａ】[0009]一実施形態例による、モジュールバスからＡＸＩバスに読込み／書出しリクエストを変換する例示的方法におけるステップを示す流れ図である。
【図３Ｂ】[0010]一実施形態例による、ＡＸＩバスからモジュールバスに読込み／書出しリクエストを変換する例示的方法におけるステップを示す流れ図である。
【図４Ａ】[0011]一実施形態例による、スレーブのＡＸＩバスリクエストを行う例示的方法におけるステップを示す流れ図である。
【図４Ｂ】[0012]一実施形態例による、マスタのＡＸＩバスリクエストを行う例示的方法におけるステップを示す流れ図である。
【図５】[0013]一実施形態例による、バスブリッジインターフェイスデバイス内でエラーを処理する例示的方法におけるステップを示す流れ図である。
【発明を実施するための形態】
【０００８】
[0014]開示の実施形態は添付の図を参照しながら説明され、類似又は同等の要素を指定するために、同じ参照番号が図の全体を通じて使用される。図は縮尺通りには描かれておらず、図は一定の開示の態様を示すためだけに提供される。いくつかの開示の態様が、例証のために例示の応用例を参照しながら下記に説明される。開示の実施形態が十分に理解されるように、非常に多くの具体的詳細、関連性、及び方法が示されるということを理解されたい。
【０００９】
[0015]しかし本明細書で開示された主題が、具体的詳細の１つもしくは複数を伴わずに、又は他の方法を伴って実践され得るということを当業者は容易に認識するであろう。他の例では、一定の態様をあいまいにしないようにするために、よく知られた構造又はオペレーションは詳細に示されていない。中には異なる順序で、及び／又は他の動作もしくはイベントと並行に発生する動作もあり得るので、本開示は動作又はイベントの図示された順序によって限定されない。さらに、すべての図示された動作又はイベントが、本明細書で開示された実施形態による方法論を実装するように求められるわけではない。
【００１０】
[0016]また、さらなる限定なしに本明細書で使用されるような用語「に連結される（ｃｏｕｐｌｅｄ  ｔｏ）」又は「と連結する（ｃｏｕｐｌｅｓ  ｗｉｔｈ）」（及び同様の語）は、間接又は直接の電気的接続を表すことを意図するものである。したがって第１のデバイスが第２のデバイスに「連結」する場合、この接続は、経路内に寄生があるだけの直接の電気的接続を介していてよく、また他のデバイス及び接続を含む介在物を経由する間接の電気的接続を介していてもよい。間接の連結に関して、介在物は一般に信号の情報を変更しないが、信号の電流レベル、電圧レベル、及び／又は電力レベルを調節することがある。
【００１１】
[0017]図１は、モジュールバスと高度拡張可能インターフェイスバスとの間の読込み／書出しリクエストを変換するための例示のシステム１００のブロック図を示す。図１に示されるように、システム１００は、モジュールバス１３２を介して１つ又は複数のローカル制御ネットワーク（ＬＣＮ）デバイス１３０と通信するバスインターフェイスデバイス１１０を備える。モジュールバス１３２は、単一方向性のデータ線、アドレス線、及び制御線１４２を含むことができる。バスインターフェイスデバイス１１０は、ＡＸＩバス１６２を介して１つ又は複数のＡＸＩデバイス１６０とさらに通信する。モジュールバス１３２は、データ双方向性のデータ線、アドレス線、及び制御線１４６を含むことができる。
【００１２】
[0018]バスインターフェイスデバイス１１０は、付随する内部メモリ１２２に、及び外部メモリ１２４に連結されたプロセッサ１１２（例えば、デジタル信号プロセッサ（ＤＳＰ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロプロセッサ、又はマイクロコントローラユニット（ＭＣＵ：ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ  ｕｎｉｔ））を含む。プロセッサ１１２は、モジュールバス１３２とＡＸＩバス１６２の間の読込み／書出しリクエストの変換を容易にするロジック１１４にも連結される。１つの実施形態において、ロジック１１４は特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）である。別の実施形態において、ロジック１１４は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ：ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）などのゲートアレイである。ロジック１１４は、本明細書で説明されたオペレーション、応用例、方法、又は方法論の任意の１つ又は複数を行うことができる。人間はナノ秒のオーダーで連続的に読込み／書出しリクエストを監視及び変換することができず、これは人が行うには明らかに速すぎるので、ロジック１１４がモジュールバス１３２とＡＸＩバス１６２の間の読込み／書出しリクエストを変換する。
【００１３】
[0019]１つの実施形態において、プロセッサ１２２は、（テスト及びデバッグに使用されるジョイントテストアクショングループ（ＪＴＡＧ：Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）モード中を除く）通常のオペレーション中のシステムの電源投入中にロジック１１４を構成する。プロセッサ１１２は、ＡＸＩインターコネクトに接続するＡＸＩバスインターフェイスを含むことができる。バスインターフェイスデバイス１１０は、ＡＸＩインターコネクトと、プログラマブルロジック１１４に実装されたモジュールバスインターフェイス１１８との間にある。システムの電源投入後、プロセッサ１１２は、ＡＸＩバスインターフェイスデバイスロジック、モジュールバスインターフェイスロジック、及びローカル制御ネットワークインターフェイス（ＬＣＮＩ：Ｌｏｃａｌ  Ｃｏｎｔｒｏｌ  Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ）と共にプログラマブルロジック１１４を構成する。プログラマブルロジック１１４が構成された後、プロセッサ１１２は、バスインターフェイスデバイス１１０及びモジュールバスインターフェイス１１８を介してローカル制御ネットワークインターフェイス（ＬＣＮＩ）と通信する。
【００１４】
[0020]受信された読込み／書出しリクエストを一時的に格納するための１つ又は複数のバッファ１１６を含むロジック１１４が示される。ロジック１１４は、モジュールバスインターフェイス１１８及びＡＸＩバスインターフェイス１２０をさらに含む。ロジック１１４は状態機械を使用して、モジュールバス１３２とＡＸＩバス１６２の間の読込み／書出しリクエストを変換するようにプログラムできるハードウェアである。モジュールバスインターフェイス１１８は、受信されたＡＸＩバスプロトコルの読込み／書出しリクエストをモジュールバスプロトコルのリクエストに変換する電子回路を収める。ＡＸＩバスインターフェイス１２０は、受信されたモジュールバスプロトコルの読込み／書出しリクエストをＡＸＩバスプロトコルのリクエストに変換する電子回路を収める。
【００１５】
[0021]１つの特定の実施形態において、バスインターフェイスデバイス１１０は、Ｃａｌｉｆｏｒｎｉａ州Ｓａｎ  ＪｏｓｅのＸｉｌｉｎｘ  Ｃｏｒｐｏｒａｔｉｏｎから市販されるＺｙｎｑ  ７０００オールプログラマブルシリコンオンチップ（ＳｏＣ：ｓｉｌｉｃｏｎ  ｏｎ  ｃｈｉｐ）デバイスであってよい。Ｚｙｎｑ  ７０００デバイスは、ＡＲＭベースのプロセッサ（すなわちプロセッサ１１２）のソフトウェアプログラミング性を、フィールドプログラマブルゲートアレイＦＰＧＡ（すなわちロジック１１４）のハードウェアカスタムプログラミング性と統合する。
【００１６】
[0022]本開示は、旧式のプロセッサバス（モジュールバス１３２）からプロセッサ１１２のＡＸＩバス１６２への橋渡しを行う。読込み及び書出しのＡＸＩバスリクエストを処理する時間は、４０ＭＨｚのクロックを使用して１００ｎｓのオーダーである。応答するために読込み／書出しが開始されるのには４クロックサイクル掛かる。このような速度のために、ＡＸＩバスプロトコルに要求されるような、読込み及び書出し経路を並行に処理することは人間には不可能である。
【００１７】
[0023]図２は、本明細書で説明される方法、処理、オペレーション、応用例、又は方法論の任意の１つ又は複数をバスインターフェイスデバイス１１０に行わせることができる、１１４’として示されたプログラマブルロジックとして具体化されるロジック１１４のさらなる詳細を示す。プログラマブルロジック１１４’は、いくつかのバッファ１１６を含む。バッファ１１６は、スレーブ書出し先入れ先出し（ＦＩＦＯ）バッファ２１０、スレーブ読込みＦＩＦＯバッファ２１２、マスタ書出しＦＩＦＯバッファ２１４、マスタ読込みＦＩＦＯバッファ２１６、スレーブ書出しアドレスＦＩＦＯバッファ２２０、スレーブ読込みアドレスＦＩＦＯバッファ２２２、マスタ書出しアドレスＦＩＦＯバッファ２２４、及びマスタ読込みアドレスＦＩＦＯバッファ２２６を備える。バッファ２１６〜２２４のそれぞれは、異なるバスプロトコルへの変換を要求する、受信された読込み及び／又は書出しリクエストを一時的に格納することができる。
【００１８】
[0024]プログラマブルロジック１１４’は、いくつかの有限状態機械（ＦＳＭ：ｆｉｎｉｔｅ  ｓｔａｔｅ  ｍａｃｈｉｎｅ）をさらに含む。ＦＳＭは、プログラマブルロジック１１４’内の順序論理回路として実装される。ＦＳＭは、有限個の状態のうちの１つであってよい。ＦＳＭは、現在状態と呼ばれる、同時に１つの状態にしかならない。状態は、トリガイベント又は条件によって開始されると１つの状態から別の状態に変化することができ、これは遷移と呼ばれる。特定のＦＳＭは、遷移の状態、及び各遷移のトリガ条件を列挙することよって定義される。ＦＳＭは、スレーブ書出しデータＦＳＭ２３０、スレーブ読込みデータＦＳＭ２３２、マスタ書出しＦＳＭ２３４、マスタ読込みＦＳＭ２３６、及びモジュールバスインターフェイスＦＳＭ２４０を含む。
【００１９】
[0025]１つの実施形態において、スレーブ書出しデータＦＳＭ２３０は、Ｓ＿ＡＸＩ＿ＢＲＥＳＰ線、Ｓ＿ＡＸＩ＿ＡＷＡＤＤＲ線、Ｓ＿ＡＸＩ＿ＷＤＡＴＡ線、及びＳ＿ＡＸＩ書出し制御信号線を含む、スレーブ書出しデータ線、アドレス線、及び制御線２６０を介してＡＸＩバス１６２に接続される。スレーブ読込みデータＦＳＭ２３２は、Ｓ＿ＡＸＩ＿ＲＲＥＳＰ線、Ｓ＿ＡＸＩ＿ＡＲＡＤＤＲ線、Ｓ＿ＡＸＩ＿ＲＤＡＴＡ線、及びＳ＿ＡＸＩ読込み制御信号線を含む、スレーブ書出しデータ線、アドレス線、及び制御線２６２を介してＡＸＩバス１６２に接続される。
【００２０】
[0026]マスタ書出しデータＦＳＭ２３４は、Ｍ＿ＡＸＩ＿ＢＲＥＳＰ線、Ｍ＿ＡＸＩ＿ＡＷＡＤＤＲ線、Ｍ＿ＡＸＩ＿ＷＤＡＴＡ線、及びＭ＿ＡＸＩ書出し制御信号線を含む、マスタ書出しデータ線、アドレス線、及び制御線２６４を介してＡＸＩバス１６２に接続される。マスタ読込みデータＦＳＭ２３６は、Ｍ＿ＡＸＩ＿ＲＲＥＳＰ線、Ｍ＿ＡＸＩ＿ＡＲＡＤＤＲ線、Ｍ＿ＡＸＩ＿ＲＤＡＴＡ線、及びＭ＿ＡＸＩ読込み制御信号線を含む、マスタ書出しデータ線、アドレス線、及び制御線２６６を介してＡＸＩバス１６２に接続される。
【００２１】
[0027]モジュールバスインターフェイスＦＳＭ２４０は、ｂｒｉｄｇｅ＿ｕｐ＿ｄａｔａ＿ｏｕｔ線、ｂｒｉｄｇｅ＿ｕｐ＿ｄａｔａ＿ｉｎ線、ｂｒｉｄｇｅ＿ｕｐ＿ａｄｄ＿ｉｎ線、ｂｒｉｄｇｅ＿ｕｐ＿ａｄｄｒ＿ｏｕｔ線、並びにモジュールバスアービトレーション及び制御信号線を含む、データ線、アドレス線、及び制御線２７０を介してモジュールバス１３２に接続される。
【００２２】
[0028]１つの実施形態において、バッファ２１０〜２２６は、入って来るＲ／Ｗリクエストを受信し、一時的に格納する（バッファリングする）。バッファリングされたＲ／ＷリクエストがモジュールバスプロトコルのＲ／Ｗリクエストである場合、ＦＳＭ２３０〜２３６は、バッファリングされたＲ／ＷリクエストをＡＸＩプロトコル準拠のリクエストに変換する。バッファリングされたＲ／ＷリクエストがＡＸＩバスプロトコルのＲ／Ｗリクエストである場合、ＦＳＭ２４０は、バッファリングされたＲ／Ｗリクエストをモジュールバスプロトコル準拠のリクエストに変換する。
【００２３】
[0029]図３Ａは、バスインターフェイスデバイス１１０を使用して、モジュールバスからＡＸＩバスに読込み／書出しリクエストを変換するための例示的方法３００におけるステップを示す流れ図である。図１〜図３Ａを参照すると、方法３００はインターフェイスデバイス１１０を使用して、また具体的にはＦＳＭ２３０、２３２、２３４、２３６、及び２４０としてプログラムされたプログラマブルロジック１１４’によって実装されてよい。しかし上述のように、ロジック１１４として利用されるロジックは、方法３００、又は下記に説明される方法４０、方法４５０、もしくは方法５００のプログラマブルロジックである必要はない。
【００２４】
[0030]方法３００は開始ブロックで始まり、ブロック３０２に進む。ブロック３０２において、バスインターフェイスデバイス１１０はプログラマブルロジック１１４’の初期化を含めてスタートアップ中に初期化され、システム１００内の他のデバイスとの通信を確立する。プログラマブルロジック１１４’は、モジュールバスプロトコルであるＲ／Ｗリクエスト（モジュールバスプロトコルのＲ／Ｗリクエスト）を受信する（ブロック３０４）。プログラマブルロジック’１１４は、バッファリングされたモジュールバスのＲ／Ｗリクエストを提供するために、バッファ２１０〜２２６の１つ又は複数を使用してモジュールバスのＲ／Ｗリクエストをバッファリングする（ブロック３０６）。プログラマブルロジック１１４’は、バッファリングされたモジュールバスのＲ／Ｗリクエストを第１のＡＸＩプロトコル準拠のリクエストに変換し（ブロック３１０）、第１のＡＸＩプロトコル準拠のリクエストをＡＸＩバス１６２に送信する（ブロック３１２）。その後、方法３００は終了する。
【００２５】
[0031]図３Ｂは、バスインターフェイスデバイス１１０を使用して、ＡＸＩバスからモジュールバスに読込み／書出しリクエストを変換するための例示的方法３５０におけるステップを示す流れ図である。図１〜図３Ｂを参照すると、方法３５０は、インターフェイスデバイス１１０を使用して、また具体的にはＦＳＭ２３０、２３２、２３４、２３６、及び２４０としてプログラムされたプログラマブルロジック１１４’によって実装されてよい。
【００２６】
[0032]方法３５０は開始ブロックで始まり、ブロック３５２に進む。ブロック３５２において、バスインターフェイスデバイス１１０は、プログラマブルロジック１１４’の初期化を含めてスタートアップ中に初期化され、システム１００内の他のデバイスとの通信を確立する。プログラマブルロジック１１４’は、ＡＸＩバスプロトコルであるＲ／Ｗリクエスト（ＡＸＩバスプロトコルのＲ／Ｗリクエスト）を受信する（ブロック３５４）。プログラマブルロジック１１４は、バッファリングされたＡＸＩバスのＲ／Ｗリクエストを提供するために、バッファ２１０〜２２６の１つ又は複数を使用してＡＸＩバスのＲ／Ｗリクエストをバッファリングする（ブロック３５６）。プログラマブルロジック１１４’は、バッファリングされたＡＸＩバスのＲ／Ｗリクエストを第１のモジュールバスプロトコル準拠のリクエストに変換し（ブロック３６０）、第１のモジュールバスプロトコル準拠のリクエストをモジュールバス１３２に送信する（ブロック３６２）。その後、方法３５０は終了する。
【００２７】
[0033]図４Ａ及び図４Ｂは、バスインターフェイスデバイス１１０を使用して、マスタ及びスレーブのＡＸＩバスリクエストを処理する例示的方法４００及び４５０におけるステップを示す流れ図である。図１〜図４Ｂを参照すると、方法４００は、インターフェイスデバイス１１０を使用して、また具体的にはＦＳＭ２３０、２３２、２３４、２３６、及び２４０としてプログラムされたプログラマブルロジック１１４’によって実装されてよい。
【００２８】
[0034]図４Ａを具体的に参照すると、方法４００は開始ブロックで始まり、ブロック４０２に進む。ブロック４０２において、プログラマブルロジック１１４’は、スレーブＡＸＩバスのＲ／Ｗリクエストを受信する。プログラマブルロジック１１４’は、スレーブＡＸＩバスのＲ／Ｗリクエストが有効であることをマスタバス信号が示すかどうかを判断する（判定ブロック４０６）。１つの実施形態において、プログラマブルロジック１１４’は、ＡＸＩインターフェイス１２０上のアドレス及びデータのそれぞれに対して、別々の書出し有効信号及び読込み有効信号を含む。スレーブＡＸＩバスのＲ／Ｗリクエストが有効であることに応答して、プログラマブルロジック１１４’は、スレーブＡＸＩのＲ／Ｗリクエストを行う（ブロック４０８）。その後、方法４００は停止する。スレーブＡＸＩバスのＲ／Ｗリクエストが有効ではないことに応答して、方法４００は終了する。
【００２９】
[0035]図４Ｂを見ると、方法４５０は開始ブロックで始まり、ブロック４５２に進む。ブロック４５２において、プログラマブルロジック１１４は、マスタＡＸＩバスのＲ／Ｗリクエストを受信する。プログラマブルロジック１１４’は、マスタＡＸＩのＲ／Ｗリクエストを行う（ブロック４５４）。その後、方法４５０は停止する。
【００３０】
[0036]図５は、システム１００内において、受信されたエラーを処理する例示的方法５００におけるステップを示す流れ図である。図１〜図５を参照すると、方法５００は、インターフェイスデバイス１１０を使用して、また具体的にはＦＳＭ２３０、２３２、２３４、２３６、及び２４０としてプログラムされたプログラマブルロジック１１４によって実装されてよい。
【００３１】
[0037]方法５００は開始ブロックで始まり、ブロック５０２に進む。ブロック５０２において、プログラマブルロジック１１４’は、アドレス線、信号線、又はデータ線２６０、２６６、又は２７０の１つ又は複数で、なんらかのエラーメッセージ又はエラー信号が受信されたかどうかを判断する。エラーメッセージ又はエラー信号が受信されないことに応答して、プログラマブルロジック１１４’はブロック５０２において、なんらかのエラーメッセージ又はエラー信号が受信されたかどうかを判断し続ける。１つ又は複数のエラーメッセージ又はエラー信号が受信されたことに応答して、プログラマブルロジック１１４’は、エラーが、モジュールバスからの応答がないことによるタイムアウト条件エラーかどうかを識別する（判定ブロック５０４）。応答がないことによるタイムアウト条件エラーが発生したことを識別したことに応答して、プログラマブルロジック１１４’は、デコードエラーメッセージをエンコードし（ブロック５０６）、デコードエラーメッセージを応答チャネル上のＡＸＩバスに送信する（ブロック５０８）。その後、方法５００は終了する。
【００３２】
[0038]応答がないことによるタイムアウト条件エラーが発生しなかったことを識別することに応答して、プログラマブルロジック１１４’は、エラーが、モジュールバスからの伝達エラーの確認エラーであるかどうかを識別する（判定ブロック５１０）。エラーが伝達エラーの確認エラーであることに応答して、プログラマブルロジック１１４’は、スレーブエラーメッセージをエンコードし（ブロック５１２）、スレーブエラーメッセージを応答チャネル上のＡＸＩバスに送信する（ブロック５１４）。その後、方法５００は終了する。
【００３３】
[0039]エラーが伝達エラーの確認エラーでないことに応答して、プログラマブルロジック１１４’は、エラーがＲ／Ｗエラーであるかどうかを識別する（判定ブロック５２０）。エラーがＲ／Ｗエラーであることに応答して、プログラマブルロジック１１４’は伝達エラーの確認メッセージをエンコードし（ブロック５２２）、伝達エラーの確認メッセージを応答チャネル上のモジュールバスに送信する（ブロック５２４）。その後、方法５００は終了する。エラーがＲ／Ｗエラーではないことに応答して、方法５００は停止する。
【００３４】
[0040]様々な開示の実施形態が上記で説明されたが、これらはほんの一例として提示されたにすぎず、限定されないということを理解されたい。本明細書で開示された主題に対する非常に多くの変更が、本開示の精神及び範囲から逸脱することなく本開示に従って行われて良い。さらに、特定の特徴がいくつかの実装形態のうちのただ１つについて開示されてもよいが、このような特徴は、任意の所与の又は特定のアプリケーションにとって望まれ、かつ有利であり得るものとして、他の実装形態の１つ又は複数の他の特徴と組み合わされてよい。
【００３５】
[0041]当業者によって理解されるように、本明細書で開示された主題は、システム、方法、又はコンピュータプログラム製品として具体化されてよい。したがって本開示は、全面的にハードウェアの実施形態、全面的にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、又はすべて全体的に本明細書で「回路」、「モジュール」、もしくは「システム」と呼ばれるソフトウェア及びハードウェアの態様を組み合わせる実施形態の形をとることができる。さらに本開示は、媒体の中で具体化されるコンピュータ使用可能プログラムコードを有する、表現の任意の有形的表現媒体の中で具体化されるコンピュータプログラム製品の形をとってよい。ハードウェアの実施形態として実装された開示の実施形態が示されるが、これにはソフトウェアの解決策に対する性能優位性がある。従来のプロセッサを使用するソフトウェアの実施形態は順次、処理し、別々のマスタ及びスレーブの読込み及び書出し経路を並行に処理しない。複数のコアが使用される場合、各コアは依然として、一度に１つずつ命令を処理する可能性があり、メモリから命令及びデータをフェッチするための待ち時間もある。
【００３６】
[0042]１つ又は複数のコンピュータ使用可能媒体又はコンピュータ可読媒体の任意の組合せが利用されてよい。コンピュータ使用可能媒体又はコンピュータ可読媒体は、例えば電子的な、磁気の、光学的な、電磁気的な、赤外線の、又は半導体のシステム、装置、又はデバイスであってよいが限定されない。コンピュータ可読媒体のさらなる具体例（完全に網羅されていないリスト）は、１つ又は複数のワイヤを有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、リードオンリメモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、すなわちフラッシュメモリ）、ポータブルコンパクトディスクリードオンリメモリ（ＣＤＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、光ストレージデバイス、又は磁気ストレージデバイスを含む、非一時的媒体を含む。
【図１】
2019507926.tif 000003
【図２】
2019507926.tif 000004
【図３Ａ】
2019507926.tif 000005
【図３Ｂ】
2019507926.tif 000006
【図４Ａ】
2019507926.tif 000007
【図４Ｂ】
2019507926.tif 000008
【図５】
2019507926.tif 000009
【手続補正書】
【提出日】平成30年10月31日(2018.10.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
バスブリッジを行うための方法であって、
少なくとも１つのモジュールバスと少なくとも１つの高度拡張可能インターフェイス（ＡＸＩ）バスの間のバスリクエストを変換するために、前記モジュールバスと前記ＡＸＩバスとの間に通信的に連結されたバスインターフェイスデバイスを提供するステップであって、前記バスインターフェイスデバイスは論理回路を含む、ステップを含み、前記論理回路は、
モジュールバスプロトコル（モジュールバスプロトコルのＲ／Ｗリクエスト）及びＡＸＩバスプロトコル（ＡＸＩバスプロトコルのＲ／Ｗリクエスト）のうちの１つである読込み／書出し（Ｒ／Ｗ）リクエストを受信することと、
バッファリングされたＲ／Ｗリクエストを提供するために、前記Ｒ／Ｗリクエストをバッファリングすることと、
前記バッファリングされたＲ／Ｗリクエストが前記モジュールバスプロトコルのＲ／Ｗリクエストである場合、前記バッファリングされたＲ／Ｗリクエストを第１のＡＸＩプロトコル準拠のリクエストに変換し、前記バッファリングされたＲ／Ｗリクエストが前記ＡＸＩバスプロトコルのＲ／Ｗリクエストである場合、前記バッファリングされたＲ／Ｗリクエストを第１のモジュールバスプロトコル準拠のリクエストに変換することと、
前記第１のＡＸＩプロトコル準拠のリクエストを前記ＡＸＩバスに、又は前記第１のモジュールバスプロトコル準拠のリクエストを前記モジュールバスに送信することと
を行うように構成される、方法。
【請求項２】
前記ＡＸＩバスプロトコルのＲ／Ｗリクエストが、マスタ読込みリクエストもしくはマスタ書出しリクエスト又はスレーブ読込みリクエストもしくはスレーブ書出しリクエストのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記Ｒ／Ｗリクエストが前記マスタ読込みリクエスト又はマスタ書出しリクエストであることに応答して、前記マスタ読込みリクエスト又はマスタ書出しリクエストを行うステップ
をさらに含む、請求項２に記載の方法。
【請求項４】
バスインターフェイスデバイスであって、
プロセッサと、
前記プロセッサと通信する論理回路であって、前記バスインターフェイスデバイスは、少なくとも１つのモジュールバスと少なくとも１つの高度拡張可能インターフェイス（ＡＸＩ）バスの間のバスリクエストを変換するために、前記モジュールバスと前記ＡＸＩバスとの間に通信的に連結される、論理回路と、を備え、前記論理回路は、
モジュールバスプロトコル（モジュールバスプロトコルのＲ／Ｗリクエスト）及びＡＸＩバスプロトコル（ＡＸＩバスプロトコルのＲ／Ｗリクエスト）のうちの１つである読込み／書出し（Ｒ／Ｗ）リクエストを受信することと、
バッファリングされたＲ／Ｗリクエストを提供するために、前記Ｒ／Ｗリクエストをバッファリングすることと、
前記バッファリングされたＲ／Ｗリクエストが前記モジュールバスプロトコルのＲ／Ｗリクエストである場合、前記バッファリングされたＲ／Ｗリクエストを第１のＡＸＩプロトコル準拠のリクエストに変換し、前記バッファリングされたＲ／Ｗリクエストが前記ＡＸＩバスプロトコルのＲ／Ｗリクエストである場合、前記バッファリングされたＲ／Ｗリクエストを第１のモジュールバスプロトコル準拠のリクエストに変換することと、
前記第１のＡＸＩプロトコル準拠のリクエストを前記ＡＸＩバスに、又は前記第１のモジュールバスプロトコル準拠のリクエストを前記モジュールバスに送信することと
を行うように構成される、バスインターフェイスデバイス。
【請求項５】
前記ＡＸＩバスプロトコルのＲ／Ｗリクエストが、マスタ読込みリクエストもしくはマスタ書出しリクエスト又はスレーブ読込みリクエストもしくはスレーブ書出しリクエストのうちの少なくとも１つを含む、請求項４に記載のバスインターフェイスデバイス。
【請求項６】
前記Ｒ／Ｗリクエストが前記マスタ読込みリクエスト又はマスタ書出しリクエストであることに応答して、前記マスタ読込みリクエスト又はマスタ書出しリクエストを行うこと
をさらに含む、請求項５に記載のバスインターフェイスデバイス。
【国際調査報告】
2019507926.tif 000010
2019507926.tif 000011