JP2007515143A - オペレーション・コードにより動的に調整可能なデータ・フィールドを有する二線式インタフェース - Google Patents
オペレーション・コードにより動的に調整可能なデータ・フィールドを有する二線式インタフェース Download PDFInfo
- Publication number
- JP2007515143A JP2007515143A JP2006545797A JP2006545797A JP2007515143A JP 2007515143 A JP2007515143 A JP 2007515143A JP 2006545797 A JP2006545797 A JP 2006545797A JP 2006545797 A JP2006545797 A JP 2006545797A JP 2007515143 A JP2007515143 A JP 2007515143A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- field
- component
- slave
- master component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
- Small-Scale Networks (AREA)
Abstract
ある動作をスレーブ(120,121,122)構成要素上で実行することを決定した場合に、マスタ構成要素(110)が、データ線(132)を介して、スレーブ構成要素(120,121,122)に対応するフレームの少なくとも一部を送信する保証二線式(131,132)インタフェース。マスタ構成要素(110)は、自分が、ある動作をスレーブ構成要素(120,121,122)上で実行することを決定する度に、また同じ構成要素または異なるスレーブ構成要素を前に通信したスレーブ構成要素とすると決定する度に、この検出および送信を繰り返す。フレーム構造自身は、実行する動作により変化することができる。例えば、あるフレームは、他のフレームに含まれている基本アドレス・フィールドより長い拡張アドレス情報を含む拡張アドレス・データ・フィールドを含むことができる。あるフレームは、信頼性フィールド(巡回冗長検査フィールド、肯定応答フィールド、および/またはエラー・フィールドなど)を含むことができ、一方、異なる動作を有する他のフレームは信頼性フィールドを含むことができない。
Description
本発明は、概して、二線式インタフェースを用いて通信するための2つ以上の構成要素用の機構に関する。より詳細には、本発明は、それにより環境に依存する二線式インタフェース・プロトコルを動的に調整するために、オペレーション・コードにより動的に調整可能なデータ・フィールドを有する二線式インタフェースに関する。
電子およびコンピューティング技術は、我々が仕事をしたり遊んだりする方法を変えてきた。多くの電子またはコンピューティング・システムは、複雑な機能を実行するために協調的に相互作用を行う種々の構成要素に依存している。このような協調的相互作用は、多くの場合、効果的に通信を行うために種々の構成要素の能力に依存している。
電子構成要素は、多くの方法で通信を行うことができる。しかし、多くの場合、構成要素間の通信には二線式インタフェースが使用される。二線式インタフェースを使用する通信は、他のインタフェースによる通信より遅い場合もあるが、いくつかの実施の場合には、二線式インタフェースを使用することが好ましい。何故なら、このようなインタフェースは、多くの場合、チップの数が少なくてすむし、または構成要素間の基板スペースが狭くてすむからである。さらに、二線式インタフェースは、多くの場合、多くのパラレル・インタフェースよりも、残りのチップおよび/または基板内の電磁干渉が少ない。
いくつかの従来の二線式インタフェースの場合には、一方の線はクロック信号を運ぶために使用され、他方の線はデータ信号を運ぶために使用される。クロック信号は、通常、マスタ構成要素により生成され、マスタ構成要素および1つ以上のスレーブ構成要素により使用される。マスタ構成要素またはスレーブ構成要素は、共有クロック信号のタイミングに従ってデータ線上にデータを駆動することができる。各通信構成要素は、通信に使用する共通の二線式プロトコルを理解していて、そのためそれぞれデータにより正しく機能することができる。二線式インタフェース用のデータ線は、通常、データばかりでなく、実行する動作を識別するヘッダ・フィールド(すなわち、オペレーション・コード)、デバイス識別子(場合によっては、通信するための複数のスレーブ構成要素を含むことができる)、およびデータを読み取るアドレスまたはデータを書き込むアドレスを含む。
豊富な二線式インタフェースの一例としてはI2Cインタフェースがある。I2Cインタフェースは、1つの対応するヘッダ・フィールドにより、大量(例えば、キロバイトまたはメガバイト)のデータを転送するのに使用することができる。すなわち、ヘッダ・フィールドが供給されると、後のすべてのデータに対応する動作を理解することができる。ヘッダ・フィールドは大量のデータに対して1回しか供給されないので、I2Cインタフェースは、メモリへまたメモリから大量のデータを通信する場合、非常に効率的である。
もう1つのタイプの二線式インタフェースは、転送中のデータの各バイトまたはワードのためのヘッダ・フィールドを含む。このような二線式インタフェースは、「保証ヘッダ二線式インタフェース」と呼ばれる。何故なら、データの各バイトまたはワードまたは他の少量の一定量は、実行する動作を識別するそれ自身のヘッダ・フィールドを有することを保証されているからである。データの各バイトまたはワードはそれ自身のヘッダ・フィールドを有しているので、転送するデータの単位毎に有意にもっと広い帯域幅が使用される。ほとんどの場合、実際には、このような保証ヘッダ・インタフェースを使用する場合には、読み取ったり書き込んだりする実際のデータを表すビットよりも、ヘッダ情報を表
すもっと多くのビットが転送されることになる。それ故、保証ヘッダ二線式インタフェースは、通常、大量の連続データを読み取ったり書き込んだりするのには使用されない。代わりに、保証ヘッダ二線式インタフェースは、例えば、時々構成レジスタの値を設定する場合に、少量のデータを間欠的に転送するために最も頻繁に使用される。
すもっと多くのビットが転送されることになる。それ故、保証ヘッダ二線式インタフェースは、通常、大量の連続データを読み取ったり書き込んだりするのには使用されない。代わりに、保証ヘッダ二線式インタフェースは、例えば、時々構成レジスタの値を設定する場合に、少量のデータを間欠的に転送するために最も頻繁に使用される。
図7は、ある従来の保証ヘッダ二線式インタフェースのフレームを示す。このインタフェースは、通常、「MDIO」インタフェースと呼ばれる。本明細書内の説明および特許請求の範囲においては、保証ヘッダ二線式インタフェースの「フレーム」は、データの対応する1つのバイトまたはワード(または他の少量の一定量)を転送するのに使用する構造情報と定義される。
マスタ構成要素は、データ線上のプリアンブルを肯定的にアサートすることによりフレームを開始する。プリアンブルは32ビットからなり、各ビットは論理1を有する(ビット64:33に対応する)。このプリアンブルは、他のヘッダ情報およびデータが送信されようとしている1つ以上の各スレーブ構成要素にある表示を与える。
次に、マスタ構成要素は、フレームの開始を表す論理0を有する次の2つのビット(ビット32:31に対応する)を送信する。これはもっと意味のあるデータが送信されようとしていることを示す。
より詳細に説明すると、フレーム・ビットの開始の後で、マスタ構成要素は、オペレーション・コード(ビット30:29に対応する)を送信する。MDIO規格の場合には、アドレス動作は、00という演算ビット値に対応し、書込み動作は01という演算ビットに対応し、読取り動作は11という演算ビット値に対応し、読取り加算動作は10という演算ビット値に対応する。
次に、マスタ構成要素は、ポート・アドレス(ビット28:24に対応する)を送信する。これによって、通信しようとしているスレーブ・ポートが識別される。MDIO規格の場合には、2つ以上のスレーブ構成要素が1つのポートに対応することができる。それ故、通信しようとするスレーブ構成要素を一意に識別するために、マスタ構成要素は、次に、それによりスレーブ構成要素が、フレーム内のもう1つの情報を受信する準備をすることができるように、デバイス識別子(ビット23:19に対応する)を送信する。また、このことにより、通信しない任意の他のスレーブ構成要素は、フレームの残りの部分を無視することができる。
次の2つのクロック・サイクル(ビット18:17に対応する)は、どちらの構成要素がデータ線上のビットをアサートしているのかを切り替えるのに使用される。動作がアドレス動作または書込み動作である場合には、マスタ構成要素は、最初に論理1を送り、次に論理0を送る。一方、動作が読取り動作または読取りインクリメント動作である場合には、マスタ構成要素は、高インピーダンスによりデータ線をフロートさせる。これにより、マスタ構成要素に対してデータ線の制御を解放する遷移サイクルが供給され、スレーブ構成要素は、以降のサイクル中に論理0によりデータ線を駆動することができ、それによりスレーブ構成要素は、データ線の制御を入手することができる。
動作がアドレス動作である場合には、マスタ構成要素は、以降の動作中に動作するアドレス(ビット16:01に対応する)を表示する。動作が書込み動作である場合には、マスタ構成要素は、前のアドレス動作中に指定されたアドレスにデータ(ビット16:01に対応する)を書き込む。動作が読取り動作である場合には、スレーブ構成要素は、データ線上に前に指定されたアドレスからの読取りデータ(ビット16:01に対応する)を置く。動作が読取りインクリメント動作である場合には、スレーブ構成要素は、データ線
上に次の隣接するアドレスに対する読取りデータ(ビット16:01に対応する)を置く。
上に次の隣接するアドレスに対する読取りデータ(ビット16:01に対応する)を置く。
構成要素がデータ線を制御しているか否かとは無関係に、次に、構成要素は、データ線をフロートにさせる(ビット00に対応して)。これでフレームが完成する。
MDIOインタフェースは、ほとんどの場合、データを効果的に転送する。しかし、フレームの構造は完全に固定されている。例えば、読取りまたは書込み動作を行う場合には(読取り加算動作を行う場合を除く)、別々にアドレス動作を行わなければならない。さらに、アドレス動作に割り当てられているアドレス・ビットのうちの16ビットは固定されている。このことは、小さな記憶能力しか有していないデバイスにとっては手に余ることであり、それにより多くのアドレス・ビットが無駄になる。
MDIOインタフェースは、ほとんどの場合、データを効果的に転送する。しかし、フレームの構造は完全に固定されている。例えば、読取りまたは書込み動作を行う場合には(読取り加算動作を行う場合を除く)、別々にアドレス動作を行わなければならない。さらに、アドレス動作に割り当てられているアドレス・ビットのうちの16ビットは固定されている。このことは、小さな記憶能力しか有していないデバイスにとっては手に余ることであり、それにより多くのアドレス・ビットが無駄になる。
通信ニーズに動的に調整される保証ヘッダ二線式インタフェースが望ましい。
従来技術の上記問題は、本発明の原理により克服される。本発明の原理は、マスタ構成要素および1つ以上のスレーブ構成要素を含むシステムで実施することができる。マスタ構成要素は、保証ヘッダ二線式インタフェースを用いて、データ線およびクロック線を介してスレーブ構成要素と通信するように構成されている。すなわち、転送データの各バイトまたはワード(または他の少量の一定量)は、それ自身の専用ヘッダ情報を含む。
ある動作がスレーブ構成要素上で行う動作であると判断した場合には、マスタ構成要素は、データ線を介してスレーブ構成要素に、対応するフレームの少なくとも一部を送信する。同時に、マスタは、クロック線上のクロック信号をアサートする。マスタ構成要素は、異なる特性を有する複数のスレーブ構成要素にフレームを送信することができる。
しかし、フレーム構造自身は、実行する動作に従って(すなわち、マスタ構成要素がフレーム内で識別したオペレーション・コードに従って)変化することができる。例えば、あるフレームは、他のフレームに含まれている基本アドレス・フィールドより長い拡張アドレス情報を含む拡張アドレス・データ・フィールドを含むことができる。あるフレームは、信頼性フィールド(巡回冗長検査フィールド、肯定応答フィールド、および/またはエラー・フィールドなど)を含むことができ、一方、異なる動作を有する他のフレームは、信頼性フィールドを含むことができない。
それ故、フレーム構造をその時点の状況により動的に変えることができる。信頼性に対するニーズのほうが帯域幅保存のニーズより大きい場合には、信頼性フィールドを含むことができる。大きな記憶能力を有するスレーブ構成要素と通信している場合には、拡張アドレス・フィールドを含むことができる。
以下に本発明の他の特徴および利点について説明するが、一部は説明を読めば理解することができるだろうし、または本発明の実施形態から理解することができるだろう。本発明の特徴および利点は、特に添付の特許請求の範囲に記載する機器および組合せにより実行し、入手することができる。下記の説明および添付の特許請求の範囲を見れば、本発明の上記および他の特徴をもっとはっきり理解することができるだろうし、または下記の本発明の実施形態から理解することができるだろう。
本発明の上記および他の利点および特徴を入手することができる方法について説明するために、すでに簡単に説明した本発明のより詳細な説明を、添付の図面に示す特定の実施
形態を参照することにより理解することができるだろう。これらの図面は本発明の典型的な実施形態であり、それ故、本発明の範囲を制限するものと見なすべきではないということを理解していただき、添付の図面を参照しながら本発明の他の特異性および詳細を説明する。
形態を参照することにより理解することができるだろう。これらの図面は本発明の典型的な実施形態であり、それ故、本発明の範囲を制限するものと見なすべきではないということを理解していただき、添付の図面を参照しながら本発明の他の特異性および詳細を説明する。
本発明の原理は、実行する動作に従って調整することができる保証ヘッダ二線式インタフェースに関する。それ故、動作を変更することができ、フレームを通信のその時点のパラメータを格納するために動的に調整することができる。例えば、もっと大きなメモリ・スペースをアドレス指定するためにもっと多くの数のビットを必要とする場合には、動的にそれを格納することができる。アドレス指定するのにもっと少ない数のビットですむ場合にも、それを格納することができる。より信頼性の高い通信が必要な場合には、信頼性情報(巡回冗長検査および肯定応答など)をオプションとして含むことができる。
図面について説明すると、図1は、マスタ構成要素110が1つ以上のスレーブ構成要素120と通信している電子またはコンピューティング・システム100である。スレーブ構成要素120は、垂直方向の点122で表す潜在的に任意の数の他のスレーブ構成要素のうちのスレーブ構成要素121を含む。マスタ構成要素110は、クロック線131およびデータ線132を含む2本の線を通して、スレーブ構成要素120のうちの任意のものと通信する。
マスタ構成要素110が「マスタ」構成要素と呼ばれるのは、それにより各スレーブ構成要素120のタイミングを制御するために、クロック線131上のクロック信号をアサートするからである。さらに、マスタ構成要素110は、データ線132上の信号をアサートすることにより実行する動作を識別する。スレーブ構成要素120が「スレーブ」構成要素と呼ばれるのは、そのタイミングがマスタ構成要素110により制御されるからであり、スレーブ構成要素が、マスタ構成要素110が指定する動作に従うように構成されているからである。マスタ構成要素110が動作を開始する場合には、マスタ構成要素は、クロック線131上のクロック信号をアサートし、データ線132上のフレームのアサートを開始する。動作のタイプに従って、通信しているスレーブ構成要素120に、それによりデータ線132上のフレーム・データを送るために、データ線132を制御することができる。以下の説明においては、通信しているスレーブ構成要素120は、多くの場合、スレーブ構成要素121と呼ばれるが、マスタ構成要素110は、任意のスレーブ構成要素120との通信を選択することもできる。
図2は、本発明の原理による保証ヘッダ二線式インタフェースのフレームのデータ構造200の略図である。フレーム200は、プリアンブル・フィールド201、フレーム開始フィールド202、動作フィールド203、デバイス識別子フィールド204、オプションとしての拡張フィールド205、基本アドレス・フィールド206、第1のバス・ターンアラウンド・フィールド207、およびオプションとしてのバス保持フィールド208、データ・フィールド209、オプションとしての巡回冗長検査(CRC)フィールド210、第2のバス・ターンアラウンド・フィールド211、オプションとしての肯定応答フィールド212、オプションとしてのエラー状態フィールド213、およびフレーム・エンド・フィールド214を含む。以下にさらに詳細に説明するように、フレーム200は、データ線の制御のための任意の構成要素のターン内にプリアンブルの長さよりも頻繁に保証されたゼロが散在するように設計されている。
バス・ターンアラウンド・フィールドにより、必要に応じて、マスタ構成要素110とスレーブ構成要素121との間でデータ線の制御を転送することができる。それ故、マスタ構成要素は、フレームのある部分を供給することができ、一方、スレーブ構成要素は、
フレームの他の部分を供給することができる。図2は、フィールドの特定の順序を示しているが、この説明を読めば通常の当業者であれば理解することができるように、フレーム200の機能に悪影響を与えないで、フィールドの順序をかなり自由に変えることができることに留意されたい。
フレームの他の部分を供給することができる。図2は、フィールドの特定の順序を示しているが、この説明を読めば通常の当業者であれば理解することができるように、フレーム200の機能に悪影響を与えないで、フィールドの順序をかなり自由に変えることができることに留意されたい。
図3A、図3Bおよび図3Cは、フレーム200の特定の実施形態である。オプションとしてのフィールドのあるものは、実行する動作により追加したり除去することができる。図3Aは、拡張フィールドを使用し、また巡回冗長検査(CRC)および肯定応答も使用して、書込み動作および読取り動作を行う例示としてフレームを示す。図3Bは、拡張フィールドを使用しないが、CRCおよび肯定応答を使用して、書込み動作および読取り動作を行う例示としてフレームを示す。図3Cは、拡張フィールドも使用しないし、CRCおよび肯定応答も使用しないで書込みまたは読取り動作を行う例示としてのフレームを示す。
図3Aが最も包括的なフレームの例を示しているので、図3Aを参照しながらフレームの種々のフィールドについて非常に詳細に説明することにする。図3Aのフレームは、動作がライン301A内に指定する読取り動作であろうと、ライン304A内に指定する書込み動作であろうと、ビット74:0に対応する75ビットを含む。
ライン302Aは、マスタ構成要素110が、読取り動作中データ線132を制御している場合の時間加算の時のアスタリスクを示し、そうでない場合には周期を含む。ラインの頭のところの「MOE」は、「マスタ・データ出力可能」を意味する。ライン303Aは、スレーブ構成要素121が、読取り動作中データ線132を制御している際の時間インクリメントのところのアスタリスクを示し、そうでない場合には周期を含む。ラインの頭のところの「SOE」は、「スレーブ・データ出力可能」を意味する。
同様に、ライン305Aは、マスタ構成要素110が、書込み動作中データ線132を制御している場合の時間加算の時のアスタリスクを示し、そうでない場合には周期を含む。さらに、ライン306Aは、スレーブ構成要素121が、書込み動作中データ線132を制御している場合の時間加算の時のアスタリスクを示し、そうでない場合には周期を含む。ライン307Aおよび308Aについては以下にさらに説明する。
フレームは、図3Aの15ビット74:60で示すプリアンブルから開始する。このプリアンブルは、図2のプリアンブル・フィールド201の一例である。データ線132は、高インピーダンス状態のままである。データ線132上に、マスタ構成要素110または任意のスレーブ構成要素120による任意のアサートがない場合には、データ線132は弱いプルアップ抵抗により論理1に保持される。例えば、図1を参照すると、供給電圧141が高い供給電圧である場合には、抵抗142はプルアップ抵抗である。マスタ構成要素110が、スレーブ構成要素121と通信すると判断した場合には、マスタ構成要素110は、クロック線131上にクロック信号を生成する。同時に、各クロック・サイクル、マスタ構成要素110は、連続している15個の1を求めてデータ線132を監視する。高インピーダンス・データ線132の場合には、弱いプルアップ抵抗が存在していてもデータ線上のデータを正しくアサートすることができる。
マスタ構成要素110が、プリアンブル段階中、データ線132上のどれもアサートしていない場合には、データ線132は、スレーブ構成要素のどれもがデータ線132上の前のフレームの残りを送信していない場合、論理1状態でいなければならない。別の方法としては、マスタ構成要素110が、プリアンブルの少なくとも一部中、データ線上に論理1をアサートすることができる場合でも、データ線132は、スレーブ構成要素のどれもがその時点でデータ線132上で送信を行っていないと仮定して、プリアンブル段階中
、論理1の状態でいなければならない。一方、フレームは、マスタもスレーブも、フレームのプリアンブルでない部分を送信中に、16個以上の連続した論理1を送信しないように設計されている。
、論理1の状態でいなければならない。一方、フレームは、マスタもスレーブも、フレームのプリアンブルでない部分を送信中に、16個以上の連続した論理1を送信しないように設計されている。
すでに説明したように、マスタ構成要素110が、フレームのプリアンブル段階中にデータ線132を監視している間に、データ線132上で論理0を検出した場合には、スレーブ構成要素は、データ線132により通信している可能性がある。論理0が検出されてもされなくても、マスタ構成要素110は、フレームを続行する前にデータ線132上に論理1の15のサイクルができるまで待機する。フレーム設計中の散在する保証された0のために、マスタ構成要素110は、スレーブ構成要素のうちの1つが同様にデータ線132により通信している恐れが少ない状態で、データ線132により安全に送信することができる。
それ故、マスタ構成要素110とスレーブ構成要素121との間の同期中にエラーがあった場合でも、マスタ構成要素110が、スレーブ構成要素121が処理の前にデータ線132の使用を終了するまで待機すれば、再び同期させることができる。スレーブ構成要素121も、15個の連続している1を求めてデータ線132を監視する。それ故、スレーブ構成要素121が15個の連続している1を検出した場合には、スレーブ構成要素121はフレームの残りを待機する。それ故、スレーブ構成要素121は、スレーブ構成要素121がマスタ構成要素110とすでに同期を喪失していてもいなくても、プリアンブルの時点でデータ線12を使用していないので、スレーブ構成要素はフレームのプリアンブル段階でプリアンブルを聴取しなければならない。それ故、スレーブ構成要素121は、マスタ構成要素110と再度同期する。
それ故、プリアンブルは、同期を失ってからエラー回復をさらに保持している間にかなり短くなる。さらに、データ線132は、弱いプルアップ抵抗のために大きくバイアスがかけられるので、マスタ構成要素は、プリアンブル段階中にデータ線132上で任意のデータをアサートする必要がなく、それにより電力要件が緩和する。プリアンブルは、フレームの残りの部分が散在する保証された1(0ではなく)を有していて、抵抗が同じ効果を有する弱いプルダウン抵抗である論理0(1ではなく)のシーケンスであってもよいことに留意されたい。例えば、図1を参照すると、供給電圧141が低い供給電圧である場合には、抵抗142はプルダウン抵抗である。プルダウン抵抗の場合には、プリアンブルおよびビット01は、すべて図に示すように、論理1ではなく論理0である。
プリアンブル段階が終了すると(すなわち、マスタ構成要素110が、データ線132上で少なくとも15の連続している2進の1を検出すると)、マスタ構成要素110は、ビット59で表すデータ線上に論理1をアサートする。これによりマスタ構成要素110に対する出力が可能になり、もう1回のサイクル中データ線132を論理1に維持する。
次に、マスタ構成要素110は、保証された論理0である2つのフレーム開始ビット58:57を送信する。これらのフレーム開始ビットは、図2のフレーム開始フィールド202の一例である。プリアンブル段階が終了した後で、スレーブ構成要素は、これらの論理0を聴取する。これらの論理0が到着すると、スレーブ構成要素は、2つの論理0がフレームの残りの開始に対応することを理解し、それにより同期が得られる。2つの論理0が実際にフレームの開始を示す十分な統計的確率を提供するために、2つの論理0が供給される。
次に、マスタ構成要素110は、3つのオペレーション・コード・ビット56:54を送信する。これらのオペレーション・コード・ビットは、図2の動作フィールド203の一例である。3つのオペレーション・コード・ビットは、通常、8つの一意の動作を識別
することができる。しかし、このオペレーション・コードの少なくとも1つの論理0を保証するために、3つのビットが表す動作の数は6つであり、オペレーション・コードの他の2つの順列(permutation)は予約される。図の例の場合には、ビット・シーケンス011および111が予約される。
することができる。しかし、このオペレーション・コードの少なくとも1つの論理0を保証するために、3つのビットが表す動作の数は6つであり、オペレーション・コードの他の2つの順列(permutation)は予約される。図の例の場合には、ビット・シーケンス011および111が予約される。
この例の場合には、演算ビット000は、拡張フィールド(以下にさらに説明する)は使用しないが、CRC検査および肯定応答を使用する書込み動作を意味する。図3Bのライン304Bにこの動作のためのフレームを示す(ライン304Bのビット47:45参照)。
演算ビット001は、拡張フィールド、およびCRC検査および肯定応答を使用する書込み動作を意味する。図3Aのライン304Aにこの動作用のフレームを示す(ライン304Aのビット56:54参照)。
演算ビット010は、拡張フィールドも使用しないし、CRC検査および肯定応答も使用しない書込み動作を意味する。図3Cのライン304Cにこの動作のためのフレームを示す(ライン304Cのビット35:33参照)。
演算ビット100は、拡張フィールドを使用しないが、CRC検査および肯定応答を使用する読取り動作を意味する。図3Bのライン301Bにこの動作のためのフレームを示す(ライン301Bのビット47:45参照)。
演算ビット101は、拡張フィールドも使用し、CRC検査および肯定応答も使用する読取り動作を意味する。図3Aのライン301Aにこの動作のためのフレームを示す(ライン301Aのビット56:54参照)。
演算ビット110は、拡張フィールドも使用しないし、CRC検査および肯定応答も使用しない読取り動作を意味する。図3Cのライン301Cにこの動作のためのフレームを示す(ライン301Cのビット35:33参照)。
動作によりフレームの構造がどのように違うのかに留意されたい。それ故、マスタ構成要素110は、オペレーション・コードを制御することにより、どのフレーム構造を使用すべきかについて制御する。オペレーション・コードを読み取った場合、スレーブ構成要素は、オペレーション・コードに対応するフレーム構造を予想するように構成されている。それ故、マスタ構成要素110は、必要に応じてフレーム構造を動的に調整することができる。帯域幅がより重要な場合には、もっと短く信頼性の低いフレーム構造(例えば、図3C)を使用することができる。信頼性がより重要な場合には、もっと長くもっと信頼性が高いフレーム構造(例えば、図3Aおよび図3B)を使用することができる。何らかの理由で他のビットが必要な場合には、拡張フィールド(例えば、図3A)を含むフレームを使用することができる。これらの他のビットが必要ない場合には、拡張フィールド(例えば、図3Bおよび図3C)を含んでいないフレームを使用することができる。
再度図3Aを参照すると、マスタ構成要素110がオペレーション・コード(すなわち、ビット56:54)を送信した後で、マスタ構成要素110は、ビット53:51に対応する3つのビット・デバイス識別子を送信する。これらのデバイス識別子ビットは、図2のデバイス識別子フィールド204の一例である。デバイス識別子は、マスタ構成要素110がスレーブ構成要素120のどのスレーブ構成要素と通信するのかを識別する。この実施形態の場合には、デバイス識別子用に3つのビットを使用するので、この実施形態には最大8つのスレーブ構成要素を含むことができる(または、マスタ構成要素が同様に自己診断の目的のためのアドレスを有している場合には、7つのスレーブ構成要素を含む
ことができる)。
ことができる)。
デバイス識別子ビットが供給されるまで、各スレーブ構成要素120は、データ線132上の通信を監視していた。しかし、デバイス識別子ビットを受信した場合には、スレーブ構成要素121は、それ自身をデバイス識別子に対応するものとして識別することができる。他のスレーブ構成要素は、もし存在していた場合でも、フレームの残りを無視することができる。他のスレーブ構成要素がフレームの残りを無視したとしても、他のスレーブ構成要素は、送信中の他のフレームを示す他のプリアンブルのためのデータ線132の監視を直ちに続行することができる。別の方法としては、他のスレーブ構成要素は、次のフレームが開始しようとしていることを示すクロック信号がクロック線131上で再度アサートされた後で、このような監視を開始することができる。
マスタ構成要素110が、データ線132上でデバイス識別子ビット53:51をアサートした後で、マスタ構成要素は、拡張フィールドに対応する8つのビット50:43をアサートする。これらの拡張ビットは、図2の拡張フィールド205の一例である。図3Aの場合には、オペレーション・コードによりスレーブ構成要素は、これらの拡張ビットを予想する。次に、マスタ構成要素は、ビット42として、保証された論理0を送信し、それによりデータ線132上の15個の連続した論理1が、それにより上記同期回復機構をサポートするために、フレームがプリアンブル内に位置することを確実に意味する。
拡張フィールドは、ビットの意味が両方の通信構成要素により共通して認識される限りは役に立つ任意の拡張ビットを含むことができる。例えば、拡張フィールドの中のいくつかまたはすべては、もっと大きなアドレス・スペースを有するスレーブ構成要素と通信している場合に使用するための拡張アドレスを表すことができる。別の方法としては、またはさらに、拡張フィールドの中のあるものまたはすべては、もっと他の動作タイプが必要な場合には、拡張オペレーション・コードを表すことができる。
次に、マスタ構成要素110は、基本アドレスに対応する8つのビット41:34をアサートする。これら8つのビット41:34は、図2の基本アドレス・フィールド206の一例である。すべての拡張フィールドが、拡張アドレスを表す場合には、スレーブ構成要素121は、動作に適用されるアドレス・スペースを正しく識別するために、16ビット50:43および41:34すべてを使用することができる。
フレーム内の次のビット33は、第1のターンアラウンド・ビットであり、図2の第1のターンアラウンド・フィールド207の一例である。ターンアラウンド・ビットは、マスタ構成要素110とスレーブ構成要素121との間で、データ線132の制御を自由に交換することができるという点で幾分一意的なものである。
書込み動作の場合、第1のターンアラウンド・ビット33は、しばらくの間はマスタ構成要素110が制御を行うことを示す論理0である。それ故、図3Aのライン305Aを参照すると、マスタ構成要素110は、ターンアラウンド・ビット33を通してデータ線の制御を保持し、図3Aのライン306Aを参照すると、スレーブ構成要素121は、ターンアラウンド・ビット33を通してデータ線の制御を入手していない。この制御の保持は正しい。何故なら、マスタ構成要素110は、マスタ構成要素110が開始した書込み動作を受けるそのデータを供給している構成要素であるからである。
一方、読取り動作の場合には、第1のターンアラウンド・ビット33はhigh−z状態にあり、このことは、その高インピーダンス状態の場合、データ線132はフロート状態になることができることを意味し、その場合、マスタ構成要素110またはスレーブ構成要素121は、データ線132上のビットを能動的にアサートしていない。このことは
、データ線の制御が、スレーブ構成要素に渡されたことを表す(図3Aのライン302Aおよび303A参照)。この制御の移動は正しい。何故なら、スレーブ構成要素121は、マスタ構成要素110が開始した読取り動作を受けるそのデータを供給している構成要素であるからである。
、データ線の制御が、スレーブ構成要素に渡されたことを表す(図3Aのライン302Aおよび303A参照)。この制御の移動は正しい。何故なら、スレーブ構成要素121は、マスタ構成要素110が開始した読取り動作を受けるそのデータを供給している構成要素であるからである。
読取り動作の場合には、スレーブ構成要素121は、スレーブ構成要素121がこの段階で続行する準備ができていない場合に、フレームを休止する機会を有する。スレーブ構成要素は、続行する準備ができていない場合には、バス保持ビット32を論理0にアサートする。続行する準備ができた場合には、スレーブ構成要素121は続行する準備ができ、それによりマスタ構成要素110がスレーブ構成要素が続行する準備ができたことを通知した場合、スレーブ構成要素121は、論理1をアサートする。これによりスレーブ構成要素121は、スレーブ構成要素が当面続行する準備ができていない場合には、フレームを休止するというオプションの提供を受ける。スレーブ構成要素が使用することができる追加の休止オプションについては、以下に肯定応答ビットのところで説明する。書込み動作の場合には、バス保持ビット32は保証された論理1である。バス保持ビット32は、図2のバス保持フィールド208の一例である。
読取り動作の場合には、スレーブ構成要素121がビット保持ビット32を送信した後で、スレーブ構成要素121は、8つの最上位ビットを送信し、その後で保証された0ビットを送信する。書込み動作の場合には、マスタ構成要素110がビット保持ビット32を送信した後で、マスタ構成要素110は、8つの最上位ビットを送信し、その後で保証された0ビットを送信する。いずれの場合も、8つの最上位ビットは、ビット31:24で表され、以降の保証された0ビットはビット23により表される。
読取り動作の場合には、スレーブ構成要素121が保証された0ビット23を送信した後で、スレーブ構成要素121は、8つの最下位ビットを送信し、その後でもう1つの保証された0ビットを送信する。書込み動作の場合には、マスタ構成要素110が保証された0ビット23を送信した後で、マスタ構成要素110は、8つの最下位ビットを送信し、その後で他の保証された0ビットを送信する。いずれの場合も、8つの最下位ビットは、ビット22:15で表され、一方、他の保証された0ビットは、ビット14で表される。データ・ビットの組合せ31:24および22:15は、図2のデータ・フィールド209の一例である。
読取り動作の場合には、スレーブ構成要素121が保証された0ビット14を送信した後で、スレーブ構成要素121は、ビット13:06に対応する巡回冗長検査(CRC)データの8つのビットを送信する。CRCビットは、図2のCRCフィールド210の一例である。フレーム・ビット58:57の開始の後およびCRCビット13:06の前のすべてのビットを使用して、マスタ構成要素110およびスレーブ構成要素121の両方は、ライン307Aに示すように、CRCデータを計算する。マスタ構成要素110が、スレーブ構成要素121からCRCビット13:06を受信した場合には、マスタ構成要素110は、ライン308Aにより示すように、マスタ構成要素110およびスレーブ構成要素121の両方が生成したCRC情報を比較する。一致しないものがある場合には、送信にエラーがある可能性があり、マスタ構成要素は、現在のフレームが終了した後で、そのフレームを再度開始することができる。
書込み動作の場合には、マスタ構成要素110が保証された0ビット14を送信した後で、マスタ構成要素110は、CRCビット13:06を送信する。この場合も、マスタ構成要素110およびスレーブ構成要素121の両方は、そのCRCデータを計算する。スレーブ構成要素121が、マスタ構成要素110からCRCビット13:06を受信した場合には、スレーブ構成要素121は、マスタ構成要素110およびスレーブ構成要素
121の両方が生成したCRC情報を比較する。一致しないものがある場合には、送信にエラーがある可能性があり、マスタ構成要素110は、マスタ構成要素110がエラーについての通知を受信した後で、また現在のフレームが終了した後で、そのフレームを再度開始することができる。ある場合には、誤書込み動作は、破局的(または少なくとも有害な)影響を有する。例えば、誤書込み動作が、レーザ・バイアス電流を設定するためのものである場合には、信号の歪みが起こるほどレーザ強度が強力になる恐れがある。それ故、このような状況の場合、信頼性の高い通信を行うことが重要である。スレーブ構成要素121は、このようなエラーを検出した場合には、書込み動作の抑制を選択することができる。
121の両方が生成したCRC情報を比較する。一致しないものがある場合には、送信にエラーがある可能性があり、マスタ構成要素110は、マスタ構成要素110がエラーについての通知を受信した後で、また現在のフレームが終了した後で、そのフレームを再度開始することができる。ある場合には、誤書込み動作は、破局的(または少なくとも有害な)影響を有する。例えば、誤書込み動作が、レーザ・バイアス電流を設定するためのものである場合には、信号の歪みが起こるほどレーザ強度が強力になる恐れがある。それ故、このような状況の場合、信頼性の高い通信を行うことが重要である。スレーブ構成要素121は、このようなエラーを検出した場合には、書込み動作の抑制を選択することができる。
CRCビット13:06の後には、第2のターンアラウンド・ビット05が位置する。この第2のターンアラウンド・ビットは、図2の第2のターンアラウンド・フィールド211の一例である。このターンアラウンド動作により、制御がそこに存在しない場合、データ線132の制御をスレーブ構成要素121に渡すことができる。これにより、スレーブ構成要素121は、信頼性情報をマスタ構成要素110に返送することができる。
読取り動作の場合には、データ線132の制御は、第1のターンアラウンド・ビットによりスレーブ構成要素121にすでに渡されている。それ故、この第2のターンアラウンド・ビットは、データ線132の制御に変化がないことを示す論理0である。一方、書込み動作の場合には、データ線132の制御は、第1のターンアラウンド・ビットによりスレーブ構成要素121にまだ渡されていない。それ故、データ線132は、データ線132の制御をスレーブ構成要素121に渡すことを示すその高インピーダンス状態にフロートすることができる。それ故、第2のターンアラウンド・ビット05の後では、スレーブ構成要素121は、動作が読取り動作であってもまたは書込み動作であっても、データ線110を制御する。
第2のターンアラウンド・ビット05の後で、スレーブ構成要素は、図2の肯定応答フィールド212の一例である肯定応答ビット04をアサートする。この肯定応答ビットは、動作が成功したのかしなかったのかを表すことができる。この場合、論理1は、動作の終了が成功したことを意味する。スレーブ構成要素121があまりに忙しくてマスタ構成要素110に応答できない場合には、スレーブ構成要素は、肯定応答ビット04に論理0をアサートすることができ、それによりマスタ構成要素110にフレームを強制的に再度開始させることができる。それ故、肯定応答ビット03およびビット保持ビット32は、スレーブ構成要素121に対して、要求に応じられない状況を解決する方法を提供する。
次に、スレーブ構成要素121は、エラー・ビット02が後に続く保証された0ビット03をアサートする。エラー・ビット02は、図2のエラー・フィールド213の一例である。エラー・フィールドは、CRC検査にエラーがあるかないか、および/またはプロトコルの違反(例えば、論理0が位置していなければならない場所で論理1を検出したというような)を示すことができる。読取り動作の場合には、マスタ構成要素は、すでにこの判断を行うのに十分なCRCデータを有している。しかし、書込み動作の場合には、スレーブ構成要素121は、CRCデータの比較を行った構成要素である。それ故、この時点において、スレーブ構成要素121は、マスタ構成要素110にCRCデータの任意の不一致を通知する。不一致があると、マスタ構成要素110はフレームを再度開始させる。フレーム内にCRCおよび肯定応答情報が存在すると、マスタ構成要素110とスレーブ構成要素120との間でもっと信頼性の高い通信を行うことができる。
次に、スレーブ構成要素121は、フレームの終わりを示すフレーム・ビット01:00の2つの終わりをアサートする。第1のビット01は論理1であり、データ・バスを直ちに強制的に論理1にする。第2のビットにおいては、データ・バス132は、その高イ
ンピーダンス状態でフロート状態になることができ、次のフレームを開始する準備ができている。第1のビット01が論理0である場合には、弱いプルアップ抵抗が、データ線132を論理1と解釈することができる電圧レベルにするのにある時間がかかる。それ故、第1のビット01を論理1に設定するということは、次のフレームがより早く開始することができることを意味し、それにより性能が改善される。
ンピーダンス状態でフロート状態になることができ、次のフレームを開始する準備ができている。第1のビット01が論理0である場合には、弱いプルアップ抵抗が、データ線132を論理1と解釈することができる電圧レベルにするのにある時間がかかる。それ故、第1のビット01を論理1に設定するということは、次のフレームがより早く開始することができることを意味し、それにより性能が改善される。
図3Bは、拡張フィールドは使用しないが、CRCおよび肯定応答を使用する書込み動作または読取り動作が行われる例示としてのフレームを示す。図3Bのフレームは、拡張フィールドを使用しないで書込み動作および読取り動作が行われるという点を除けば、図3Aのところで説明したフレームに類似している。それ故、図3Bは、図3Aのビット50:42を含んでいないで、ビットはこれらのビットを含んでいない状態で番号が付け直されている。
図3Cは、拡張フィールドも使用しないし、CRCおよび肯定応答も使用しない書込み動作および読取り動作が行われる例示としてのフレームである。図3Cのフレームは、拡張フィールドを使用しないで書込み動作および読取り動作が行われるという点を除けば、図3Aのところで説明したフレームに類似している。それ故、図3Bは、図3Aのビット50:42を含んでいない。さらに、フレームは信頼性情報を含んでいない。それ故、図3Cは、図3Aのビット13:02を含んでいない。図3Aが含んでいるビットを図3Cが含んでいないということは、図3Cにおいては残りのビットに、新しく番号を付けなければならないことを意味する。
図4は、実行する動作を格納するために、保証ヘッダ・フレームを動的に調整するための方法400のフローチャートである。この方法のいくつかの態様についてはすでに説明したが、ここでフローチャートを参照しながらより詳細に説明する。
ある動作をスレーブ構成要素上で実行すると決定した場合には(ステップ401)、マスタ構成要素は、データ線を通してスレーブ構成要素に、対応するフレームの少なくとも一部を送信する(ステップ402)。同時に、マスタ構成要素は、クロック線上のクロック信号をアサートする。マスタ構成要素は、自分がある動作をスレーブ構成要素上で実行することを決定する度に、また同じ構成要素または異なるスレーブ構成要素を前に通信したスレーブ構成要素とすることを決定する度に、この検出および送信を繰り返す。
しかし、フレーム構造自身は、実行する動作に従って(すなわち、マスタ構成要素がフレーム内で識別するオペレーション・コードに従って)変化することができる。例えば、1つのフレームは、任意の有用なおよび共通に認識した情報(例えば、基本アドレス・フィールドより長い拡張アドレス情報)を含む拡張フィールドを含むことができる(図3A参照)。あるフレームは、信頼性フィールド(巡回冗長検査フィールド、肯定応答フィールド、および/またはエラー・フィールド等)(図3Aおよび図3B参照)を含むことができ、一方、異なる動作を有する他のフレーム(図3C参照)は、信頼性フィールドを含むことができない。
それ故、フレームの構造は、その時点の状況により動的に変えることができる。信頼性に対するニーズのほうが帯域幅保存のニーズより大きい場合には、信頼性フィールドを含むことができる。大きな記憶能力を有する場合、および/または他の動作タイプを行わなければならないスレーブ構成要素と通信する場合には、拡張フィールドを含むことができる。本発明の基本的原理について説明してきたし、以下に特定の例示としての環境について説明するが、本発明はこの例示としての環境により決して制限されるものではない。
図5は、本発明の原理を使用することができるレーザ送信機/受信機500である。レ
ーザ送信機/受信機500についてある程度詳細に説明するが、これは例示としてのものに過ぎない。この説明は本発明の範囲を制限するものではない。本発明の原理を使用すれば、温度、電圧の供給、および処理の変動を補償するために、送信機/受信機500(レーザ・バイアス電流、レーザ変調等)の動作に重要なレジスタの値をもっと効率的にまたもっと正確に校正することができる。ビット・レート転送が速くなればなるほど、このことはますます重要になる。それ故、本発明の原理は、1G、2G、4G、10Gおよびもっと高い帯域幅ファイバ・チャネル用に適している。さらに、本発明の原理は、無制限にXFP、SFPおよびSFFのような任意の形の係数のレーザ送信機/受信機で実施することができる。こう言ったからといって、本発明の原理はレーザ・トランシーバ環境に決して限定されるものではない。
ーザ送信機/受信機500についてある程度詳細に説明するが、これは例示としてのものに過ぎない。この説明は本発明の範囲を制限するものではない。本発明の原理を使用すれば、温度、電圧の供給、および処理の変動を補償するために、送信機/受信機500(レーザ・バイアス電流、レーザ変調等)の動作に重要なレジスタの値をもっと効率的にまたもっと正確に校正することができる。ビット・レート転送が速くなればなるほど、このことはますます重要になる。それ故、本発明の原理は、1G、2G、4G、10Gおよびもっと高い帯域幅ファイバ・チャネル用に適している。さらに、本発明の原理は、無制限にXFP、SFPおよびSFFのような任意の形の係数のレーザ送信機/受信機で実施することができる。こう言ったからといって、本発明の原理はレーザ・トランシーバ環境に決して限定されるものではない。
レーザ送信機/受信機500は、受信機501を使用するファイバ510Aから光信号を受信する。受信機501は、光信号を電気信号に変換し、この電気信号をポスト・アンプ502に供給する。ポスト・アンプ502は、この信号を増幅し、増幅した信号を矢印502Aで示すようにホストに供給する。
レーザ送信機/受信機500は、また、ホストから電気信号を受信して、ファイバ510Bに送信することができる。より詳細に説明すると、レーザ・ドライバ503は、矢印503Aで表すように、電気信号を受信し、信号により送信機504(すなわち、レーザ)を駆動し、この駆動により送信機504は、ホストが供給した電気信号の情報を表す光信号をファイバ510B上に放射する。
受信機501、ポスト・アンプ502、レーザ・ドライバ503および送信機504の行動は、多数の要因により動的に変化することができる。例えば、温度の変化、電力の変動、およびフィードバック条件は、それぞれこれらの構成要素の性能に影響を与える。それ故、レーザ送信機/受信機500は、温度および電圧状態をチェックし、(矢印505Aで表すように)ポスト・アンプ502から、および制御チップ505が動的に変化する性能を打ち消し、信号の喪失があった場合にはそれを検出することができる(矢印505Bで示すように)レーザ・ドライバ503から情報を受信する制御チップ505を含む。
より詳細に説明すると、制御チップ505は、矢印505Aおよび505Bで表すように、ポスト・アンプ502および/またはレーザ・ドライバ503の設定を調整することにより、これらの変化を打ち消すことができる。これらの設定の調整は長い間隔を置いて行われる。何故なら、これらの設定の調整は、温度または電圧または他の頻度の低い変化がそのように保証されている場合にだけ行われるからである。それ故、設定の調整は、図1、図2および図3A〜図3Cのところで説明したタイプの保証ヘッダ二線式インタフェースによって行うことができる。
制御チップ505は、一実施形態の場合には電気的に消去することができ、プログラム可能な読取専用メモリ(EEPROM)である、不揮発性メモリ506にアクセスすることができる。データ信号およびクロック信号は、シリアル・クロック線SCL、およびシリアル・データ線SDAにより、ホストから制御チップ505に供給することができる。また、データは、デジタル診断、温度レベル、送信機/受信機電力レベル等の読取りを行うことができるように、シリアル・データ信号SDAにより、制御チップ505からホストに供給することもできる。
制御チップ505は、アナログ部分508およびデジタル部分の両方を含む。これらの部分は、一緒に、制御チップが、アナログ信号によりレーザ送信機/受信機500の残りの部分と依然として大きくインタフェースしながら、ロジックをデジタル的に実施することができるようにする。例えば、アナログ部分508は、デジタル−アナログ変換器、ア
ナログ−デジタル変換器、高速コンパレータ(例えば、イベント検出用)、電圧をベースとするリセット発生器、電圧レギュレータ、電圧基準、クロック発生器、および他のアナログ構成要素を含むことができる。
ナログ−デジタル変換器、高速コンパレータ(例えば、イベント検出用)、電圧をベースとするリセット発生器、電圧レギュレータ、電圧基準、クロック発生器、および他のアナログ構成要素を含むことができる。
図6は、制御チップ505のデジタル部分600の詳細図である。例えば、タイマ・モジュール602は、デジタル部分が使用する種々のタイミング信号を供給する。このようなタイミング信号は、例えば、プログラム可能なプロセッサ時刻を含むことができる。タイマ・モジュール602は、またウォッチドッグ・タイマとしても機能することができる。
本発明は、2つの汎用プロセッサ603Aおよび603Bも含んでいる。プロセッサは、特定の命令セットの後に続く命令を認識することができ、シフト、分岐、加算、減算、乗算、除算、ブール演算、比較動作等のような通常の一般的な演算を行うことができる。一実施形態の場合には、汎用プロセッサ603Aおよび603Bは、それぞれ16ビット・プロセッサであり、同じ構造であってもよい。
ホスト通信インタフェース604は、レーザ送信機/受信機500のシリアル・クロック線SCLおよびシリアル・データ線SDAによりホストと通信するために使用される。外部デバイス・インタフェース605は、例えば、ポスト・アンプ502、レーザ・ドライバ503またはメモリ506のようなレーザ送信機/受信機500内の他のモジュールと通信するために使用される。
メモリ606は、ランダム・アクセス・メモリ(RAM)であってもよい。メモリ制御607は、各プロセッサ603Aおよび603B間で、ホスト通信インタフェース604および外部デバイス・インタフェース605によりメモリ606へのアクセスを共有する。一実施形態の場合には、ホスト通信インタフェース604は、シリアル・インタフェース・コントローラ601Aを含み、外部デバイス・インタフェース605は、シリアル・インタフェース・コントローラ601Bを含む。2つのシリアル・インタフェース・コントローラ601Aおよび601Bは、上記説明した二線式インタフェースを用いて通信することができる。あるシリアル・インタフェース・コントローラ(例えば、シリアル・インタフェース・コントローラ601B)は、マスタ構成要素であり、一方、他のシリアル・インタフェース・コントローラ(例えば、シリアル・インタフェース・コントローラ601A)はスレーブ構成要素である。
入出力マルチプレクサ608は、制御チップ505の種々の入出力ピンを制御チップ505内で種々の構成要素に多重化する。これにより、いくつかの構成要素は、その時点の動作環境によりピンを動的に割り当てることができる。それ故、制御チップ505上で使用できるピンよりも多くの入出力ノードが制御チップ505内に存在し、それにより制御チップ505のスペースが少なくてすむ。
図1、図2,図3A、図3B、図3Cおよび図4のところで説明した本発明の原理を使用することができる図5および図6についての特定の環境について説明してきたが、この特定の環境は、本発明の原理を使用することができる無数のアーキテクチャのうちの1つにすぎないことを理解することができるだろう。すでに説明したように、本発明の原理は、任意の特定の環境に制限するためのものではない。
本発明は、その精神または本質的な特徴から逸脱することなしに、他の特定の形で実施することができる。上記実施形態は、すべての点で例示としてのものであって、本発明を制限するものでないと見なすべきである。それ故、本発明の範囲は、上記説明によってではなく、添付の特許請求の範囲に記載するものである。特許請求の範囲と等価の意味およ
び範囲内に入るすべての変更は、本発明の範囲内に含まれる。
び範囲内に入るすべての変更は、本発明の範囲内に含まれる。
Claims (32)
- マスタ構成要素がクロック線およびデータ線を介して1つ以上のスレーブ構成要素と通信するように構成されているシステムにおいて、前記マスタ構成要素が前記1つ以上のスレーブ構成要素と通信するために使用する保証ヘッダ二線式インタフェースのフレーム構造を動的に調整する方法であって、前記方法が、
第1の動作を前記1つ以上のスレーブ構成要素の第1のスレーブ構成要素上で実行することを決定するステップと、
前記第1の動作を表す第1のオペレーション・コードを含む前記1つ以上のスレーブ構成要素に、第1のフレームの少なくとも一部を送信するステップと、
前記1つ以上のスレーブ構成要素の第2のスレーブ構成要素上で第2の動作を実行することを決定するステップと、
前記第2の動作を表す第2のオペレーション・コードを含む前記1つ以上のスレーブ構成要素に、第2のフレームの少なくとも一部を送信するステップと、を含み、
前記第2のフレームが、前記第1のフレームに含まれていないフィールドを含む方法。 - 前記第1および第2のフレームが、同じスレーブ構成要素上で実行する動作のためのものである請求項1に記載の方法。
- 前記第1および第2のフレームが、異なるスレーブ構成要素上で実行する動作のためのものである請求項1に記載の方法。
- 前記マスタ構成要素が、送信ステップ中に前記クロック線上のクロック信号をアサートするステップをさらに含む請求項1に記載の方法。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、拡張オペレーション・コード情報を含む拡張フィールドを備える請求項1に記載の方法。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、前記第1のフレームに含まれている基本アドレス・フィールドより長い拡張アドレス情報を含む拡張フィールドを備える請求項1に記載の方法。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、巡回冗長検査情報を含む巡回冗長検査フィールドをさらに備える請求項6に記載の方法。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、前記動作の終了に成功したことの肯定応答を含む肯定応答フィールドをさらに備える請求項7に記載の方法。
- 前記肯定応答フィールドが、前記スレーブ構成要素がいずれの場合も前記動作を抑制することをさらに示す請求項8に記載の方法。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、前記巡回冗長検査情報が送信中にエラーを示したか否かについての情報を含むエラー・フィールドをさらに備える請求項8に記載の方法。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、プロトコル違反が検出されたか否かを示すエラー・フィールドをさらに備える請求項8
に記載の方法。 - 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、前記巡回冗長検査情報が送信中にエラーを示したか否かについての情報を含むエラー・フィールドをさらに備える請求項7に記載の方法。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、前記動作の終了に成功したことの肯定応答を含む肯定応答フィールドをさらに備える請求項6に記載の方法。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、巡回冗長検査情報を含む巡回冗長検査フィールドをさらに備える請求項1に記載の方法。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、前記動作の終了に成功したことの肯定応答を含む肯定応答フィールドをさらに備える請求項14に記載の方法。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、前記巡回冗長検査情報が送信中にエラーを示したか否か、および/またはプロトコル違反が検出されたか否かについての情報を含むエラー・フィールドをさらに備える請求項15に記載の方法。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、前記巡回冗長検査情報が送信中にエラーを示したか否かについての情報を含むエラー・フィールドをさらに備える請求項14に記載の方法。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、前記動作の終了に成功したことの肯定応答を含む肯定応答フィールドをさらに備える請求項14に記載の方法。
- システムであって、
マスタ構成要素と、
1つ以上のスレーブ構成要素と、
前記マスタ構成要素と前記スレーブ構成要素との間に相互接続されているクロック線と、
前記マスタ構成要素と前記スレーブ構成要素との間に相互接続されているデータ線と、を備え、
前記マスタ構成要素が、
前記1つ以上のスレーブ構成要素の第1のスレーブ構成要素上で第1の動作を実行することを決定するステップと、
前記第1の動作を表す第1のオペレーション・コードを含む前記1つ以上のスレーブ構成要素に、第1のフレームの少なくとも一部を送信するステップと、
前記1つ以上のスレーブ構成要素の第2のスレーブ構成要素上で第2の動作を実行することを決定するステップと、
前記第2の動作を表す第2のオペレーション・コードを含む前記1つ以上のスレーブ構成要素に、第2のフレームの少なくとも一部を送信するステップであって、前記第2のフレームが、前記第1のフレームに含まれていないフィールドを含むステップと
を実行するように構成されるシステム。 - 前記第1および第2のフレームが、同じスレーブ構成要素上で実行される動作のためのものである請求項19に記載のシステム。
- 前記第1および第2のフレームが、異なるスレーブ構成要素上で実行される動作のためのものである請求項19に記載のシステム。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、前記第1のフレームに含まれている基本アドレス・フィールドより長い拡張アドレス情報を含む拡張アドレス・データ・フィールドを備える請求項19に記載のシステム。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、巡回冗長検査情報を含む巡回冗長検査フィールドをさらに備える請求項19に記載のシステム。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、前記巡回冗長検査情報が送信中にエラーを示したか否かについての情報を含むエラー・フィールドをさらに備える請求項23に記載のシステム。
- 前記第2のフレームに含まれているが、前記第1のフレームに含まれていないフィールドが、前記動作の終了に成功したことの肯定応答を含む肯定応答フィールドをさらに備える請求項19に記載のシステム。
- クロック線およびデータ線を介してスレーブ構成要素と結合した場合に、
前記1つ以上のスレーブ構成要素の第1のスレーブ構成要素上で第1の動作を実行することを決定するステップと、
前記第1の動作を表す第1のオペレーション・コードを含む前記1つ以上のスレーブ構成要素に、第1のフレームの少なくとも一部を送信するステップと、
前記1つ以上のスレーブ構成要素の第2のスレーブ構成要素上で第2の動作を実行することを決定するステップと、
前記第2の動作を表す第2のオペレーション・コードを含む前記1つ以上のスレーブ構成要素に、第2のフレームの少なくとも一部を送信するステップであって、前記第2のフレームが、前記第1のフレームに含まれていないフィールドを含むステップと、
を行うように構成されるマスタ構成要素。 - 前記第1および第2のフレームが、同じスレーブ構成要素上で実行する動作のためのものである請求項26に記載のマスタ構成要素。
- 前記第1および第2のフレームが、異なるスレーブ構成要素上で実行する動作のためのものである請求項26に記載のマスタ構成要素。
- 前記第2のフレームに含まれているが、前記第1のフレームに含まれていないフィールドが、
前記第1のフレームに含まれている基本アドレス・フィールドより長い拡張アドレス情報を含む拡張アドレス・データ・フィールドを備える請求項26に記載のマスタ構成要素。 - 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、巡回冗長検査情報を含む巡回冗長検査フィールドをさらに備える請求項26に記載のマスタ構成要素。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、前記巡回冗長検査情報が送信中にエラーを示したか否かについての情報を含むエラー・フィールドをさらに備える請求項30に記載のマスタ構成要素。
- 前記第2のフレームに含まれているが前記第1のフレームに含まれていないフィールドが、前記動作の終了に成功したことの肯定応答を含む肯定応答フィールドをさらに備える請求項26に記載のマスタ構成要素。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US53006703P | 2003-12-15 | 2003-12-15 | |
US10/814,024 US7304950B2 (en) | 2003-12-15 | 2004-03-31 | Two-wire interface having dynamically adjustable data fields depending on operation code |
PCT/US2004/041823 WO2005059763A1 (en) | 2003-12-15 | 2004-12-14 | Two-wire interface having dynamically adjustable data fields depending on operation code |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007515143A true JP2007515143A (ja) | 2007-06-07 |
Family
ID=34657338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006545797A Pending JP2007515143A (ja) | 2003-12-15 | 2004-12-14 | オペレーション・コードにより動的に調整可能なデータ・フィールドを有する二線式インタフェース |
Country Status (5)
Country | Link |
---|---|
US (1) | US7304950B2 (ja) |
EP (1) | EP1697849A4 (ja) |
JP (1) | JP2007515143A (ja) |
KR (1) | KR100766031B1 (ja) |
WO (1) | WO2005059763A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011048763A (ja) * | 2009-08-28 | 2011-03-10 | Fujitsu Ltd | メモリ診断方法及びメモリ回路 |
JP2011160353A (ja) * | 2010-02-03 | 2011-08-18 | Nec Access Technica Ltd | 通信システム、通信装置、及び通信方法 |
JP2018151915A (ja) * | 2017-03-14 | 2018-09-27 | オムロン株式会社 | 電気機器および受信機器 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418210B2 (en) * | 2004-03-05 | 2008-08-26 | Finisar Corporation | Programmable transition time adjustment mechanism |
US7634197B2 (en) * | 2005-01-12 | 2009-12-15 | Finisar Corporation | Compensation for temperature and voltage effects when monitoring parameters in a transceiver module |
CN1941015B (zh) * | 2005-09-30 | 2011-08-24 | 西门子(中国)有限公司 | 一种分布式监控方法 |
PL2927815T3 (pl) * | 2008-05-21 | 2017-11-30 | Hewlett-Packard Development Company, L.P. | Wielopunktowa szyna szeregowa z wykrywaniem położenia i sposób wykrywania położenia |
FR2952463B1 (fr) | 2009-11-06 | 2012-12-21 | Somfy Sas | Communication d'ordres dans un reseau domotique et entre reseaux domotiques. |
FR2952462B1 (fr) | 2009-11-06 | 2011-12-09 | Somfy Sas | Communication d'ordres dans un reseau domotique et entre reseaux domotiques. |
US9454504B2 (en) | 2010-09-30 | 2016-09-27 | Hewlett-Packard Development Company, L.P. | Slave device bit sequence zero driver |
KR101898678B1 (ko) * | 2012-03-28 | 2018-09-13 | 삼성전자주식회사 | 반도체 패키지 |
GB2541772B (en) * | 2015-05-21 | 2019-12-25 | Cirrus Logic Int Semiconductor Ltd | Synchronous differential signaling protocol |
US9990316B2 (en) | 2015-09-21 | 2018-06-05 | Qualcomm Incorporated | Enhanced serial peripheral interface |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1274928A (en) * | 1986-05-28 | 1990-10-02 | Hirotoshi Shirasu | Method and system for bidirectionally transmitting data |
US6338150B1 (en) | 1997-05-13 | 2002-01-08 | Micron Technology, Inc. | Diagnostic and managing distributed processor system |
US6270415B1 (en) * | 1997-08-15 | 2001-08-07 | Guillemot Corporation | Method for bi-directional data communication in a digital game port |
US6597693B1 (en) * | 1999-05-21 | 2003-07-22 | Advanced Micro Devices, Inc. | Common scalable queuing and dequeuing architecture and method relative to network switch data rate |
WO2001079962A2 (en) * | 2000-04-13 | 2001-10-25 | Stratus Technologies International, S.A.R.L. | Fault-tolerant maintenance bus, protocol, and method for using the same |
KR100439225B1 (ko) * | 2000-07-13 | 2004-07-05 | 엘지전자 주식회사 | 고속 데이터의 오류 검증회로 |
US7072360B2 (en) * | 2000-09-22 | 2006-07-04 | Narad Networks, Inc. | Network architecture for intelligent network elements |
GB0112017D0 (en) * | 2001-05-17 | 2001-07-11 | Koninkl Philips Electronics Nv | Wireless master-slave distributed communications network |
JP2003216343A (ja) * | 2002-01-22 | 2003-07-31 | Mitsubishi Electric Corp | マイクロコンピュータシステムおよびそのデータアクセス方法 |
JP2003308288A (ja) * | 2002-04-18 | 2003-10-31 | Mitsubishi Electric Corp | マイクロコンピュータシステム |
US7139613B2 (en) | 2002-09-25 | 2006-11-21 | Medtronic, Inc. | Implantable medical device communication system with pulsed power biasing |
GB2401207B (en) | 2003-04-30 | 2006-11-22 | Agilent Technologies Inc | Master slave arrangement |
-
2004
- 2004-03-31 US US10/814,024 patent/US7304950B2/en active Active
- 2004-12-14 KR KR1020067011745A patent/KR100766031B1/ko not_active IP Right Cessation
- 2004-12-14 WO PCT/US2004/041823 patent/WO2005059763A1/en not_active Application Discontinuation
- 2004-12-14 JP JP2006545797A patent/JP2007515143A/ja active Pending
- 2004-12-14 EP EP04814057A patent/EP1697849A4/en not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011048763A (ja) * | 2009-08-28 | 2011-03-10 | Fujitsu Ltd | メモリ診断方法及びメモリ回路 |
JP2011160353A (ja) * | 2010-02-03 | 2011-08-18 | Nec Access Technica Ltd | 通信システム、通信装置、及び通信方法 |
JP2018151915A (ja) * | 2017-03-14 | 2018-09-27 | オムロン株式会社 | 電気機器および受信機器 |
Also Published As
Publication number | Publication date |
---|---|
EP1697849A4 (en) | 2007-12-05 |
US20050132114A1 (en) | 2005-06-16 |
US7304950B2 (en) | 2007-12-04 |
KR100766031B1 (ko) | 2007-10-12 |
EP1697849A1 (en) | 2006-09-06 |
WO2005059763A1 (en) | 2005-06-30 |
KR20060097760A (ko) | 2006-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8667194B2 (en) | Two-wire interface in which a master component monitors the data line during the preamble generation phase for synchronization with one or more slave components | |
US8225024B2 (en) | Use of a first two-wire interface communication to support the construction of a second two-wire interface communication | |
JP4421649B2 (ja) | 集積化後置増幅器、レーザ・ドライバおよびコントローラ | |
US7765348B2 (en) | Configurable two-wire interface module | |
US10241953B2 (en) | Dynamic data-link selection over common physical interface | |
US9792173B2 (en) | Interface control circuit, memory system, and method of controlling an interface control circuit | |
JP2007515143A (ja) | オペレーション・コードにより動的に調整可能なデータ・フィールドを有する二線式インタフェース | |
US20100064083A1 (en) | Communications device without passive pullup components | |
KR20160138627A (ko) | 반도체 메모리 장치, 이를 위한 임피던스 조절 회로 및 방법 | |
US11829626B2 (en) | Storage device and operating method of storage device | |
US7356681B2 (en) | Transient transceiver clock configuration | |
JP4722907B2 (ja) | ユニバーサル・シリアル・バス送信機 | |
TWI766373B (zh) | 單線雙向通訊電路及單線雙向通訊方法 | |
US7627800B2 (en) | Communicating with error checking to a device capable of operating according to an address prefix serial bus protocol | |
US11901961B2 (en) | Interface circuit, memory controller and method for calibrating signal processing devices in an interface circuit of a memory controller | |
US7287208B2 (en) | Two-wire interface having embedded per frame reliability information | |
KR101978976B1 (ko) | 임베디드 멀티미디어 카드(eMMC)와 상기 eMMC를 제어하는 호스트 | |
US20190007160A1 (en) | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same | |
EP3992803A2 (en) | Storage device and operating method of storage device | |
TWI802335B (zh) | 介面電路、記憶體控制器及用以校正於記憶體控制器之介面電路內之複數訊號處理裝置之方法 | |
JP2014232414A (ja) | I2c通信スレーブ装置 | |
WO2022176358A1 (ja) | ホスト装置、スレーブ装置およびデータ転送システム | |
US20210297283A1 (en) | Master slave communication system capable of reducing manufacturing cost, electronic device, control method for master slave communication system, and control method for electronic device | |
JP2695847B2 (ja) | ループ式通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080708 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081008 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081104 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090512 |