(57)【要約】光受信機（１１１）と通信するように構成されている後置増幅器アセンブリ（１１２）と、光送信機（１１５）と通信するように構成されているレーザ・ドライバ・アセンブリ（１１４）と、前記後置増幅器およびレーザ・ドライバを制御するように構成されているコントローラ・アセンブリ（１１３）とを含む電気通信システムおよび構成集積回路。前記後置増幅器アセンブリ、前記レーザ・ドライバ・アセンブリおよび前記コントローラ・アセンブリは、１つの集積回路上に形成され、それにより製造コストが低減する。過渡状態でクロックを動作させ、ブート・プロセス中に必要に応じてオンにし、通常動作中必要がない場合にはオフにすることにより、クロック生成によるノイズを低減することができる。
2007527672.tif 000002
【特許請求の範囲】
【請求項１】
光トランシーバ集積回路であって、
光受信機と通信するように構成されている後置増幅器アセンブリと、
光送信機と通信するように構成されているレーザ・ドライバ・アセンブリと、
前記後置増幅器およびレーザ・ドライバを制御するように構成されているコントローラ・アセンブリと、を備え、
前記後置増幅器アセンブリ、前記レーザ・ドライバ・アセンブリおよび前記コントローラ・アセンブリが、１つの集積回路上に形成される光トランシーバ集積回路。
【請求項２】
前記光受信機も前記１つの集積回路上に形成される請求項１に記載の光トランシーバ集積回路。
【請求項３】
前記光送信機も前記１つの集積回路上に形成される請求項２に記載の光トランシーバ集積回路。
【請求項４】
前記光送信機も前記１つの集積回路上に形成される請求項１に記載の光トランシーバ集積回路。
【請求項５】
前記光トランシーバ集積回路が１Ｇレーザ・トランシーバである請求項１に記載の光トランシーバ集積回路。
【請求項６】
レジスタ・アレイをさらに有し、前記レーザ・ドライバおよび後置増幅器が前記レジスタ・アレイ内の値により制御され、前記コントローラが前記レジスタ・アレイに値を書き込むことにより、前記レーザ・ドライバおよび後置増幅器を制御するように構成される請求項１に記載の光トランシーバ集積回路。
【請求項７】
前記コントローラが、第１の２線インタフェースにより前記レジスタ・アレイと通信するように構成される請求項１に記載の光トランシーバ集積回路。
【請求項８】
永久メモリをさらに備え、前記コントローラが、前記第１の２線インタフェースとは異なる第２の２線インタフェースにより、前記永久メモリと通信するように構成される請求項７に記載の光トランシーバ集積回路。
【請求項９】
前記コントローラが、前記第２の２線インタフェースを使用して前記永久メモリから内容を読み取り、同永久メモリ内の内容に応じて、前記第１の２線インタフェースにより前記レジスタ・アレイと通信するように構成される請求項８に記載の光トランシーバ集積回路。
【請求項１０】
前記第２の２線インタフェースにより前記永久メモリと通信する前記コントローラを選択的に使用不能にするように構成され、さらに、前記コントローラがそのように使用不能になった場合に、前記第２の２線インタフェースにより前記永久メモリの内容を診断するように構成されている診断モジュールをさらに備える請求項７に記載の光トランシーバ集積回路。
【請求項１１】
前記第１の２線インタフェースにより前記レジスタ・アレイと通信する前記コントローラを選択的に使用不能にするように構成され、さらに、前記コントローラがそのように使用不能になった場合に、前記第１の２線インタフェースにより前記レジスタ・アレイの内容を診断するように構成されている診断モジュールをさらに備える請求項７に記載の光トランシーバ集積回路。
【請求項１２】
前記コントローラが、前記レジスタ・アレイから前記永久メモリへの信号、および前記永久メモリから前記レジスタ・アレイへの信号の通過モードに選択的に入るように構成される請求項７に記載の光トランシーバ集積回路。
【請求項１３】
光トランシーバ集積回路を備える電気通信システムであって、
光受信機と通信するように構成されている後置増幅器アセンブリと、
光送信機と通信するように構成されているレーザ・ドライバ・アセンブリと、
前記後置増幅器およびレーザ・ドライバを制御するように構成されているコントローラ・アセンブリと、
を備え、前記後置増幅器アセンブリ、前記レーザ・ドライバ・アセンブリおよびコントローラ・アセンブリが１つの集積回路上で形成される電気通信システム。
【請求項１４】
前記光受信機も前記１つの前記光トランシーバ集積回路上に形成される請求項１３に記載の電気通信システム。
【請求項１５】
前記光送信機も前記１つの光トランシーバ集積回路上に形成される請求項１４に記載の電気通信システム。
【請求項１６】
前記光送信機も前記１つの光トランシーバ集積回路上に形成される請求項１３に記載の電気通信システム。
【請求項１７】
前記光トランシーバ集積回路が、レジスタ・アレイをさらに備え、前記レーザ・ドライバおよび後置増幅器が、前記レジスタ・アレイ内の値により制御され、前記コントローラが、前記レジスタ・アレイに値を書き込むことにより前記レーザ・ドライバおよび後置増幅器を制御するように構成される請求項１３に記載の電気通信システム。
【請求項１８】
前記コントローラが、第１の２線インタフェースにより前記レジスタ・アレイと通信するように構成される請求項１３に記載の電気通信システム。
【請求項１９】
前記光トランシーバ集積回路が永久メモリをさらに備え、前記コントローラが、前記第１の２線インタフェースとは異なる第２の２線インタフェースにより前記永久メモリと通信するように構成される請求項１８に記載の電気通信システム。
【請求項２０】
前記コントローラが、前記第２の２線インタフェースを使用して前記永久メモリから前記内容を読み取り、前記永久メモリ内の内容に応じて前記第１の２線インタフェースにより前記レジスタ・アレイと通信するように構成される請求項１９に記載の電気通信システム。
【請求項２１】
前記光トランシーバ集積回路が、前記第２の２線インタフェースにより前記永久メモリと通信す前記コントローラを選択的に使用不能にするように構成され、さらに、前記コントローラがそのように使用不能になった場合に、前記第２の２線インタフェースにより前記永久メモリの内容を診断するように構成されている診断モジュールをさらに備える請求項１８に記載の電気通信システム。
【請求項２２】
前記光トランシーバ集積回路が、前記第１の２線インタフェースにより前記レジスタ・アレイと通信する前記コントローラを選択的に使用不能にするように構成され、さらに、前記コントローラがそのように使用不能になった場合に、前記第１の２線インタフェースにより前記レジスタ・アレイの内容を診断するように構成されている診断モジュールをさらに備える請求項１８に記載の電気通信システム。
【請求項２３】
前記コントローラが、前記レジスタ・アレイから前記永久メモリへの信号、および前記永久メモリから前記レジスタ・アレイの信号の通過モードに選択的に入るように構成される請求項１８に記載の電気通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は高速トランシーバに関し、特に、本発明の実施形態は、同じ集積回路上に後置増幅器、レーザ・ドライバおよびコントローラを集積し、それにより製造コストが安く、また動作効率および機能が改善されるシステムおよびデバイスに関する。
【背景技術】
【０００２】
多くの高速データ送信ネットワークは、光信号の形をしているデジタル・データの送受信を容易にするための光トランシーバおよび類似のデバイスに依存している。通常、このようなネットワークでのデータ送信はレーザのような光送信機により行われ、一方、データの受信は通常光受信機により行われる。光受信機の一例としてはフォトダイオードがある。
【０００３】
光送受信構成要素の制御ならびに種々のデータおよび他の信号の処理を容易にするために、光トランシーバは種々の他の構成要素も使用している。例えば、このような光トランシーバは、通常、種々の制御入力に応じて光送信機の動作を制御するように構成されているドライバ（例えば、レーザ信号を駆動するために使用する場合には、「レーザ・ドライバ」と呼ばれる）を備える。光トランシーバは、また、一般的に、光受信機が受信したデータ信号のいくつかのパラメータに関して種々の動作を行うように構成されている増幅器（例えば、多くの場合、「後置増幅器」と呼ばれる）を含む。コントローラ回路（以後「コントローラ」と呼ぶ）は、レーザ・ドライバおよび後置増幅器の動作を制御する。
【０００４】
従来の光トランシーバの場合には、コントローラは、レーザ・ドライバおよび後置増幅器とは異なる集積回路（「ＩＣ」）上に形成されている。それ故、コントローラ、レーザ・ドライバおよび後置増幅器の集合体は、プリント基板上で別々のチップとして形成される。コントローラは、プリント基板を介してレーザ・ドライバおよび後置増幅器に電気的に接続している。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、このような方式の１つの欠点は、複数の別々のＩＣがプリント基板上で比較的大きな空間を占拠することである。さらに、各ＩＣを別々に製造するとかなりのコストがかかる。電気通信機器の非常に競合性の高い市場においては、コントローラ、レーザ・ドライバおよび後置増幅器を含むデバイスをより安価に製造できれば有利である。
【課題を解決するための手段】
【０００６】
従来技術の上記問題は、本発明の原理により克服することができる。本発明の原理は電気通信システムで実施することができ、光受信機と通信するように構成されている後置増幅器アセンブリ、光送信機と通信するように構成されているレーザ・ドライバ・アセンブリ、および後置増幅器およびレーザ・ドライバを制御するように構成されているコントローラ・アセンブリを含む集積回路からなる。
【０００７】
後置増幅器アセンブリ、レーザ・ドライバ・アセンブリおよびコントローラ・アセンブリは、１つの集積回路上に形成されるので、製造コストが安くなる。過渡状態でクロックを動作させ、ブート・プロセス中に必要に応じてクロックをオンにし、通常の動作中必要がない場合にはクロックをオフにすることにより、クロック発生によるノイズを低減することができる。高速光トランシーバ内の同じチップ上にこれら種々の構成要素を集積する場合には、このノイズの低減は重要である。何故なら、実際のデータ・チャネルは、クロ
ックおよび制御回路に非常に近い位置にあるからである。
【０００８】
本発明の他の機能および利点については以下に説明するが、その一部はこの説明を読めば理解することができるだろうし、または本発明を実行してみれば理解することができるだろう。本発明の機能および利点は、添付の特許請求の範囲に詳細に記載する器具および組合せにより実施することができ、入手することができる。下記の説明および添付の特許請求の範囲を読めば、本発明のこれらおよび他の機能をよりよく理解することができるだろうし、または以下に記載する本発明を実行することにより理解することができるだろう。
【０００９】
本発明の上記および他の利点および機能を入手することができる方法を説明するために、添付の図面に示す本発明の特定の実施形態を参照しながら、簡単に説明した本発明をより詳細に説明する。これらの図面は本発明の典型的な実施形態を示すものであって、それ故、本発明の範囲を制限するものと見なすべきではないということをご了承いただいた上で、添付の図面により本発明の他の特異性および詳細について記述し、説明する。
【発明を実施するための最良の形態】
【００１０】
本発明の原理は、電気通信システムならびに光受信機と通信するように構成されている後置増幅器アセンブリ、光送信機と通信するように構成されているレーザ・ドライバ・アセンブリ、および後置増幅器およびレーザ・ドライバを制御するように構成されているコントローラ・アセンブリを含む構成集積回路に関する。後置増幅器アセンブリ、レーザ・ドライバ・アセンブリおよびコントローラ・アセンブリは、１つの集積回路上に実施されるので、製造コストが安くなる。ここで図面を参照しながら本発明の例示としての実施形態の種々の態様について説明する。図面はこのような例示としての実施形態の簡単な略図であり、本発明を制限するものでないことを理解されたい。
【００１１】
図面について説明すると、図１は、潜在的な他の構成要素１０１内の光トランシーバ集積回路１１０を含む電気通信システム１００の略図である。
【００１２】
光トランシーバ集積回路１１０は、入力光信号を受信し、信号を他の構成要素１０１に報告する働きをする。より詳細に説明すると、光受信機１１１は入力光信号を受信し、この光信号を対応する電気信号に変換する。次に、電気信号は後置増幅器１１２に送られて適切に増幅される。次に、例えば、ホスト・コンピューティング・システムは、結果として得られた電気信号を使用することができる。他の構成要素１０１は、入力信号を使用するホスト・コンピューティング・システムを含むことができる。
【００１３】
光トランシーバ集積回路１１０は、また、ホスト・コンピューティング・システムからの指示に応じて出力光信号を送信する働きをする。レーザ・ドライバ１１４はこれらの指示を正しく解釈し、光送信機１１５に適切な電気信号を送る。光送信機１１５は電気信号を光信号に変換して送信する。
【００１４】
後置増幅器１１２およびレーザ・ドライバ１１４は、適切な設定で後置増幅器１１２およびレーザ・ドライバ１１４を構成しているコントローラ１１３により制御される。場合によっては、コントローラ１１３は、動作環境が変化した場合に、後置増幅器１１２およびレーザ・ドライバ１１４の設定を動的に調整することができるような精巧なものであってもよい。
【００１５】
コントローラ１１３は、後置増幅器１１２およびレーザ・ドライバ１１４と同じ集積回路上に集積させることができる。従来のシステムの場合にはこのような集積を行うことができなかった。何故なら、従来のコントローラは通常、その動作のタイミングをとるために一定のクロック信号を使用していたからである。このようなクロック信号はノイズを発
生し、このノイズは送受信を行っている実際の信号内に漏洩する恐れがある。後置増幅器およびレーザ・ドライバと同じチップ上にコントローラを集積すると、素子が接近しているためにノイズが増大する。しかし本発明により、コントローラの動作中のあるクロック感知時中にクロックを使用することにより、このようなクロック駆動ノイズの影響を低減する。そのため、後置増幅器およびレーザ・ドライバ１１４と同じ集積回路上に容易にコントローラ１１３を集積させることができる。光受信機１１１および光送信機１１５も同じ集積回路上に集積させることができる。しかし、そうする必要はない。同じ回路上に、コントローラ１１３、後置増幅器１１２およびレーザ・ドライバ１１４を集積させると、この組合せの製造コストはかなり低減する。
【００１６】
図２Ａおよび図２Ｂは、デジタル・コア構成要素２１３を含む光トランシーバ集積回路の略図である。デジタル・コア構成要素２１３は、ブート構成要素２２１、ＦＳＢスレーブ構成要素２２５およびＦＳＢレジスタ・アレイ構成要素２２６を含む。ＦＳＢは、「Ｆｉｎｉｓａｒシリアル・バス」の略語であり、Ｆｉｎｉｓａｒ専用２線インタフェースである。この２線インタフェースについては、図４、図５Ａ、図５Ｂおよび図５Ｃでより詳細に説明する。スレーブ構成要素２２５およびレジスタ・アレイ２２６は、ＦＳＢ構成要素と見なされる。何故なら、これらの部材は、ＦＳＢ２線インタフェースを用いて通信することができるからである。しかし、本発明の原理は、光トランシーバ集積回路内の任意の特定の通信方法に限定されない。光トランシーバ集積回路は、クロック２２８を含むことができる。
【００１７】
図２Ａおよび図２Ｂには後置増幅器１１２およびレーザ・ドライバ１１４を図示していないが、これらの構成要素は、図１に概略示すように、光トランシーバ集積回路内に集積させることができる。しかし、後置増幅器１１２およびレーザ・ドライバ１１４の設定は、ＦＳＢレジスタ・アレイ構成要素２２６によりメモリ・マッピングすることができる。ＦＳＢスレーブ構成要素２２５は、ブート構成要素２２１からまたはこれを通して受信した特定のＦＳＢコマンドに応じて、ＦＳＢレジスタ・アレイ構成要素２２６内の指定のアドレス位置からデータを読み取り、指定のアドレス位置にデータを書き込むことができる。より詳細に説明すると、ＦＳＢスレーブ構成要素２２５は、ＦＳＢレジスタ・アレイ２２６内の位置をアドレスするために信号ｍｅｍ＿ａｄｄｒを生成することができ、書込動作を可能にする信号ｗｒ＿ｅｎａｂｌｅ、および書き込むデータを指定するために信号ｗｒ＿ｄａｔａを生成することができる。さらに、ＦＳＢスレーブ構成要素は、指定のメモリ・アドレスからデータを読み取るために信号ｒｄ＿ｄａｔａを読み取ることができる。ＦＳＢレジスタ・アレイ２２６は、ＦＳＢレジスタ・アレイでパリティ・エラーを検出した場合、ｐａｒｉｔｙ＿ｅｒｒｏｒ信号を生成するＸＯＲツリー２２７を含む。ＸＯＲツリー２２７の構造および目的については以下にさらに詳細に説明する。
【００１８】
図２Ａは、光トランシーバ集積回路２１０Ａ外部にコントローラを有さない構成２００Ａを示す。代わりに、オン・チップ・ブート構成２２１がコントローラとしての働きをする。本明細書においては、この構成を多くの場合「内部コントローラ構成」と呼ぶ。より詳細に説明すると、ブート構成要素２２１は、光トランシーバ集積回路が起動している際に動作する。起動中、ブート構成要素２２１は、外部ＥＥＰＲＯＭ２３４からＦＳＢレジスタ・アレイ２２６への適切な指示の適正なロードを協力して行う。起動プロセスが終了すると、後置増幅器１１２およびレーザ・ドライバ１１４は、ＦＳＢレジスタ・アレイ２２６内の値に基づいて制御される。
【００１９】
図２Ａの内部コントローラ構成でブートしている間は、ブート構成要素２２１は能動状態にある。この状態は、ハイレベルにある信号ｅｎａｂｌｅ＿ｂｏｏｔによりブート構成要素に明示される。この能動状態にある場合でも、ブート構成要素２２１は、信号ｆｒｃ＿ｄｉｓａｂｌｅ＿ｂｏｏｔ信号をハイレベルであると仮定して一次的に動作不能状態に
なることができる。
【００２０】
ブート・プロセス中（ブート構成要素２２１が能動状態にあり、一次的に動作不能になっていない間）、ブート構成要素２２１は、従来のＩ２Ｃ２線インタフェースによりメモリ２３４と通信する。より詳細に説明すると、ブート構成要素２２１のブート制御構成要素２２３は、ブート構成要素２２１のＩ２Ｃマスタ構成要素２２２を、Ｉ２Ｃ適合クロック、データおよび書込保護信号によりＥＥＰＲＯＭメモリ２３４と通信させる。図２Ａの場合には、ＥＥＰＲＯＭ斜視図からの信号ＳＣＬおよびブート構成要素斜視図からの信号ｔｗｉ＿ｃｌｋがこのクロック信号を表す。データ信号は、ＥＥＰＲＯＭ斜視図からの信号ＳＤＡおよびブート構成要素斜視図からの信号ｔｗｉ＿ｄａｔａにより表される。書込不能信号は、ＥＥＰＲＯＭ斜視図からの信号ＷＰ、およびブート構成要素２２１斜視図からの信号ｂｏｏｔ＿ｂｕｓｙにより表される。Ｉ２Ｃ２線インタフェースおよびこれらの対応する信号は、通常の当業者にとって周知のものである。
【００２１】
また、ブート・プロセス中、ブート構成要素２２１は、ＦＳＢ２線インタフェースによりＦＳＢスレーブ構成要素２２５と通信し、これを制御することができる。より詳細に説明すると、ブート構成要素２２１は、ＦＳＢマスタ構成要素２２４を制御するためにブート制御構成要素２２３を使用することができる。これに応じて、ＦＳＢマスタ構成要素２２４は、適切なクロック信号ｆｓｂ＿ｃｌｋをＦＳＢスレーブ構成要素２２５およびＦＳＢレジスタ・アレイ２２６に供給する。また、ＦＳＢマスタ構成要素２２４は、データ信号ｆｓｂ＿ｄａｔａをＦＳＢスレーブ構成要素２２５に供給する。ｆｓｂ＿ｃｌｋおよびｆｓｂ＿ｄａｔａ信号は、図４、図５Ａ、図５Ｂおよび図５Ｃのところで以下に説明するＦＳＢ２線インタフェースにより供給される。
【００２２】
ブート論理構成要素２２３は、ブート構成要素２２１が起動中、適切なデータがＥＥＰＲＯＭ２３４からＦＳＢレジスタ・アレイ２２６にロードされるように構成される。すでに説明したように、この場合には、異なる２線インタフェースにより他の構成要素（例えば、ＦＳＢスレーブ構成要素２２５）と通信している間の１つの２線インタフェースによるＥＥＰＲＯＭ２３４との通信を含む。
【００２３】
図２Ａの内部コントローラ構成は、また、いくつかの他の外部構成要素も示す。例えば、光診断モードの場合には、ＦＳＢコントローラ２３１は信号ｆｒｃ＿ｆｓｂ＿ｍｏｄｅをアサートし、信号ｆｒｃ＿ｄｉｓａｂｌｅ＿ｂｏｏｔ信号も同様にアサートされ、それによりブート・コントローラ２２１が動作不能になる。これにより、診断モードＦＳＢコントローラ２３１は、クロック信号ｆｓｂ＿ｃｌｋおよびデータ信号ｆｓｂ＿ｄａｔａを使用して、ＦＳＢ２線インタフェースにより、ブート構成要素２２１を通してＦＳＢスレーブ構成要素２２５と直接通信することができる。この構成の場合、診断モードＦＳＢコントローラ２３１は、ＦＳＢマスタ構成要素として動作する。それ故、診断モードＦＳＢコントローラ２３１は、ＦＳＢスレーブ構成要素２２５を制御することができ、それによりＦＳＢレジスタ・アレイ２２６上で適切な診断を行うことができる。
【００２４】
また、ＥＥＰＲＯＭプログラミング・インタフェース２３２は、同様に、任意のブート動作を少なくとも一次的に動作不能にするためにｆｒｃ＿ｄｉｓａｂｌｅ＿ｂｏｏｔ信号をアサートすることができる。次に、ＥＥＰＲＯＭプログラミング・インタフェース２３２は、従来のＩ２Ｃ２線インタフェースに従ってＳＣＬ信号およびＳＤＡ信号によりＥＥＰＲＯＭ２３４と通信することができる。ＥＥＰＲＯＭプログラミング中ブート・プロセスを動作不能にすることにより、クロック信号ＳＣＬおよびデータ信号ＳＤＡ上の競合のリスクが有意に低減する。ホスト・コンピューティング・システムがＥＥＰＲＯＭ２３３に対してインタフェースとしての働きをすることができるようにするために、ＥＥＰＲＯＭへのオプションとしてのホスト・インタフェースも設置することもできる。
【００２５】
それ故、図２Ａの内部コントローラ構成２００Ａは、それによりコントローラが後置増幅器およびレーザ・ドライバと同じ集積回路上に位置することができるある機構を提供する。それ故、コントローラと後置増幅器およびレーザ・ドライバとが接近するために、受信および送信信号内にクロック・ノイズが注入されるリスクがより大きくなる。ブート・コントローラ２２１が光トランシーバ集積回路２１０Ａを能動的にブートしている間だけ、発振器２２８を動作させることによりこのリスクが低減する。ｅｎａｂｌｅ＿ｂｏｏｔは、図２Ａの構成で能動状態にある静的構成信号である。それ故、発振器２２８が供給するすべての信号は、クロック信号ｂｏｏｔ＿ｃｌｋの形で、ＡＮＤゲート２２９を通して供給される。発振器２２９は、ブート・プロセス中このようなクロック信号を供給するように構成される。しかし、ブート・プロセスの後では、発振器２２９は発振クロック信号を供給しなくなり、それにより発振器２２９によるクロック・ノイズが除去される。
【００２６】
ある種の環境状況の場合には、ＦＳＢレジスタ・アレイ２２６内のデータがエラーを起こす可能性がある。このことは、後置増幅器およびレーザ・ドライバに悪影響を及ぼす恐れがある。何故なら、後置増幅器およびレーザ・ドライバの物理動作は、ＦＳＢレジスタ・アレイ２２６内の値に直接依存しているからである。光トランシーバ集積回路２１０Ａは、最初にクロックをオンにしなくてもレジスタ・アレイのエラーを回復するための機構を有する。
【００２７】
より詳細に説明すると、レジスタ・アレイ２２６内の各バイトは、対応するパリティ・ビットを有する。各バイトに対して、ＸＯＲツリー２２７は、実際のバイト・パリティ・ビットを生成するために、バイト内の各ビットを論理的にＸＯＲするＸＯＲサブツリーを含む。バイトがエラーを起こしていてもいなくても、バイト内の論理１の数が奇数である場合には、実際のバイト・パリティ・ビットはハイレベルになり、バイト内の論理１の数が偶数である場合には、実際のバイト・パリティ・ビットはロウレベルになる。
【００２８】
実際のバイト・パリティ・ビットは、各バイトのために記憶している理想的なバイト・パリティ・ビットとＸＯＲされる。バイト内の論理１の数がエラーを全然起こしていない奇数である場合には、理想的なバイト・パリティ・ビットはハイレベルになり、バイト内の論理１の数が全然エラーを起こしていない偶数である場合には、理想的なバイト・パリティ・ビットはロウレベルになる。各バイトに対して、実際のバイト・パリティ・ビットは、バイト・パリティ・エラー・ビットを生成するために、理想的なバイト・パリティ・ビットと論理的にＸＯＲされる。バイト・パリティ・エラー・ビットは、対応するバイトがエラーを起こしていた場合だけハイレベルになる。図２Ａのｐａｒｉｔｙ＿ｅｒｒｏｒ信号を生成するために、種々のバイト・パリティ・ビットを論理的にＯＲ（またはＸＯＲ）することができる。それ故、ｐａｒｉｔｙ＿ｅｒｒｏｒ信号は、ＦＳＢレジスタ・アレイがエラーを起こした場合だけハイレベルになる。高ｐａｒｉｔｙ＿ｅｒｒｏｒ信号に応じて、ブート制御構成要素２２３は、発振器２２８を作動し、それによりブート・プロセスを再起動するｅｎ＿ｂｏｏｔ＿ｃｌｋ信号をアサートする。次に、再ブートは、レジスタ・アレイを適当な値に初期化し、それにより正常な動作を進行することができるようにしなければならない。この場合も、ブート・プロセスの後で、ノイズを低減するためにブート・クロックをオフすることができる。
【００２９】
ブート・コントローラ２２１を使用すれば、同じ光トランシーバ集積回路上にコントローラ、後置増幅器およびレーザ・ドライバすべてが位置する図２Ａの内部コントローラ構成を形成することができる。しかし、ブート・コントローラ２２１は、また、外部コントローラを有するだけの柔軟性を有することもできる。図２Ｂは、ＦＳＢマスタ・コントローラ２４０が、ＦＳＢ２線インタフェースに適合するクロック信号ｆｓｂ＿ｃｌｋおよびデータ信号ｆｓｂ＿ｄａｔａにより、ブート構成要素２２１を通して直接ＦＳＢスレーブ
構成要素２２５と通信する、このような構成２００Ｂを示す。この場合、ｅｎａｂｌｅ＿ｂｏｏｔ信号はロウレベルであり、そのためブート・クロックおよびブート・コントローラは非能動状態になる。さらに、ｆｒｃ＿ｄｉｓａｂｌｅ信号もロウレベルである。本明細書においては、図２Ｂの構成も「外部コントローラ構成」と呼ぶことができる。ＦＳＢマスタ構成要素２４０は、ＦＳＢスレーブ構成要素２２５を介してＦＳＢレジスタ・アレイ２２６をロード、監視および更新するために動作することができる。
【００３０】
図２Ａの光トランシーバ集積回路２１０Ａは、図２Ｂの光トランシーバ集積回路２１０Ｂと同じように物理的に構成することができる。違いはｅｎａｂｌｅ＿ｂｏｏｔ信号およびおそらくｆｒｃ＿ｄｉｓａｂｌｅ＿ｂｏｏｔ信号の値である。別の方法としては、ｅｎａｂｌｅ＿ｂｏｏｔ信号を図２Ａおよび図２Ｂのｅｎａｂｌｅ＿ｂｏｏｔ信号と同じものにすることができ、その場合、信号ｆｒｃ＿ｄｉｓａｂｌｅ＿ｂｏｏｔは、図２Ｂに示す拒否構成を可能にする拒否信号を表す。それ故、光受信機集積回路２１０は柔軟で、内部コントローラ構成および外部コントローラ構成の両方を調停することができる。さらに、集積回路に適切な構成信号ｅｎａｂｌｅ＿ｂｏｏｔおよびｆｒｃ＿ｄｉｓａｂｌｅ＿ｂｏｏｔを単にアサートするだけでこの柔軟性を達成することができる。
【００３１】
図３は、コア構成要素２１３の構成３００の詳細図である。図３の場合には、Ｉ２Ｃマスタ構成要素２２２、ブート制御構成要素２２３、およびＦＳＢマスタ構成要素２２４全部をブート状態機械３１０として図示してある。内部コントローラ構成の場合、ｆｒｃ＿ｄｉｓａｂｌｅ＿ｂｏｏｔ信号がロウレベルであり、ｅｎａｂｌｅ＿ｂｏｏｔ信号がハイレベルの場合には、ブート状態機械は、ブート・クロック信号ｂｏｏｔ＿ｃｌｋにアクセスする。ブート・プロセス中、ブート状態機械３１０は、ＦＳＢスレーブ構成要素２２５に対してＦＳＢマスタ構成要素として動作する。
【００３２】
より詳細に説明すると、ブート状態機械３１０は、信号ｆｓｂ＿ｓｌａｖｅ＿ｍｏｄｅ＿ｓｅｌをロウレベルにする。これにより、各マルチプレクサ３１１〜３１６の（「０」で示す）上部入力端子がその対応する出力端子に結合する。この内部コントローラ構成の際の動作については、図３のところでさらに詳細に説明する。
【００３３】
ブート状態機械３１０は、ブート・クロック信号ｂｏｏｔ＿ｃｌｋからのクロック信号ｂｏｏｔ＿ｆｓｂ＿ｃｌｋ（ｏｕｔ）を生成する。次に、このクロック信号ｂｏｏｔ＿ｆｓｂ＿ｃｌｋ（ｏｕｔ）は、マルチプレクサ３１１を通して供給され、ＦＳＢクロック信号ｆｓｂ＿ｃｌｋになる。ブート状態機械３１０は、また、ＦＳＢ２線インタフェースに従ってデータ信号を生成することができ、ＦＳＢクロック信号に従って同期がとられる。このデータ信号は、マルチプレクサ３１４を通るｂｏｏｔ＿ｆｓｂ＿ｄｏ（ｏｕｔ）により表され、ＦＳＢスレーブ構成要素２２５に供給される信号ｆｓｂ＿ｄｉになる。ＦＳＢスレーブ構成要素２２５は、信号ｆｓｂ＿ｄｏによりまた出力イネーブル信号ｆｓｂ＿ｄｏ＿ｏｅにより、状態機械にデータを返送することができる。それ故、ブート状態機械３１０は、図３の構成によりＦＳＢスレーブ構成要素２２５に対してＦＳＢマスタ構成要素として完全に動作することができる。
【００３４】
ブート・プロセス中、ブート状態機械３１０は、また、Ｉ２Ｃ２線インタフェースによりＥＥＰＲＯＭと通信することができる。より詳細に説明すると、論理的ゼロは、マルチプレクサ３１２の上部入力端子を通して信号ＴＷＩ＿ＣＯとしてアサートされる。ブート状態機械３１０が生成したクロック信号ｂｏｏｔ＿ｓｃｌは、Ｉ２Ｃインタフェースに対してクロック信号としての働きをする。クロック信号ｂｏｏｔ＿ｓｃｌがハイレベルである場合には、クロック信号はインバータ３２１により「ロウ」に反転され、マルチプレクサ３１３の上部入力端子にロウレベル信号として供給される。このロウレベル信号はドライバ３２２に供給され、それによりドライバ３２２の出力端子からロウレベル信号ＴＷＩ
＿ＣＯが分離される。それ故、信号ｔｗｉ＿ｃｌｋ（ＥＥＰＲＯＭへのクロック線上の実際のクロック信号）は、プルアップ抵抗３２３によりハイレベルになることができる。クロック信号ｂｏｏｔ＿ｓｃｌがロウレベルである場合には、クロック信号はインバータ３２１により「ハイ」に反転され、ハイレベル信号をマルチプレクサ３１３の上部入力に供給する。ハイレベル信号はドライバ３２２に送られ、それによりドライバは、（ロウレベルである）信号ＴＷＩ＿ＣＯをＥＥＰＲＯＭに供給されたクロック信号ｔｗｉ＿ｃｌｋとして通すことができる。このことはオープン・ドレーン・ドライバをエミュレートする。それ故、ＥＥＰＲＯＭに供給されたＩ２Ｃクロック信号ｔｗｉ＿ｃｌｋは、ブート状態機械３１０が生成したＩ２Ｃクロック信号ｂｏｏｔ＿ｓｃｌの後に続く。
【００３５】
同様に、Ｉ２Ｃデータの観点から見ると、論理的ゼロは、マルチプレクサ３１５の上部入力端子を通して信号ＴＷＩ＿ＤＯとしてアサートされる。ブート状態機械３１０が生成したデータ信号ｂｏｏｔ＿ｓｄａは、ＥＥＰＲＯＭへのＩ２Ｃインタフェースに対するブート構成要素２２１が生成したデータ信号としての働きをする。データ信号ｂｏｏｔ＿ｓｄａがハイレベルである場合には、データ信号はインバータ３２４により「ロウ」に反転され、ロウレベル信号をマルチプレクサ３１６の上部入力に送る。このロウレベル信号はドライバ３２５に供給され、それによりドライバ３２５の出力端子からロウレベル信号ＴＷＩ＿ＤＯが分離する。それ故、信号ｔｗｉ＿ｄａｔａ（ＥＥＰＲＯＭへのデータ線上の実際のデータ信号）は、プルアップ抵抗３２６によりハイレベルになることができる。データ信号ｂｏｏｔ＿ｓｄａがロウレベルである場合には、データ信号はインバータ３２４により「ハイ」に反転され、ハイレベル信号をマルチプレクサ３１６の上部入力に供給する。このハイレベル信号はドライバ３２５に送られ、それによりドライバは、信号ＴＷＩ＿ＤＯ（ロウレベルである）をＥＥＰＲＯＭに供給されたデータ信号ｔｗｉ＿ｄａｔａとして通すことができる。このことは、必要に応じてインタフェースを直接駆動する機能を依然として維持したまま、オープン・ドレーン・ドライバをエミュレートする。それ故、ＥＥＰＲＯＭに供給されたＩ２Ｃデータ信号ｔｗｉ＿ｄａｔａは、ブート状態機械３１０が生成したＩ２Ｃデータ信号ｂｏｏｔ＿ｄａｔａの後に続く。他の方向の場合には、ブート状態機械３１０は、また、Ｉ２Ｃデータ線上のデータを監視することもできる。信号ｔｗｉ＿ｄａｔａは、ドライバ３２７を通してＩ２Ｃデータ入力信号ｂｏｏｔ＿ｓｄａとしてブート状態機械３１０に供給される。
【００３６】
要するに、ブート・プロセス中、ブート状態機械３１０は、ＦＳＢスレーブ構成要素２２５に対してＦＳＢマスタとしての働きをし、外部ＥＥＰＲＯＭに対してＩ２Ｃマスタとしての働きをする。一方、ブート状態機械３１０が能動状態でない場合には（例えば、ｅｎａｂｌｅ＿ｂｏｏｔ信号がロウレベルであるか、またはｆｒｃ＿ｄｉｓａｂｌｅ＿ｂｏｏｔ信号がハイレベルであるために）、データ状態機械は、コントローラのようなオフ・チップ構成要素が、ブート構成要素２２１を通してＦＳＢスレーブ構成要素２２５と直接通信することができるようにする。これは図２Ｂの外部コントローラ構成モデルとしての働きをする。
【００３７】
外部コントローラ構成モードの場合には、ブート状態機械は、ｆｓｂ＿ｓｌａｖｅ＿ｍｏｄｅ＿ｓｅｌ信号をハイレベルであるとアサートする。この場合、マルチプレクサ３１１の下部入力端子は、３１６を通してその各出力端子と結合する。それ故、ｏｆｆ＿ｃｈｉｐコントローラが生成したクロック信号ｔｗｉ＿ｃｌｋは、ドライバ３２８およびマルチプレクサ３１１を通して、ＦＳＢスレーブ構成要素２２５およびＦＳＢレジスタ・アレイ２２６に直接送られる。ドライバ３２２はオフになり、そのためブート状態機械３１０は、クロック信号を全然送らない。
【００３８】
外部コントローラが生成したデータ信号ｔｗｉ＿ｄａｔａは、ドライバ３２７およびマルチプレクサ３１４を通してＦＳＢスレーブ構成要素２２５に送られる。ＦＳＢスレーブ
構成要素２２５がハイレベル出力イネーブル信号ｆｓｂ＿ｄｏ＿ｅｏを生成した場合には、ドライバ３２５はオンになり、ＦＳＢスレーブ構成要素２２５が生成したデータ信号ｆｓｂ＿ｄｏは、マルチプレクサ３１５およびドライバ３２５を通して供給されデータ信号ｔｗｉ＿ｄａｔａを生成する。それ故、この構成の場合、外部コントローラはＦＳＢスレーブ構成要素と直接通信する。
【００３９】
それ故、本発明の原理は、同じチップ上にコントローラ、後置増幅器およびレーザ・ドライバを最小のノイズの影響で集積することができる光トランシーバ集積回路を提供する。さらに、光トランシーバ集積回路は、光トランシーバ集積回路の物理的構造を変えないで、後置増幅器およびレーザ・ドライバを内部的に制御することができるように、または外部コントローラがＦＳＢスレーブ構成要素を制御することができるように構成することができる。これにより、ユーザは、ユーザのニーズに基づいて、もっとコストが安い内部コントローラ構成、またはもっとコストが高い外部コントローラ構成を柔軟に選択することができる。
【００４０】
本発明のいくつかの実施形態は、ギガビット・イーサネット（登録商標）（「ＧｉｇＥ」）の物理仕様に適合する高速データ送信システムと一緒に使用するのによく適しているが、このような動作環境は単に例示としてのものであって、本発明の実施形態は、もっと一般的には、そのうちのいくつかは、１Ｇ、２．５Ｇ、４Ｇ、１０Ｇまでのまたはこれらを超える回線レートおよびもっと高い帯域幅ファイバ・チャネルを有する種々の高速データ送信システムのうちの任意のシステムで使用することができることに留意されたい。例えば、本発明のある実施形態は、ファイバ・チャネル（「ＦＣ」）物理仕様と互換性を有する。
【００４１】
さらに、本発明の実施形態は種々の方法で実施することができる。例を挙げて説明すると、ＰＡ／ＬＤのある実施形態は、「ＳＦＰ」（Ｓｍａｌｌ  Ｆｏｒｍ  Ｆａｃｔｏｒ  Ｐｌｕｇｇａｂｌｅ）二方向トランシーバ・モジュールで実施することができる。このようなトランシーバ・モジュールは、ＧｉｇＥおよび／またはＦＣコンプライアンス用に構成される。例を挙げて説明すると、このようなトランシーバ・モジュールは、約８５０ｎｍの波長で送受信することができる。さらに、これらのトランシーバ・モジュールは、広い範囲の温度で動作することができる。例えば、このようなトランシーバ・モジュールのうちのあるものは、約−１０℃から約＋７０℃のような約８０℃の温度範囲で効果的に動作する。もちろん、このような実施形態および関連する動作パラメータは単に例示としてのものに過ぎず、如何なる意味でも本発明の範囲を制限するものではない。例えば、本発明の原理は、無制限にＸＦＰ、ＳＦＰおよびＳＦＦのような任意の形状因子のレーザ送信機／受信機で実施することができる。
【００４２】
図４は、図２Ａ、図２Ｂおよび図３のところで簡単に説明したＦＳＢ２線インタフェースのフレームのデータ構造４００の略図である。フレーム４００は、プリアンブル・フィールド４０１、フレーム・スタート・フィールド４０２、動作フィールド４０３、デバイス識別子フィールド４０４、オプションとしての拡張フィールド４０５、基本アドレス・フィールド４０６、第１のバス・ターンアラウンド・フィールド４０７、およびオプションとしてのバス保持フィールド４０８、データ・フィールド４０９、オプションとしての巡回冗長検査（ＣＲＣ）フィールド４１０、第２のバス・ターンアラウンド・フィールド４１１、オプションとしての肯定応答フィールド４１２、オプションとしてのエラー状態フィールド４１３、およびフレーム・エンド・フィールド４１４を含む。以下にさらに詳細に説明するように、フレーム４００は、データ線の制御のための任意の構成要素のターン内で、プリアンブルの長さよりもっと頻繁に保証されたゼロが散在するように設計される。
【００４３】
バス・ターンアラウンド・フィールドにより、ＦＳＢマスタ構成要素とＦＳＢスレーブ構成要素との間でデータ線の制御を自由に受け渡すことができる。それ故、ＦＳＢマスタ構成要素は、ＦＳＢスレーブ構成要素がフレームの他の部分を供給している間に、フレームのうちのいくつかを供給することができる。図４ではフィールドがある順序で並んでいるが、この説明を読めば通常の当業者であれば理解することができるように、フレーム４００の機能に悪影響を与えないで、フィールドの順序をかなり柔軟に変えることができることに留意されたい。
【００４４】
図５Ａ、図５Ｂおよび図５Ｃは、フレーム４００の特定の実施形態である。実行中の動作に従ってオプションとしてのフィールドのうちのいくつかが含まれ、または除外されている。図５Ａは、拡張フィールド、巡回冗長検査（ＣＲＣ）および肯定応答を使用して、書込動作または読取動作が行われる例示としてのフレームである。図５Ｂは、拡張フィールドを使用しないで、ＣＲＣおよび肯定応答を使用して、書込動作または読取動作が行われる例示としてのフレームである。図５Ｃは、拡張フィールド、ＣＲＣおよび肯定応答を使用しないで、書込動作または読取動作が行われる例示としてのフレームである。
【００４５】
図５Ａは、最も包括的なフレームの例を示しているので、図５Ａを参照しながらフレームの種々のフィールドについて最も詳細に説明する。図３Ａのフレームは、動作がライン５０１Ａで示す読取動作であろうと、ライン５０４Ａで示す書込動作であろうと、ビット７４：０に対応する７５ビットを含む。
【００４６】
ライン５０２Ａは、ＦＳＢマスタ構成要素が、読取動作中にデータ線を制御する場合の時間の増分の際に星印を示し、その他の場合には、周期を含む。ラインの始めの「ＭＯＥ」は、「マスタ・データ出力イネーブル」の略語である。ライン３０３Ａは、ＦＳＢスレーブ構成要素が、読取動作中にデータ線を制御する場合の時間の増分の際に星印を示し、その他の場合には、周期を含む。ラインの始めの「ＳＯＥ」は、「スレーブ・データ出力イネーブル」の略語である。
【００４７】
同様に、ライン５０５Ａは、ＦＳＢマスタ構成要素が書込動作中にデータ線を制御する場合の時間の増分のところに星印を示し、その他の場合には、ある周期を含む。さらに、ライン５０６Ａは、ＦＳＢスレーブ構成要素が書込動作中にデータ線を制御する場合の時間の増分のところに星印を示し、その他の場合にはある周期を含む。ライン３０７Ａおよび３０８Ａについては以下にさらに詳細に説明する。
【００４８】
フレームは、図５Ａに示すように、１５ビット７４：６０のプリアンブルでスタートする。このプリアンブルは、図４のプリアンブル・フィールド４０１の一例である。データ線１３２はハイ・インピーダンス状態のままである。ＦＳＢマスタ構成要素またはＦＳＢスレーブ構成要素の任意の構成要素による任意のアサートがデータ線上に存在していない場合には、データ線はプルアップ抵抗（図３の抵抗３２６参照）により論理１に保持される。ＦＳＢマスタ構成要素がＦＳＢスレーブ構成要素と通信すべきであると判断した場合には、ＦＳＢマスタ構成要素は、クロック線上にクロック信号を生成する。同時に、各クロック・サイクル中、ＦＳＢマスタ構成要素は、１５の連続している１を探してデータ線を監視する。ハイ・インピーダンス・データ線により、プルアップ抵抗が存在していてもデータ線上のデータを正しくアサートすることができる。
【００４９】
ＦＳＢマスタ構成要素が、プリアンブル段階中、データ線上に何もアサートしていない場合で、ＦＳＢスレーブ構成要素のどれもがデータ線上の前のフレームの残りを送信していない場合には、データ線は論理１を含んでいなければならない。別の方法としては、ＦＳＢマスタ構成要素がプリアンブルのうちの少なくともいくつか中のデータ線上に論理１をアサートすることができる場合でも、データ線は、ＦＳＢスレーブ構成要素のどれもが
その時点でデータ線上で送信を行っていないことを仮定するプリアンブル段階中、依然として論理１を含んでいなければならない。一方、フレームは、フレームのプリアンブルでない部分を送信している場合、ＦＳＢマスタもＦＳＢスレーブも１５の連続している論理１を超えて送信しないように設計されている。
【００５０】
上記の場合、ＦＳＢマスタ構成要素が、フレームのプリアンブル段階中、データ線を監視していた時に、データ線上で論理０を検出した場合には、ＦＳＢスレーブ構成要素は、データ線上で通信を行っていた可能性がある。論理０が検出されてもされなくても、ＦＳＢマスタ構成要素は、フレームを続行する前にデータ線上に１５の論理１を発見するまで待機する。フレーム設計内に散在する保証されたゼロにより、ＦＳＢマスタ構成要素は、データ線によりＦＳＢスレーブ構成要素のうちの１つも通信しているリスクがほとんどない状態でデータ線により安全に送信することができる。
【００５１】
それ故、ＦＳＢマスタ構成要素とＦＳＢスレーブ構成要素間に同期の誤差があった場合でも、再度同期させることができる。何故なら、ＦＳＢマスタ構成要素が、ＦＳＢスレーブ構成要素が続行する前にデータ線のその使用を終了するまで待機するからである。ＦＳＢスレーブ構成要素は、また、１５の連続している１を探してデータ線を監視する。それ故、ＦＳＢスレーブ構成要素が１５の連続している１に遭遇した場合には、ＦＳＢスレーブ構成要素は、フレームの残りの部分を待機する。それ故、ＦＳＢスレーブ構成要素がＦＳＢマスタ構成要素との同期を前に喪失していてもいなくても、ＦＳＢスレーブ構成要素は、プリアンブルの時点でデータ線を使用していないので、ＦＳＢスレーブ構成要素はフレームのプリアンブル段階でプリアンブルを聴取しなければならない。それ故、ＦＳＢスレーブ構成要素は、ＦＳＢマスタ構成要素と再度同期することができる。
【００５２】
それ故、プリアンブルは、同期の喪失からのエラー回復をさらに保持しながらかなり短くなる。さらに、プルアップ抵抗によりデータ線はハイレベルにバイアスされているので、ＦＳＢマスタ構成要素は、プリアンブル段階中、データ線上の任意のデータをアサートする必要がなく、それにより電力要件が軽減する。
【００５３】
プリアンブル段階が終了すると（すなわち、ＦＳＢマスタ構成要素がデータ線上で少なくとも１５の連続している２進法の１を検出した場合には）、ＦＳＢマスタ構成要素は、ビット５９で表すようにデータ線上で論理１をアサートする。これによりＦＳＢマスタ構成要素に対する出力イネーブルがオンになり、もう１回のサイクル中データ線は論理１に維持される。
【００５４】
次に、ＦＳＢマスタ構成要素は、保証された論理０である２つのフレーム・スタート・ビット５８：５７を送信する。これらのフレーム・スタート・ビットは、図４のフレーム・フィールド４０２のスタートの一例である。プリアンブル段階が終了した後で、ＦＳＢスレーブ構成要素は、これらの論理０を聴取する。これらの論理０が到着すると、ＦＳＢスレーブ構成要素は、２つの論理０がフレームの残りのスタートに対応することを理解し、それにより同期を達成する。２つの論理０は、２つの論理０が実際にフレームのスタートを表す十分な統計的確率を供給するために供給される。
【００５５】
次に、ＦＳＢマスタ構成要素は、３つの操作コード・ビット５６：５４を送信する。これらの操作コード・ビットは、図４の動作フィールド４０３の一例である。３つの操作コード・ビットは、通常、８つの一意の動作を識別することができる。しかし、この操作コードの少なくとも１つの論理０を保証するために、３つのビットが表す動作の数は６つであり、操作コードの他の２つの並べ替えは予約される。図の例の場合には、ビット・シーケンス０１１および１１１が予約される。
【００５６】
この例の場合には、操作ビット０００は、拡張フィールド（以下にさらに詳細に説明する）を使用しないが、ＣＲＣチェックおよび肯定応答を使用する書込動作を意味する。図５Ｂのライン５０４Ｂがこの動作のためのフレームを示す（ライン５０４Ｂのビット４７：４５参照）。
【００５７】
操作ビット００１は、拡張フィールド、およびＣＲＣチェックおよび肯定応答を使用する書込動作を意味する。図５Ａのライン５０４Ａがこの動作のためのフレームを示す（ライン５０４Ａのビット５６：５４参照）。
【００５８】
操作ビット０１０は、拡張フィールドを使用しない、またＣＲＣチェックおよび肯定応答を使用しない書込動作を意味する。図５Ｃのライン５０４Ｃがこの動作のためのフレームを示す（ライン５０４Ｃのビット３５：３３参照）。
【００５９】
操作ビット１００は、拡張フィールドは使用しないが、ＣＲＣチェックおよび肯定応答は使用する読取動作を意味する。図５Ｂのライン５０１Ｂがこの動作のためのフレームを示す（ライン５０１Ｂのビット４７：４５参照）。
【００６０】
操作ビット１０１は、拡張フィールドを使用し、ＣＲＣチェックおよび肯定応答も使用する読取動作を意味する。図５Ａのライン５０１Ａがこの動作のためのフレームを示す（ライン５０１Ａのビット５６：５４参照）。
【００６１】
操作ビット１１０は、拡張フィールドを使用しない、ＣＲＣチェックおよび肯定応答メッセージを使用しない読取動作を意味する。図５Ｃのライン５０１Ｃがこの動作のためのフレームを示す（ライン５０１Ｃのビット３５：３３参照）。
【００６２】
動作によりフレームの構造がどのように変わるのかを留意されたい。それ故、ＦＳＢマスタ構成要素は、操作コードを制御することにより、どのフレーム構造を使用するのかを制御する。操作コードを読み取った場合、ＦＳＢスレーブ構成要素は、操作コードに対応するフレーム構造を予測するように構成されている。それ故、ＦＳＢマスタ構成要素は、必要に応じてフレーム構造を動的に調整することができる。帯域幅がより重要である場合には、もっと短くてもっと信頼性の低いフレーム構造（例えば、図５Ｃ）を使用することができる。信頼性がより重要である場合には、もっと長くもっと信頼性の高いフレーム構造（例えば、図５Ａおよび図５Ｂ）を使用することができる。何らかの理由でもっと多くのビットが必要な場合には、拡張フィールド（例えば、５Ａ）を含むフレームを使用することができる。このようにもっと多くのビットを必要としない場合には、拡張フィールド（例えば、図５Ｂおよび図５Ｃ）を含まないフレームを使用することができる。
【００６３】
図５Ａに戻って説明すると、ＦＳＢマスタ構成要素が操作コード（すなわち、ビット５６：５４）を送信した後で、ＦＳＢマスタ構成要素は、ビット５３：５１に対応する３つのビットのデバイス識別子を送信する。これらのデバイス識別子ビットは、図４のデバイス識別子フィールド４０４の一例である。デバイス識別子は、複数のＦＳＢスレーブ構成要素のうちのどのＦＳＢスレーブ構成要素が、ＦＳＢマスタ構成要素と通信するのかを識別する。この実施形態の場合にはデバイス識別子として３つのビットを使用するので、この実施形態の場合には、８つまでのＦＳＢスレーブ構成要素（またはＦＳＢマスタ構成要素が自己診断のためのアドレスを有する場合には、７つのＦＳＢスレーブ構成要素）を使用することができる。
【００６４】
デバイス識別子ビットが供給されるまで、各ＦＳＢスレーブ構成要素は、データ線上の通信を監視していた。しかし、デバイス識別子ビットを受信した場合、ＦＳＢスレーブ構成要素は、自分自身をデバイス識別子に対応するものと識別することができる。もしあっ
た場合、他のＦＳＢスレーブ構成要素は、フレームの残りを無視することができる。他のＦＳＢスレーブ構成要素がフレームの残りを無視した場合でも、他のＦＳＢスレーブ構成要素は、送信中の他のフレームを示す他のプリアンブルを発見するために直ちにデータ線の監視を続行することができる。別の方法としては、他のＦＳＢスレーブ構成要素は、クロック線上で、次のフレームがスタートしようとしていることを示すクロック信号を再度アサートした後で、このような監視をスタートすることができる。
【００６５】
ＦＳＢマスタ構成要素が、データ線上でデバイス識別子ビット５３：５１をアサートした後で、ＦＳＢマスタ構成要素は、拡張フィールドに対応する８つのビット５０：４３をアサートする。これらの拡張ビットは図４の拡張フィールド４０５の一例である。図５Ａの場合には、操作コードによりＦＳＢスレーブ構成要素はこれらの拡張ビットを予想する。次に、ＦＳＢマスタ構成要素は、ビット４２として保証した論理０を送信し、それによりデータ線上の１５の連続している論理１が必ずフレームがプリアンブル段階に位置することを意味し、それにより上記同期回復機構をサポートする。
【００６６】
拡張フィールドは、ビットの意味が両方の通信構成要素により共通に認識できる限りは、役に立つ任意の拡張ビットを含むことができる。例えば、拡張フィールドのいくつかまたは全部は、もっと広いアドレス空間を有するＦＳＢスレーブ構成要素と通信する場合に使用するための拡張アドレスを表すことができる。別の方法としては、またはその他に、拡張フィールドのいくつかまたは全部は、他の動作タイプが望ましい拡張操作コードを表すことができる。
【００６７】
次に、ＦＳＢマスタ構成要素は、基本アドレスに対応する８つのビット４１：３４をアサートする。これら８つのビット４１：３４は、図４の基本的なアドレス・フィールド４０６の一例である。拡張フィールドのすべてが拡張アドレスを表している場合には、ＦＳＢスレーブ構成要素は、動作に適用されるアドレス空間を正しく識別するために、１６のビット５０：４３および４１：３４すべてを使用することができる。
【００６８】
フレーム内の次のビット３３は、第１のターンアラウンド・ビットであり、図４の第１のターンアラウンド・フィールド４０７の一例を表す。ターンアラウンド・ビットは、これらビットがＦＳＢマスタ構成要素とＦＳＢスレーブ構成要素との間で、データ線の制御を自由に受け渡しすることができるという点で幾分一意のものである。
【００６９】
書込動作の場合には、第１のターンアラウンド・ビット３３は論理０であり、このことは当分の間ＦＳＢマスタ構成要素が制御を行っていることを示す。それ故、図５Ａのライン５０５Ａを参照すると、ＦＳＢマスタ構成要素はターンアラウンド・ビット３３を通してデータ線の制御を保持していて、図５Ａのライン５０６Ａを参照すると、ＦＳＢスレーブ構成要素はターンアラウンド・ビット３３を通してデータ線の制御を入手していない。この制御の保持は適切である。何故なら、ＦＳＢマスタ構成要素は、ＦＳＢマスタ構成要素がスタートした書込動作の主題であるそのデータを供給している構成要素であるからである。
【００７０】
一方、読取動作の場合には、第１のターンアラウンド・ビット３３は、ハイ−ｚであり、このことは、ＦＳＢマスタ構成要素またはＦＳＢスレーブ構成要素のどれもがデータ線上でビットを能動的にアサートしていないそのハイ・インピーダンス状態でデータ線がフロートすることができることを意味する。このことは、データ線の制御がＦＳＢスレーブ構成要素に引き渡されたことを表す（図５Ａのライン５０２Ａおよび５０３Ａ参照）。制御のこの受け渡しは適切である。何故なら、ＦＳＢスレーブ構成要素は、ＦＳＢマスタ構成要素がスタートした読取動作の主題であるそのデータを供給している構成要素であるからである。
【００７１】
読取動作の場合、ＦＳＢスレーブ構成要素は、ＦＳＢスレーブ構成要素がこの段階で続行の準備ができていない場合には、フレームを一時中止する機会を有する。ＦＳＢスレーブ構成要素は、続行の準備ができていない場合には、バス保持ビット３２を論理０にアサートする。続行する準備ができている場合には、ＦＳＢスレーブ構成要素は、続行する準備ができていて、それによりＦＳＢマスタ構成要素がＦＳＢスレーブ構成要素が続行の準備ができていることを通知した場合には、論理０をアサートする。これにより、ＦＳＢスレーブ構成要素が当分続行の準備ができていない場合には、ＦＳＢスレーブ構成要素は、そうしたい場合フレームを一時停止することができる。ＦＳＢスレーブ構成要素が使用することができる追加の一時停止オプションについては肯定応答ビットのところで以下に説明する。書込動作の場合には、バス保持ビット３２は保証された論理１である。バス保持ビット３２は、図４のバス保持フィールド４０８の一例である。
【００７２】
読取動作の場合には、ＦＳＢスレーブ構成要素がビット保持ビット３２を送信した後で、ＦＳＢスレーブ構成要素は、８つの最上位ビットを送信し、その後で、保証したゼロ・ビットを送信する。書込動作の場合には、ＦＳＢマスタ構成要素がビット保持ビット３２を送信した後で、ＦＳＢマスタ構成要素は８つの最上位ビットを送信し、その後で、保証したゼロ・ビットを送信する。いずれの場合でも、８つの最上位ビットはビット３１：２４により表され、それに続く保証したゼロ・ビットは、ビット２３により表される。
【００７３】
読取動作の場合には、ＦＳＢスレーブ構成要素が保証したゼロ・ビット２３を送信した後で、ＦＳＢスレーブ構成要素は、８つの最下位ビットを送信し、その後で、他の保証したゼロ・ビットを送信する。書込動作の場合には、ＦＳＢマスタ構成要素が保証したゼロ・ビット２３を送信した後で、ＦＳＢマスタ構成要素は８つの最下位ビットを送信し、その後で、他の保証したゼロ・ビットを送信する。いずれの場合でも、８つの最下位ビットはビット２２：１５により表され、一方、他の保証したゼロ・ビットはビット１４により表される。データ・ビット３１：２４および２２：１５の組合せは、図４のデータ・フィールド４０９の一例である。
【００７４】
読取動作の場合には、ＦＳＢスレーブ構成要素が保証したゼロ・ビット１４を送信した後で、ＦＳＢスレーブ構成要素は、ビット１３：０６に対応する巡回冗長検査（ＣＲＣ）データの８つのビットを送信する。ＣＲＣビットは、図４のＣＲＣフィールド４１０の一例である。フレーム・ビット５８：５７のスタートの後およびＣＲＣビット１３：０６の前にすべてのビットを使用して、ＦＳＢマスタ構成要素およびＦＳＢスレーブ構成要素の両方は、ライン５０７Ａで示すようにＣＲＣデータを計算する。ＦＳＢマスタ構成要素がＦＳＢスレーブ構成要素からＣＲＣビット１３：０６の返送を受信した場合には、ＦＳＢマスタ構成要素は、ライン５０８Ａで表すように、ＦＳＢマスタ構成要素およびＦＳＢスレーブ構成要素の両方が生成したＣＲＣ情報を比較する。一致しない場合には、送信がエラーを含んでいた可能性があり、ＦＳＢマスタ構成要素は、現在のフレームが終了した後でそのフレームを再度スタートすることができる。
【００７５】
書込動作の場合には、ＦＳＢマスタ構成要素が保証したゼロ・ビット１４を送信した後で、ＦＳＢマスタ構成要素はＣＲＣビット１３：０６を送信する。この場合も、ＦＳＢマスタ構成要素およびＦＳＢスレーブ構成要素の両方がそのＣＲＣデータを計算する。ＦＳＢスレーブ構成要素が、ＦＳＢマスタ構成要素からＣＲＣビット１３：０６を受信した場合には、ＦＳＢスレーブ構成要素はＦＳＢマスタ構成要素およびＦＳＢスレーブ構成要素が生成したＣＲＣ情報を比較する。一致しない場合には、送信がエラーを含んでいた可能性があり、ＦＳＢマスタ構成要素は、ＦＳＢマスタ構成要素がエラーについての通知を受けた後、現在のフレームが終了した後でそのフレームを再度スタートすることができる。ある場合には、間違った書込動作は、壊滅的な（または少なくとも有害な）影響を与える
場合がある。例えば、レーザ・バイアス電流を設定するために間違った書込動作を行った場合には、レーザの強度が強くなり過ぎて信号の歪みが発生する恐れがある。それ故、このような状況の場合は信頼性の高い通信が重要になる。ＦＳＢスレーブ構成要素は、このようなエラーを検出した場合には書込動作を抑制することを選択することができる。
【００７６】
ＣＲＣビット１３：０６の後には、第２のターンアラウンド・ビット０５が位置する。この第２のターンアラウンド・ビットは、図４の第２のターンアラウンド・フィールド４１１の一例である。このターンアラウンド動作により、まだ制御がそこにない場合には、データ線の制御をＦＳＢスレーブ構成要素に渡すことができる。これにより、ＦＳＢスレーブ構成要素は信頼性情報をＦＳＢマスタ構成要素に返送することができる。
【００７７】
読取動作の場合には、データ線の制御が第１のターンアラウンド・ビットによりＦＳＢスレーブ構成要素にすでに渡されている。それ故、この第２のターンアラウンド・ビットは、データ線の制御に変化がないことを示す論理０である。一方、書込動作の場合には、データ線の制御は第１のターンアラウンド・ビットによりＦＳＢスレーブ構成要素にまだ渡されていない。それ故、データ線は、データ線の制御がＦＳＢスレーブ構成要素に渡されたことを示すそのハイ・インピーダンス状態でフロートすることができる。それ故、第２のターンアラウンド・ビット０５の後で、ＦＳＢスレーブ構成要素は、動作が読取動作であれ、書込動作であれ、データ線を制御する。
【００７８】
第２のターンアラウンド・ビット０５の後で、ＦＳＢスレーブ構成要素は、図４の肯定応答フィールド４１２の一例である肯定応答ビット０４をアサートする。この肯定応答ビットは、動作が成功したかどうかを表すことができる。この場合、論理１は、動作が成功したことを意味する。ＦＳＢスレーブ構成要素が、忙しくてＦＳＢマスタ構成要素に応答できなかった場合には、ＦＳＢスレーブ構成要素は、肯定応答ビット０４に対して論理０をアサートし、それによりＦＳＢマスタ構成要素に強制的にフレームを再開させることができる。それ故、肯定応答ビット０３およびビット保持ビット３２は、ＦＳＢスレーブ構成要素に自分が要求に応じることができない状況に対処する１つの方法を提供する。
【００７９】
次に、ＦＳＢスレーブ構成要素は、図４のエラー・フィールド４１３の一例であるエラー・ビット０２が後に続く、保証したゼロ・ビット０３をアサートする。エラー・フィールドは、ＣＲＣチェックの際にエラーがあったのかどうか、および／またはプロトコル違反（例えば、論理０でなければならない位置で論理１を検出したというような）があったのかどうかを示すことができる。読取動作の場合には、ＦＳＢマスタ構成要素は、この決定を行うのに十分なＣＲＣデータをすでに入手している。しかし、書込動作の場合には、ＦＳＢスレーブ構成要素は、ＣＲＣデータの比較を行った構成要素である。それ故、この時点でＦＳＢスレーブ構成要素は、ＦＳＢマスタ構成要素にＣＲＣデータ内のすべての不一致を通知する。不一致があると、ＦＳＢマスタ構成要素はフレームを再スタートすることになる。フレームがＣＲＣおよび肯定応答情報を含んでいる場合には、ＦＳＢマスタ構成要素とＦＳＢスレーブ構成要素との間でもっと信頼性の高い通信を行うことができる。
【００８０】
次に、ＦＳＢスレーブ構成要素は、フレームの終了を示す２つのフレームの端部ビット０１：００をアサートする。第１のビット０１は、データ・バスを直ちに強制的に論理１にする論理１である。第２のビットにおいて、データ・バスをすぐに次のフレームをスタートすることができる、そのハイ・インピーダンス状態でフロートすることができる。第１のビット０１が論理０である場合には、プルアップ抵抗が論理１と解釈することができる電圧レベルにデータ線の電圧を上げるにはある時間がかかる場合がある。それ故、第１のビット０１を論理１に設定するということは、次のフレームをもっと早くスタートすることができ、それにより性能を改善することができることを意味する。
【００８１】
図５Ｂは、拡張フィールドを使用しないで、またＣＲＣおよび肯定応答を使用して書込動作または読取動作を行う例示としてのフレームを示す。図５Ｂのフレームは、動作が拡張フィールドを使用しない書込動作または読取動作である点を除けば、図５Ａのところで説明したフレームとほぼ同じものである。それ故、図５Ｂは、図５Ａのビット５０：４２を含んでいないで、それに従ってビットに番号が付けてある。
【００８２】
図５Ｃは、拡張フィールドを使用しないで、またＣＲＣおよび肯定応答を使用しないで、書込動作および読取動作を行う例示としてのフレームである。図５Ｃのフレームは、動作が拡張フィールドを使用しない書込動作または読取動作である点を除けば、図５Ａのところで説明したフレームとほぼ同じものである。それ故、図５Ｂは図５Ａのビット５０：４２を含んでいない。さらに、フレームは信頼性情報を含んでいない。それ故、図５Ｃは、図５Ａのビット１３：０２を含んでいない。図５Ｃが図５Ａのビットを含んでいないために、図５Ｃの残りのビットの番号は違うものになっている。
【００８３】
本発明の精神または本質的な特徴から逸脱することなしに、本発明を他の特定の形で実施することができる。上記実施形態はすべての点で単に例示としてのものであって本発明を制限するものでないと見なすべきである。それ故、本発明の範囲を記載しているのは上記説明ではなく、添付の特許請求の範囲である。特許請求の範囲の等価物の意味および範囲に入るすべての変更はその範囲内に入る。
【図面の簡単な説明】
【００８４】
【図１】電気通信システムで実施した光トランシーバ集積回路の略図。
【図２Ａ】ブート構成要素コントローラが、このコントローラが２つの異なる２線インタフェースを用いて種々の構成要素と通信するブート・モードにある場合の光トランシーバ回路の一部の略図。
【図２Ｂ】ブート構成要素が、このブート構成要素が外部コントローラと内部スレーブ構成要素との間で通信を行うことができるようにする通過モードにある場合の光トランシーバ回路の一部の略図。
【図３】図２Ａおよび図２Ｂのコアの回路の詳細図。
【図４】ＦＳＢ２線インタフェースを形成するフレームのシーケンシャル・データ構造の略図。
【図５Ａ】拡張フィールドを使用し、巡回冗長検査（ＣＲＣ）および肯定応答を使用して書込動作または読取動作を行う例示としてのフレーム。
【図５Ｂ】拡張フィールドは使用しないが、ＣＲＣおよび肯定応答を使用して書込動作または読取動作を行う例示としてのフレーム。
【図５Ｃ】拡張フィールドを使用しないで、またＣＲＣおよび肯定応答を使用しないで書込動作または読取動作を行う例示としてのフレーム。
【図１】
2007527672.tif 000003
【図２Ａ】
2007527672.tif 000004
【図２Ｂ】
2007527672.tif 000005
【図３】
2007527672.tif 000006
【図４】
2007527672.tif 000007
【図５Ａ】
2007527672.tif 000008
【図５Ｂ】
2007527672.tif 000009
【図５Ｃ】
2007527672.tif 000010
【国際調査報告】
2007527672.tif 000011
2007527672.tif 000012