(57)【要約】ある動作をスレーブ（１２０，１２１，１２２）構成要素上で実行することを決定した場合に、マスタ構成要素（１１０）が、データ線（１３２）を介して、スレーブ構成要素（１２０，１２１，１２２）に対応するフレームの少なくとも一部を送信する保証二線式（１３１，１３２）インタフェース。マスタ構成要素（１１０）は、自分が、ある動作をスレーブ構成要素（１２０，１２１，１２２）上で実行することを決定する度に、また同じ構成要素または異なるスレーブ構成要素を前に通信したスレーブ構成要素とすると決定する度に、この検出および送信を繰り返す。フレーム構造自身は、実行する動作により変化することができる。例えば、あるフレームは、他のフレームに含まれている基本アドレス・フィールドより長い拡張アドレス情報を含む拡張アドレス・データ・フィールドを含むことができる。あるフレームは、信頼性フィールド（巡回冗長検査フィールド、肯定応答フィールド、および／またはエラー・フィールドなど）を含むことができ、一方、異なる動作を有する他のフレームは信頼性フィールドを含むことができない。
2007515143.tif 000002
【特許請求の範囲】
【請求項１】
マスタ構成要素がクロック線およびデータ線を介して１つ以上のスレーブ構成要素と通信するように構成されているシステムにおいて、前記マスタ構成要素が前記１つ以上のスレーブ構成要素と通信するために使用する保証ヘッダ二線式インタフェースのフレーム構造を動的に調整する方法であって、前記方法が、
第１の動作を前記１つ以上のスレーブ構成要素の第１のスレーブ構成要素上で実行することを決定するステップと、
前記第１の動作を表す第１のオペレーション・コードを含む前記１つ以上のスレーブ構成要素に、第１のフレームの少なくとも一部を送信するステップと、
前記１つ以上のスレーブ構成要素の第２のスレーブ構成要素上で第２の動作を実行することを決定するステップと、
前記第２の動作を表す第２のオペレーション・コードを含む前記１つ以上のスレーブ構成要素に、第２のフレームの少なくとも一部を送信するステップと、を含み、
前記第２のフレームが、前記第１のフレームに含まれていないフィールドを含む方法。
【請求項２】
前記第１および第２のフレームが、同じスレーブ構成要素上で実行する動作のためのものである請求項１に記載の方法。
【請求項３】
前記第１および第２のフレームが、異なるスレーブ構成要素上で実行する動作のためのものである請求項１に記載の方法。
【請求項４】
前記マスタ構成要素が、送信ステップ中に前記クロック線上のクロック信号をアサートするステップをさらに含む請求項１に記載の方法。
【請求項５】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、拡張オペレーション・コード情報を含む拡張フィールドを備える請求項１に記載の方法。
【請求項６】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、前記第１のフレームに含まれている基本アドレス・フィールドより長い拡張アドレス情報を含む拡張フィールドを備える請求項１に記載の方法。
【請求項７】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、巡回冗長検査情報を含む巡回冗長検査フィールドをさらに備える請求項６に記載の方法。
【請求項８】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、前記動作の終了に成功したことの肯定応答を含む肯定応答フィールドをさらに備える請求項７に記載の方法。
【請求項９】
前記肯定応答フィールドが、前記スレーブ構成要素がいずれの場合も前記動作を抑制することをさらに示す請求項８に記載の方法。
【請求項１０】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、前記巡回冗長検査情報が送信中にエラーを示したか否かについての情報を含むエラー・フィールドをさらに備える請求項８に記載の方法。
【請求項１１】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、プロトコル違反が検出されたか否かを示すエラー・フィールドをさらに備える請求項８
に記載の方法。
【請求項１２】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、前記巡回冗長検査情報が送信中にエラーを示したか否かについての情報を含むエラー・フィールドをさらに備える請求項７に記載の方法。
【請求項１３】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、前記動作の終了に成功したことの肯定応答を含む肯定応答フィールドをさらに備える請求項６に記載の方法。
【請求項１４】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、巡回冗長検査情報を含む巡回冗長検査フィールドをさらに備える請求項１に記載の方法。
【請求項１５】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、前記動作の終了に成功したことの肯定応答を含む肯定応答フィールドをさらに備える請求項１４に記載の方法。
【請求項１６】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、前記巡回冗長検査情報が送信中にエラーを示したか否か、および／またはプロトコル違反が検出されたか否かについての情報を含むエラー・フィールドをさらに備える請求項１５に記載の方法。
【請求項１７】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、前記巡回冗長検査情報が送信中にエラーを示したか否かについての情報を含むエラー・フィールドをさらに備える請求項１４に記載の方法。
【請求項１８】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、前記動作の終了に成功したことの肯定応答を含む肯定応答フィールドをさらに備える請求項１４に記載の方法。
【請求項１９】
システムであって、
マスタ構成要素と、
１つ以上のスレーブ構成要素と、
前記マスタ構成要素と前記スレーブ構成要素との間に相互接続されているクロック線と、
前記マスタ構成要素と前記スレーブ構成要素との間に相互接続されているデータ線と、を備え、
前記マスタ構成要素が、
前記１つ以上のスレーブ構成要素の第１のスレーブ構成要素上で第１の動作を実行することを決定するステップと、
前記第１の動作を表す第１のオペレーション・コードを含む前記１つ以上のスレーブ構成要素に、第１のフレームの少なくとも一部を送信するステップと、
前記１つ以上のスレーブ構成要素の第２のスレーブ構成要素上で第２の動作を実行することを決定するステップと、
前記第２の動作を表す第２のオペレーション・コードを含む前記１つ以上のスレーブ構成要素に、第２のフレームの少なくとも一部を送信するステップであって、前記第２のフレームが、前記第１のフレームに含まれていないフィールドを含むステップと
を実行するように構成されるシステム。
【請求項２０】
前記第１および第２のフレームが、同じスレーブ構成要素上で実行される動作のためのものである請求項１９に記載のシステム。
【請求項２１】
前記第１および第２のフレームが、異なるスレーブ構成要素上で実行される動作のためのものである請求項１９に記載のシステム。
【請求項２２】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、前記第１のフレームに含まれている基本アドレス・フィールドより長い拡張アドレス情報を含む拡張アドレス・データ・フィールドを備える請求項１９に記載のシステム。
【請求項２３】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、巡回冗長検査情報を含む巡回冗長検査フィールドをさらに備える請求項１９に記載のシステム。
【請求項２４】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、前記巡回冗長検査情報が送信中にエラーを示したか否かについての情報を含むエラー・フィールドをさらに備える請求項２３に記載のシステム。
【請求項２５】
前記第２のフレームに含まれているが、前記第１のフレームに含まれていないフィールドが、前記動作の終了に成功したことの肯定応答を含む肯定応答フィールドをさらに備える請求項１９に記載のシステム。
【請求項２６】
クロック線およびデータ線を介してスレーブ構成要素と結合した場合に、
前記１つ以上のスレーブ構成要素の第１のスレーブ構成要素上で第１の動作を実行することを決定するステップと、
前記第１の動作を表す第１のオペレーション・コードを含む前記１つ以上のスレーブ構成要素に、第１のフレームの少なくとも一部を送信するステップと、
前記１つ以上のスレーブ構成要素の第２のスレーブ構成要素上で第２の動作を実行することを決定するステップと、
前記第２の動作を表す第２のオペレーション・コードを含む前記１つ以上のスレーブ構成要素に、第２のフレームの少なくとも一部を送信するステップであって、前記第２のフレームが、前記第１のフレームに含まれていないフィールドを含むステップと、
を行うように構成されるマスタ構成要素。
【請求項２７】
前記第１および第２のフレームが、同じスレーブ構成要素上で実行する動作のためのものである請求項２６に記載のマスタ構成要素。
【請求項２８】
前記第１および第２のフレームが、異なるスレーブ構成要素上で実行する動作のためのものである請求項２６に記載のマスタ構成要素。
【請求項２９】
前記第２のフレームに含まれているが、前記第１のフレームに含まれていないフィールドが、
前記第１のフレームに含まれている基本アドレス・フィールドより長い拡張アドレス情報を含む拡張アドレス・データ・フィールドを備える請求項２６に記載のマスタ構成要素。
【請求項３０】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、巡回冗長検査情報を含む巡回冗長検査フィールドをさらに備える請求項２６に記載のマスタ構成要素。
【請求項３１】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、前記巡回冗長検査情報が送信中にエラーを示したか否かについての情報を含むエラー・フィールドをさらに備える請求項３０に記載のマスタ構成要素。
【請求項３２】
前記第２のフレームに含まれているが前記第１のフレームに含まれていないフィールドが、前記動作の終了に成功したことの肯定応答を含む肯定応答フィールドをさらに備える請求項２６に記載のマスタ構成要素。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、二線式インタフェースを用いて通信するための２つ以上の構成要素用の機構に関する。より詳細には、本発明は、それにより環境に依存する二線式インタフェース・プロトコルを動的に調整するために、オペレーション・コードにより動的に調整可能なデータ・フィールドを有する二線式インタフェースに関する。
【背景技術】
【０００２】
電子およびコンピューティング技術は、我々が仕事をしたり遊んだりする方法を変えてきた。多くの電子またはコンピューティング・システムは、複雑な機能を実行するために協調的に相互作用を行う種々の構成要素に依存している。このような協調的相互作用は、多くの場合、効果的に通信を行うために種々の構成要素の能力に依存している。
【０００３】
電子構成要素は、多くの方法で通信を行うことができる。しかし、多くの場合、構成要素間の通信には二線式インタフェースが使用される。二線式インタフェースを使用する通信は、他のインタフェースによる通信より遅い場合もあるが、いくつかの実施の場合には、二線式インタフェースを使用することが好ましい。何故なら、このようなインタフェースは、多くの場合、チップの数が少なくてすむし、または構成要素間の基板スペースが狭くてすむからである。さらに、二線式インタフェースは、多くの場合、多くのパラレル・インタフェースよりも、残りのチップおよび／または基板内の電磁干渉が少ない。
【０００４】
いくつかの従来の二線式インタフェースの場合には、一方の線はクロック信号を運ぶために使用され、他方の線はデータ信号を運ぶために使用される。クロック信号は、通常、マスタ構成要素により生成され、マスタ構成要素および１つ以上のスレーブ構成要素により使用される。マスタ構成要素またはスレーブ構成要素は、共有クロック信号のタイミングに従ってデータ線上にデータを駆動することができる。各通信構成要素は、通信に使用する共通の二線式プロトコルを理解していて、そのためそれぞれデータにより正しく機能することができる。二線式インタフェース用のデータ線は、通常、データばかりでなく、実行する動作を識別するヘッダ・フィールド（すなわち、オペレーション・コード）、デバイス識別子（場合によっては、通信するための複数のスレーブ構成要素を含むことができる）、およびデータを読み取るアドレスまたはデータを書き込むアドレスを含む。
【０００５】
豊富な二線式インタフェースの一例としてはＩ２Ｃインタフェースがある。Ｉ２Ｃインタフェースは、１つの対応するヘッダ・フィールドにより、大量（例えば、キロバイトまたはメガバイト）のデータを転送するのに使用することができる。すなわち、ヘッダ・フィールドが供給されると、後のすべてのデータに対応する動作を理解することができる。ヘッダ・フィールドは大量のデータに対して１回しか供給されないので、Ｉ２Ｃインタフェースは、メモリへまたメモリから大量のデータを通信する場合、非常に効率的である。
【０００６】
もう１つのタイプの二線式インタフェースは、転送中のデータの各バイトまたはワードのためのヘッダ・フィールドを含む。このような二線式インタフェースは、「保証ヘッダ二線式インタフェース」と呼ばれる。何故なら、データの各バイトまたはワードまたは他の少量の一定量は、実行する動作を識別するそれ自身のヘッダ・フィールドを有することを保証されているからである。データの各バイトまたはワードはそれ自身のヘッダ・フィールドを有しているので、転送するデータの単位毎に有意にもっと広い帯域幅が使用される。ほとんどの場合、実際には、このような保証ヘッダ・インタフェースを使用する場合には、読み取ったり書き込んだりする実際のデータを表すビットよりも、ヘッダ情報を表
すもっと多くのビットが転送されることになる。それ故、保証ヘッダ二線式インタフェースは、通常、大量の連続データを読み取ったり書き込んだりするのには使用されない。代わりに、保証ヘッダ二線式インタフェースは、例えば、時々構成レジスタの値を設定する場合に、少量のデータを間欠的に転送するために最も頻繁に使用される。
【０００７】
図７は、ある従来の保証ヘッダ二線式インタフェースのフレームを示す。このインタフェースは、通常、「ＭＤＩＯ」インタフェースと呼ばれる。本明細書内の説明および特許請求の範囲においては、保証ヘッダ二線式インタフェースの「フレーム」は、データの対応する１つのバイトまたはワード（または他の少量の一定量）を転送するのに使用する構造情報と定義される。
【０００８】
マスタ構成要素は、データ線上のプリアンブルを肯定的にアサートすることによりフレームを開始する。プリアンブルは３２ビットからなり、各ビットは論理１を有する（ビット６４：３３に対応する）。このプリアンブルは、他のヘッダ情報およびデータが送信されようとしている１つ以上の各スレーブ構成要素にある表示を与える。
【０００９】
次に、マスタ構成要素は、フレームの開始を表す論理０を有する次の２つのビット（ビット３２：３１に対応する）を送信する。これはもっと意味のあるデータが送信されようとしていることを示す。
【００１０】
より詳細に説明すると、フレーム・ビットの開始の後で、マスタ構成要素は、オペレーション・コード（ビット３０：２９に対応する）を送信する。ＭＤＩＯ規格の場合には、アドレス動作は、００という演算ビット値に対応し、書込み動作は０１という演算ビットに対応し、読取り動作は１１という演算ビット値に対応し、読取り加算動作は１０という演算ビット値に対応する。
【００１１】
次に、マスタ構成要素は、ポート・アドレス（ビット２８：２４に対応する）を送信する。これによって、通信しようとしているスレーブ・ポートが識別される。ＭＤＩＯ規格の場合には、２つ以上のスレーブ構成要素が１つのポートに対応することができる。それ故、通信しようとするスレーブ構成要素を一意に識別するために、マスタ構成要素は、次に、それによりスレーブ構成要素が、フレーム内のもう１つの情報を受信する準備をすることができるように、デバイス識別子（ビット２３：１９に対応する）を送信する。また、このことにより、通信しない任意の他のスレーブ構成要素は、フレームの残りの部分を無視することができる。
【００１２】
次の２つのクロック・サイクル（ビット１８：１７に対応する）は、どちらの構成要素がデータ線上のビットをアサートしているのかを切り替えるのに使用される。動作がアドレス動作または書込み動作である場合には、マスタ構成要素は、最初に論理１を送り、次に論理０を送る。一方、動作が読取り動作または読取りインクリメント動作である場合には、マスタ構成要素は、高インピーダンスによりデータ線をフロートさせる。これにより、マスタ構成要素に対してデータ線の制御を解放する遷移サイクルが供給され、スレーブ構成要素は、以降のサイクル中に論理０によりデータ線を駆動することができ、それによりスレーブ構成要素は、データ線の制御を入手することができる。
【００１３】
動作がアドレス動作である場合には、マスタ構成要素は、以降の動作中に動作するアドレス（ビット１６：０１に対応する）を表示する。動作が書込み動作である場合には、マスタ構成要素は、前のアドレス動作中に指定されたアドレスにデータ（ビット１６：０１に対応する）を書き込む。動作が読取り動作である場合には、スレーブ構成要素は、データ線上に前に指定されたアドレスからの読取りデータ（ビット１６：０１に対応する）を置く。動作が読取りインクリメント動作である場合には、スレーブ構成要素は、データ線
上に次の隣接するアドレスに対する読取りデータ（ビット１６：０１に対応する）を置く。
【００１４】
構成要素がデータ線を制御しているか否かとは無関係に、次に、構成要素は、データ線をフロートにさせる（ビット００に対応して）。これでフレームが完成する。
ＭＤＩＯインタフェースは、ほとんどの場合、データを効果的に転送する。しかし、フレームの構造は完全に固定されている。例えば、読取りまたは書込み動作を行う場合には（読取り加算動作を行う場合を除く）、別々にアドレス動作を行わなければならない。さらに、アドレス動作に割り当てられているアドレス・ビットのうちの１６ビットは固定されている。このことは、小さな記憶能力しか有していないデバイスにとっては手に余ることであり、それにより多くのアドレス・ビットが無駄になる。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
通信ニーズに動的に調整される保証ヘッダ二線式インタフェースが望ましい。
【課題を解決するための手段】
【００１６】
従来技術の上記問題は、本発明の原理により克服される。本発明の原理は、マスタ構成要素および１つ以上のスレーブ構成要素を含むシステムで実施することができる。マスタ構成要素は、保証ヘッダ二線式インタフェースを用いて、データ線およびクロック線を介してスレーブ構成要素と通信するように構成されている。すなわち、転送データの各バイトまたはワード（または他の少量の一定量）は、それ自身の専用ヘッダ情報を含む。
【００１７】
ある動作がスレーブ構成要素上で行う動作であると判断した場合には、マスタ構成要素は、データ線を介してスレーブ構成要素に、対応するフレームの少なくとも一部を送信する。同時に、マスタは、クロック線上のクロック信号をアサートする。マスタ構成要素は、異なる特性を有する複数のスレーブ構成要素にフレームを送信することができる。
【００１８】
しかし、フレーム構造自身は、実行する動作に従って（すなわち、マスタ構成要素がフレーム内で識別したオペレーション・コードに従って）変化することができる。例えば、あるフレームは、他のフレームに含まれている基本アドレス・フィールドより長い拡張アドレス情報を含む拡張アドレス・データ・フィールドを含むことができる。あるフレームは、信頼性フィールド（巡回冗長検査フィールド、肯定応答フィールド、および／またはエラー・フィールドなど）を含むことができ、一方、異なる動作を有する他のフレームは、信頼性フィールドを含むことができない。
【００１９】
それ故、フレーム構造をその時点の状況により動的に変えることができる。信頼性に対するニーズのほうが帯域幅保存のニーズより大きい場合には、信頼性フィールドを含むことができる。大きな記憶能力を有するスレーブ構成要素と通信している場合には、拡張アドレス・フィールドを含むことができる。
【００２０】
以下に本発明の他の特徴および利点について説明するが、一部は説明を読めば理解することができるだろうし、または本発明の実施形態から理解することができるだろう。本発明の特徴および利点は、特に添付の特許請求の範囲に記載する機器および組合せにより実行し、入手することができる。下記の説明および添付の特許請求の範囲を見れば、本発明の上記および他の特徴をもっとはっきり理解することができるだろうし、または下記の本発明の実施形態から理解することができるだろう。
【００２１】
本発明の上記および他の利点および特徴を入手することができる方法について説明するために、すでに簡単に説明した本発明のより詳細な説明を、添付の図面に示す特定の実施
形態を参照することにより理解することができるだろう。これらの図面は本発明の典型的な実施形態であり、それ故、本発明の範囲を制限するものと見なすべきではないということを理解していただき、添付の図面を参照しながら本発明の他の特異性および詳細を説明する。
【発明を実施するための最良の形態】
【００２２】
本発明の原理は、実行する動作に従って調整することができる保証ヘッダ二線式インタフェースに関する。それ故、動作を変更することができ、フレームを通信のその時点のパラメータを格納するために動的に調整することができる。例えば、もっと大きなメモリ・スペースをアドレス指定するためにもっと多くの数のビットを必要とする場合には、動的にそれを格納することができる。アドレス指定するのにもっと少ない数のビットですむ場合にも、それを格納することができる。より信頼性の高い通信が必要な場合には、信頼性情報（巡回冗長検査および肯定応答など）をオプションとして含むことができる。
【００２３】
図面について説明すると、図１は、マスタ構成要素１１０が１つ以上のスレーブ構成要素１２０と通信している電子またはコンピューティング・システム１００である。スレーブ構成要素１２０は、垂直方向の点１２２で表す潜在的に任意の数の他のスレーブ構成要素のうちのスレーブ構成要素１２１を含む。マスタ構成要素１１０は、クロック線１３１およびデータ線１３２を含む２本の線を通して、スレーブ構成要素１２０のうちの任意のものと通信する。
【００２４】
マスタ構成要素１１０が「マスタ」構成要素と呼ばれるのは、それにより各スレーブ構成要素１２０のタイミングを制御するために、クロック線１３１上のクロック信号をアサートするからである。さらに、マスタ構成要素１１０は、データ線１３２上の信号をアサートすることにより実行する動作を識別する。スレーブ構成要素１２０が「スレーブ」構成要素と呼ばれるのは、そのタイミングがマスタ構成要素１１０により制御されるからであり、スレーブ構成要素が、マスタ構成要素１１０が指定する動作に従うように構成されているからである。マスタ構成要素１１０が動作を開始する場合には、マスタ構成要素は、クロック線１３１上のクロック信号をアサートし、データ線１３２上のフレームのアサートを開始する。動作のタイプに従って、通信しているスレーブ構成要素１２０に、それによりデータ線１３２上のフレーム・データを送るために、データ線１３２を制御することができる。以下の説明においては、通信しているスレーブ構成要素１２０は、多くの場合、スレーブ構成要素１２１と呼ばれるが、マスタ構成要素１１０は、任意のスレーブ構成要素１２０との通信を選択することもできる。
【００２５】
図２は、本発明の原理による保証ヘッダ二線式インタフェースのフレームのデータ構造２００の略図である。フレーム２００は、プリアンブル・フィールド２０１、フレーム開始フィールド２０２、動作フィールド２０３、デバイス識別子フィールド２０４、オプションとしての拡張フィールド２０５、基本アドレス・フィールド２０６、第１のバス・ターンアラウンド・フィールド２０７、およびオプションとしてのバス保持フィールド２０８、データ・フィールド２０９、オプションとしての巡回冗長検査（ＣＲＣ）フィールド２１０、第２のバス・ターンアラウンド・フィールド２１１、オプションとしての肯定応答フィールド２１２、オプションとしてのエラー状態フィールド２１３、およびフレーム・エンド・フィールド２１４を含む。以下にさらに詳細に説明するように、フレーム２００は、データ線の制御のための任意の構成要素のターン内にプリアンブルの長さよりも頻繁に保証されたゼロが散在するように設計されている。
【００２６】
バス・ターンアラウンド・フィールドにより、必要に応じて、マスタ構成要素１１０とスレーブ構成要素１２１との間でデータ線の制御を転送することができる。それ故、マスタ構成要素は、フレームのある部分を供給することができ、一方、スレーブ構成要素は、
フレームの他の部分を供給することができる。図２は、フィールドの特定の順序を示しているが、この説明を読めば通常の当業者であれば理解することができるように、フレーム２００の機能に悪影響を与えないで、フィールドの順序をかなり自由に変えることができることに留意されたい。
【００２７】
図３Ａ、図３Ｂおよび図３Ｃは、フレーム２００の特定の実施形態である。オプションとしてのフィールドのあるものは、実行する動作により追加したり除去することができる。図３Ａは、拡張フィールドを使用し、また巡回冗長検査（ＣＲＣ）および肯定応答も使用して、書込み動作および読取り動作を行う例示としてフレームを示す。図３Ｂは、拡張フィールドを使用しないが、ＣＲＣおよび肯定応答を使用して、書込み動作および読取り動作を行う例示としてフレームを示す。図３Ｃは、拡張フィールドも使用しないし、ＣＲＣおよび肯定応答も使用しないで書込みまたは読取り動作を行う例示としてのフレームを示す。
【００２８】
図３Ａが最も包括的なフレームの例を示しているので、図３Ａを参照しながらフレームの種々のフィールドについて非常に詳細に説明することにする。図３Ａのフレームは、動作がライン３０１Ａ内に指定する読取り動作であろうと、ライン３０４Ａ内に指定する書込み動作であろうと、ビット７４：０に対応する７５ビットを含む。
【００２９】
ライン３０２Ａは、マスタ構成要素１１０が、読取り動作中データ線１３２を制御している場合の時間加算の時のアスタリスクを示し、そうでない場合には周期を含む。ラインの頭のところの「ＭＯＥ」は、「マスタ・データ出力可能」を意味する。ライン３０３Ａは、スレーブ構成要素１２１が、読取り動作中データ線１３２を制御している際の時間インクリメントのところのアスタリスクを示し、そうでない場合には周期を含む。ラインの頭のところの「ＳＯＥ」は、「スレーブ・データ出力可能」を意味する。
【００３０】
同様に、ライン３０５Ａは、マスタ構成要素１１０が、書込み動作中データ線１３２を制御している場合の時間加算の時のアスタリスクを示し、そうでない場合には周期を含む。さらに、ライン３０６Ａは、スレーブ構成要素１２１が、書込み動作中データ線１３２を制御している場合の時間加算の時のアスタリスクを示し、そうでない場合には周期を含む。ライン３０７Ａおよび３０８Ａについては以下にさらに説明する。
【００３１】
フレームは、図３Ａの１５ビット７４：６０で示すプリアンブルから開始する。このプリアンブルは、図２のプリアンブル・フィールド２０１の一例である。データ線１３２は、高インピーダンス状態のままである。データ線１３２上に、マスタ構成要素１１０または任意のスレーブ構成要素１２０による任意のアサートがない場合には、データ線１３２は弱いプルアップ抵抗により論理１に保持される。例えば、図１を参照すると、供給電圧１４１が高い供給電圧である場合には、抵抗１４２はプルアップ抵抗である。マスタ構成要素１１０が、スレーブ構成要素１２１と通信すると判断した場合には、マスタ構成要素１１０は、クロック線１３１上にクロック信号を生成する。同時に、各クロック・サイクル、マスタ構成要素１１０は、連続している１５個の１を求めてデータ線１３２を監視する。高インピーダンス・データ線１３２の場合には、弱いプルアップ抵抗が存在していてもデータ線上のデータを正しくアサートすることができる。
【００３２】
マスタ構成要素１１０が、プリアンブル段階中、データ線１３２上のどれもアサートしていない場合には、データ線１３２は、スレーブ構成要素のどれもがデータ線１３２上の前のフレームの残りを送信していない場合、論理１状態でいなければならない。別の方法としては、マスタ構成要素１１０が、プリアンブルの少なくとも一部中、データ線上に論理１をアサートすることができる場合でも、データ線１３２は、スレーブ構成要素のどれもがその時点でデータ線１３２上で送信を行っていないと仮定して、プリアンブル段階中
、論理１の状態でいなければならない。一方、フレームは、マスタもスレーブも、フレームのプリアンブルでない部分を送信中に、１６個以上の連続した論理１を送信しないように設計されている。
【００３３】
すでに説明したように、マスタ構成要素１１０が、フレームのプリアンブル段階中にデータ線１３２を監視している間に、データ線１３２上で論理０を検出した場合には、スレーブ構成要素は、データ線１３２により通信している可能性がある。論理０が検出されてもされなくても、マスタ構成要素１１０は、フレームを続行する前にデータ線１３２上に論理１の１５のサイクルができるまで待機する。フレーム設計中の散在する保証された０のために、マスタ構成要素１１０は、スレーブ構成要素のうちの１つが同様にデータ線１３２により通信している恐れが少ない状態で、データ線１３２により安全に送信することができる。
【００３４】
それ故、マスタ構成要素１１０とスレーブ構成要素１２１との間の同期中にエラーがあった場合でも、マスタ構成要素１１０が、スレーブ構成要素１２１が処理の前にデータ線１３２の使用を終了するまで待機すれば、再び同期させることができる。スレーブ構成要素１２１も、１５個の連続している１を求めてデータ線１３２を監視する。それ故、スレーブ構成要素１２１が１５個の連続している１を検出した場合には、スレーブ構成要素１２１はフレームの残りを待機する。それ故、スレーブ構成要素１２１は、スレーブ構成要素１２１がマスタ構成要素１１０とすでに同期を喪失していてもいなくても、プリアンブルの時点でデータ線１２を使用していないので、スレーブ構成要素はフレームのプリアンブル段階でプリアンブルを聴取しなければならない。それ故、スレーブ構成要素１２１は、マスタ構成要素１１０と再度同期する。
【００３５】
それ故、プリアンブルは、同期を失ってからエラー回復をさらに保持している間にかなり短くなる。さらに、データ線１３２は、弱いプルアップ抵抗のために大きくバイアスがかけられるので、マスタ構成要素は、プリアンブル段階中にデータ線１３２上で任意のデータをアサートする必要がなく、それにより電力要件が緩和する。プリアンブルは、フレームの残りの部分が散在する保証された１（０ではなく）を有していて、抵抗が同じ効果を有する弱いプルダウン抵抗である論理０（１ではなく）のシーケンスであってもよいことに留意されたい。例えば、図１を参照すると、供給電圧１４１が低い供給電圧である場合には、抵抗１４２はプルダウン抵抗である。プルダウン抵抗の場合には、プリアンブルおよびビット０１は、すべて図に示すように、論理１ではなく論理０である。
【００３６】
プリアンブル段階が終了すると（すなわち、マスタ構成要素１１０が、データ線１３２上で少なくとも１５の連続している２進の１を検出すると）、マスタ構成要素１１０は、ビット５９で表すデータ線上に論理１をアサートする。これによりマスタ構成要素１１０に対する出力が可能になり、もう１回のサイクル中データ線１３２を論理１に維持する。
【００３７】
次に、マスタ構成要素１１０は、保証された論理０である２つのフレーム開始ビット５８：５７を送信する。これらのフレーム開始ビットは、図２のフレーム開始フィールド２０２の一例である。プリアンブル段階が終了した後で、スレーブ構成要素は、これらの論理０を聴取する。これらの論理０が到着すると、スレーブ構成要素は、２つの論理０がフレームの残りの開始に対応することを理解し、それにより同期が得られる。２つの論理０が実際にフレームの開始を示す十分な統計的確率を提供するために、２つの論理０が供給される。
【００３８】
次に、マスタ構成要素１１０は、３つのオペレーション・コード・ビット５６：５４を送信する。これらのオペレーション・コード・ビットは、図２の動作フィールド２０３の一例である。３つのオペレーション・コード・ビットは、通常、８つの一意の動作を識別
することができる。しかし、このオペレーション・コードの少なくとも１つの論理０を保証するために、３つのビットが表す動作の数は６つであり、オペレーション・コードの他の２つの順列（ｐｅｒｍｕｔａｔｉｏｎ）は予約される。図の例の場合には、ビット・シーケンス０１１および１１１が予約される。
【００３９】
この例の場合には、演算ビット０００は、拡張フィールド（以下にさらに説明する）は使用しないが、ＣＲＣ検査および肯定応答を使用する書込み動作を意味する。図３Ｂのライン３０４Ｂにこの動作のためのフレームを示す（ライン３０４Ｂのビット４７：４５参照）。
【００４０】
演算ビット００１は、拡張フィールド、およびＣＲＣ検査および肯定応答を使用する書込み動作を意味する。図３Ａのライン３０４Ａにこの動作用のフレームを示す（ライン３０４Ａのビット５６：５４参照）。
【００４１】
演算ビット０１０は、拡張フィールドも使用しないし、ＣＲＣ検査および肯定応答も使用しない書込み動作を意味する。図３Ｃのライン３０４Ｃにこの動作のためのフレームを示す（ライン３０４Ｃのビット３５：３３参照）。
【００４２】
演算ビット１００は、拡張フィールドを使用しないが、ＣＲＣ検査および肯定応答を使用する読取り動作を意味する。図３Ｂのライン３０１Ｂにこの動作のためのフレームを示す（ライン３０１Ｂのビット４７：４５参照）。
【００４３】
演算ビット１０１は、拡張フィールドも使用し、ＣＲＣ検査および肯定応答も使用する読取り動作を意味する。図３Ａのライン３０１Ａにこの動作のためのフレームを示す（ライン３０１Ａのビット５６：５４参照）。
【００４４】
演算ビット１１０は、拡張フィールドも使用しないし、ＣＲＣ検査および肯定応答も使用しない読取り動作を意味する。図３Ｃのライン３０１Ｃにこの動作のためのフレームを示す（ライン３０１Ｃのビット３５：３３参照）。
【００４５】
動作によりフレームの構造がどのように違うのかに留意されたい。それ故、マスタ構成要素１１０は、オペレーション・コードを制御することにより、どのフレーム構造を使用すべきかについて制御する。オペレーション・コードを読み取った場合、スレーブ構成要素は、オペレーション・コードに対応するフレーム構造を予想するように構成されている。それ故、マスタ構成要素１１０は、必要に応じてフレーム構造を動的に調整することができる。帯域幅がより重要な場合には、もっと短く信頼性の低いフレーム構造（例えば、図３Ｃ）を使用することができる。信頼性がより重要な場合には、もっと長くもっと信頼性が高いフレーム構造（例えば、図３Ａおよび図３Ｂ）を使用することができる。何らかの理由で他のビットが必要な場合には、拡張フィールド（例えば、図３Ａ）を含むフレームを使用することができる。これらの他のビットが必要ない場合には、拡張フィールド（例えば、図３Ｂおよび図３Ｃ）を含んでいないフレームを使用することができる。
【００４６】
再度図３Ａを参照すると、マスタ構成要素１１０がオペレーション・コード（すなわち、ビット５６：５４）を送信した後で、マスタ構成要素１１０は、ビット５３：５１に対応する３つのビット・デバイス識別子を送信する。これらのデバイス識別子ビットは、図２のデバイス識別子フィールド２０４の一例である。デバイス識別子は、マスタ構成要素１１０がスレーブ構成要素１２０のどのスレーブ構成要素と通信するのかを識別する。この実施形態の場合には、デバイス識別子用に３つのビットを使用するので、この実施形態には最大８つのスレーブ構成要素を含むことができる（または、マスタ構成要素が同様に自己診断の目的のためのアドレスを有している場合には、７つのスレーブ構成要素を含む
ことができる）。
【００４７】
デバイス識別子ビットが供給されるまで、各スレーブ構成要素１２０は、データ線１３２上の通信を監視していた。しかし、デバイス識別子ビットを受信した場合には、スレーブ構成要素１２１は、それ自身をデバイス識別子に対応するものとして識別することができる。他のスレーブ構成要素は、もし存在していた場合でも、フレームの残りを無視することができる。他のスレーブ構成要素がフレームの残りを無視したとしても、他のスレーブ構成要素は、送信中の他のフレームを示す他のプリアンブルのためのデータ線１３２の監視を直ちに続行することができる。別の方法としては、他のスレーブ構成要素は、次のフレームが開始しようとしていることを示すクロック信号がクロック線１３１上で再度アサートされた後で、このような監視を開始することができる。
【００４８】
マスタ構成要素１１０が、データ線１３２上でデバイス識別子ビット５３：５１をアサートした後で、マスタ構成要素は、拡張フィールドに対応する８つのビット５０：４３をアサートする。これらの拡張ビットは、図２の拡張フィールド２０５の一例である。図３Ａの場合には、オペレーション・コードによりスレーブ構成要素は、これらの拡張ビットを予想する。次に、マスタ構成要素は、ビット４２として、保証された論理０を送信し、それによりデータ線１３２上の１５個の連続した論理１が、それにより上記同期回復機構をサポートするために、フレームがプリアンブル内に位置することを確実に意味する。
【００４９】
拡張フィールドは、ビットの意味が両方の通信構成要素により共通して認識される限りは役に立つ任意の拡張ビットを含むことができる。例えば、拡張フィールドの中のいくつかまたはすべては、もっと大きなアドレス・スペースを有するスレーブ構成要素と通信している場合に使用するための拡張アドレスを表すことができる。別の方法としては、またはさらに、拡張フィールドの中のあるものまたはすべては、もっと他の動作タイプが必要な場合には、拡張オペレーション・コードを表すことができる。
【００５０】
次に、マスタ構成要素１１０は、基本アドレスに対応する８つのビット４１：３４をアサートする。これら８つのビット４１：３４は、図２の基本アドレス・フィールド２０６の一例である。すべての拡張フィールドが、拡張アドレスを表す場合には、スレーブ構成要素１２１は、動作に適用されるアドレス・スペースを正しく識別するために、１６ビット５０：４３および４１：３４すべてを使用することができる。
【００５１】
フレーム内の次のビット３３は、第１のターンアラウンド・ビットであり、図２の第１のターンアラウンド・フィールド２０７の一例である。ターンアラウンド・ビットは、マスタ構成要素１１０とスレーブ構成要素１２１との間で、データ線１３２の制御を自由に交換することができるという点で幾分一意的なものである。
【００５２】
書込み動作の場合、第１のターンアラウンド・ビット３３は、しばらくの間はマスタ構成要素１１０が制御を行うことを示す論理０である。それ故、図３Ａのライン３０５Ａを参照すると、マスタ構成要素１１０は、ターンアラウンド・ビット３３を通してデータ線の制御を保持し、図３Ａのライン３０６Ａを参照すると、スレーブ構成要素１２１は、ターンアラウンド・ビット３３を通してデータ線の制御を入手していない。この制御の保持は正しい。何故なら、マスタ構成要素１１０は、マスタ構成要素１１０が開始した書込み動作を受けるそのデータを供給している構成要素であるからである。
【００５３】
一方、読取り動作の場合には、第１のターンアラウンド・ビット３３はｈｉｇｈ−ｚ状態にあり、このことは、その高インピーダンス状態の場合、データ線１３２はフロート状態になることができることを意味し、その場合、マスタ構成要素１１０またはスレーブ構成要素１２１は、データ線１３２上のビットを能動的にアサートしていない。このことは
、データ線の制御が、スレーブ構成要素に渡されたことを表す（図３Ａのライン３０２Ａおよび３０３Ａ参照）。この制御の移動は正しい。何故なら、スレーブ構成要素１２１は、マスタ構成要素１１０が開始した読取り動作を受けるそのデータを供給している構成要素であるからである。
【００５４】
読取り動作の場合には、スレーブ構成要素１２１は、スレーブ構成要素１２１がこの段階で続行する準備ができていない場合に、フレームを休止する機会を有する。スレーブ構成要素は、続行する準備ができていない場合には、バス保持ビット３２を論理０にアサートする。続行する準備ができた場合には、スレーブ構成要素１２１は続行する準備ができ、それによりマスタ構成要素１１０がスレーブ構成要素が続行する準備ができたことを通知した場合、スレーブ構成要素１２１は、論理１をアサートする。これによりスレーブ構成要素１２１は、スレーブ構成要素が当面続行する準備ができていない場合には、フレームを休止するというオプションの提供を受ける。スレーブ構成要素が使用することができる追加の休止オプションについては、以下に肯定応答ビットのところで説明する。書込み動作の場合には、バス保持ビット３２は保証された論理１である。バス保持ビット３２は、図２のバス保持フィールド２０８の一例である。
【００５５】
読取り動作の場合には、スレーブ構成要素１２１がビット保持ビット３２を送信した後で、スレーブ構成要素１２１は、８つの最上位ビットを送信し、その後で保証された０ビットを送信する。書込み動作の場合には、マスタ構成要素１１０がビット保持ビット３２を送信した後で、マスタ構成要素１１０は、８つの最上位ビットを送信し、その後で保証された０ビットを送信する。いずれの場合も、８つの最上位ビットは、ビット３１：２４で表され、以降の保証された０ビットはビット２３により表される。
【００５６】
読取り動作の場合には、スレーブ構成要素１２１が保証された０ビット２３を送信した後で、スレーブ構成要素１２１は、８つの最下位ビットを送信し、その後でもう１つの保証された０ビットを送信する。書込み動作の場合には、マスタ構成要素１１０が保証された０ビット２３を送信した後で、マスタ構成要素１１０は、８つの最下位ビットを送信し、その後で他の保証された０ビットを送信する。いずれの場合も、８つの最下位ビットは、ビット２２：１５で表され、一方、他の保証された０ビットは、ビット１４で表される。データ・ビットの組合せ３１：２４および２２：１５は、図２のデータ・フィールド２０９の一例である。
【００５７】
読取り動作の場合には、スレーブ構成要素１２１が保証された０ビット１４を送信した後で、スレーブ構成要素１２１は、ビット１３：０６に対応する巡回冗長検査（ＣＲＣ）データの８つのビットを送信する。ＣＲＣビットは、図２のＣＲＣフィールド２１０の一例である。フレーム・ビット５８：５７の開始の後およびＣＲＣビット１３：０６の前のすべてのビットを使用して、マスタ構成要素１１０およびスレーブ構成要素１２１の両方は、ライン３０７Ａに示すように、ＣＲＣデータを計算する。マスタ構成要素１１０が、スレーブ構成要素１２１からＣＲＣビット１３：０６を受信した場合には、マスタ構成要素１１０は、ライン３０８Ａにより示すように、マスタ構成要素１１０およびスレーブ構成要素１２１の両方が生成したＣＲＣ情報を比較する。一致しないものがある場合には、送信にエラーがある可能性があり、マスタ構成要素は、現在のフレームが終了した後で、そのフレームを再度開始することができる。
【００５８】
書込み動作の場合には、マスタ構成要素１１０が保証された０ビット１４を送信した後で、マスタ構成要素１１０は、ＣＲＣビット１３：０６を送信する。この場合も、マスタ構成要素１１０およびスレーブ構成要素１２１の両方は、そのＣＲＣデータを計算する。スレーブ構成要素１２１が、マスタ構成要素１１０からＣＲＣビット１３：０６を受信した場合には、スレーブ構成要素１２１は、マスタ構成要素１１０およびスレーブ構成要素
１２１の両方が生成したＣＲＣ情報を比較する。一致しないものがある場合には、送信にエラーがある可能性があり、マスタ構成要素１１０は、マスタ構成要素１１０がエラーについての通知を受信した後で、また現在のフレームが終了した後で、そのフレームを再度開始することができる。ある場合には、誤書込み動作は、破局的（または少なくとも有害な）影響を有する。例えば、誤書込み動作が、レーザ・バイアス電流を設定するためのものである場合には、信号の歪みが起こるほどレーザ強度が強力になる恐れがある。それ故、このような状況の場合、信頼性の高い通信を行うことが重要である。スレーブ構成要素１２１は、このようなエラーを検出した場合には、書込み動作の抑制を選択することができる。
【００５９】
ＣＲＣビット１３：０６の後には、第２のターンアラウンド・ビット０５が位置する。この第２のターンアラウンド・ビットは、図２の第２のターンアラウンド・フィールド２１１の一例である。このターンアラウンド動作により、制御がそこに存在しない場合、データ線１３２の制御をスレーブ構成要素１２１に渡すことができる。これにより、スレーブ構成要素１２１は、信頼性情報をマスタ構成要素１１０に返送することができる。
【００６０】
読取り動作の場合には、データ線１３２の制御は、第１のターンアラウンド・ビットによりスレーブ構成要素１２１にすでに渡されている。それ故、この第２のターンアラウンド・ビットは、データ線１３２の制御に変化がないことを示す論理０である。一方、書込み動作の場合には、データ線１３２の制御は、第１のターンアラウンド・ビットによりスレーブ構成要素１２１にまだ渡されていない。それ故、データ線１３２は、データ線１３２の制御をスレーブ構成要素１２１に渡すことを示すその高インピーダンス状態にフロートすることができる。それ故、第２のターンアラウンド・ビット０５の後では、スレーブ構成要素１２１は、動作が読取り動作であってもまたは書込み動作であっても、データ線１１０を制御する。
【００６１】
第２のターンアラウンド・ビット０５の後で、スレーブ構成要素は、図２の肯定応答フィールド２１２の一例である肯定応答ビット０４をアサートする。この肯定応答ビットは、動作が成功したのかしなかったのかを表すことができる。この場合、論理１は、動作の終了が成功したことを意味する。スレーブ構成要素１２１があまりに忙しくてマスタ構成要素１１０に応答できない場合には、スレーブ構成要素は、肯定応答ビット０４に論理０をアサートすることができ、それによりマスタ構成要素１１０にフレームを強制的に再度開始させることができる。それ故、肯定応答ビット０３およびビット保持ビット３２は、スレーブ構成要素１２１に対して、要求に応じられない状況を解決する方法を提供する。
【００６２】
次に、スレーブ構成要素１２１は、エラー・ビット０２が後に続く保証された０ビット０３をアサートする。エラー・ビット０２は、図２のエラー・フィールド２１３の一例である。エラー・フィールドは、ＣＲＣ検査にエラーがあるかないか、および／またはプロトコルの違反（例えば、論理０が位置していなければならない場所で論理１を検出したというような）を示すことができる。読取り動作の場合には、マスタ構成要素は、すでにこの判断を行うのに十分なＣＲＣデータを有している。しかし、書込み動作の場合には、スレーブ構成要素１２１は、ＣＲＣデータの比較を行った構成要素である。それ故、この時点において、スレーブ構成要素１２１は、マスタ構成要素１１０にＣＲＣデータの任意の不一致を通知する。不一致があると、マスタ構成要素１１０はフレームを再度開始させる。フレーム内にＣＲＣおよび肯定応答情報が存在すると、マスタ構成要素１１０とスレーブ構成要素１２０との間でもっと信頼性の高い通信を行うことができる。
【００６３】
次に、スレーブ構成要素１２１は、フレームの終わりを示すフレーム・ビット０１：００の２つの終わりをアサートする。第１のビット０１は論理１であり、データ・バスを直ちに強制的に論理１にする。第２のビットにおいては、データ・バス１３２は、その高イ
ンピーダンス状態でフロート状態になることができ、次のフレームを開始する準備ができている。第１のビット０１が論理０である場合には、弱いプルアップ抵抗が、データ線１３２を論理１と解釈することができる電圧レベルにするのにある時間がかかる。それ故、第１のビット０１を論理１に設定するということは、次のフレームがより早く開始することができることを意味し、それにより性能が改善される。
【００６４】
図３Ｂは、拡張フィールドは使用しないが、ＣＲＣおよび肯定応答を使用する書込み動作または読取り動作が行われる例示としてのフレームを示す。図３Ｂのフレームは、拡張フィールドを使用しないで書込み動作および読取り動作が行われるという点を除けば、図３Ａのところで説明したフレームに類似している。それ故、図３Ｂは、図３Ａのビット５０：４２を含んでいないで、ビットはこれらのビットを含んでいない状態で番号が付け直されている。
【００６５】
図３Ｃは、拡張フィールドも使用しないし、ＣＲＣおよび肯定応答も使用しない書込み動作および読取り動作が行われる例示としてのフレームである。図３Ｃのフレームは、拡張フィールドを使用しないで書込み動作および読取り動作が行われるという点を除けば、図３Ａのところで説明したフレームに類似している。それ故、図３Ｂは、図３Ａのビット５０：４２を含んでいない。さらに、フレームは信頼性情報を含んでいない。それ故、図３Ｃは、図３Ａのビット１３：０２を含んでいない。図３Ａが含んでいるビットを図３Ｃが含んでいないということは、図３Ｃにおいては残りのビットに、新しく番号を付けなければならないことを意味する。
【００６６】
図４は、実行する動作を格納するために、保証ヘッダ・フレームを動的に調整するための方法４００のフローチャートである。この方法のいくつかの態様についてはすでに説明したが、ここでフローチャートを参照しながらより詳細に説明する。
【００６７】
ある動作をスレーブ構成要素上で実行すると決定した場合には（ステップ４０１）、マスタ構成要素は、データ線を通してスレーブ構成要素に、対応するフレームの少なくとも一部を送信する（ステップ４０２）。同時に、マスタ構成要素は、クロック線上のクロック信号をアサートする。マスタ構成要素は、自分がある動作をスレーブ構成要素上で実行することを決定する度に、また同じ構成要素または異なるスレーブ構成要素を前に通信したスレーブ構成要素とすることを決定する度に、この検出および送信を繰り返す。
【００６８】
しかし、フレーム構造自身は、実行する動作に従って（すなわち、マスタ構成要素がフレーム内で識別するオペレーション・コードに従って）変化することができる。例えば、１つのフレームは、任意の有用なおよび共通に認識した情報（例えば、基本アドレス・フィールドより長い拡張アドレス情報）を含む拡張フィールドを含むことができる（図３Ａ参照）。あるフレームは、信頼性フィールド（巡回冗長検査フィールド、肯定応答フィールド、および／またはエラー・フィールド等）（図３Ａおよび図３Ｂ参照）を含むことができ、一方、異なる動作を有する他のフレーム（図３Ｃ参照）は、信頼性フィールドを含むことができない。
【００６９】
それ故、フレームの構造は、その時点の状況により動的に変えることができる。信頼性に対するニーズのほうが帯域幅保存のニーズより大きい場合には、信頼性フィールドを含むことができる。大きな記憶能力を有する場合、および／または他の動作タイプを行わなければならないスレーブ構成要素と通信する場合には、拡張フィールドを含むことができる。本発明の基本的原理について説明してきたし、以下に特定の例示としての環境について説明するが、本発明はこの例示としての環境により決して制限されるものではない。
【００７０】
図５は、本発明の原理を使用することができるレーザ送信機／受信機５００である。レ
ーザ送信機／受信機５００についてある程度詳細に説明するが、これは例示としてのものに過ぎない。この説明は本発明の範囲を制限するものではない。本発明の原理を使用すれば、温度、電圧の供給、および処理の変動を補償するために、送信機／受信機５００（レーザ・バイアス電流、レーザ変調等）の動作に重要なレジスタの値をもっと効率的にまたもっと正確に校正することができる。ビット・レート転送が速くなればなるほど、このことはますます重要になる。それ故、本発明の原理は、１Ｇ、２Ｇ、４Ｇ、１０Ｇおよびもっと高い帯域幅ファイバ・チャネル用に適している。さらに、本発明の原理は、無制限にＸＦＰ、ＳＦＰおよびＳＦＦのような任意の形の係数のレーザ送信機／受信機で実施することができる。こう言ったからといって、本発明の原理はレーザ・トランシーバ環境に決して限定されるものではない。
【００７１】
レーザ送信機／受信機５００は、受信機５０１を使用するファイバ５１０Ａから光信号を受信する。受信機５０１は、光信号を電気信号に変換し、この電気信号をポスト・アンプ５０２に供給する。ポスト・アンプ５０２は、この信号を増幅し、増幅した信号を矢印５０２Ａで示すようにホストに供給する。
【００７２】
レーザ送信機／受信機５００は、また、ホストから電気信号を受信して、ファイバ５１０Ｂに送信することができる。より詳細に説明すると、レーザ・ドライバ５０３は、矢印５０３Ａで表すように、電気信号を受信し、信号により送信機５０４（すなわち、レーザ）を駆動し、この駆動により送信機５０４は、ホストが供給した電気信号の情報を表す光信号をファイバ５１０Ｂ上に放射する。
【００７３】
受信機５０１、ポスト・アンプ５０２、レーザ・ドライバ５０３および送信機５０４の行動は、多数の要因により動的に変化することができる。例えば、温度の変化、電力の変動、およびフィードバック条件は、それぞれこれらの構成要素の性能に影響を与える。それ故、レーザ送信機／受信機５００は、温度および電圧状態をチェックし、（矢印５０５Ａで表すように）ポスト・アンプ５０２から、および制御チップ５０５が動的に変化する性能を打ち消し、信号の喪失があった場合にはそれを検出することができる（矢印５０５Ｂで示すように）レーザ・ドライバ５０３から情報を受信する制御チップ５０５を含む。
【００７４】
より詳細に説明すると、制御チップ５０５は、矢印５０５Ａおよび５０５Ｂで表すように、ポスト・アンプ５０２および／またはレーザ・ドライバ５０３の設定を調整することにより、これらの変化を打ち消すことができる。これらの設定の調整は長い間隔を置いて行われる。何故なら、これらの設定の調整は、温度または電圧または他の頻度の低い変化がそのように保証されている場合にだけ行われるからである。それ故、設定の調整は、図１、図２および図３Ａ〜図３Ｃのところで説明したタイプの保証ヘッダ二線式インタフェースによって行うことができる。
【００７５】
制御チップ５０５は、一実施形態の場合には電気的に消去することができ、プログラム可能な読取専用メモリ（ＥＥＰＲＯＭ）である、不揮発性メモリ５０６にアクセスすることができる。データ信号およびクロック信号は、シリアル・クロック線ＳＣＬ、およびシリアル・データ線ＳＤＡにより、ホストから制御チップ５０５に供給することができる。また、データは、デジタル診断、温度レベル、送信機／受信機電力レベル等の読取りを行うことができるように、シリアル・データ信号ＳＤＡにより、制御チップ５０５からホストに供給することもできる。
【００７６】
制御チップ５０５は、アナログ部分５０８およびデジタル部分の両方を含む。これらの部分は、一緒に、制御チップが、アナログ信号によりレーザ送信機／受信機５００の残りの部分と依然として大きくインタフェースしながら、ロジックをデジタル的に実施することができるようにする。例えば、アナログ部分５０８は、デジタル−アナログ変換器、ア
ナログ−デジタル変換器、高速コンパレータ（例えば、イベント検出用）、電圧をベースとするリセット発生器、電圧レギュレータ、電圧基準、クロック発生器、および他のアナログ構成要素を含むことができる。
【００７７】
図６は、制御チップ５０５のデジタル部分６００の詳細図である。例えば、タイマ・モジュール６０２は、デジタル部分が使用する種々のタイミング信号を供給する。このようなタイミング信号は、例えば、プログラム可能なプロセッサ時刻を含むことができる。タイマ・モジュール６０２は、またウォッチドッグ・タイマとしても機能することができる。
【００７８】
本発明は、２つの汎用プロセッサ６０３Ａおよび６０３Ｂも含んでいる。プロセッサは、特定の命令セットの後に続く命令を認識することができ、シフト、分岐、加算、減算、乗算、除算、ブール演算、比較動作等のような通常の一般的な演算を行うことができる。一実施形態の場合には、汎用プロセッサ６０３Ａおよび６０３Ｂは、それぞれ１６ビット・プロセッサであり、同じ構造であってもよい。
【００７９】
ホスト通信インタフェース６０４は、レーザ送信機／受信機５００のシリアル・クロック線ＳＣＬおよびシリアル・データ線ＳＤＡによりホストと通信するために使用される。外部デバイス・インタフェース６０５は、例えば、ポスト・アンプ５０２、レーザ・ドライバ５０３またはメモリ５０６のようなレーザ送信機／受信機５００内の他のモジュールと通信するために使用される。
【００８０】
メモリ６０６は、ランダム・アクセス・メモリ（ＲＡＭ）であってもよい。メモリ制御６０７は、各プロセッサ６０３Ａおよび６０３Ｂ間で、ホスト通信インタフェース６０４および外部デバイス・インタフェース６０５によりメモリ６０６へのアクセスを共有する。一実施形態の場合には、ホスト通信インタフェース６０４は、シリアル・インタフェース・コントローラ６０１Ａを含み、外部デバイス・インタフェース６０５は、シリアル・インタフェース・コントローラ６０１Ｂを含む。２つのシリアル・インタフェース・コントローラ６０１Ａおよび６０１Ｂは、上記説明した二線式インタフェースを用いて通信することができる。あるシリアル・インタフェース・コントローラ（例えば、シリアル・インタフェース・コントローラ６０１Ｂ）は、マスタ構成要素であり、一方、他のシリアル・インタフェース・コントローラ（例えば、シリアル・インタフェース・コントローラ６０１Ａ）はスレーブ構成要素である。
【００８１】
入出力マルチプレクサ６０８は、制御チップ５０５の種々の入出力ピンを制御チップ５０５内で種々の構成要素に多重化する。これにより、いくつかの構成要素は、その時点の動作環境によりピンを動的に割り当てることができる。それ故、制御チップ５０５上で使用できるピンよりも多くの入出力ノードが制御チップ５０５内に存在し、それにより制御チップ５０５のスペースが少なくてすむ。
【００８２】
図１、図２，図３Ａ、図３Ｂ、図３Ｃおよび図４のところで説明した本発明の原理を使用することができる図５および図６についての特定の環境について説明してきたが、この特定の環境は、本発明の原理を使用することができる無数のアーキテクチャのうちの１つにすぎないことを理解することができるだろう。すでに説明したように、本発明の原理は、任意の特定の環境に制限するためのものではない。
【００８３】
本発明は、その精神または本質的な特徴から逸脱することなしに、他の特定の形で実施することができる。上記実施形態は、すべての点で例示としてのものであって、本発明を制限するものでないと見なすべきである。それ故、本発明の範囲は、上記説明によってではなく、添付の特許請求の範囲に記載するものである。特許請求の範囲と等価の意味およ
び範囲内に入るすべての変更は、本発明の範囲内に含まれる。
【図面の簡単な説明】
【００８４】
【図１】マスタ構成要素が、クロック線およびデータ線を含む二線式インタフェースを通して１つ以上のスレーブ構成要素と通信するシステムの一例。
【図２】本発明の原理による保証ヘッダ二線式インタフェースを形成するフレームのシーケンシャル・データ構造の略図。
【図３Ａ】拡張フィールドを使用し、また巡回冗長検査（ＣＲＣ）および肯定応答を使用して、書込み動作または読取り動作を行う例示としてのフレーム。
【図３Ｂ】拡張フィールドを使用しないが、ＣＲＣおよび肯定応答を使用して書込み動作または読取り動作を行う例示としてのフレーム。
【図３Ｃ】拡張フィールドも使用しないし、ＣＲＣおよび肯定応答も使用しないで書込み動作または読取り動作を行う例示としてのフレーム。
【図４】本発明の原理により実行する動作を格納するために、保証ヘッダ二線式インタフェース・フレームを動的に調整するための方法のフローチャート。
【図５】本発明の原理を使用することができる多くのシステムのうちの１つを示すレーザ送信機／受信機の略図。
【図６】図５の制御チップのデジタル部分を示す図面。このデジタル部分は、１ビットずつアクセスすることができる部分を含むメモリを含む。
【図７】従来技術による保証ヘッダ二線式インタフェース・フレーム。
【図１】
2007515143.tif 000003
【図２】
2007515143.tif 000004
【図３Ａ】
2007515143.tif 000005
【図３Ｂ】
2007515143.tif 000006
【図３Ｃ】
2007515143.tif 000007
【図４】
2007515143.tif 000008
【図５】
2007515143.tif 000009
【図６】
2007515143.tif 000010
【図７】
2007515143.tif 000011
【国際調査報告】
2007515143.tif 000012
2007515143.tif 000013
2007515143.tif 000014