本開示は、タイムおよび周波数の正確な配分を可能にするギガビット・イーサネットの物理レイヤーへのエンハンスメントに関する。本開示によれば、ネットワークスレーブ・デバイスは、メッセージィングプロトコールを使用して、マスター基準タイムソース(または、サーバー)に同期するであろう。メッセージィングプロトコールは、スレーブデバイス(または、クライアント)がそれによって、マスタータイム基準からそれらのタイムオフセットを推定するだろうレンジング手法であろう。スレーブデバイスは、中央タイムサーバーを有する物理レイヤーでの一連のタイムスタンプされたメッセージを交換することで、これを達成するであろう。
ギガビット・イーサネットの物理レイヤーの物理コーディング・サブレイヤー(PCS)は、8B/10Bブロックコーディング・スキームを使用して、ギガビット媒体・独立インターフェース(GMII)信号を10ビットコード群へ、および、逆もまた同様に、マッピングするであろう。PCSは、GMIIを経由して、リコンシリエイション・サブレイヤーからパケットを受け入れるであろうし、パケットを、物理媒体接続部(PMA)サブレイヤーに手渡す以前に、エンコードするであろう。PCSは、また、PMAサブレイヤーから受信されたビットストリームをデコードするであろうし、GMIIおよびリコンシリエイション・サブレイヤーを経由して、それを媒体アクセス制御(MAC)サブレイヤーに手渡すであろう。
8B/10Bブロックコーディング・スキームのいくつかの特殊コード群は、受信機がタイムサーバー(マスター)により送られるPCSフレームに直接組み込まれたタイムサービスデータ(TSD)を抽出するのを可能にするであろう、区別および容易に認識できるビットパターンを具備するであろう。ギガビット・イーサネット内の制御および管理情報は、データとは対照的に、オーダードセットの送信を介して通信されるであろう。オーダードセットは、イン・バンドまたはアウト・オブ・バンドのプロトコール機能用に使用されるであろうフレキシブルな構築ブロックであろう。オーダードセットは、1つ、2つまたは4つのコード群の長さであろうし、ギガビット・イーサネットの特殊コード群からのコードから始めるであろう。オーダードセットは、追加の特殊またはデータコード群を後続として伴う初期特殊コード群を具備する、単一の特殊コード群、または、コード群のシーケンスのいずれかであろう。ギガビット・イーサネット規格は、12の特殊コード群を定義し、12の内6つだけがオーダードセットの形式で通常動作にて使用されるであろう。残りの未使用特殊コード群は、PCSフレーム内のTSD存在をマークするのに使用されるであろうタイムサービス・オーダードセット(TSOS)を定義するために使用されるであろう。TSDは、送信機と受信機間で交換されるタイミングメッセージであって、受信機がそのタイム・オブ・デイ(ウォールクロック)および/または周波数を送信機のそれと同期するのを可能とするであろうタイミングメッセージを具備するであろう。そのようにTSDを組み込むことは、そのようなことが物理レイヤーで直接計測されるタイミングメッセージの実際の送信および受信回数に基づいているので、非常に正確なタイム計測を提供するであろう。
図1を参照すると、本開示の具体例に従って、オープンシステム・インターコネクション(OSI)・7レイヤーモデルと関係したギガビット・イーサネット用の階層モデル100が示されている。示されているように、ギガビット・イーサネットは、OSI・7レイヤーモデルのデータリンク・レイヤーおよび物理レイヤー上に主として実現される。物理レイヤーは、データリンク・レイヤーによって提供されるデータバイトを媒体上の送信用に適切な信号へと変換する手段を提供する。同様に、物理レイヤーは、媒体から受信された信号を、データリンク・レイヤー上へそれらを手渡す前に、適切なデータバイトに変換する。
物理レイヤーは、媒体独立インターフェース(MDI)・サブレイヤー、物理媒体独立(PMD)サブレイヤー、物理媒体接続部(PMA)サブレイヤー、物理コーディング・サブシステム(PCS)・サブレイヤー、ギガビット媒体独立インターフェース(GMII)・サブレイヤーおよびリコンシリエイション・サブレイヤーを含むいくつかのサブレイヤーを具備するであろう。
MDIサブレイヤーは、PMDサブレイヤーと媒体間のコネクターを定義する。媒体は、例えば、長波長(LX)光ファイバーリンク、短波長(SX)光ファイバーリンクおよび/または銅線ケーブル(CX)具備するであろう。
PMDサブレイヤーは、媒体へ/から独立ビットを送信/受信するのに関与する。PMDサブレイヤーは、PMAサブレイヤーによって提供される直列ビットストリームを取り込み、それを、媒体(ファイバーまたは銅線)に依存して、光学または電気信号へ/から変換する。PMDサブレイヤーの責任は、ビットタイミング、ライン信号エンコーディング(ノンリターン・ツ・ゼロNRZ)および媒体(ファイバーまたは銅線)と情報をやりとりすることを含む。
PMAサブレイヤーは、PCSサブレイヤーにさまざまな直列媒体へ接続するための媒体・独立インターフェースを提供する。具体的には、PMAサブレイヤーは、シンボル直列化および非直列化(SERDES)を行う。すなわち、PMAサブレイヤーは、送信前に、10ビットシンボルの被エンコードストリームを直列化し、受信後に、被エンコードストリーム10ビットシンボルを非直列化する。PMAサブレイヤーは、また、PCSサブレイヤーへ10ビットシンボルを手渡すに先立って、到来直列ビットストリームを整列するのに関与する。
PCSサブレイヤーは、データシンボル・エンコーディングとデコーディング、同期およびデータリンク・レイヤー用のレートマッチング・サービスを行い、それらは、通常は使用される物理媒体と無関係である。すなわち、PCSサブレイヤーは、GMIIサブレイヤーから10ビットコード群へと下行される各バイトをエンコーディングすることに関与する。PCSサブレイヤーは、また、PMAサブレイヤーからより上位のレイヤーによる使用のためのバイトへと上行される10ビットコード群をデコードすことに関与する。PCSサブレイヤーは、また、キャリヤ検出信号とコリジョン検出信号を提供し、オートネゴシエーションと称される自動リンク・コンフィギュレーション用の機構を有する。オートネゴシエーションは、イーサネット手順であり、これにより、2つの接続されたデバイスがフロー制御と二重モードのような共通の送信パラメターを選択する。このプロセスにおいて、2個の接続されたデバイスは、最初にこれらのパラメター用のそれらの能力を共有し、そしてそれから、2個の接続されたデバイスにより共有される動作の最も可能なモードを選択する。
GMIIサブレイヤーは、データリンク・レイヤーとPCSサブレイヤー間のインターフェースである。PCSサブレイヤーとGMIIサブレイヤーは、8ビット並列データ線およびいくつかの制御線を経由して、お互いに通信する。GMIIサブレイヤーは、データリンク・レイヤーと物理レイヤー・サブレイヤー間、および、物理レイヤー・サブレイヤーとネットワーク管理体間のクリーン分離を可能にする、簡単に使えて十分に定義されたインターフェースを、典型的に提供する。インターフェースは、125MHzでクロックされた8ビットデータ・インターフェースを使用して実施される、1000Mbit/sへのスピードアップを定義し、媒体独立インターフェース(MII)仕様と後方互換性がある。それは、また、MII仕様により、10/100Mbit/sのフォールバックのスピードで動作できる。論理的には、PCSサブレイヤーとPMAサブレイヤーは、バイト・ワイドGMIIデータを取り込み、それを被エンコード直列ビットストリームに変換する(および逆の場合も同じ)ために結合する。
リコンシリエイション・サブレイヤーは、GMIIサブレイヤー内の物理レイヤーシグナリング(PLS)プリミティブと論理信号間のマッピングを提供する。これは、典型的には、実際の製品における特別または必須ではない物理的、または、ソフトウェア的実施を伴う、建築的抽象にすぎない。実際には、リコンシリエイション・サブレイヤーは、典型的に、実際の関数はなにも提供しないし、データリンク・レイヤーの整関数として実施されるであろう。
ギガビット・イーサネットのデータリンク・レイヤーは、媒体アクセス制御(MAC)サブレイヤーを含むいくつかのサブレイヤーを具備するであろう。MACサブレイヤーは、典型的にはローカルエリア・ネットワーク(LAN)またはメトロポリタンエリア・ネットワーク(MAN)であるマルチポイント・ネットワーク以内で、いくつかのターミナルまたはネットワークノードが通信することを可能にする、アドレシングおよびチャンネルアクセス制御機構を提供するであろう。MACサブレイヤーは、データリンク・レイヤーの論理リンク制御(LLC)サブレイヤーと物理レイヤー間のインターフェースとして行動するであろう。
図2を参照すると、本開示の具体例に従って、ギガビット・イーサネット用の物理レイヤーの一次サブレイヤーの機能ブロック図200が示されている。すなわち、図2は、MDIサブレイヤー202、PMDサブレイヤー204、PMAサブレイヤー206、PCSサブレイヤー208およびGMIIサブレイヤー210を示す。
MDIサブレイヤー202は、PMDサブレイヤー204から直列送信信号(送信信号)を受信し、PMDサブレイヤー204に直列受信信号(受信信号)を送信する。
PMDサブレイヤー204は、PMAサブレイヤー206から直列送信信号(Txビット)を受信し、MDIサブレイヤー202に直列送信信号(送信信号)を送信する。PMDサブレイヤー204は、また、MDIサブレイヤー202から直列受信信号(受信信号)を受信し、PMAサブレイヤー206に直列受信信号(Rxビット)を送信する。PMDサブレイヤー204は、さらに、直列受信信号(受信信号)の信号レベルを示す信号レベル検出信号(信号・検出)を送信する。
PMAサブレイヤー206は、送信部220、受信部222、コード群アライメント部224およびループバック部226を具備する。
送信部220は、PCSサブレイヤー208から10ビット並列被エンコード信号(txコード群<9:0>)を受信し、PMDサブレイヤー204に直列送信信号(Txビット)を送信する。送信部220は、PCSサブレイヤー208から受信される10ビット並列被エンコード信号(txコード群<9:0>)をPMDサブレイヤー204に送信される直列送信信号(Txビット)へと変換する。
受信部222は、PMDサブレイヤー204から直列受信信号(Rxビット)を受信し、PCSサブレイヤー208に10ビット並列被エンコード信号(rxコード群<9:0>)を送信する。受信部222は、PMDサブレイヤー204から受信される直列受信信号(Rxビット)をPCSサブレイヤー208に送信される10ビット並列被エンコード信号(rxコード群<9:0>)に変換する。受信部222は、また、10ビット並列被エンコード信号(rxコード群<9:0>)の適切なアライメントを保証するように、アライメント制御信号(アライメント)をコード群アライメント部224から/へ受信/送信する。
コード群アライメント部224は、10ビット並列被エンコード信号(rxコード群<9:0>)の適切なアライメントを保証するように、並列被エンコード信号(アライメント)を受信部222から/へ受信/送信する。
ループバック部226は、送信部220からPMDサブレイヤー204への直列送信信号(Txビット)の送信を無効にするように動作し、送信部220から受信部222への直列送信信号(Txビット)用のループバック経路を提供する。この機能は、物理レイヤーのセルフテスティングを可能にする。
PCSサブレイヤー208は、送信部230、受信部232、同期部234、キャリヤ感知部236およびオートネゴシエーション部238を具備する。
送信部230は、GMIIサブレイヤー210から、8ビット並列送信データ信号(TXD<7:0>)、送信イネーブル信号(TX・EN)、送信エラー信号(TX・ER)およびGMII送信クロック信号(GTX・CLK)を受信する。送信部230は、また、以下でさらに詳細に記述されるでしょうが、物理レイヤーの適切なコンフィギュレーションを保証するように、受信部232から受信表示信号(受信)を、オートネゴシエーション部238から送信フラグ信号(xmit)を受信する。送信部230は、10ビット並列被エンコード信号(txコード群<9:0>)をPMAサブレイヤー206へ、送信表示信号(送信)をキャリヤ感知部236へ送信する。これにより、送信部230は、GMIIサブレイヤー210から受信される8ビット並列送信データ信号(TXD<7:0>)をPMAサブレイヤー206に送信される10ビット並列被エンコード信号(txコード群<9:0>)へとエンコードする。
受信部232は、同期部234から10ビット並列被エンコード信号(rxコード群<9:0>)を受信する。受信部232、また、以下にさらに詳細に記述されるでしょうが、物理レイヤーの適切なコンフィギュレーションを保証するように、コンフィギュレーション制御信号(コンフィギュレーション)をオートネゴシエーション部238から/へ受信/送信する。受信部232は、GMIIサブレイヤー210へ、8ビット並列受信データ信号(RXD<7:0>)、受信データ有効信号(RX・DV)、受信エラー信号(RX・ER)および受信クロック信号(RX・CLK)を送信する。受信部232は、また、受信表示信号(受信)を送信部230およびキャリヤ感知部236へ送信する。これにより、受信部232は、同期部234から受信される10ビット並列被エンコード信号(rxコード群<9:0>)をGMIIサブレイヤー210へ送信される8ビット並列受信データ信号(RXD<7:0>)へとデコードする。
ギガビット・イーサネットは、ブロックコーディング・スキームを採用し、それによって、データビット群が、コードビットのより大きいスペースへとエンコードされる。ブロックコードを処理するときは、「データスペース」(すなわち、エンコードされないビット)および「コードスペース」(すなわち、コードされたビット)を参照するのが一般的である。また、コードビットのグルーピングは、コードワード、コード群またはシンボルと称されるであろう。
ギガビット・イーサネット用に採用されるコーディング・スキームである、8ビット/10ビット(8B/10B)コーディング・スキームの場合には、28=256の8ビットワードのデータスペースおよび210=1024の10ビットワードのコードスペースがある。そのようなコーディング・スキームは、ギガビット・イーサネット用のいくつかの重要な特性を提供する。第1としては、8B/10Bコーディング・スキームは、受信機でのクロックリカバリー用の十分な信号推移を保証する。第2としては、8B/10Bコーディング・スキームは、制御信号がデータストリームにおいてエンコードされることを可能にする。第3としては、8B/10Bコーディング・スキームは、コードバイオレーションを介して、シングルおよびマルチのビットエラーを検出する見込みを著しく増加させる特有なコードマッピングを可能にする。第4としては、8B/10Bコーディング・スキームは、いくつかの(制御信号用に使用される)エンコーディングが、急速同期および受信機アライメントの助けとなる7個のビットの特別なシーケンスであり、カンマとして知られる、ユニークで容易に認識可能なコードビットパターンを含有することを可能にする。
8B/10Bコーディング・スキーム用のコードスペースは、2つの群のコードへと分割され、それらは、データバイトをエンコードするために使用される「D」群と特殊制御文字をエンコードするために使用される「K」群である。8B/10Bコーディング・スキームの1つの可能な実施は、データバイトをフレーム送信の間に8B/10Bコード群へとエンコードし、そして、8B/10Bコード群をフレーム受信の間にデータバイトへとデコードバックすることである。8B/10Bコーディング・スキームの別の可能な実施は、データバイトを3ビット(3B)および5ビット(5B)へと分割し、それらがその後、8B/10Bエンコーディング/デコーディングをもたらすように整合された方法にてエンコード/デコードされる。
図3を参照すると、本開示の具体例に従って、PCSサブレイヤー208における送信部230の機能ブロック図がが示されている。送信部230は、PCS送信部302、送信クロック部304および送信タイム転送ユニット306を具備するであろう。PCS送信部302は、8B10Bエンコーダ部308、送信フラグ発生部310、並びに、コリジョンモニターおよび表示部312を具備するであろう。8B10Bエンコーダ308は、エンコーダ制御部314、データエンコーディング部316およびオーダードセット発生部318を具備するであろう。エンコーダ制御部314は、オートネゴシエーションxmitフラグモニター部320を具備するであろう。
8B10Bエンコーダ部308は、GMIIサブレイヤー210から受信される8ビット並列送信データ信号(TXD<7:0>)をPMAサブレイヤー206に送信される10ビット並列被エンコード信号(txコード群<9:0>)へとエンコードするであろう。8B10Bエンコーダ部308は、また、特殊コード群として知られる、他の前もって定義された特殊非データコード群を発生するであろう。これらの特殊コード群のセットは、データコード群と組み合わされることがあり、(パケットデリミタのような)制御信号を構築するか、または、リンク・コンフィギュレーション用のノンパケットデータを交換するために使用されるであろう。特殊コード群のこれらのセットは、オーダードセットとして知られている。8B10Bエンコーダ部308とその関連した部分は、要求される際または必要に応じて、これらのオーダードセットを発生するであろう。
8B/10Bコーディング・スキームの拡張されたコードスペースによって提供される追加ビットは、送信オーバーヘッドを追加するが、8ビットデータワードよりも多い10ビットコード群があるので、それらはある程度の送信冗長性を提供する。この冗長性は、データと制御用にコード群を分離するために、クロックリカバリー用の十分な遷移密度を設けるために、簡単なコード群同期(アライメント)を可能にするために、エラー検出をより効率的にさせるために、および、低送信チャンネル特性と戦うために使用されるであろう。
送信用のパケットデータは、バイト・ワイドTXD<7:0>経路を使用してGMIIサブレイヤー210によって進呈されて、TX・ENおよびTX・ER信号によってフレーム化されるであろう。8B10Bエンコーダ部308は、10ビットコード群を連続的に発生して、それらをPMAサブレイヤー206へ手渡すであろう。8B/10Bコーディング・スキームの実施の形態は、以下により詳細に記述される。
エンコーダ制御部314は、オートネゴシエーション部238から(例えば、オートネゴシエーションxmitフラグモニター部320経由)の送信フラグ信号(xmit)およびGMIIサブレイヤー210からのTX・EN信号とTX・ER信号の双方をモニターするであろう。これらの信号に基づいて、エンコーダ制御部314は、データエンコーディング部316が次に来るコード群またはオーダードセットをPMAサブレイヤー206へ手渡すように指示するであろう。PMAサブレイヤー206へ手渡されたコード群は、いくつかの表示のひとつを提供するであろう。
第1としては、フレーム間のように、GMIIサブレイヤー210によってパケットデータが進呈されない(すなわち、TX・EN信号とTX・ER信号がインアクティブである)ときに、アイドル(/I/)コード群表示が発せられるであろう。アイドル・オーダードセットの送信は、パケット間で受信電子技術と光学を「アライブ」に保持するであろう。アイドル・オーダードセットは、リンクのクロックリカバリー電子技術および電気光学の双方用の「キープアライブ」信号として使用されるであろう。もし、インターフレーム・ギャップと呼ばれる(IFG)ことがあるインターパケット・ギャップ(IPG)の間に光が送信されないと、光送信機は、適切に機能しないかもしれない。また、もし、パケット間に光が送信されないと、信号レベル検出信号(信号・検出)は、リンク不成功を指し示し、それにより、同期部234とオートネゴシエーション部238をトリガーするであろう。
第2としては、GMIIサブレイヤー210が、スタート・オブ・フレーム条件を指し示すとき(すなわち、TX・EN信号が新しくアサートされるかアクティブで、TX・ER信号がインアクティブのとき)、8B10Bエンコーダ部308は、スタート・オブ・パケットデリミタ(SPD)(/S/)コード群を発生するであろう。
第3としては、GMIIサブレイヤー210がエンド・オブ・パケット条件(すなわち、TX・EN信号のデアサーション)を指し示すとき、8B10Bエンコーダ部308は、エンド・オブ・パケット(/T/)コード群を発生するであろう。
第4としては、GMIIサブレイヤー210によりTXD<7:0>信号上に進呈される(すなわち、TX・EN信号がアクティブで、TX・ER信号がインアクティブのときの)パケットデータは、プリアンブルの第1バイトがSPDコード群で代替されるであろう例外付きで、8B10Bエンコーダ部308によってデータ(/D/)コード群(すなわち、txコード群<9:0>)へと直接エンコードされ、PMAサブレイヤー206へ手渡されるであろう。データコード群は、定義されたオーダードセット用に情報を識別または伝達することに使用されないときには、GMIIサブレイヤー210と8B10Bエンコーダ部308間の任意データの1バイトを伝達するであろう。データコード群のシーケンスは任意であろうし、そこにおいては、いずれかのデータコード群が、他のいずれかのデータコード群を後続として伴うであろう。データコード群は、コード化およびデコードされるであろうが、8B10Bエンコーダ部308により解釈されないであろう。データコード群の成功するデコーディングは、スタート・オブ・パケットデリミタ(SPD)(/S/)コード群の適切な受領に依存する。
第5としては、GMIIサブレイヤー210が、キャリヤ・拡張表示を提供するとき(すなわち、TX・EN信号がインアクティブで、TX・ER信号がアクティブでTXD<7:0>信号=OFFのとき)、8B10Bエンコーダ部308は、表示が残る各GTX・CLK期間用のキャリヤ・拡張(/R/)コード群を発生するであろう。2つのコード群遅延が、8B10Bエンコーダ部308にエンド・オブ・パケット(/T/)コード群を完成する時間を与えるように、許容されるであろう。半二重モードにおいては、キャリヤ・拡張(/R/)コード群が、最小サイズパケットを拡張するためとフレームバーストの間のキャリヤ継続を確実にするための双方に使用されるであろう。
第6としては、GMIIサブレイヤー210が送信エラー条件を指し示すとき(すなわち、TX・EN信号がアクティブで、TX・ER信号がアクティブのとき)、8B10Bエンコーダ部308は、フレーム送信の間の1つ以上のGTX・CLK期間用のエラー・伝達(/V/)コード群を発生するであろう。エラー・伝達(/V/)コード群は、エラーが検出された全てのそのポートに信号を送る半二重モードにて動作するリピーターによって使用されるであろう。
最後に、8B10Bエンコーダ部308は、オートネゴシエーション部238により提供される16ビットコンフィギュレーション・レジスターまたは次ページ送信・レジスターを、それ自身および対応するリンクパートナーをコンフィギャーするために、互換性モードの動作へとエンコードするであろう。この被エンコードコンフィギュレーション・レジスターまたは次ページ送信レジスターは、コンフィギュレーション(/C/)コード群として発せられるであろう。
全ての上述のコード群(パケットデータのそれらを除く)は、実際には、特定されたオーダ(すなわち、オーダードセット)では10ビットコード群のセットであろう。これらのオーダードセットは、以下にさらに詳細に記述される。
コリジョンモニターおよび表示部312は、同時の送信と受信パケット活動を検出すれば、GMIIサブレイヤー210用にコリジョン検出信号(COL)を発生するであろう。しかし、パケット活動の不存在においてアイドルまたはコンフィギュレーションコード群が常に送られるであろうから、媒体上の同時物理信号化活動が常にあるであろうことに注目すべきである。同時のパケットデータ活動だけが、コリジョンを構成するであろう。コリジョンモニターおよび表示部312は、また、受信部232からの受信表示信号(受信)をモニターするであろう。もし、コリジョンが生じたら、コリジョンモニターおよび表示部312は、コリジョン検出信号(COL)をアクティブへとセットするであろう。
送信フラグ発生部310は、PCS送信部302がデータパケットを送り出すたびに、キャリヤ感知部236用の送信表示信号(送信)を発生するであろう。上述のとおり、受信部232は、パケットを受信するたびに、受信表示信号(受信)を発生するであろう。コリジョンモニターおよび表示部312は、したがって、PCS送信部302がデータ送信および受信の双方を同時にしているかを見るためにチェックするであろう。そのよう(すなわち、受信=1および送信=1)であれば、そのとき、コリジョンモニターおよび表示部312は、GMIIサブレイヤー206へコリジョン検出信号(COL)を送るであろう。
上述のとおり、オートネゴシエーションxmitフラグモニター部320は、パケットデータ送信が許可されるか、または、リンクが(リ)コンフィギュレーションを要求するかどうかを決定するために、オートネゴシエーション部238からの送信フラグ信号(xmit)をモニターするであろう。リコンフィギュレーションの間に、PCS送信部302は、GMIIサブレイヤー210によってTXD<7:0>信号上に進呈されるパケットデータを無視するであろうし、代わりに、オートネゴシエーション部238によって指示されるようにコンフィギュレーション(/C/)オーダードセットを送信するであろう。
図4を参照すると、本開示の具体例に従って、PCS送信部302におけるオーダードセット送信用の簡略化された状態図が示されている。PCS送信部302は、3つの状態の1つ、すなわち、コンフィギュレーション(/C/)を送信するか、アイドル(/I/)を送信するか、または、データ(/D/)を送信するかであろう。データを送信する状態のときは、図4のデータ状態図部分に従って、パケットが送信されるであろう。半二重モード(エラーの不存在中)用の状態間における通常の経路は、太線の移行経路にて指し示されるであろう。送信VOID状態は、リピーターにとっては平常状態であろう、なぜなら、それらは、エラーを含む全ての受信されたフレームを再送するために、要求されるであろうからである。そのようなものとして、ボイドコード群(/V/)は、無効コード群が受信されたいかなるところでも、出力フレーム内に挿入されるであろう。
再び図3を参照すると、送信タイム転送ユニット306は、PMAサブレイヤー206へ手渡すtxコード群<9:0>信号において、タイムサービス・オーダードセット(TSOS)の送信およびタイムサービスデータ(TSD)コード群を整合するために、PCS送信部302内の8B10Bエンコーダ部308とインターフェースするであろう。タイムサービス・オーダードセット(TSOS)およびタイムサービスデータ(TSD)コード群は、図4に示されているように、PCS送信部302が送信データ(/D/)状態のときに、送信されるであろう。送信タイム転送ユニット306は、タイムサービスデータ(TSD)メッセージを発生し、タイムスタンプを捕らえ、タイムサービス・オーダードセット(TSOS)およびタイムサービスデータ(TSD)コード群の送信を8B10Bエンコーダ部308と整合し、送信クロック部304およびタイムサービスデータを供給するホストプロセッサ(図示せず)とインターフェースするであろう。
送信クロック部304は、送信タイムスタンプ読込指示信号と同様に送信タイムスタンプ信号を送信タイム転送ユニット306へ提供するであろう。
再び図2を参照すると、キャリヤ感知部236は、送信および受信パケットデータ活動をモニターし、モニターされる活動およびリピーターまたはエンド・ステーションアプリケーションにてPCSサブレイヤー208が実施されるかどうかに依存して、GMIIサブレイヤー210へキャリヤ感知信号(CRS)をアサートするであろう。もし、PCSサブレイヤー208がリピーターにて実施されるなら、キャリヤ感知信号(CRS)は、受信パケット活動のためにだけアサートされるであろう。リピーターは、キャリヤ感知信号(CRS)のマルチポート展示活動がコリジョンを指し示すだろうという事実を使用するであろう。もし、PCSサブレイヤー208が、エンド・ステーションにて実施されるなら、キャリヤ感知信号(CRS)は、送信または受信パケット活動のいずれかにとって、適切なプロトコールがMACサブレイヤーにて観察されることを保証するようにアサートされるであろう。これにより、キャリヤ感知部236は、受信表示信号(受信)または送信表示信号(送信)=1のときに、キャリヤ感知信号(CRS)をアサートするであろうし、受信表示信号(受信)および送信表示信号(送信)=0のときに、キャリヤ感知信号(CRS)をデアサートするであろう。キャリヤ感知信号(CRS)は、受信表示信号(受信)=TRUE状態のときに、リピーター用にアサートされ、受信表示信号(受信)=FALSE状態のときに、デアサートされるであろう。
同期部234は、コード群境界へのロックを確実にすべく動作し、受信部232へ受信されたコード群を手渡す。すなわち、同期部234は、PMAサブレイヤー206が正しく整列されたコード群をPCSサブレイヤー208へ手渡していることをチェックするであろう。コード群が特定されたレート(例えば、1250Mbaud)で媒体を通して、連続ビットストリーム内を送信されるであろうから、同期部234は、この連続ストリーム以内でコードビットおよびコード群の境界を検出することによって、PMAサブレイヤー206が信頼して機能するかどうかを決定するであろう。同期部234は、オートネゴシエーション部238へ同期ステータス信号(同期ステータス)を送るであろうし、コード群境界が正しいことが一度確実であると、それはまた、コード群を受信部232へ手渡すであろう。
同期部234は、一連の3連続した「カンマ」含有のコード群が、受信機/送信機同期を達成するためにそれら間に無効コード群が無いことで、受信されることを要求するであろう。以下で詳細に議論されるように、各カンマには、奇数の数の有効データコード群が後続として伴うであろう。これは、コード群およびオーダードセットが正しく検出されて受信部232に手渡されることを確実にするであろう。
同期部234は、PMAサブレイヤー206からコード群を連続的に受け入れて、受信部232へ受信されたコード群を伝達するであろう。同期部234は、PMAサブレイヤー206が信頼して機能するであろうかどうかを指し示すために、同期ステータス信号(同期・ステータス)をオートネゴシエーション部238へ送るであろう。
一度同期が取得されれば、同期部234は、受信された無効コード群の数を数え始めるであろう。その計数は、無効である、または、奇数コード群位置にカンマを含有する受信されたコード群毎にインクリメントされるであろう。その計数は、受信された4つ連続した有効コード群(偶数コード群位置にて受信されたカンマが有効と考えられる)毎にデクリメントされるであろう。計数は決して0以下にはならないであろう、そして、それが4に到達すれば、同期ステータス信号(同期・ステータス)は不成功を指し示すために設定されるであろう。
良好なコード群が検出され続けながら、同期が維持されるであろう。同期部234は、無効コード群が検出されるという場合には、それが、同期の欠落を引き起こす一連の無効コード群を受け取るであろうというような、ヒステリシス機能を提供するであろう。同期部234は、受信されたコード群ストリーム内のいくつかのエラーに耐えられるであろう。これは、少数のコード群だけに影響を及ぼす媒体上の雑音イベント汚染データのような短いエラーバーストが同期の欠落を引き起こさないであろうということを裏付けるであろう。しかしながら、受信された信号の顕著なエラー条件または完全欠落を表しているより長いエラーバーストは、同期の欠落を引き起こすであろうし、コード群コンテンツはもはや信頼できるとは考えられないであろう。長いエラーバーストは、同期部234が受信部232へコード群を手渡すのをストップしてコード群境界を再チェックする原因となるであろう。スタートアップにおいて、および、PCSサブレイヤー208があらかじめ定められた期間(例えば、10ms以上)に同期されていないどんな時においても、オートネゴシエーション部238は、リンク・リコンフィギュレーションをトリガーするであろう。
オートネゴシエーションおよび手動で構成されたデバイスは、同期が取得されるまでは、受信されたコード群を解釈することができないであろう。一度同期が取得されると、PCSサブレイヤー208は、そのときに、到来コード群を受信して解釈することができるであろう。
オートネゴシエーション部238は、同期が取得された後に送信部230により送信されるもの(すなわち、図4で上記に示されるような送信コンフィギュレーション(/C/)状態)を制御するであろう。オートネゴシエーション部238は、それから、オートネゴシエーション・プロセスを行うであろう。このオートネゴシエーション・プロセスが一度完了すると、オートネゴシエーション部238は、それから、送信部230用に送信フラグ信号(xmit)を活性化するであろう。送信部230は、それから、GMIIサブレイヤー210によってTXD<7:0>信号上に進呈されるパケットデータを送信するであろう。これにより、オートネゴシエーション部238は、送信部230がGMIIサブレイヤー210から受信されたデータパケットが組み入れられている通常のアイドルコード群を送信するかまたはリンクをリコンフィギャーするかのいずれかを指示する送信フラグ信号(xmit)をセットするであろう。
オートネゴシエーション部238は、オートネゴシエーション・プロセスの間に次の機能を行うであろう。
第1としては、オートネゴシエーション部238は、リンクが半二重か全二重モードで動作されるであろうかどうかをネゴシエートするであろう。もちろん、リンクパートナーは、同一モードか半または全二重モードのいずれかで動作できなければならない。
第2としては、オートネゴシエーション部238は、フロー制御が使用されるであろうかどうか、および、どうやって使用されるであろうかをネゴシエートするであろう。フロー制御は、半二重リンクが許されていないであろう。もし、非対称フロー制御が望まれるならば一時停止要求を開始するために、リンクパートナーがどちらに許容されるであろうかのアグリーメントに到達すべきである。
これにより、オートネゴシエーション部238は、リンクが動作用に準備ができていることをテストし、リンクが半または全二重モードにて操作可能であろうかネゴシエートし、フロー制御が使用されるであろうかどうか、および、どうやって使用されるであろうかをネゴシエートするであろう。もし、これらのオートネゴシエーションが不成功ならば、リンクパートナーは互換性がないであろうし、通信は許されないであろう。オートネゴシエーション・プロセスは、リンクがフレームを送信するために使用されるであろう以前に、完成されるべきである。
コンフィギュレーション(/C/)コード群が、データ(/D/)コード群として間違って解釈されないことを確実にするために、8B/10Bコードの2つのオーダードセット(すなわち、図10において以下に示されるように、コンフィギュレーションコード群/C1/および/C2/)が、オートネゴシエーション・コンフィギュレーション・メッセージを送信するために、独占的に予約されるであろう。各オーダードセットは、4バイトのシーケンスであろう、すなわち、1つは/K28.5/特殊コード用であり、1つは/D21.5/または/D2.2/コード群用であり、そして、2つは16ビットオートネゴシエーションコンフィギュレーションレジスター(/Config・Reg〔15:0〕/)用である。ローカルデバイス能力(例えば、それがサポートできる操作可能モード)は、ベースページとして知られる16ビットコンフィギュレーション・レジスターにおいて、エンコードされるであろう。16ビットコンフィギュレーション・レジスターは、ACK(アクノレッジ)ビットと同様に、物理レイヤーの能力を特定するのに十分なビットを含むであろう。
以下でさらに詳細に議論されるように、2つのコンフィギュレーションコード群(/C1/および/C2/)は、エンコーダがコード群ストリームのランニング・ディスパリティ(RD)をしっかりと制御するのを可能にするように、定義されるであろう。リンクパートナーの双方は、それらのコンフィギュレーションベースページ・レジスターを、/C1/および/C2/オーダードセット・シーケンス間で交互に起こる連続コード群ストリームとして、お互いに対して送信するであろう。/C1/および/C2/の双方は、PMAサブレイヤー206におけるカンマ検出プロセスにより使用されるであろうカンマ・シーケンスを含有するであろう。
コンフィギュレーション・レジスターデータビットは、コンフィギュレーション・オーダードセットの第3および第4のキャラクターとしてコード化されるであろう。オートネゴシエーション・メッセージは、各リンクパートナーが他方の能力を学んでアクノレッジすることで、そして、コンフィギュレーションを適切に設定する(または、エラー条件を検出する)ことでオートネゴシエーション・プロセスが完成するまでは、一連の「/K28.5/D21.5/Config・Reg〔7:0〕/K28.5/D21.5/Config・Reg〔15:8〕/K28.5/D2.2/Config・Reg〔7:0〕/K28.5/D2.2/Config・Reg〔15:8〕/…。」として送られるであろう。尚、コンフィギュレーション・レジスターデータの送信の順序は、被エンコードビットd8:d15を後続として伴う被エンコードビットd0:d7であろう。被送信ビットストリームは、コンフィギュレーション・レジスターの順序に少し類似している。
オートネゴシエーション・プロセスは、次の動作を伴うであろう、すなわち:1.)ローカルデバイスのコンフィギュレーション・レジスターを送信すること、2.)リモートリンク・パートナーのコンフィギュレーション・レジスターを受信すること、3.)リンクパートナーの能力の検出をアクノレッジすること、4.)リンクパートナーからのアクノレッジを検出すること、5.)動作のモード(すなわち、半二重または全二重)を解決すること、および、6.)一時停止制御モードを決定することでフロー制御動作を解決すること。
図4にて上述で示されているように、オートネゴシエーション・デバイスは、送信コンフィギュレーション(/C/)状態で始まるであろう。データ送信が始まるであろう前に、オートネゴシエーション・デバイスは、3つの連続で一貫した/C/オーダードセットを受信すべきである。一貫した/C/オーダードセットは、各/C/オーダードセットの最後の2つのコード群以内に同じコード群(ACK(アクノレッジ)ビットは無視して)を含有すべきである。3つの連続で一貫した/C/オーダードセットが一度受信されると、オートネゴシエーション・プロセスは、3つの連続で一貫しており、1にセットされたACKビットを有する、/C/オーダードセットを探すであろう。所定期間の後に、オートネゴシエーション・デバイスは、図4にて上述で示されているように、送信アイドル(/I/)状態へと移行するであろう。この時点で、オートネゴシエーション・デバイスは、/I/オーダードセットを送信し始めるであろう。他の期間後に、オートネゴシエーション・デバイスは、図4にて上述で示されているように、送信データ(/D/)状態へと移行するであろう。この時点で、パートナーデバイスが、また、3つの連続で一貫しており、1にセットされたACKビットを有する/C/オーダードセットを後続として伴う3つの連続で一貫した/C/オーダードセットを受信したと仮定すると、オートネゴシエーション・デバイスは、データを送信および受信できるであろう。手動でコンフィギャーされたデバイスは、/C/オーダードセットを送信するプロセスをスキップし、図4にて上述で示されているように、送信データ(/D/)状態で始まるであろう。
図5を参照すると、本開示の具体例に従って、PCSサブレイヤー208における受信部232の機能ブロック図が示されている。受信部232は、PCS受信部502、受信クロック部504および受信タイム転送ユニット506を具備するであろう。PCS受信部502は、8B10Bデコーダ部508、制御部510、コンフィギュレーション検出部512、クロック回路514、SPD/EPD検出部516、キャリヤ検出部518およびアイドル検出部520を具備するであろう。8B10Bデコーダ508は、コード群デコーダ部522を具備するであろう。
8B10Bデコーダ508は、以下でさらに詳細に議論されるように、同期部234から受信される10ビット並列被エンコード信号(rxコード群<9:0>)をGMIIサブレイヤー210へ送信される8ビット並列受信データ信号(RXD<7:0>)へと、または、受信タイム転送ユニット506へ送信されるタイムサービスデータ(TSD)へとデコードするであろう。すなわち、以下でさらに詳細に議論されるように、リンクが正しく動作してオートネゴシエーション・プロセスが完成されたときは、被デコード8ビット並列受信データ信号(RXD<7:0>)がGMIIサブレイヤー210へ送信されるであろうか、または、被デコードタイムサービスデータ(TSD)が受信タイム転送ユニット506へ送信されるであろう。この場合、デコーディングプロセスは、本質的に、送信部230におけるエンコーディング・プロセスの裏返しであろう。コンフィギュレーションコード群またはアイドルコード群は、GMIIサブレイヤー210へ、または、受信タイム転送ユニット506へは手渡されないであろうが、代わりに、オートネゴシエーション部238へと仕向けられる。
リンクが正しく動作してオートネゴシエーション・プロセスが完成されたときは、受信部232は、同期部234からコード群を連続的に受け入れるであろう。受信部232は、以下でさらに詳細に議論されるように、これらのコード群をモニターし、GMIIサブレイヤー210用に8ビット並列受信データ信号(RXD<7:0>)、RX・DV信号およびRX・ER信号を、あるいは、受信タイム転送ユニット506用に被デコードタイムサービスデータ(TSD)を発生するであろう。受信部232は、また、キャリヤ感知部236および送信部230用に受信表示信号(受信)を発生するであろう。
オートネゴシエーション部238が、送信フラグ信号(xmit)にコンフィギュレーションまたはアイドル状態を指し示すようセットすると、受信部232は、コンフィギュレーションオーダードセット、アイドル・オーダードセットおよび受信コンフィギュレーション・レジスターのコンテンツをオートネゴシエーション部238へ仕向けるであろう。全てのこれらオーダードセットは、オートネゴシエーション部238だけに送られ、GMIIサブレイヤー210へは送られないであろう。上述で論議されたように、オートネゴシエーション・プロセスの間に、送信部230は、GMIIサブレイヤー210から入力を受け入れないであろうが、その代わりに、オートネゴシエーション部238により指示されるようにコンフィギュレーション・オーダードセットを送信するであろう。
図6を参照すると、本開示の具体例に従って、PCS受信部502におけるオーダードセット受信用の簡略化された状態図が示されている。PCS受信部502は、送信フラグ信号(xmit)および以下の条件にて受信されるコード群をモニターするであろう、すなわち:オートネゴシエーション送信フラグ信号(xmit)検出(制御部510経由)、キャリヤ検出(キャリヤ検出部518経由)、キャリヤ・拡張(/R/)コード群検出(制御部510経由)、コード群検出(有効デコード)(制御部510経由)、スタート・オブ・パケットデリミタ(SPD)(/S/)コード群検出(SPD/EPD検出部516経由)、エンド・オブ・パケット(/T/)コード群検出(SPD/EPD検出部516経由)、エラー・伝達(/V/)コード群検出(制御部510経由)、アイドル(/I/)コード群検出(アイドル検出部520経由)、および、コンフィギュレーション(/C/)コード群検出(コンフィギュレーション検出部512経由)である。PCS受信部502は、また、いつデータおよび/またはパケットデリミタシーケンスが有効かエラーかを指し示すために、GMIIサブレイヤー210用にRX・DV信号およびRX・ER信号を発生するであろう。キャリヤ検出部518は、受信表示信号(受信)を発生し、それを送信部230およびキャリヤ感知部236の双方に手渡すであろう。クロック回路514は、RXD<7:0>信号をGMIIサブレイヤー210用に同期させるRX・CLK信号を発生する。
オートネゴシエーション・プロセスの間に、PCS受信部502は、コンフィギュレーション状態(図6参照)に入るであろう、そこにおいて、それは、リンクがコンフィギャーされるまで、オートネゴシエーション部238へのコンフィギュレーションコードおよび受信コンフィギュレーション・レジスターのコンテンツを検出、デコードおよび手渡すであろう。「キャリヤ検出された」状態から「受信された特殊文字」状態への移行は、不成功のキャリヤ検出に起因するであろう。これが起きると、PCS受信部502は、RXD<7:0>信号上に値00001110を出力し、RX・ER信号をTRUE状態に設定するであろう。
図5を再度参照すると、受信タイム転送ユニット506は、同期部234から受信されるrxコード群<9:0>信号においてタイムサービス・オーダードセット(TSOS)およびタイムサービスデータ(TSD)コード群の受信を整合するために、PCS受信部502内の8B10Bデコーダ部508とインターフェースするであろう。コード群デコーダ部522は、到来PCSフレームを分析し、フレーム内のタイムサービス・オーダードセット(TSOS)に基づいてタイムサービスデータ(TSD)を検出するであろう。全てのタイムサービスデータ(TSD)は、受信タイム転送ユニット506へと推進されるであろう。これらのタイミングフレームのために、正確な到達タイムおよびタイムサービスデータ(TSD)が、受信タイム転送ユニット506によって捕捉されるであろう。
これにより、8B10Bデコーダ508は、同期部234から受信される10ビット並列被エンコード信号(rxコード群<9:0>)をGMIIサブレイヤー210へ送信される8ビット並列受信データ信号(RXD<7:0>)へと、または、受信タイム転送ユニット506へ送信されるタイムサービスデータ(TSD)へとデコードするであろう。すなわち、リンクが正しく動作してオートネゴシエーション・プロセスが完了すると、被デコード8ビット並列受信データ信号(RXD<7:0>)がGMIIサブレイヤー210へ送信されるであろうか、または、被デコードタイムサービスデータ(TSD)が受信タイム転送ユニット506へ送信されるであろう。上述で論議したように、デコーディングプロセスは、本質的に、送信部230におけるエンコーディング・プロセスの裏返しであろう。コンフィギュレーションコード群またはアイドルコード群は、GMIIサブレイヤー210または受信タイム転送ユニット506へは手渡されないであろうが、代わりに、オートネゴシエーション部238へと導かれる。
受信クロック部504は、タイムサービスデータ(TSD)の正確な到達タイムを決定するために、受信タイム転送ユニット506へ受信タイムスタンプ信号を提供するであろう。
図7を参照すると、本開示の具体例に従って、データバイトを3ビット(3B)および5ビット(5B)部分に分割する8B/10Bコーディング・スキーム用のエンコーダ700が示されている。エンコーダ700は、3Bデータバイト部分をエンコーするための3B/4Bエンコーダ702および5Bデータバイト部分をエンコーするための5B/6Bエンコーダ704を具備する。図7は、入力データバイトビット(TXD<7:0>)から入力バイトビットラベルへの、出力コード群ビットラベルへの、および、出力コード群ビット(txコード群<9:0>)への解釈を示す。各コード群について、コード群ビット0(最下位ビット(lsb))は送信された第1のビットであり、コード群ビット9(最上位ビット(msb))は最後に送信されたビットである。
図7のエンコーダ700において、8B/10Bコードは、5B/6Bおよび3B/4Bコードから構築されるであろう。5B/6Bおよび3B/4Bコード用のコーディングテーブルの組み合わせされたサイズは、典型的には、8B/10Bコード用の単一のコーディングテーブルよりも非常に小さい。また、組み合わせ論理は、コーディングテーブルをさらに簡略化するのに使用され得る。これにより、データバイトを3ビット(3B)および5ビット(5B)部分へ分割することに基づいた実施は、非常に効率的であり得る。
図7に示されているように、データバイトの8ビットは、A、B、C、D、E、F、GおよびH(lsbからmsb)と指定される。エンコーダ700は、データバイトの8ビットをa、b、c、d、e、i、f、g、hおよびjと指定された10ビットコードへと解釈する。コード群は、2個のサブ群として扱われ、1つは6個のコードビット(a、b、c、d、eおよびi)を含有し、1つは4個のコードビット(f、g、hおよびj)を含有する。与えられたコードは、ショートハンド/Dx.y/(データコード用)または/Kx.y/(特殊コード用)として参照され、そこにおいては、xはEDCBA(Eは文字列のmsb)の十進数値で0〜31に分布しており、yはHGF(Hは文字列のmsb)の十進数値で0〜7に分布している。被エンコード10Bコード群は、abcdeifghjの順番で直列に送信される(そして受信される)。データ(D)および特殊(K)コードのいくつかの例が、図8に示される。
図7に示されているように、8ビットのエンコードされていない値は、効果的に2個のサブブロックへと割れる。入力バイトのビットADCDEで代表される5ビットサブブロックは、ビットabcdeiで代表される6ビットサブブロックへとエンコードされる。入力バイトのビットFGHで代表される3ビットサブブロックは、ビットfghjで代表される4ビットサブブロックへとエンコードされる。以下により詳細に記述されるように、各サブブロックは、それと関連して「ディスパリティ」値を有する。ディスパリティは、被エンコードワード(すなわち、コード群)内の0または1の個数間の相違を代表する。いくつかのディスパリティ条件が定義されるであろう。第1としては、ニュートラルディスパリティは、0と1の数が等しいことを指し示す。第2としては、ポジティブ・ディスパリティは、0よりも多くの1があることを指し示す。第3としては、ネガティブ・ディスパリティは、1よりも多くの0があることを指し示す。
エンコーダ700は、望ましくは、ニュートラル平均ディスパリティを維持するように設計される。平均ディスパリティは重要であり、なぜなら、それが直列線のDC成分を決定するからです。歪みまたはバンド幅増加コードの使用なしで、10B被エンコード信号が媒体上へとAC結合され得ること(例えば、トランスまたはコンデンサを介した手渡し)を確実にするために、被エンコードストリーム内の1と0の数は、いずれの任意のデータ送信でも時間とともに、等しくあるべきである。また、連続した1または0の最大数は、いかなる短期間のDCオフセットを回避するように、最小化されるべきである(たとえ長期間の平均が等しくても)。これは、コードのランレングスを最小化することと称されるであろう。
あらゆる10ビットコード群(データおよび制御コードの双方)は、いずれの2コード群間の連続した1と0の数を制限するのを助ける、次の可能性の1つに適合すべきである、すなわち:5つの1と5つの0、6つの1と4つの0、または、4つの1と6つの0。可能な1024コードのいくつかが、5連続した等しいビットのランレングスを有するコード群だけを残すために、除外されるであろうし、0と1の数間の相違が2より大きくないであろう。これにより、使用可能なコード群は、210=1024可能コード群から注意深く選ばれるであろう。
データコード用に使用されるコード群は、4連続した1または0より大きいものを発生すべきでないか、または、1よりも大きいアンバランスを有すべきでない。以下でより詳細に議論されるように、多くの連続した1または0を有するか、または、非常にアンバランスであるコードは、データ(いくつかは特殊コード用に使用される)用に使用されるべきでない。これは、大きいコードスペースを使用することの1つの利点である、すなわち:256可能データ値用に1024の利用できるコードがあり、だから、望ましからぬ特性を有するこれらのコードは単純に捨て去ることができる。
最もバランスのとれたコードだけを選択することに加えて、あらゆる8B群用の2つの10Bエンコーディングが定義されるであろう。もし、与えられた値用に選ばれた10Bエンコーディングが同じ数の1と0(各々5つ)を有するなら、そのとき、2つの10Bエンコーディングは同じであろう。これは、補償を必要としない完全なバランスしたコードポイントであろう。図8における/D3.1/(すなわち、8Bビット〔HGF EDCBA〕=〔001 00011〕および10Bビット〔abcdei fghj〕=〔110001 1001〕)用のコードは、バランスしたコードポイントの例である。
もし、10Bエンコーディングが、0よりも多い1(または1よりも多い0)を有するなら、そのとき、代わりのエンコーディングは、アンバランスが生じるサブ群〔abcdei〕または〔fghj〕(または双方)の範囲内で、ビットの逆数を使用するであろう。例外が特殊コード群内で作られるであろう、そこにおいては、バランスにかかわらず第2のエンコーディングは常に第1の逆であろう。これにより、図8における/D23.2/(〔HGF EDCBA〕=〔010 10111〕)は、2つの異なる有効エンコーディング、すなわち:〔abcdei fghj〕=〔111010 0101〕および〔abcdei fghj〕=〔000101 0101〕を有する。〔abcdei〕サブ群が0よりも多い1を有するので、第2のエンコーディングは、このサブ群(1よりも多い0を有している)の逆を使用するであろう。受信機でのクロック同期を(バランスされたコードにおいてさえ)より困難にするであろう1または0のロングランを防止するために、与えられたコードポイント用に代わりのコーディングを決定するためのルールは、また、〔abcdei〕および〔fghj〕サブ群それぞれにおいて、〔111000〕と〔1100〕(およびそれらの逆)のパターンを逆にするであろう。
送信機は、コード群単位ベースで、0よりも多い1または1よりも多い0が送信されたのかのランニング集計を保持するであろう。コード群は、(最大限でも)たった1つの追加の1または0のアンバランスを具備するであろうから、情報の単一のビットだけがランニング集計用に必要とされるであろう。これは、ランニング・ディスパリティ(RD)と称されるであろう。
RDは、パターンが多過ぎる1(RD+またはポジティブ・パリティ)へ、または、多過ぎる0(RD−またはネガティブ・ディスパリティ)へ「リーニング」しているかどうかの目安であろう。これにより、RDは、あらゆる被エンコードワードの累積ディスパリティのレコードであろうし、エンコーダ700によってトラックされるであろう。
8ビットコード群は、カレントランニング・ディスパリティ値に基づいてエンコードされるであろう。ニュートラル平均ディスパリティを保証するために、ポジティブRDは、ニュートラルまたはネガティブ・ディスパリティを後続として伴うべきであり、ネガティブRDは、ニュートラルまたはポジティブ・ディスパリティを後続として伴うべきである。
エンコーダ700は、図8に示されているように、カレントランニング・ディスパリティがポジティブかネガティブかどうかに依存して、各々送信されたバイト用の2つの可能コードの1つを選択するであろう。すなわち、カレントRDがネガティブならば、そのときは、被エンコード値がカレントRD(−)カラムから来るであろう。カレントRD(−)カラムは、1よりも多い0を含有しないコード群を含有する。これは、なぜなら、エラーの不存在においては、カレントネガティブRD値は1より多くの0が送信されたことを示し、そこで、1よりも多い0を有する他のコード群が送信され前に、0より多い1を有するコード群が送信されるべきだからである。また、カレントRDがポジティブならば、そのときは、被エンコード値がカレントRD(+)カラムから来るであろう。カレントRD(+)カラムは、上述とは反対の理由で、0よりも多い1を含有するコード群を含有しない。なお、与えられたコード群(例えば、/D21.5/)の双方のカラムにとって、10ビットコード群が等しいことが可能である。
送信される与えられたコード群の結果として、ランニング・ディスパリティは、反転する(「フリップ」)、または、同じのままのいずれかであろう。これにより、非常にタイトな直流バランスが被送信コード群の全てのシーケンスに渡って維持されるであろう。また、受信機は、受信されたコードワードのディスパリティをチェックすることにより多くのエラーを検出するであろう。送信機は、いずれにしろ1ビット以上によってコード群間の直流バランスを動かすことを決して試みるはずがないので、そのように受信されたコード群はエラーであると想定されるであろう。
8ビット値を代表する多くの256コード群は、ディスパリティニュートラルであろう。すなわち、6ビットと4ビットサブブロックの双方は、同じ数の0と1を有するであろう。各コード群の終りのRDは、送信機においてポジティブかネガティブのいずれかで連続的に維持されて、受信機でチェックされるであろう。RDの値は、各サブブロックのディスパリティおよび前のサブブロックのRD値を使用して計算されるであろう。各4ビットまたは5ビットサブブロックは、サブブロック以内に+2、0または−2のディスパリティを、そして、各サブブロックの初めと終りに+1または−1のディスパリティ(それぞれ、ポジティブまたはネガティブ)を有することが許可されるであろう。
図8と同じように、5B/6Bおよび3B/4Bコード表は、6Bおよび4Bサブブロック用のカレントRD(+)およびカレントRD(−)と称される2つの被エンコードビットカラムを有するであろうし、そこにおいては、カレントRDは最終サブブロックの終りにおけるRDの状態を参照にするであろう。8B/10コード群は、いくつかのルールを使用して、これらの分割コード表から構築されるであろう。
第1としては、コード群用のRDは、サブブロックに基づいて計算されるであろうし、そこにおいては、第1の6ビット(abcdei)が1つのサブブロックを形成し、第2の4ビット(fghj)が他のサブブロックを形成する。すなわち、6ビットサブブロックの初めのRDは、最終コード群の終りのRDである。また、4ビットサブブロックの初めのRDは、6ビットサブブロックの終りのRDである。さらに、コード群の終りのRDは、4ビットサブブロックの終りのRDである。
第2としては、サブブロック用のRDは、また、サブブロックに基づいて計算されるであろう。すなわち、もし、サブブロックが0よりも多い1を含有すれば、いずれのサブブロックの終りのRDは、ポジティブである。もし、6ビットサブブロックが000111ならば、いずれのサブブロックの終りのRDは、また、6ビットサブブロックの終りでポジティブであり、もし、4ビットサブブロックが0011ならば、いずれのサブブロックの終りのRDは、さらに、4ビットサブブロックの終りでポジティブである。また、もし、サブブロックが1よりも多い0を含有するならば、いずれのサブブロックの終りのRDはネガティブである。もし、6ビットサブブロックが111000ならば、いずれのサブブロックの終りのRDは、また、6ビットサブブロックの終りでネガティブであり、もし、4ビットサブブロックが1100ならば、いずれのサブブロックの終りのRDは、また、4ビットサブブロックの終りでネガティブである。さらに、もし、上述のいずれもが適用されなければ、サブブロックの終りのRDは、サブブロックの初めと同じである。
第3としては、等しい数の0と1を有する全てのサブブロックは、ディスパリティニュートラルである。サブブロック間の0または1のランレングスを限定するために、次のルールが適用される。第1としては、000111または0011としてエンコードされたサブブロックは、サブブロックの初めのRDがポジティブのときに、発生されられるだけである。これにより、これらのサブブロックの終りのRDは、また、ポジティブである。同様に、111000または1100を含有するサブブロックは、サブブロックの初めのRDがネガティブのときに、発生されられるだけである。これにより、これらのサブブロックの終りのRDは、また、ネガティブである。第2としては、コード群D11.7、D13.7、D14.7、D17.7、D18.7およびD20.7は、代わりの4Bエンコーディングを使用しなければならない。
電源投入(スタートアップ)またはテストモードから抜け出た後は、送信機は、初期RD用にネガティブ値を仮定できるだろう。それは、それが送信する各コード群に基づいて、RD用の新しい値を計算するであろう。ディスパリティニュートラルであるコード群は、RDの値(例えば、図8中の5.6で、これは、8Bビット〔HGF EDCBA〕=〔110 00101〕、10BビットカレントRD(−)=〔abcdei fghj〕=〔101001 0110〕および10BビットカレントRD(+)=〔abcdei fghj〕=〔101001 0110〕を有する)を変えないであろう。非ニュートラル・ディスパリティコード群は、RDの値をフリップするであろう。また、8B/10Bエンコーディング表が、次のデータバイトの適切なエンコーディングを決定するために使用されるであろう。例えば、カレントRDがポジティブで、送信されるべき次のバイトが図8に示されているようにD2.2(すなわち、8Bビット〔HGF EDCBA〕=〔010 00010〕、10BビットカレントRD(−)=〔abcdei fghj〕=〔101101 0101〕および10BビットカレントRD(+)=〔abcdei fghj〕=〔010010 0101〕)であると仮定する。D2.2用のエンコーディングは、「カレントRD(+)」カラムから取り込まれれるべきである。
電源投入またはテストモードをから抜け出た後、受信機は初期RDに対してポジティブまたはネガティブ値のいずれかを仮定するであろう。コード群の受領の際に、それはコード群の有効性を決定し、受信されたコード群に基づいてRDの新しい値を計算するであろう。送信された値は、RDがポジティブまたはネガティブ(すなわち、0でない、または、+1より多いか−1より少ない)のいずれかで維持されるであろうことを確実にするために、定義されるであろうということで、RD値は受信機で補足的なエラーチェックとして使用されるであろう。
受信機の視点から、もし、受信されたコード群が8B/10Bエンコーディング表の正しいカラムにあるならば、カレントRDに依存して、それは有効と考えられるであろうし、デコードされるであろうし、適切な動作が、そのコンテンツに依存して取り込まれるであろう。データコード群に対して、関連したデータバイトが決定される(デコードされる)であろう。もし、受信されたコード群が8B/10Bエンコーディング表の間違ったカラムにあるならば、それは無効と考えられるであろう。無効コード群は、もし、たくさんのそれらが検出されば、同期の欠落をもたらすであろう。しかしながら、コード群の有効性にもかかわらず、それは受信機用のRDの新しい値を計算するために使用されるであろう。
無効コード群の検出は、無効コード群が検出されたコード群がエラー内であることを必ずしも指し示さないであろう。無効コード群は、ビットストリームのRDを変えたが、エラーが生じたコード群で検出可能なエラーをもたらさなかった先行エラーからもたらされるであろう。検出された無効コード群の数は、リンクのビットエラーレート(BER)に比例するであろう。リンクモニタリングは、無効コード群を計数することにより行なわれるであろう。
データとは対照的に、制御および管理情報は、オーダードセットとしてここでは参照されている特別な認識可能ビットパターンの送信を介して通信されるであろう。オーダードセットは、長さにおいて1、2または4コード群であろうし、特殊コード群からのコードで始まるであろう。図9は、特殊コード群のリストを具備する。
電源立ち上げまたはリセット後の第1のコード群は、偶数と考えられるであろうし、第1のコード群に続くコード群は奇数と偶数の間を交互するであろう。10ビットコード群は、データ(/Dx.y/)、特殊(/Kx.y/)および無効コード群に分類されるであろう。IEEE規格802.3は、データビット00−FFの全ての有効エンコーディングの表を含有する。無効コード群は、有効エンコーディングのIEEE規格表にて定義されていない10ビットコード群であり、間違ったRDを有して受信または送信されるそれらコード群であろう。
制御(K)コード群の12個のみが、ギガビット・イーサネットのための有効制御コード群として定義される。特殊コードの使用は、データからオーダードセットを容易に区別可能にさせる。この区別は、データと制御情報の双方が同じ通信チャンネルに渡ってはっきりと手渡されることを可能にする。オーダードセットは「アウト・オブ・バンド」信号化方法を提供するであろう。
図9に示される12個の特殊コード群のうち、6個のみがギガビット・イーサネットのためのオーダードセットを構築するために使用されるであろう。ギガビット・イーサネットは、図10に示されているように、8個のそのようなオーダードセッを定義して使用する。これらの8個のオーダードセットは、コンフィギュレーション・オーダードセット、アイドル・オーダードセットおよびカプセル化オーダードセットとして分類されるであろう。
コンフィギュレーション・オーダードセットは、リンク特性のオートネゴシエーションのために使用されるであろう。具体的には、オーダードセット/C1/および/C2/は、16ビットコンフィギュレーション・レジスターのコンテンツを伝達するために使用されるであろう:
/C1/=/K28.5/D21.5/Config・Reg〔7:0〕/Config・Reg〔15:8〕/
/C2/=/K28.5/D2.2/Config・Reg〔7:0〕/Config・Reg〔15:8〕/
/K28.5/コード群は、第1のコード群として使用されるであろう、なぜなら、それが上述で論議したようなユニークなデータパターンであるカンマを含有するからである。このコード群の受領は、もし、データエラーがなければ、データパケットの間には生じないであろう。これは、コンフィギュレーションおよびアイドルのような非常に特有なオーダードセットを有しての使用を、非常に有用にさせる。コード群/D21.5/と/D2.2/は、それらの高ビット遷移密度のために選ばれた(図8参照)。オーダードセット/C2/と交互に起きるオーダードセット/C1/の連続反復は、16ビットコンフィギュレーション・レジスターのコンテンツを伝達するために使用されるであろう。
オーダードセット/C1/は、コード群/D21.5/の送信後に、カレントRDをフリップするであろう。これは、コード群/K28.5がRDをフリップするであろうし、コード群/D21.5/がカレントRDを維持するであろうゆえである。
オーダードセット/C2/は、コード群/D2.2/の送信後に、カレントRDを持続するであろう。これは、コード群/K28.5/とコード群/D2.2/の双方がカレントRDをフリップするであろうゆえである。
コンフィギュレーション・レジスターの等しい値に対して、/C1/オーダードセットは、スタートでのRDと反対に、送信された/C1/オーダードセットの終りでRDを変えるであろう。/C2/オーダードセットは、スタート時と同じRDにて、被送信/C1/オーダードセットの終りでRDを保持するであろう。
アイドル・オーダードセット(/I/)は、送信間で使用されるであろう。それらは、GMIIサブレイヤーからの送信活動がない(例えば、TX・ENとTX・ERの双方がインアクティブである)たびに、連続的におよび反復的に送信されるであろう。オーダードセット/I1/および/I2/は、連続フィルパターンを設けるため、クロック同期を確立して維持するためおよびパケットデータの範囲を定めるために送信されるであろう。周期的移行が、受信クロックの同期を維持するために要求される。/I/オーダードセットは、高周波アイドル・オーダードセット・シーケンスの間に受信機を最適同期に保持するために、高い遷移密度を有するであろう。区別キャリヤイベントは、アイドル・オーダードセットにより分離されるであろう。受信機がアイドル・オーダードセットを見ると、それはキャリヤを失うであろう。
/I1/オーダードセットは、/D5.6/コード群を後続として伴うネガティブ・ディスパリティ/K28.5/コード群(10ビット0x283)を具備するであろう。/D5.6/コード群(図8を参照)は、ポジティブおよびネガティブ・ディスパリティのバージョン用に同じ値の10ビット0x1A5を有し、バランスされた10ビットコードを有する。もし、/I1/オーダードセットを送信する前に、RDがポジティブならば、/I1/オーダードセットは、一度だけ送信されるべきである。/I1/オーダードセットは、スタート時のRDを逆転するように、送信された/I1/オーダードセットの終りのRDを変えるであろう。
/I2/オーダードセットは、ネガティブ・ディスパリティ/D16.2/コード群(10ビット0x289)を後続として伴うポジティブ・ディスパリティ/K28.5/コード群(10ビット0x17C)を具備するであろう。もし、アイドル・オーダードセット・シーケンスをスタートする前にRDがネガティブであれば、/I2/オーダードセットは、アイドル・オーダードセット・シーケンスをスタートするであろう。そうでなければ、/I2/オーダードセットは、/I1/オーダードセットに続いて連続的に送信され、そして、被送信コード群シーケンスの終りまでネガティブRDを維持するであろう。/D5.6/コード群と/D16.2/コード群が、それらの高ビット遷移密度のために選ばれた(図8参照)。
/I/オーダードセットは、RDがネガティブであることを確実にするために送信されるであろう。/I1/オーダードセットと/I2/オーダードセットは、コードビットストリームのRDを制御するために使用されるであろう。/I1/オーダードセットはRDを変えるであろうし、一方、/I2/オーダードセットはRDを維持するであろう。もし、アイドル・オーダードセットの前にRDがポジティブであれば、/I1/オーダードセットが選ばれるであろう。もし、アイドル・オーダードセットの前にRDがネガティブであれば、/I2/オーダードセットが選ばれるであろう。パケットに続く第1のアイドル・オーダードセットまたはコンフィギュレーション・オーダードセットは、カレントポジティブまたはネガティブRDをネガティブ値に戻すであろう。単一のアイドル・オーダードセットが、この目的のために要求されるであろう。全ての次に続くアイドル・オーダードセットは、ネガティブ終了RDを確実にするための/I2/オーダードセットであろう。
これにより、/I1/と/I2/オーダードセットの使用は、以下の振る舞いを産出するであろう。/I1/オーダードセットの終りでのRDは、/I1/オーダードセットの始まりでのRDの反対であろう。しかし、/I2/オーダードセットの終りでのRDは、/I2/オーダードセットの始まり(すなわち、/I2/オーダードセットを送信する直前)でのRDと同じであるであろう。/I2/オーダードセットは、時と同じRDにて、被送信/I1/オーダードセットの終りでRDを保持するであろう。これは、アイドル・オーダードセットの終りでネガティブRDを確実にする。
カプセル化オーダードセットは、スタート・オブ・パケットまたはスタート・オブ・パケットデリミタ(SPD)オーダードセット(/S/)、エンド・オブ・パケット・オーダードセット(/T/)、キャリヤ拡張オーダードセット(/R/)およびエラー・伝達オーダードセット(/V/)を具備するであろう。
スタート・オブ・パケットまたはスタート・オブ・パケットデリミタ(SPD)オーダードセット(/S/)は、データ送信シーケンスのスタートを指し示すために使用されるであろう。TX・EN信号は、プリアンブルの第1バイトを有してアサートされるであろうし、MACフレーム全体に対してアサートしたままで残るあろう(図11参照)。TX・EN信号がアクティブになるときに、MACプリアンブルのカレント(第1の)バイトは/S/オーダードセットで置き換えられるであろう。受信機でのデータ受信のスタートで、/S/オーダードセットは、MACプリアンブルの第1バイトにより置き換えられるであろう。/S/オーダードセットは、単一のパケットまたはパケット・バーストの第1のパケットのための/I/オーダードセットに続く。/S/オーダードセットは、パケット・バーストの第2のおよび次に続くパケットのための/R/オーダードセットに続く。
ギガビット・イーサネットパケットのMACプリアンブルは、接続されたネットワークデバイスが新しい到来フレームを容易に検出できる1と0ビットの交互(ここで、最終のビットは0である)の56ビット(7バイト)パターンを具備する。MACプリアンブルは、物理レイヤーがキャリヤを検出することおよび実際のスタート・オブ・フレームデリミタ(SFD)が受信完了する前に到来フレームを有する安定状態同期に到達することを可能にする。
エンド・オブ・パケット・オーダードセット(/T/)は、データ送信シーケンスの終りを指し示すために使用されるであろう。それは、典型的には、データ送信シーケンスの終りを指し示す第1のオーダードセットである。/T/オーダードセットは、キャリヤ表示の迅速なデアサーションを補助するためにデバイスにより使用されるであろう。図11に例示されるように、TX・EN信号は、送信されるMACフレームのフレームチェック・シーケンス(FCS)の終りでデアサートされるであろうし、それから、/T/オーダードセットが送信されるであろう。
エンド・オブ・パケットデリミタ(EPD)は、/T/R/R/コード群または/T/R/K28.5/コード群のいずれかを具備するであろう。/K28.5/コード群は、典型的には、/I/オーダードセットの第1のコード群として生じる。EPDは、MACパケットのFCSの最終データバイトに続くであろうTX・EN信号の各デアサーションに続いて送信されるであろう。
受信機は、EPDの後、第1の/I/オーダードセットの送信の2バイト前に始まったようにMACインターパケット・ギャップ(IPG)を考えるであろう(図11参照)。例えば、EPDによってパケットが終了されるとき、EPDの/T/R/コード群部分は、MAC・IPGであると考えられる領域の部分を占有するであろう。
キャリヤ・拡張オーダードセット(/R/)は、マルチ目的のために使用されるであろう。第1としては、/R/オーダードセットは、パケット・バーストの間にキャリヤ拡張を指し示すために使用されるであろう。第2としては、/R/オーダードセットは、パケット・バースト以内のパケットを分離するために使用されるであろう。第3としては、/R/オーダードセットは、EPD/T/R/I/または/T/R/R/I/オーダードセット・シーケンス内の/T/オーダードセットに続く第1の/R/オーダードセットを形成するために使用されるであろう。もし、/T/オーダードセットが偶数番号文字として送信されてキャリヤ拡張がなければ、厳密に、1つの/R/オーダードセットがT/オーダードセットの後に送信されるであろう。第4としては、/R/オーダードセットは、EPD/T/R/R/I/オーダードセット・シーケンス内の/T/オーダードセットに続く第2の/R/オーダードセットを形成するために使用されるであろう。この/R/オーダードセットは、もし必要なら、次に続く/I/オーダードセットが偶数番号コード群境界の上に整列されるであろう(すなわち、パケット送信の後の第1のアイドル・オーダードセットの正しいコード群アライメントを確実にする)ように、それだけ、または、パケット・バーストの最終パケットを詰めるために使用される。
エラー・伝達オーダードセット(/V/)は、コリジョンまたはエラー条件を指し示すために使用されるであろう。無効コード群は、エンド・ステーションにより媒体の上へと故意には送信されない。無効コード群の検出は、受信機が同期外れであることの表示であろう。無効コード群は、次の条件の1つが検出されるときに受信機によって認識される、すなわち:1.)コード違反がコード群以内で検出されるとき、2.)特殊コード群アライメントエラーが検出されるとき(例えば、/K28.5/コード群が奇数番号付けされたコード群として受信されるとき、ノン/K28.5/特殊コード群がただちに/K28.5/コード群に続くとき、ノンサポート特殊文字が検出されるとき、など)、および、3.)不適切に始まるRDを有するオーダードセットが受信されるとき。
エラー・伝達オーダードセット(/V/)は、他の接続されたネットワークデバイスへの、エラーの送信または無効コードを指し示すために使用されるであろう。/V/オーダードセットは、TX・ENとTX・ER信号のアサーションのときに、または、TXD<7:0>信号が0Fに等しくないのにTX・EN信号のデアサーションを有するTX・ER信号のアサーションのときに送信されるであろう。/V/オーダードセットまたは無効コード群(コリジョンまたはエラー条件の結果)の受信は、RX・ER信号をアサートしてRXD<7:0>信号を適切な値に設定値に設定することにより指し示されるであろう。
/K28.5特殊コード群の8B/10Bエンコーディング(図8と図9参照)は、abcdeif7ビットパターン0011111(カンマ+)またはその逆のabcdeif7ビットパターン1100000(カンマ−)を具備する。これらのカンマ・ビットパターン各々は、それが5個の連続1または0を含有することにおいてユニークである。これらのカンマ・ビットパターン各々は、送信エラーの不存在において、被送信コード群以内に現れないであろうし、2つの隣接コード群の境界を横断して生じないであろう。
/K28.5/特殊コード群は、0と1の交互シーケンス(すなわち、00111110101’または1100000101’)を伴うカンマ・ビットパターンを具備し、コンフィギュレーションおよびアイドル・オーダードセットにて使用のために意図的に選択された。この全体のビットパターンは、リンク開始でおよびフレーム間で到来ビットストリームを整列し、同期するために容易な方法を提供するであろう。この全体のビットパターンは、リンク開始で、および、フレーム間で到来ビットストリームを整列して同期するために容易な方法を提供するであろう。つまり、それは、受信されたビットストリームの文字とワード境界を容易に発見して確証するために使用されるであろう。カンマ・ビットパターンは、また、同期を取得て維持するためにPCSサブレイヤー208によって使用されるであろう。/K28.5/特殊コード群のビットghjは、ビット同期の受信機取得を簡単化して、最大数の移行を進呈する。
上述で議論されたように、ギガビット・イーサネットは、もしエラーが生じなければ、カンマ・ビットパターンが/K28.5/特殊コード群に特有であることを確実にする8B/10Bコーディング・スキームを使用する。/K28.5/特殊コード群は、ギガビット・イーサネットのための通常動作にて使用されるカンマ・ビットパターンを具備する唯一のコード群である。カンマ・ビットパターンは、もしエラーが生じなければ、いずれの2つの隣接するコード群の境界を横断して生じないであろう。/K28.7/特殊コード群は、また、カンマ・ビットパターンを具備するけれど、それは診断使用のために留保される。また、/K28.7/特殊コード群は、注意して使用されるべきである、なぜなら、このコード群は、いくつかの他のコード群(/K28.x/、/D3.x/、/D11.x/、/D12.x/、/D19.x/、/D20.x/または/D28.x/コード群、ここで、xは0から7の値)との組み合わせにて、整列されたコード群ではないカンマ・ビットパターンを発生する(すなわち、2つのコード群の境界を横断してカンマ・ビットパターンを発生させる)であろうからである。/K28.7/特殊コード群が、/K28.x/、/D3.x/、/D11.x/、/D12.x/、/D19.x/、/D20.x/または/D28.x/コード群(ここでは、xは0から7の値)を後続として伴うときに、10ビット/K28.5/特殊コード群は、7ビットカンマ・ビットパターンが境界を横断して検出されることを防止するために使用されるであろう。他の特殊コード群である/K28.1/は、また、カンマ・ビットパターンを具備するが、この特殊コード群は、ギガビット・イーサネットにおいて使用されない。
デバイス・スタートアップ後のPCSサブレイヤー208の主な機能は、PMAサブレイヤー206およびPMDサブレイヤー204による送信のためにコード群ストリーム内へのMACフレームのカプセル化である。PCSサブレイヤー208は、(リコンシリエイション・サブレイヤーおよびGMIIサブレイヤー210を介して)MACサブレイヤーからパケットを受け入れて、それらをコード群ストリーム内にカプセル化するであろう。PCSサブレイヤー208は、PMAサブレイヤー206から受信されたコード群ストリームをデコードし、それからパケットを抽出し、(リコンシリエイション・サブレイヤーおよびGMIIサブレイヤー210を介して)パケットをMACサブレイヤーに手渡すであろう。MACフレームのカプセル化プロセスは、図11に示されている。PCSサブレイヤー208における受信およびデカプセル化プロセスは、本質的にカプセル化および送信プロセスの逆プロセスである。
TX・EN、TX・ER、RX・DVおよびRX・ER信号は、MACフレームのカプセル化とデカプセル化における重要な部分を演じるであろう。TXD<7:0>およびRXD<7:0>信号とともにこれらの信号は、MACサブレイヤーの状態(例えば、MACサブレイヤーが通常のデータ・フレームまたは制御信号を送信しているかどうか)を指し示すために使用されるであろう。
上述で議論されたように、/S/および/T/オーダードセットは、PCS被送信フレームの初めと終りをそれぞれ指し示すデリミタとして使用されるであろう。/S/および/T/オーダードセットは、アイドル・オーダードセットまたはインターフレーム・ギャップの終りおよびプリアンブルの始まり(図11参照)を表わしている物理レイヤー・カプセル化内のデータビットストリームをデリミットするであろう。これは、プリアンブルの終りと行き先アドレスの始まりを指し示すためのデータリンク・レイヤーにより使用されるスタート・オブ・フレームデリミタ(SFD)から区別されるであろう。
スタート・フレームデリミタ(SFD)は、ギガビット・イーサネット・フレームのプリアンブルの終りをマーキングする8ビット(1バイト)値であろう。SFDは、行き先MACアドレスをただちに後続として伴うであろう。それは、プリアンブルの交互ビットパターンを続ける(そして、最終の2つのビット位置にて2つの1がプリアンブル・シーケンスの終りを確認するであろう)値10101011を有する。SFDは、このパターンを壊して実際のフレームのスタートを信号で伝えるために設計されるであろう。SFDは、/S/オーダードセットによって使用されるであろう「アウト・オブ・バンド」信号伝送とは対照的に「イン・バンド」で信号伝送される。IEEE規格802.3は、この区別を指し示すために、「スタート・フレーム」よりはむしろ、用語「スタート・パケットデリミタ」を/S/オーダードセットのために使用する。
データパケットは、次の要件によって送信される。第1としては、/I/オーダードセットが偶数コード群位置に送信されるべきである。第2としては、/I/オーダードセットがパケット・バーストの第1のパケットまたは非パケット・バーストのパケットのみのための/S/オーダードセットより先行すべきである。これは、もし、それが/I/オーダードセットに続くならば、/S/オーダードセットが偶数コード群位置にて送信されるであろうことを意味する。第3としては、/R/オーダードセットは、パケット・バースト以内の第2のおよび引き続きのパケットのための/S/オーダードセットより先行すべきである。第4としては、/S/オーダードセットは、/R/オーダードセットに続くときに、偶数または奇数コード位置にて送信されるであろう。
図12を参照すると、本開示の具体例に従って、スタート・オブ・パケットデリミタ(SPD)オーダードセット(/S/)がいつ送信されるであろうかを指し示している表が示されている。図12に示されているように、/S/オーダードセットは、/I/オーダードセットに続くときに偶数コード群位置にて送信されるべきである。
図13を参照すると、本開示の具体例に従って、エンド・オブ・パケットデリミタ(EPD)がいつ/T/R/K28.5/コード群を有して送信されるであろうかを指し示している表が示されている。図13に示されているように、EPDシーケンスは、/T/コード群が偶数コード群位置に陥るときに送信されるべきである。この場合、/I/オーダードセットは、また、偶数コード群位置に陥るであろう。
図14を参照すると、本開示の具体例に従って、エンド・オブ・パケットデリミタ(EPD)がいつ/T/R/R/コード群を有して送信されるであろうかを指し示している表が示されている。図14に示されているように、/T/コード群が奇数コード群位置に陥るときに、/T/R/K28.5/EPDは十分でないであろう、なぜなら、それは/I/オーダードセットを奇数コード群位置に陥らせるだろうからである。
図2に戻って参照すると、PCSサブレイヤー208は、それに基づいて、TX・ENとTX・ERとTXD<7:0>信号および送信オーダードセットを解釈するであろう。表1に示されているように、TX・EN信号は、パケットが送られるたびにアサートされる。もし、GMIIサブレイヤー210がデータ送信の間にエラーを認識するならば、それは、PCSサブレイヤー208に/V/コード群を送るように警報すると同様にTX・ER信号をアサートするでしょう。TX・ER信号は、キャリヤ拡張を送信するときを除き、送信エラーを指し示すために使用される。
TX・EN信号は、FCSフィールドが送信されたときに、デアサートされる。キャリヤ拡張は、TX・EN信号とTX・ER信号がTX・EN信号=0、TX・ER信号=1であり、および、TXD<7:0>信号が0Fに等しくないように双方ともフリップされるときに、パケットの後に送信されるであろうし、それから、PCSサブレイヤー208は、それをエラーと考えて/V/オーダードセットを送信するであろう。
もし、TX・EN信号=0およびTX・ER信号=0であれば、そのとき、PCSサブレイヤー208は/I/オーダードセットを送信するであろう。
PCSサブレイヤー208は、また、RX・DV、RX・ERおよびRXD<7:0>信号を解釈し、それに基づいてオーダードセットを送信するであろう。表2は、RX・DV、RX・ERおよびRXD<7:0>信号の状態および対応する被送信オーダードセットを示す。
図9に示されているように、本開示の具体例に従って、タイムサービス・オーダードセット(TSOS)として使用されるであろう5つの未使用特殊コード群がある。5つの特殊コード群のセットは、/K28.0/、/K28.2/、/K28.3/、/K28.4/および/K28.6/を有するであろう。特殊コード群/K28.1/は排除されて使用されないであろう、なぜなら、上述で説明したように、それは、特殊コード群/K28.5/により望ましくは取り扱われるべきカンマを含有しているからである。カンマを含有する特殊コード群/K28.5/は、通常のギガビット・イーサネット動作のために使用されるであろうし、一方、特殊コード群/K28.7/は診断使用のために留保されているであろう。これにより、図15を参照すると、本開示の具体例に従って、タイムサービス・オーダードセット(TSOS)は、3つのオプションの1つにより定義されるであろう。
第1としては、タイムサービス・オーダードセット(TSOS)は、未使用特殊コード群から選択される単一の未使用特殊コード群(K)であろう。例えば、図15を参照すると、タイムサービス・オーダードセット(TSOS)は、/Kx.y/であろう。
第2としては、タイムサービス・オーダードセット(TSOS)は、追加の未使用特殊コード群(K)を後続として伴う初期未使用特殊コード群(K)を具備するコード群のシーケンスであろう。例えば、図15を参照すると、タイムサービス・オーダードセット(TSOS)は、/Kx1.y1/Kx2.y2/であろう。
第3としては、タイムサービス・オーダードセット(TSOS)は、追加データ(D)コード群を後続として伴う初期未使用特殊コード群(K)を具備するコード群のシーケンスであろう。例えば、図15を参照すると、タイムサービス・オーダードセット(TSOS)は/Kx.y/Du.v/であろう。この場合、第2のコード/Du.v/は、/C/と/I/オーダードセットにおけるデータ特性の選択と同様に、高ビット遷移密度、適切なディスパリティ制御およびコーディング距離を設けるために選択されるであろう。
タイムサービス・オーダードセット(TSOS)は、タイムサービスデータ(TSD)の送信機および受信機により普遍的に理解されるべきである。タイムサービス・オーダードセット(TSOS)の標準化は、マルチベンダー・ネットワークにおけるデバイス間の相互運用性を促進するであろう。
しかも、タイムサービス・オーダードセット(TSOS)の定義は、PCSフレーム内のカプセル化されたタイムサービスデータ(TSD)の種類を指し示すべきである。グローバルにユニークなタイムサービス・オーダードセット(TSOS)は、タイムサービスデータ(TSD)(例えば、IEEE1588・PTP・TSD、NTP・TSDなど)の各々の種類のために定義されるであろう。IEEE1588・PTPとNTPは、パケット・ネットワークにおけるタイミングデータを転送するために使用される標準プロトコールである。これにより、さらに例示すると、TTP1、TTP2とTTP3で示される3つのタイム転送プロトコールは、各々がグローバルにユニークなタイムサービス・オーダードセット(TSO)のTSOS1、TSOS2およびTSOS3をそれぞれ有するであろう。これらのユニークなタイムサービス・オーダードセット(TSOS)の各々は、上記の3つのオプションのいずれかに基づいて定義されるであろう。実際には、ほとんどのタイミングサービス・アプリケーションは、使用できるタイムサービス・オーダードセット(TSOS)のスペースが、足りている(十二分でないとするなら)であろうことを意味している、PTPとNTPのような利用可能な標準ベースのプロトコールを利用するであろう。
図16を参照すると、本開示の具体例に従って、エンコーダがビジーでないときのタイムサービス・オーダードセット(TSOS)およびタイムサービスデータ(TSD)のカプセル化が示されている。オーダードセット/S/および/T/は、各々の被送信フレームの初めと終りをそれぞれ指し示すデリミタとして使用されるであろう。タイムサービス・オーダードセット(TSOS)は、タイムサービスデータ(TSD)を運ぶいずれのPCSフレームのための/S/オーダードセットに続くであろう。図16は、エンコーダがビジーでないとき(例えば、GMIIサブレイヤー210からのパケットデータのいずれもが送信準備できないとき)のタイムサービスデータ(TSD)のカプセル化を例示している。
図17を参照すると、本開示の具体例に従って、エンコーダがビジーのときのタイムサービス・オーダードセット(TSOS)およびタイムサービスデータ(TSD)のカプセル化が示されている。フレームバーストの概念は、エンコーダがGMIIサブレイヤー210からMACパケットを送信するにビジーであるときに、使用されるであろう。フレームバーストはデバイスが単一のアクセスのチャンネルを有する複数のPCSフレームを送ることを可能にする。オーダードセット/R/は、図17に示されているように、パケットのバースト以内に第2のおよび次に続くパケットのための/S/オーダードセットに先行するであろう。タイムサービス・オーダードセット(TSOS)およびタイムサービスデータ(TSD)の送信は、上記のPCS送信データ形式に従うであろう。図17は、エンコーダがビジーのとき(例えば、GMIIサブレイヤー210からパケットデータが送信準備できたとき)のタイムサービスデータ(TSD)のカプセル化を例示する。
この点で注目すべきは、いずれにせよ(すなわち、図16に例示された場合または図17に例示された場合)、PCS送信部302、PCS受信部502およびそれぞれのタイム転送ユニット306と506は、物理レイヤーでオンザフライにて書込み・読出しタイムスタンプを捕らえるであろうことだ。これは、非常に正確なタイムスタンプ計測およびクロック同期をもたらす。
前述に鑑みて、ここにて定義されたように、タイムサービス・オーダードセット(TSOS)が、タイミング情報(標準ベースまたは専用のいずれか)を移送するための輸送手段を、上位のプロトコール・レイヤー処理をバイパスしている間に、直接的にイーサネット物理レイヤーに渡って提供するであろうことが理解されるであろう。これにより、転送されたクロックの品質を悪くするであろうこれらの上位のプロトコール・レイヤーと関連した障害は完全に除去される。
この点で注目すべきは、上記のように本開示に従った信号エンコーディング経由のタイム転送は、典型的に、ある程度入力データの処理および出力データの発生を伴うことである。この入力データプロセシングと出力データ発生は、ハードウェアまたはソフトウェアにて実施されるであろう。例えば、特定の電子部品は、上記のように本開示に従った信号エンコーディング経由のタイム転送と関連している機能を実施するためのPCSサブレイヤー、または、同様であるか関連する回路内に採用されるであろう。あるいは、指示に従って動作する1つ以上のプロセッサが、上記のように本開示に従った信号エンコーディング経由のタイム転送と関連している機能を実施するであろう。もし、そのような場合は、そのような指示が1つ以上のプロセッサ読取可能媒体(例えば、磁気ディスクまたは他の記憶媒体)に記憶され、または、1つ以上のキャリヤ波内に具現化された1つ以上の信号を経由した1つ以上のプロセッサへ送信されるであろうことは、本開示の範囲内である。
本開示は、ここにて記述された特有な具体例による範囲に限定されるものではない。実際に、ここにて記述されたものに加えて、本開示への他の様々な具体例および修正が、この分野で一般的な技能を有する者にとっては、前述の記載および添付の図面から明らかでしょう。これにより、そのような他の具体例および修正は、本開示の範囲内に収まることが意図されている。さらに、本開示は、特別な目的のための特別な環境において特別な実施の文脈にてここにて記述されたが、この分野で一般的な技能を有する者ならその有益性がそれに限定されないこと、および、本開示がいかなる目的のためのいかなる数の環境においても有益に実施されるであろうと認識するでしょう。従って、以下に明記される請求項は、ここにて記述されたように、本開示の全範囲および精神に鑑みて構文解析されるべきである。