電子装置、フレーム同期の方法、および移動体装置
電子装置には、各々がいくつかのタイム・スロット(SL)に分割されているフレーム(FR)に基づいて、少なくとも一次データおよび二次データ(ISOC,BE)を通信するための複数の機能ユニット(1〜10)と、少なくとも1つの第1のクロック・ドメインのうちの複数の機能ユニット(1〜10)のうちの1つから少なくとも一次データおよび二次データ(ISOC,BE)を受信するための関連する受信機ポート・ユニット(RX1,RX2,…,RXk)、および少なくとも1つの第2のクロック・ドメインのうちの複数の機能ユニット(1〜10)のうちの別の1つに少なくとも一次データおよび二次データ(ISOC,BE)を送信するための関連する送信機ポート・ユニット(TX1,TX2,…,TXk)を有する少なくとも1つのポート(P1,P2,…,Pk)を有する、機能ユニット(1〜10)を結合するための少なくとも1つのネットワーク・ノード(S1〜S4)が設けられる。少なくとも1つの第2のクロック・ドメインは、少なくとも1つの第1のクロック・ドメインと異なる。時間表示レジスタ(t[port])は、少なくとも1つのポート(P1,P2,…,Pk)のうちの1つに関連する受信機ポート・ユニット(RX1,RX2,…,RXk)を経由して受信されているフレーム、および少なくとも1つのポート(P1,P2,…,Pk)のうちの1つに関連する送信機ポート・ユニット(TX1,TX2,…,TXk)を経由して送信されているフレームの相対的な時間位置に関する情報を記憶するために提供され、時間表示レジスタ(t[port])は少なくとも1つのポート(P1,P2,…,Pk)のうちの1つに関連する受信機ポート・ユニット(RX1,RX2,…,RXk)を経由して受信されている少なくとも一次データおよび/または二次データ(ISOC,BE)に従って更新される。タイマ管理手段(TMM)は少なくとも1つの第1のクロック・ドメインのうちの少なくとも1つのポート(P1,P2,…,Pk)のうちの1つに関連する受信機ポート(RX1,RX2,…,RXk)を経由して受信された一次データおよび二次データ(ISOC,BE)を少なくとも監視するため、および時間表示レジスタの値が予定の閾値を超える場合、少なくとも1つの第2のクロック・ドメインのうちの少なくとも1つのポート(P1,P2,…,Pk)のうちの1つに関連する送信機ポート・ユニット(TX1,TX2,…,TXk)を経由して、少なくとも一次データ(ISOC)の伝送を休止するために提供される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子装置と、フレーム同期の方法と、データ処理システムと、移動体装置とに関する。
【背景技術】
【0002】
移動体電話またはPDAなど、現在の移動体システムは、新しい特徴の実施および既存の機能の改善に対して絶えず高まる必要性により、複雑性が連続的に増加することを示している。この増加は、システムの構成要素の数および複雑性の増加によって可能になる。同時に、これらの構成要素は通信するデータ転送速度も増加する。システムの複雑性の増加とあいまって、より高いデータ転送速度は、モジュラ手法の必要性を生み出している。このような手法によれば、処理システムは、複数の比較的独立した、複雑なモジュールを有する。
【0003】
従来の移動体システムでは、モジュールは、通常、高価な並列の専用リンクを経由して互いに通信する。しかし、モジュールの数が増えると、この通信方法はもはや以降の理由で実用的ではなくなる。第1に、リンクの数が増えることは、費用がかかりすぎる。第2に、専用リンクを使用することは、新しいシステム構成を迅速に生み出す柔軟性を制限する。
【0004】
シリアルリンクを使用する通信ネットワークは、これらの不利点を克服するために効果的な方法を形成する。ネットワークは、最近、非常に複雑な移動体システムにおける相互接続問題に対する解決策として、かなりの注目を得ている(例えば、ユニプロ作業グループ[UniPro Working Group]は、現在、MIPI標準化機関において移動体装置のためのネットワーク・プロトコルを定義している。詳細な情報に関しては、www.mipi.orgを参照されたい)。その理由は2つある。第1に、ネットワーク・リンクは直列式であり、リンクのためのピン/ワイヤの数をかなり減らし、したがって、相互接続費用をかなり削減する。第2に、ネットワークは、モジュールが相互接続される方法に柔軟性を提供し、新しい構成の迅速かつ容易な作成を可能にする。しかし、厳しいタイミング制約を要求するリアルタイムのアプリケーションの場合、このようなネットワークは、スループットの保証、ならびに待ち時間の限界を提供しなければならない。
【0005】
相互接続中心の手法は迅速に新しいシステムを開発するための強力な方法を提供する。このような手法では、システムは複数のノードとして開発される。データ処理ユニットとしても示されるノードは、機能ユニット(例えば、記憶ユニット)、専用プロセッサ、汎用プロセッサ、ならびにルータおよびスイッチなどのデータ経路ユニット[data routing units]を有する。機能ユニットは、データ経路ユニットによって形成されるネットワーク内に配置される。このようなネットワークは、チップ上のネットワーク、様々な積分回路を結合するネットワーク、または様々なコンピュータを結合するネットワークであってよい点に留意されたい。ノードの通信プロトコルは標準化される傾向にあり、ネットワークのようなアーキテクチャは、新しいノードにより簡単に拡張されることが可能であり、構成を容易にすることは事実である。
【0006】
費用と電力の理由でノード間のリンクは直列式であり、異なる低振幅[low-swing]信号を使用して、高周波(1GHz以上)で実行する。これらの速度では、単一クロックで複数のチップ・システムを実行することは不可能である。したがって、各チップは局所クロックを有する。クロックは互いに同じ公称周波数を有することが可能であるという事実にもかかわらず、知られた許容値内の偏差が実際には発生することになる。これらの偏差は、水晶発振子の不完全性と局所温度の差とによって引き起こされる。他のシステムでは、様々なノードは意図的に異なるクロック速度を有する場合がある。データ転送は、依然として、データ生成ノード[data producing node](送信機)によって動かされるクロックに対して同期式である。クロックは、第2の連続的に一対のワイヤ上で送られる(ソース同期式データ伝送[source synchronous data transmission]か、または、例えば、PCIエクスプレス[PCI Express]の場合のように、8b10b符号化を使用して、データワイヤ内に埋め込まれる。データは、データと共に送られる送信機のクロックを使用して、宛先ノード(受信機)内でサンプリングされる。
【0007】
既知のクロック・ドメイン・クロッシング技術[clock-domain crossing techniques]のうちの1つを使用し、次いで、データは受信機のクロック・ドメインに転送される。保証された性能を提供するシステムを実施する場合、システム内の資源の用途を正確に制御しなければならない。これを実現する1つの費用効果の高い方法は、その中でスロットが保証されたスループット通信のために予約される、スロットのフレームを定義することである。保証されたスループットが要求されるこのデータは、一次データとも呼ばれる。様々な機能を制御するために使用されるデータは、制御データと呼ばれることになる。このようなシステムは、すべての装置内のフレームとスイッチとが同期化されることを要求する。
【発明の開示】
【発明が解決しようとする課題】
【0008】
複数のネットワーク・ノードを有する、マルチ・クロック・ネットワーク環境内でフレームの伝送を同期化することが、本発明の目的である。
【課題を解決するための手段】
【0009】
この目的は、請求項1に記載の電子装置によって、請求項12に記載のフレーム同期化の方法によって、請求項13に記載の移動体装置によって、また請求項14に記載のデータ処理システムによって解決される。
【0010】
したがって、電子装置には、各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、少なくとも1つの第1のクロック・ドメインのうちの1つ内の複数の機能ユニットのうちの1つから少なくとも一次データおよび二次データを受信するための関連する受信機ポート・ユニット、および少なくとも1つの第2のクロック・ドメインのうちの1つ内の複数の機能ユニットのうちの別の1つに少なくとも一次データおよび二次データを送信するための関連する送信機ポート・ユニットを有する少なくとも1つのポートを有する、機能ユニットを結合するための少なくとも1つのネットワーク・ノードが設けられている。少なくとも1つの第2のクロック・ドメインは、少なくとも1つの第1のクロック・ドメインと異なる。時間表示レジスタ[time indication register]は、少なくとも1つのポートのうちの1つに関連する受信機ポート・ユニットを経由して受信されているフレーム、および少なくとも1つのポートのうちの1つに関連する送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を記憶するために提供され、時間表示レジスタは、少なくとも1つのポートのうちの1つに関連する受信機ポート・ユニットを経由して受信されている少なくとも一次データおよび/または二次データに従って更新される。タイマ管理手段は、少なくとも1つの第1のクロック・ドメインのうちの1つ内の少なくとも1つのポートのうちの1つに関連する受信機ポートを経由して受信される少なくとも一次データおよび二次データを監視するため、および時間表示レジスタの値が所定の閾値を超える場合、少なくとも1つの第2のクロック・ドメインのうちの1つ内の少なくとも1つのポートのうちの1つに関連する送信機ポート・ユニットを経由して、少なくとも一次データの伝送を休止するために提供される。
【0011】
したがって、受信フレームと送信フレームとの間の相対的な時間位置が所定の値を超える場合のみ、フレーム同期化が実施される可能性があるように一次データの伝送は休止される。
【0012】
本発明の一態様によれば、時間表示レジスタは、受信機ポート・ユニットによって受信されるエスケープ・タイプのパケット[escape type packets]に従って、やはりそれらのパケットを考慮に入れるために更新される。
【0013】
本発明の別の態様によれば、一次データの伝送が休止されている場合でさえ、時間管理手段は二次データの伝送を可能にする。したがって、フレームを同期化するために一次データが休止される場合、二次データは送信され得る。
【0014】
本発明の別の態様によれば、時間表示レジスタの更新と、伝送の休止とは、フレーム同期化が細粒度に基づいて実行され得るように、単語境界またはスロット境界で実行されてよい。
【0015】
本発明のさらに別の実施形態によれば、前記フレームは、各々、事前定義された固定存続期間を有し、前記スロットは事前定義された固定サイズを有する。
【0016】
本発明の別の態様によれば、スロットのサイズは、最大の一次データ・パケットを収容するように適応される。
【0017】
本発明の別の態様によれば、一次データ・パケットは、そのために予約されたスロットの始まりで開始し、二次パケットは、予約されていないスロットの始まりで、または一次データによって少なくとも部分的に使用されるスロットの最中に開始する。したがって、二次データ、すなわち、リンクの利用可能な帯域幅が一次データによって完全に使用されていない場合、BEデータは送信されてよい。
【0018】
本発明の別の態様によれば、時間管理手段は、ポートの受信機ポート・ユニットを経由して受信される一次データおよび二次データを監視するために、ネットワーク・ノード内のポートの各々に対して1つの時間管理ユニットを有する。したがって、フレーム同期化は各ポートに対して独立して実行され得る。
【0019】
本発明のさらに別の態様によれば、少なくとも1つのネットワーク・ノードの各々は、各ポートのための相対的な時間位置に関する情報を記憶するため、およびそれぞれの時間表示情報が各ポートのために個別に利用可能なように、各ポートに対して時間表示情報を更新するための時間表示レジスタを有する。
【0020】
本発明はまた、各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データと通信するための複数の機能ユニットと、少なくとも1つのポートを有する機能ユニットを結合するための少なくとも1つのネットワーク・ノードとを有する電子装置内のフレーム同期化法にも関する。少なくとも一次データおよび二次データは、少なくとも1つのポートに関連する受信機ポート・ユニットによって、少なくとも1つの第1のクロック・ドメインのうちの1つ内の複数の機能ユニットのうちの1つから受信される。少なくとも一次データおよび二次データは、少なくとも1つのポートに関連する送信機ポート・ユニットによって、少なくとも1つの第2のクロック・ドメインのうちの1つ内の複数の機能ユニットのうちの別の1つに送信される。少なくとも1つの第2のクロック・ドメインは、少なくとも1つの第1のクロック・ドメインと異なる。少なくとも1つのポートのうちの1つに関連する受信機ポート・ユニットを経由して受信されているフレーム、および少なくとも1つのポートのうちの1つに関連する送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報は、時間表示レジスタ内に記憶される。時間表示レジスタは、少なくとも1つのポートのうちの1つに関連する受信機ポート・ユニットを経由して受信されている、少なくとも一次データおよび/または二次データに従って更新される。少なくとも1つの第1のクロック・ドメインのうちの1つ内の少なくとも1つのポートのうちの1つに関連する受信機ポートを経由して受信されている少なくとも一次データおよび二次データは、タイマ管理手段によって監視される。時間表示レジスタの値が事前定義された閾値を超える場合、少なくとも1つの第2のクロック・ドメインのうちの1つ内の少なくとも1つのポートのうちの1つに関連する送信機ポート・ユニットを経由する少なくとも一次データの伝送は休止される。
【0021】
本発明はまた、前述の電子装置に対応する移動体装置およびデータ処理システムに関する。
【0022】
多重リンクの全域でフレームの同期化を提供することは、低いバッファ・スイッチでバッファ・オーバフローが発生しないことを保証することが可能であり、例えば、リアルタイムのデータトラフィックのために帯域幅保証を提供することができる。さらに、低電力のオプションを提示することが可能である。すなわち、積極的な電力管理が実施可能である。このようなフレーム同期化を可能にするために、それぞれの情報は、ノード間で交換されてよく、またはすべてのノードに分散される必要がある。本発明は、以下に、図面を参照してより詳細に説明される。
【発明を実施するための最良の形態】
【0023】
図1は、本発明が応用され得るデータ処理システム、すなわち電子装置のアーキテクチャの概略ブロック図を示す。データ処理システム、すなわち電子装置は、モデム1、通信アクセラレータ[accelerator]2、第1および第2の汎用処理エンジン3および6、メディア・アクセラレータ4、カメラ8、ディスプレイ9、大容量記憶装置5および10、ならびに補助装置7など、様々な機能ユニットを有する、高性能の移動体電話として実施されてよい。機能ユニットは、スイッチS1、S2、S3およびS4によってネットワークに結合される。様々な機能ユニットとスイッチとは、各々、独自のクロックで動作してよい。クロックはほぼ同じ速度を有することができるが、クロックの正確な同期化は提供され得ない。別の場合では、それぞれのクロックは互いに異なってよい。スイッチは、少なくとも1つのネットワーク・ノードを有してよい。保証されたスループットにより、等時性[isochronous]データなどのデータを送信する場合、伝送はネットワーク内で全世界的に同期化されることが極めて重要である。本発明は、この条件が満たされることを保証する通信方式を提供する。
【0024】
図2は、2つのノード間のデータ転送方式の略図を示す。ネットワーク内で実行される時分割多重は、同等のサイズのタイム・スロット内でデータを転送することによる低コストの解決策である。タイム・スロットは、機能ユニットからデータ・ストリームに対して予約されてよい。いくつかのスロットを有するフレームは、各々、ネットワーク内の各リンク全体にわたって送信されてよい。スロットは、異なる機能ユニット間の接続に割り当てられてもよい。スロット予約は、リアルタイムのデータ・ストリームのタイミング要件が満たされることを確実にするために実行されることが好ましい。
【0025】
この場合、データ伝送のために利用可能な時間は、長方形として示されるタイム・スロットSL内で再分割される。各タイム・スロットは、データのパケットの転送のために利用可能である。タイム・スロットの部分は、本明細書では、一次データとして示される、等時性データISOCなど、保証されたスループットを要求するデータのために予約される。この実施例では、これらのタイム・スロットは、領域ISLによって表示される。他のタイム・スロットは、事前に予約されないが、二次データとしても示される他のデータによる使用のために実行時に付与されてもよい。そういうものとして知られた属性機構体(例えば、ラウンド・ロビン、優先順位によるスケジューリング)は、2つ以上のデータ・ソースが同じリンクに沿ってデータを転送することを望む場合、データ・パケットを選択するために使用されてよい。残りのデータは、バルク・データBDとして、または個別のデータ片として転送されてよい。図2で分かるように、スロット予約は、固定数のスロットの後で反復する。この固定数のスロットは、本明細書で、フレームFRとして示される。この場合、フレームFRは、128個のスロットを有するが、任意の数が応用されてよい。この場合、第1のフレームFR1はt=0で開始し、第2のフレームFR2はt=128で開始し、第3のフレームはt=256で開始し、時間単位はスロットの存続期間である。
【0026】
図3は、より詳細なデータ・パケットの実施例の略図である。示されたデータ・パケットは、それぞれ、4バイトと、128バイトと、2バイトを有する、ヘッダHと、ペイロードPLと、トレーラTRとを有する。
【0027】
フレーム同期化を実施するために、スロット・サイズ(例えば、132バイト)およびフレーム存続期間(例えば、125μs)は、本発明によるデータ処理システム、すなわち電子装置内に固定される。スロット・サイズは、保証された最大スループット、すなわち(そのヘッダおよび、場合によっては、トレールを含む)ISOCパケットが提供されるように選択される。
【0028】
ヘッダHは、以降の構造を有する:タイプT(1バイト)、長さL(1バイト)、宛先アドレスD(1バイト)および発信元アドレスS(1バイト)。ペイロードPLは、現在送信されている実際のパケットまたはパケットの部分に従って、1バイトから128バイトを有してよい。トレーラTRは、CRC−16情報(2バイト)を有してよい。あるいは、パケットのサイズは、7(4+1+2)バイトと134(4+128+2)バイトとの間で異なってよい。
【0029】
等時性パケット、すなわち保証されたスループットのパケットISOCは、例えば、リアルタイムのトラフィックのために、保証されたスループットを要求するストリームの事前スケジュールされたパッケージに関連する。この種類のデータは、一次データと呼ばれてよい。Best_effortパケットBE、すなわち二次データの伝送は、実行時にスケジュールされる。
【0030】
図4は、本発明による、ISOCパケット伝送の略図を示す。ISOCパケットは、常にスロットの始めに位置合わせされることが好ましいが、ISOCパケットは、必ずしもスロット全体を占有しなくてよい。しかし、スロットは、最大ISOCパケット・サイズに対応する固定存続期間またはサイズを有するため、ISOCパケットは、1スロットを超えて拡張しないことになる。この場合、パケットISOC1は、単に第1のスロットの一部を使用するが、パケットISOC2は、第2のスロット全体を占有する。ISOCパケットは予約されたスロット内でだけ転送されるため、次の第3のスロットはいかなるISOCパケットも包括しない。パケットISOC3は第4のスロット全体を占有するが、パケットISOC4は第5のスロットの一部だけを占有する。
【0031】
図5は、本発明による、BEパケット伝送の略図を示す。特に、best_effortパケットBE1〜BE3は、図4に示されるタイム・スロットの間も転送される必要がある。best_effortパケットBE1〜BE3は、スロットの開始または始めに位置合わせされることに限定されず、また、スロットの終了に位置合わせされることにも限定されない。すなわち、best_effortパケットBEは、ISOCパケットによって使用されていないリンクの利用可能な帯域幅を満たしてよい。これらの未使用スロットは、第1のスロット内の部分的な未使用スロット(例えば、パケットISOC1)または、第3のスロットなど、完全な未使用スロットを含んでよい。この場合、パケットISOC1によって部分的にだけ占有されている第1のスロットは、BEパケットBE1の少なくとも一部によって満たされてよい。BEパケットBE1は、第1のスロット内の残りの領域よりも長いため、パケットBE1の残りの部分は、任意の後続のスロット内で収容されなければならない。第2のスロットはISOCパケットのために予約され、ISOCパケットは任意のBEパケットを横取りするため、パケットBE1の残りの部分は、第3のスロットだけを占有することが可能である。パケットBE1の残りの部分は第3のスロットより短く、またISOCパケットは常にスロットの始めに位置合わせされる必要があるため、第2のBEパケットBE2は第3のスロットを占有してよい。すなわち、複数のBEパケットは単一のスロットを占有してよい。
【0032】
ISOCパケットおよびBEパケットに加えて、別のパケットESC、すなわちエスケープ・タイプのパケットが送信されてもよい。エスケープ・タイプは、ヘッダの残りの部分の異なる形態を可能にする。このようなパケットは、様々な制御機能、例えば、それを介してデータが通信されるリンクをアクティブにするため、リンクを非アクティブにするため、または誤差を表示するために役立つ可能性がある。
【0033】
フレームは固定存続期間Tframe(例えば、Tframe=125μs)を有すると定義されるため、またスロットは固定長lslot(lslot=1072ビット)を有するため、フレーム内のスロット数は、リンクのビット・レートbによって決まり、以降の定式によって与えられる。
【数1】
【0034】
リンクのビット・レートbはa)所与の正確さを有する、知られたクロック周波数と、b)ライン符号化(例えば、符号化なし、または8b10b符号化)と、c)リンクに使用されるレーン数とに応じる。
【0035】
スロットは通常、残りの部分がそのまま残るように、フレームを完全には満たさない。この残りの部分は、例えば、温度またはPLLの不正確さによって引き起こされるビット・レートの偏差を補うために、かつ/または非ISOCデータを転送するために使用されてよい。
【0036】
図6は、異なるリンク速度でのフレームおよびそのスロットの略図を示す。この場合、結果として、116スロット、87スロットおよび46スロットのフレームと、それぞれ648ns(648ビットすなわち81バイト)、648ns(486ビットすなわち60.75バイト)、および1720ns(688ビットすなわち86バイト)とをもたらす、1Gb/s、750Mb/s、および400Mb/sのビット・レートを有するリンクに関して、3つの例が示される。
【0037】
図7は、第1の実施形態によるネットワーク・ノードの構成図を示す。ネットワーク・ノードはk個の受信ポートRX1、RX2、…、RXk、およびk個の送信ポートTX1、TX2、…、TXkを有する。ノードは、その受信機ポートRX1、RX2、…、RXkを経由して、任意のビット・レート(b1+E1,b2+E1、…、bk+Ek)でデータを受信でき、また同じビット・レートで送信することもできる。さらに、ノードは、ネットワーク・ノードのフレーム同期化を管理するためのタイム・マネージャTMMを有する。タイム・マネージャは、ネットワーク・ノード内のすべてのポートを管理するために提供されてよい。タイム・マネージャTMMは、各ポートのフレーム同期化をそれぞれ管理するために、タイム・マネージャの一部が各ポートと関連するように分割されてもよい。時間表示レジスタt[port]は、ネットワーク・ノード内で提供されてもよい。時間表示レジスタt[port]は、受信および送信されているフレームの時間位置に関する時間表示情報を記憶するために使用される。時間表示レジスタは、ポートの各々に対してこの情報を記憶することが好ましい。受信ポートRX1および送信ポートTX1は第1のポートP1に関連し、受信ポートRX2および送信ポートTX2は第2のポートP2に関連し、受信ポートRXkおよび送信ポートTXkはポートPkに関連する。すなわち、受信ポートRX1によって受信されたデータは、送信ポートTX1によって送信される。
【0038】
上のネットワーク・ノードの以降の動作では、その出力リンクが同じビット・レートで動作する場合に関して、特にフレーム同期化が説明される。図8および図12では、パケットの横取りをサポートしない、図7によるネットワーク・ノードの動作が、また図14では、パケットの横取りをサポートする、図7によるネットワーク・ノードの動作が例示される。
【0039】
図8は、パケットの横取りを伴わない、図7によるネットワーク・ノード内の受信機の動作の流れ図を示す。ノードは、その入力リンク上のタイミングを追跡し続ける必要があり、これはタイム・マネージャTMMによって実行される。パケットの横取りが利用可能でない場合、要求される制御シーケンスは、パケット境界でのみ発生することが可能である。このようなパケット境界で、受信機(またはその受信ポート)は、ESC_TIMEなどの複数のインジケータを経由して、タイミングの時間表示または入力リンクの時間位置、通常のBEまたはISOCパケット、BEパケットを受信でき、一方、クロックは発信元BE_PAUSE、または任意の他の制御シーケンス(ESC_PAUSEを含む、ESC)内で休止される。
【0040】
ステップS81で、受信機ポートのスロット単語カウンタslot_word_count[port]は、スロット・サイズslot_sizeに設定される。ステップS82で、入力ポートに接続されたノードからのフレームの相対的位置の時間表示ESC_TIMEは、レジスタ内t[port]に記憶される。ステップS83で、スロット単語カウンタslot_word_count[port]がゼロであるかどうかが検査され、そうである場合、スロット単語カウンタslot_word_count[port]は、スロット・サイズslot_sizeに設定される。ステップS84で、受信パケットの種類が検査される。受信パケットがエスケープ・タイプのものである場合、流れはステップS85に続き、ここで、パケットは無視されて、流れはステップS83に戻る。受信パケットがISOCタイプのものである場合、流れはステップS86に続き、その後、流れはステップS83に戻る。ステップS86内の動作は、図9に従って、より詳細に説明される。受信パケットがBEタイプのものである場合、流れはステップS87に続き、その後、流れはステップS83に戻る。ステップS87内の動作は、図10に従って、より詳細に説明される。受信パケットがBE_pausedタイプのものである場合、流れはステップS88に続き、その後、流れはステップS83に戻る。ステップS88内の動作は、図11に従って、より詳細に説明される。
【0041】
時間表示ESC_TIMEは近接ノードのフレーム内の相対的な時間位置への更新として使用される。時間表示が受信される場合、受信機はレジスタt[port]内の近接ノードのフレーム内の時間位置に関するその知識を更新しなければならない(すなわちステップS82において)。ノードのタイム・マネージャTMMは、レジスタt[port]にアクセスしてよい。すべての他の制御シーケンス(他のESC)は無関係であり、時間同期化によって無視される(すなわち、ステップS85)。
【0042】
データISOCパケットおよびBEパケットは、近接ノードのフレーム内の時間を追跡するために使用されてよい(すなわち、それぞれ、ステップS86およびS87)。受信された各単語により、受信機のレジスタt[port]内に記憶された近接ノードの相対的なフレーム時間知識は、単語の送信に関連する時間増分に伴って増加する(すなわち、ステップS82)。BE_PAUSEタイプのパケット、すなわちBEパケットが、フレーム知識を更新せずに受信される場合、ステップS88が実行される。このパケット種類は、その近接ノードのフレーム速度と比較して、そのフレーム速度が高すぎることを検出する場合、そのフレーム速度を落とすためにノードによって使用されてよい。ISOCパケットはフレーム時間が進む場合だけ送られるため、そのような場合、ISOCパケットは送信され得ない。しかし、BEパケットは残っている帯域幅の任意の部分を使用する傾向があるため、BEパケットは依然として送信され得る。
【0043】
図9は、ISOCパケットの受信中の、図8による受信機の動作の流れ図を示す。ステップS91で、パケットのパケット長がパケットのヘッダから抽出され、ISOC単語カウンタisoc_word_counterがこの値に設定される。ステップS92で、抽出されたパケット長に基づいて、全パケットが受信される(get_word(),isoc_word_count[port]・・・)。パケットの各単語に対して、次のスロット境界を表示するために、スロット単語カウンタslot_word_counterが更新される。近接ノード内のフレームの相対的な時間位置は、レジスタt[port]内で更新される。この場合も、ノードのタイム・マネージャTMMは、要求される同期化を実行するためにレジスタにアクセスしてよい。ISOCパケットの受信は、ステップS94で示されるように、パケットのすべての単語が受信される場合(isoc_word_count[port]=0)、終了することになる。
【0044】
図10は、BEパケットの受信中の、図8による受信機の動作の流れ図を示す。ステップS101で、BE単語カウンタbe_word_counter[port]を検査することによって、パケットは新しいパケットであるか、またはパケットの継続であるかが決定される。このカウンタは、依然として受信されることが要求される単語数を含む。カウンタがゼロである場合、新しいパケットが開始し、流れはステップS102に続き、ここで、パケットのパケット長がパケットのヘッダから抽出され、BE単語カウンタbe_word_counterはこの値に設定される。カウンタがゼロ以外の値である場合、横取りされたパケットが提示され、再開されなければならない(ステップS103)。ステップS103で、抽出されたパケット長に基づいて、全パケットが受信される(get_word(),be_word_count[port]…)。パケットの各単語に対して、次のスロット境界を表示するために、スロット単語カウンタslot_word_counterが更新される。近接ノード内のフレームの相対的な時間位置は、レジスタt[port]内で更新される(ステップS104)。この場合も、ノードのタイム・マネージャTMMは、要求される同期化を実行するためにレジスタにアクセスしてよい。BEパケットの受信は、ステップS105の場合のように、スロット境界(slot_word_count[port]=0)で、またはステップS106の場合のように、BEパケット境界に達している場合(be_word_count[port]=0)、割り込まれ得る。
【0045】
図11は、パケットの横取りを伴い、また時間更新を伴わない、BEパケットの受信中の、図8による受信機の動作の流れ図を示す。時間更新を伴わないBEパケットの受信は、例えば、近接ノードがその近接ノードのフレーム速度と同期させるためにそのフレーム速度を落とす場合、発生する。この場合、BEパケットは、フラッグ・セットにより受信されてよく、近接ノードのフレーム内の相対的な時間位置t[port]に関する更新が存在しないことの表示が実行されるべきである。
【0046】
ステップS111で、受信されることになる休止単語の数がBE_PAUSEメッセージから抽出され、休止された単語カウンタpause_word_counter[port]はこの値に設定される。ステップS11で、pause_word_count[port]がゼロになるまでデータは受信される。この期間中、通常のBEパケットの受信と同じように、BEパケットが受信される。ステップS112で、BE単語カウンタbe_word_counter[port]を検査することによって、パケットは新しいパケットであるか、またはパケットの継続であるかが決定される。このカウンタは、依然として受信されることが要求される単語数を含む。カウンタがゼロである場合、新しいパケットが開始し、流れはステップS113に続き、ここで、パケットのパケット長がパケットのヘッダから抽出され、BE単語カウンタbe_word_counterはこの値に設定される。カウンタがゼロ以外の値である場合、横取りされたパケットが提示され、再開されなければならない(ステップS114)。ステップS114で、抽出されたパケット長に基づいて、全パケットが受信される(get_word(),be_word_count[port])。休止されたBEパケットの受信は、ステップS115の場合のように、すべての休止単語が受信されている場合(paused_word_count[port]=0)、またはステップS116の場合のように、BEパケット境界に達している場合(be_word_count[port]=0)、割り込まれる。BEパケット境界に達している場合、流れはステップS113に戻る。BEパケット境界に達していない場合、流れはS114に戻る。
【0047】
図面を簡単に維持するために、上の図に示されないが、ISOCパケットの休止中でさえ、BEパケット境界で、例えば、他の方向のリンク上の誤差を公表するために、ESC記号は受信されてよい。
【0048】
図12は、図7によるネットワーク・ノードのタイム・マネージャTMMの動作の流れ図を示す。前述のように、近接ノードのフレームの相対的な時間位置の更新は、レジスタt[port]内に記憶され、ノードのタイム・マネージャに対して利用可能である。ステップS121で、その独自の局所クロックに基づいて、他のノードのフレーム内にその独自の相対的位置を維持するレジスタt[port]は、タイム・マネージャTMMによってアクセスされる。ステップ122で、局所時間位置と、近接ノードの時間位置とが比較されて、レジスタtmax_diff内に記憶される。
【0049】
図13は、フレーム同期化を伴うが、パケットの横取りを伴わない、図7によるネットワーク・ノードのタイム・マネージャTMMの動作の流れ図を示す。ステップ130で、局所時間位置と、近接ノードの時間位置との差異はゼロに設定される。ステップS131で、単語カウンタword_countはゼロに設定される。ステップS132で、単語クロックword_clockは待ち受けられる。ステップ133で、単語カウントword_countは、(スロット境界を追跡する目的で)単語を受信するためにかかった時間word_durationによって更新され、フレーム内の相対時間tが(図12のステップS122で使用されるように)更新される。
【0050】
ステップS134で、スロット境界に達しているかどうか、すなわち、単語カウンタword_countがスロット・サイズに達しているかどうかが決定される。そうである場合、流れはステップS132に戻る。そうでない場合、流れはステップS135を続ける。ステップS135で、ハードワイヤされて[hardwired]もよく、またはユーザによって構成されてもよい閾値(tdiff_threshold)を超えないようにtmax_diffが監視される。さらに、tmax_diffは、frame_duration/2より小さくあるべきである。ステップS134で決定されたスロット境界で、この差異が検査され、差異が閾値tdiff_thresholdより高い場合、フレームは、tmax_diffによって与えられる時間の存続期間に対して休止される。休止時間は、ステップS136で0に初期設定され、ステップS137で、単語クロックword_clockがステップS137内で受信されるたびにword_durationにより更新されるtpause内に維持される。ステップS138で示されるようにフレーム休止の間、ISOCデータは送信されない。ステップS139で、tpause<tmax_diffであるかどうかが決定される。そうである場合、流れはステップS130に戻る。そうでない場合、流れはステップ137に戻る。したがって、フレーム同期化は、より遅いフレームの速度に到るまでフレーム速度を落とすことによって実現される。
【0051】
図13の流れ図では、その場合、すべてのリンクは、そのISOC伝送を休止して同期化を開始することが可能であるため、スロット境界が使用される。
【0052】
図14は、同じ速度の出力を有し、パケットの横取りを伴う、図7によるネットワーク・ノードの受信機の動作の流れ図を示す。システムが(例えば、8b10b符号化でK個の符号を使用することによって)パケットの横取りを提供する場合、受信機の動作は、パケットの横取りを伴わない、図8による受信機の動作と比べてさらに簡素化される。受信機は、ESCシーケンスが常に受信され得るように、いかなるスロット境界またはパケット境界にも拘束されない。したがって、パケット/スロット境界を追跡し続ける必要はない。単にESCシーケンスの発生だけが追跡されることになる。ステップS141で、レジスタt[port]は、抽出されたESC時間に設定され、単語カウンタword_countはゼロに設定される。流れはステップS142に続き、ここで、次の記号が検査される。記号が(ESC_TIME以外の)ESC記号、またはPAUSE記号もしくはデータに関連する場合、流れはステップS143に続き、ここで、この記号は、フレーム同期化に関して無視され、流れはステップS142に戻る。そうでなければ、流れはステップS144に続く。ステップS144で、パケットの単語が受信される。パケットの各単語に対して、単語カウンタword_counterが増加される、すなわち更新される。ステップS145で、単語カウントword_count[port]は、スロット内のslot_size記号に対応するslot_sizeよりも小さいかどうかが決定される。そうである場合、流れはステップS142に戻る。しかし、そうでない場合、流れはステップS146に続く。ステップS146で、レジスタt[port]の値は、(レジスタ内に記憶される(ステップS147))スロット存続期間slot_duration[port]によって増加される。さらに、単語カウンタword_count[port]はゼロに設定され、流れはステップS142に戻る。
【0053】
ESC_TIMEシーケンスがステップS141で受信される場合、近接ノードの相対的な時間位置は、自動的に新しい値に更新され、新しい値は、レジスタt[port]内のタイム・マネージャTMMに報告される(ステップS147)。通常のデータ(BEパケットおよびISOCパケット、またはIDEL記号)がステップS142で受信される場合、レジスタt[port]は、近接ノードのクロック・ドメイン内の単語存続期間に更新され(ステップS146)、速やかにタイム・マネージャTMMに報告される(ステップS147)。
【0054】
図15は、フレーム同期化を伴い、パケットの横取りを伴う、図7によるネットワーク・ノードのタイム・マネージャTMMの動作の流れ図を示す。ステップ150で、局所時間位置と、近接ノードの時間位置との差異はゼロに設定される。ステップS151で、単語クロックword_clockは待ち受けられる。ステップ152で、フレーム内の相対時間tは、ステップS122で、tmax_diffを計算するために使用される単語存続期間によって更新される。
【0055】
ステップS153で、ハードワイヤされてもよく、またはユーザによって構成されてもよい閾値(tdiff_threshold)を超えないようにtmax_diffが監視される。さらに、tmax_diffはframe_duration/2より小さくなければならない。この場合、流れはステップS151に戻る。そうでなければ、流れはステップS154に続く。ステップS154では、報告されたドリフト(tmax_diff)がゼロにされるように、tpauseをゼロに設定することによってフレームは休止される。ステップS155で、単語クロックword_clockは待ち受けられる。ステップ156で、tpauseは単語存続期間によって増加され、ISOCデータは送信されない。ステップS157で、tpause<tmax_diffであるかどうかが決定される。そうである場合、流れはステップS158に続く。そうでない場合、流れはステップ155に戻る。ステップS158で、tmax_diffはゼロに設定され、流れはステップS152に戻る。
【0056】
したがって、パケットの横取りが利用可能である場合、スロット境界を追跡し続ける必要がないため(例えば、ステップS131、S134)、タイム・マネージャTMMの構成も、図13による構成に比べて簡素化される。フレーム・ドリフトtmax_diffは、各クロックで検査され(ステップ153)、閾値tdiff_thresholdより高い場合、フレームは少なくとも1つの近接ノードのフレームに比べて進み過ぎであり、休止されなければならない(ステップS154)。前述のように、フレーム休止の間、BEパケットと他のESC記号とは送信されてよい。
【0057】
図16は、第2の実施形態によるネットワーク・ノードの構成図を示す。ネットワーク・ノードは、k個の受信ポートRX1、RX2、…、RXk、ならびにk個の送信ポートTX1、TX2、…、TXkを有する。ノードは、その受信ポートRX1、RX2、…、RXkを経由して、任意のビット・レート(α1*(b1+E1),α2*(b2+E1)、…、αk*(bk+Ek))でデータを受信してよく、またその送信機ポートTX1、TX2、…、TXkを経由して、任意のビット・レート(β1*(b1+E1),β2*(b2+E1)、…、βk*(bk+Ek))でデータを送信できる。タイム・マネージャTMMは、ネットワーク・ノード内のすべてのポートを個々に管理するために提供されてよい。タイム・マネージャTMMは、各ポートのフレーム同期を管理するために、タイム・マネージャの一部が各ポートに個々に関連するように分割されてもよい。時間表示レジスタt[port]は、ネットワーク・ノード内で提供されてもよい。時間表示レジスタt[port]は受信および送信されているフレームの時間位置に関する時間表示情報を記憶するために使用される。時間表示レジスタは、ポートの各々のためにこの情報を記憶することが好ましい。受信ポートRX1および送信ポートTX1は第1のポートP1に関連し、受信ポートRX2および送信ポートTX2は第2のポートP2に関連し、受信ポートRXkおよび送信ポートTXkはポートPkに関連する。すなわち、受信ポートRX1によって受信されたデータは送信ポートTX1によって送信される。
【0058】
ここでは、ノードの出力リンクが異なるビット・レートで実行する場合のネットワーク・ノードに関する一般的な事例が示される。出力リンクのビット・レートは、同じ基準クロックから導き出されてよい。したがって、出力リンクは、基本的なビット・レート(b+E)の倍数であるビット・レートで実行されてよい。Eは、クロックの不正確さによって引き起こされる、公称ビット・レートbからの偏差である。リンクは、各々の追加レーンがレーンのビット・レートを増加する、1つまたは複数のレーンを有することが可能であるため、出力リンクは異なるビット・レートを有してよい。
【0059】
図17は、フレーム同期を伴うが、パケットの横取りを伴わない、図16による、ネットワーク・ノードのタイム・マネージャTMMの動作の流れ図を示す。この流れ図は、実質的に、図13の流れ図に対応する。ステップ10で、局所時間位置と、近接ノードの時間位置との間の差異はゼロに設定される。ステップS171で、単語カウンタword_countはゼロに設定される。ステップS172で、基本単語クロックbase_word_clockは待ち受けられる。ステップ173で、単語カウントword_countは、パケットから受信された単語の基本単語存続期間base_word_durationによって更新される。ステップS174でスロット境界に達しているかどうか、すなわち、単語カウンタword_countは基本スロット存続期間に達しているかどうかが決定される。そうである場合、流れはステップS172に戻る。そうでない場合、流れはステップS175を続ける。ステップS175で、ハードワイヤされてもよく、またはユーザによって構成されてもよい閾値(tdiff_threshold)を超えないようにtmax_diffが監視される。さらに、tmax_diffは、frame_duration/2より小さくなければならない。ステップS174で決定されるスロット境界で、この差異は検査され、差異が閾値tdiff_thresholdより高い場合、報告されたドリフト(tmax_diff)がゼロにされるようにtpauseをゼロに設定することによってフレームは休止される。ステップS177で、基本単語クロックbase_word_clockは待ち受けられる。ステップ178で、tpauseは、基本単語存続期間base_word_durationによって増加され、ISOCデータは送信されない。ステップS179で、tpause<tmax_diffかどうかが決定される。そうである場合、流れはステップS170に戻る。そうでない場合、流れはステップ177に戻る。したがって、フレーム同期化は、より遅いフレームの速度に到るまでフレーム速度を落とすことによって実現される。
【0060】
したがって、ノード内の受信機ならびにtmax_diffの計算は、図8による単一リンク速度の場合と同じ状態のままである。変更される必要がある唯一の部分は、タイム・マネージャTMMである。変更は、基本レートbに対して、使用された単語クロック(base_word_lock)と、単語存続期間(base_word_duration)とを導き出すことによって実行される。スロットがbase_word_clockを使用してカウントされる場合、すべての出力リンクもスロット境界に存在することになり、フレームはその近接ノードの位相と再び位置合わせされるように一時的に休止され得る。この方式の不利点はフレーム同期化の粒度が高速リンクにとって大きすぎ、結果として、バッファリングを増加する可能性があることである。この問題を解決するために、タイム・マネージャTMMは、図18に従って示されるように、複数のタイム・マネージャ内でリンクにつき1つに分割され得る。基本的な方式は同じであるが、この場合、各タイム・マネージャは、送信機のクロックword_clock[port]と、単語存続期間word_duration[port]とを使用し、その独自の状態word_count[port]と、tpause[port]と、tmax_diff[port]とを有する。
【0061】
図18は、図16による、ネットワーク・ノードのタイム・マネージャTMMの動作の流れ図を示す。この流れ図は本質的に、図13の流れ図に対応する。ステップ180で、局所時間位置と、近接ノードの時間位置との間の差異はゼロに設定される。ステップS171で、各ポートに対する単語カウンタword_countはゼロに設定される。ステップS182で各ポートに対する単語クロックword_clockは待ち受けられる。ステップ183で、各ポートに対する単語カウントword_countは、パケットから受信された単語の単語存続期間word_durationによって更新される。ステップS184で、スロット境界に達しているかどうか、すなわち、各ポートに対する単語カウンタword_countがスロット・サイズに達したかどうかが決定される。そうである場合、流れはステップS182に戻る。そうでない場合、流れはステップS185を続ける。ステップS185で、ハードワイヤされてもよく、またはユーザによって構成されてもよい閾値(tdiff_threshold)を超えないようにtmax_diffが監視される。さらにtmax_diffは、frame_duration/2より小さくなければならない。ステップS184で決定された各ポートに対するスロット境界でこの差異が検査され、差異が閾値tdiff_thresholdより高い場合、報告されたドリフト(tmax_diff)がゼロにされるように、tpauseをゼロに設定することによってポートに対しフレームは休止される。ステップS187で、単語クロックword_clockは待ち受けられる。ステップ188で、tpauseは単語存続期間word_durationによって増加されISOCデータは送信されない。ステップS189で、tpause<tmax_diffであるかどうかが決定される。そうである場合、流れはステップS180に戻る。そうでない場合、流れはステップ187に戻る。したがって、フレーム同期化は、より遅いフレームの速度に到るまでフレーム速度を落とすことによって実現される。
【0062】
パケットの横取りが存在する場合、図19に従って説明されるように、例えば、フレーム内の局所的な相対位置を維持するために、そこから基本単語存続期間base_word_durationが導き出される基本クロックbase_word_clockを使用して、図15による流れ図が依然として使用され得る。
【0063】
図19は、図7による、ネットワーク・ノードの送信機のタイム・マネージャTMMの動作の流れ図を示す。ステップ190で、局所時間位置と、近接ノードの時間位置との間の差異はゼロに設定される。ステップS191で、基本単語クロックbase_word_clockは待ち受けられる。ステップ192で、フレーム内の相対時間tは、単語word_durationを送信するための時間により更新される。図12に従って、ステップS122で示されるように、時間tは、現在のノードと近接ノードとの間のドリフトを計算するために使用される。
【0064】
ステップS193で、ハードワイヤされてもよく、またはユーザによって構成されてもよい閾値(tdiff_threshold)を超えないようにtmax_diffが監視される。さらに、tmax_diffは、frame_duration/2より小さくなければならない。この場合、流れはステップS190に戻る。そうでない場合、流れはステップS194に続く。ステップS154で、報告されたドリフト(tmax_diff)がゼロにされるようにtpauseをゼロに設定することによってフレームは休止される。ステップS195で、基本単語クロックbase_word_clockは待ち受けられる。ステップ196で、tpauseは単語存続期間によって増加されて、ISOCデータは送信されない。ステップS197で、tpause<tmax_diffであるかどうかが決定される。そうであれば、流れはステップS190に戻る。そうでなければ、流れはステップ195に戻る。
【0065】
第3の実施形態によれば、上述のフレーム同期化は、リンクのビット・レート間に関係が存在しない状況にも応用され得る。この場合、単にタイム・マネージャTMMだけが導入される必要がある。タイム・マネージャTMMは、図18に従って、送信機(出力ポート)の全域で分散されなければならない。これは、横取りが利用可能でない場合、ならびに横取りが利用可能である場合に実行されなければならない。出力リンクのいくつかが同じビット・レート、また普通の基本ビット・レートから導き出されるビット・レートを使用する場合、タイム・マネージャTMMはこれらのリンクの全域で共有されてよい。
【0066】
上の実施形態のすべてにおいて、タイム・マネージャTMMと、時間表示レジスタt[port]とは、すべてのポートに対するユニットとして実施されてよい。あるいは、これらはポートの各々に対して実施されてもよく、またはタイム・マネージャおよび/または時間表示レジスタが各ポートに対して提供されるように分割されてもよい。したがって、フレーム同期化は、ポートの各々に対して独立して実現され得る。
【0067】
一実施形態によれば、各々がいくつかのタイム・スロット(SL)に分割されているフレーム(FR)に基づいて、少なくとも一次データおよび二次データ(ISOC、BE)を通信するための機能ユニット(1〜10)と、少なくとも1つの第1のクロック・ドメインのうちの1つ内の複数の機能ユニット(1〜10)のうちの1つから少なくとも一次データおよび二次データ(ISOC、BE)を受信するための少なくとも1つの受信機ポート(RX1,RX2、…、RXk)を有する受信機(RX)および少なくとも1つの第2のクロック・ドメインのうちの1つ内の複数の機能ユニット(1〜10)のうちの別の1つに少なくとも一次データおよび二次データ(ISOC,BE)を送信するための少なくとも1つの送信機ポート(TX1,TX2、…、TXk)を有する送信機(TX)を有する機能ユニット(1〜10)を結合するための少なくとも1つのネットワーク・ノード(S1〜S4)を有する電子装置が提供される。少なくとも1つの第2のクロック・ドメインは、少なくとも1つの第1のクロック・ドメインと異なる。電子装置は、少なくとも1つの受信機ポート(RX1,RX2、…、RXk)を経由して受信されるフレームと、少なくとも1つの送信機ポート(TX1,TX2、…、TXk)を経由して送信されているフレームの相対的な時間位置に関する情報を記憶するための、少なくとも1つの受信機ポート(RX1,RX2、…、RXk)を経由して受信されている一次データおよび/または二次データ(ISOC,BE)に従って更新される時間表示レジスタ(t[port])と、少なくとも1つの第1のクロック・ドメインのうちの1つ内の受信機(RX)の少なくとも1つの受信機ポートで受信された少なくとも一次データおよび二次データ(ISOC,BE)を監視するため、および時間表示レジスタの値が所定の閾値を超える場合、少なくとも1つの第2のクロック・ドメインのうちの1つ内の少なくとも1つの送信機ポート(TX1,TX2、…、TXkを経由して少なくとも一次データ(ISOC)の伝送を休止するためのタイマ管理手段(TMM)をさらに含む。
【0068】
前述の実施形態は、本発明を限定するのではなく、本発明を例示し、また当業者は、添付の特許請求の範囲から逸脱せずに、多くの代替形態を構成することが可能になる点に留意されたい。特許請求の範囲では、括弧内に配置されるいずれの参照符号も、特許請求の範囲を限定するものと解釈されるべきではない。用語「有する」は、特許請求の範囲内に列挙された要素またはステップ以外の要素またはステップの存在を排除しない。要素に先立つ用語「1つの(“a”または“an”)」は、複数のこのような要素の存在を排除しない。装置クレームにおいて、いくつかの手段の列挙は、これらの手段のいくつかが、1つの同じハードウェア品目によって実施されることが可能である。いくつかの処置が相互に異なる独立クレームで列挙されているという単なる事実は、これらの処置の組合せが有利に利用され得ないことを示さない。
【0069】
さらに、特許請求の範囲のいずれの参照符号も、特許請求の範囲の範囲を限定するものと解釈されるべきではない。
【図面の簡単な説明】
【0070】
【図1】本発明によるデータ処理システムのアーキテクチャの概略ブロック図である。
【図2】2つのノード間のデータ転送方式の略図である。
【図3】より詳細なデータ・パケットの実施例の略図である。
【図4】本発明によるISOCパケット伝送の略図である。
【図5】本発明によるBEパケット伝送の略図である。
【図6】異なるリンク速度でのフレームおよびそのスロットの略図である。
【図7】第1の実施形態によるネットワーク・ノードの構成図である。
【図8】パケットの横取りを伴わない、図7によるネットワーク・ノード内の受信機の動作の流れ図である。
【図9】パケットの横取りを伴わない、ISOCパケットの受信中の、図7によるネットワーク・ノード内の受信機の動作の流れ図である。
【図10】パケットの横取りと時間更新とを伴わない、BEパケットの受信中の、図7によるネットワーク・ノード内の受信機の動作の流れ図である。
【図11】パケットの横取りを伴わず、また時間更新を伴わない、BEパケットの受信中の、図7によるネットワーク・ノード内の受信機の動作の流れ図である。
【図12】図7によるネットワーク・ノードのタイム・マネージャ[time manager]の動作の流れ図である。
【図13】フレーム同期化を伴うが、パケットの横取りを伴わない、図7によるネットワーク・ノードのタイム・マネージャの動作の流れ図である。
【図14】同じ速度の出力を有し、パケットの横取りを伴う、図7によるネットワーク・ノードの受信機の動作の流れ図である。
【図15】フレーム同期化を伴い、パケットの横取りを伴う、図7によるネットワーク・ノードのタイム・マネージャの動作の流れ図である。
【図16】第2の実施形態によるネットワーク・ノードの構成図である。
【図17】図16によるネットワーク・ノードのタイム・マネージャの動作の流れ図である。
【図18】図16によるネットワーク・ノードの送信機のタイム・マネージャの動作の流れ図である。
【図19】図16によるネットワーク・ノードの送信機のタイム・マネージャの動作の流れ図である。
【技術分野】
【0001】
本発明は、電子装置と、フレーム同期の方法と、データ処理システムと、移動体装置とに関する。
【背景技術】
【0002】
移動体電話またはPDAなど、現在の移動体システムは、新しい特徴の実施および既存の機能の改善に対して絶えず高まる必要性により、複雑性が連続的に増加することを示している。この増加は、システムの構成要素の数および複雑性の増加によって可能になる。同時に、これらの構成要素は通信するデータ転送速度も増加する。システムの複雑性の増加とあいまって、より高いデータ転送速度は、モジュラ手法の必要性を生み出している。このような手法によれば、処理システムは、複数の比較的独立した、複雑なモジュールを有する。
【0003】
従来の移動体システムでは、モジュールは、通常、高価な並列の専用リンクを経由して互いに通信する。しかし、モジュールの数が増えると、この通信方法はもはや以降の理由で実用的ではなくなる。第1に、リンクの数が増えることは、費用がかかりすぎる。第2に、専用リンクを使用することは、新しいシステム構成を迅速に生み出す柔軟性を制限する。
【0004】
シリアルリンクを使用する通信ネットワークは、これらの不利点を克服するために効果的な方法を形成する。ネットワークは、最近、非常に複雑な移動体システムにおける相互接続問題に対する解決策として、かなりの注目を得ている(例えば、ユニプロ作業グループ[UniPro Working Group]は、現在、MIPI標準化機関において移動体装置のためのネットワーク・プロトコルを定義している。詳細な情報に関しては、www.mipi.orgを参照されたい)。その理由は2つある。第1に、ネットワーク・リンクは直列式であり、リンクのためのピン/ワイヤの数をかなり減らし、したがって、相互接続費用をかなり削減する。第2に、ネットワークは、モジュールが相互接続される方法に柔軟性を提供し、新しい構成の迅速かつ容易な作成を可能にする。しかし、厳しいタイミング制約を要求するリアルタイムのアプリケーションの場合、このようなネットワークは、スループットの保証、ならびに待ち時間の限界を提供しなければならない。
【0005】
相互接続中心の手法は迅速に新しいシステムを開発するための強力な方法を提供する。このような手法では、システムは複数のノードとして開発される。データ処理ユニットとしても示されるノードは、機能ユニット(例えば、記憶ユニット)、専用プロセッサ、汎用プロセッサ、ならびにルータおよびスイッチなどのデータ経路ユニット[data routing units]を有する。機能ユニットは、データ経路ユニットによって形成されるネットワーク内に配置される。このようなネットワークは、チップ上のネットワーク、様々な積分回路を結合するネットワーク、または様々なコンピュータを結合するネットワークであってよい点に留意されたい。ノードの通信プロトコルは標準化される傾向にあり、ネットワークのようなアーキテクチャは、新しいノードにより簡単に拡張されることが可能であり、構成を容易にすることは事実である。
【0006】
費用と電力の理由でノード間のリンクは直列式であり、異なる低振幅[low-swing]信号を使用して、高周波(1GHz以上)で実行する。これらの速度では、単一クロックで複数のチップ・システムを実行することは不可能である。したがって、各チップは局所クロックを有する。クロックは互いに同じ公称周波数を有することが可能であるという事実にもかかわらず、知られた許容値内の偏差が実際には発生することになる。これらの偏差は、水晶発振子の不完全性と局所温度の差とによって引き起こされる。他のシステムでは、様々なノードは意図的に異なるクロック速度を有する場合がある。データ転送は、依然として、データ生成ノード[data producing node](送信機)によって動かされるクロックに対して同期式である。クロックは、第2の連続的に一対のワイヤ上で送られる(ソース同期式データ伝送[source synchronous data transmission]か、または、例えば、PCIエクスプレス[PCI Express]の場合のように、8b10b符号化を使用して、データワイヤ内に埋め込まれる。データは、データと共に送られる送信機のクロックを使用して、宛先ノード(受信機)内でサンプリングされる。
【0007】
既知のクロック・ドメイン・クロッシング技術[clock-domain crossing techniques]のうちの1つを使用し、次いで、データは受信機のクロック・ドメインに転送される。保証された性能を提供するシステムを実施する場合、システム内の資源の用途を正確に制御しなければならない。これを実現する1つの費用効果の高い方法は、その中でスロットが保証されたスループット通信のために予約される、スロットのフレームを定義することである。保証されたスループットが要求されるこのデータは、一次データとも呼ばれる。様々な機能を制御するために使用されるデータは、制御データと呼ばれることになる。このようなシステムは、すべての装置内のフレームとスイッチとが同期化されることを要求する。
【発明の開示】
【発明が解決しようとする課題】
【0008】
複数のネットワーク・ノードを有する、マルチ・クロック・ネットワーク環境内でフレームの伝送を同期化することが、本発明の目的である。
【課題を解決するための手段】
【0009】
この目的は、請求項1に記載の電子装置によって、請求項12に記載のフレーム同期化の方法によって、請求項13に記載の移動体装置によって、また請求項14に記載のデータ処理システムによって解決される。
【0010】
したがって、電子装置には、各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、少なくとも1つの第1のクロック・ドメインのうちの1つ内の複数の機能ユニットのうちの1つから少なくとも一次データおよび二次データを受信するための関連する受信機ポート・ユニット、および少なくとも1つの第2のクロック・ドメインのうちの1つ内の複数の機能ユニットのうちの別の1つに少なくとも一次データおよび二次データを送信するための関連する送信機ポート・ユニットを有する少なくとも1つのポートを有する、機能ユニットを結合するための少なくとも1つのネットワーク・ノードが設けられている。少なくとも1つの第2のクロック・ドメインは、少なくとも1つの第1のクロック・ドメインと異なる。時間表示レジスタ[time indication register]は、少なくとも1つのポートのうちの1つに関連する受信機ポート・ユニットを経由して受信されているフレーム、および少なくとも1つのポートのうちの1つに関連する送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を記憶するために提供され、時間表示レジスタは、少なくとも1つのポートのうちの1つに関連する受信機ポート・ユニットを経由して受信されている少なくとも一次データおよび/または二次データに従って更新される。タイマ管理手段は、少なくとも1つの第1のクロック・ドメインのうちの1つ内の少なくとも1つのポートのうちの1つに関連する受信機ポートを経由して受信される少なくとも一次データおよび二次データを監視するため、および時間表示レジスタの値が所定の閾値を超える場合、少なくとも1つの第2のクロック・ドメインのうちの1つ内の少なくとも1つのポートのうちの1つに関連する送信機ポート・ユニットを経由して、少なくとも一次データの伝送を休止するために提供される。
【0011】
したがって、受信フレームと送信フレームとの間の相対的な時間位置が所定の値を超える場合のみ、フレーム同期化が実施される可能性があるように一次データの伝送は休止される。
【0012】
本発明の一態様によれば、時間表示レジスタは、受信機ポート・ユニットによって受信されるエスケープ・タイプのパケット[escape type packets]に従って、やはりそれらのパケットを考慮に入れるために更新される。
【0013】
本発明の別の態様によれば、一次データの伝送が休止されている場合でさえ、時間管理手段は二次データの伝送を可能にする。したがって、フレームを同期化するために一次データが休止される場合、二次データは送信され得る。
【0014】
本発明の別の態様によれば、時間表示レジスタの更新と、伝送の休止とは、フレーム同期化が細粒度に基づいて実行され得るように、単語境界またはスロット境界で実行されてよい。
【0015】
本発明のさらに別の実施形態によれば、前記フレームは、各々、事前定義された固定存続期間を有し、前記スロットは事前定義された固定サイズを有する。
【0016】
本発明の別の態様によれば、スロットのサイズは、最大の一次データ・パケットを収容するように適応される。
【0017】
本発明の別の態様によれば、一次データ・パケットは、そのために予約されたスロットの始まりで開始し、二次パケットは、予約されていないスロットの始まりで、または一次データによって少なくとも部分的に使用されるスロットの最中に開始する。したがって、二次データ、すなわち、リンクの利用可能な帯域幅が一次データによって完全に使用されていない場合、BEデータは送信されてよい。
【0018】
本発明の別の態様によれば、時間管理手段は、ポートの受信機ポート・ユニットを経由して受信される一次データおよび二次データを監視するために、ネットワーク・ノード内のポートの各々に対して1つの時間管理ユニットを有する。したがって、フレーム同期化は各ポートに対して独立して実行され得る。
【0019】
本発明のさらに別の態様によれば、少なくとも1つのネットワーク・ノードの各々は、各ポートのための相対的な時間位置に関する情報を記憶するため、およびそれぞれの時間表示情報が各ポートのために個別に利用可能なように、各ポートに対して時間表示情報を更新するための時間表示レジスタを有する。
【0020】
本発明はまた、各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データと通信するための複数の機能ユニットと、少なくとも1つのポートを有する機能ユニットを結合するための少なくとも1つのネットワーク・ノードとを有する電子装置内のフレーム同期化法にも関する。少なくとも一次データおよび二次データは、少なくとも1つのポートに関連する受信機ポート・ユニットによって、少なくとも1つの第1のクロック・ドメインのうちの1つ内の複数の機能ユニットのうちの1つから受信される。少なくとも一次データおよび二次データは、少なくとも1つのポートに関連する送信機ポート・ユニットによって、少なくとも1つの第2のクロック・ドメインのうちの1つ内の複数の機能ユニットのうちの別の1つに送信される。少なくとも1つの第2のクロック・ドメインは、少なくとも1つの第1のクロック・ドメインと異なる。少なくとも1つのポートのうちの1つに関連する受信機ポート・ユニットを経由して受信されているフレーム、および少なくとも1つのポートのうちの1つに関連する送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報は、時間表示レジスタ内に記憶される。時間表示レジスタは、少なくとも1つのポートのうちの1つに関連する受信機ポート・ユニットを経由して受信されている、少なくとも一次データおよび/または二次データに従って更新される。少なくとも1つの第1のクロック・ドメインのうちの1つ内の少なくとも1つのポートのうちの1つに関連する受信機ポートを経由して受信されている少なくとも一次データおよび二次データは、タイマ管理手段によって監視される。時間表示レジスタの値が事前定義された閾値を超える場合、少なくとも1つの第2のクロック・ドメインのうちの1つ内の少なくとも1つのポートのうちの1つに関連する送信機ポート・ユニットを経由する少なくとも一次データの伝送は休止される。
【0021】
本発明はまた、前述の電子装置に対応する移動体装置およびデータ処理システムに関する。
【0022】
多重リンクの全域でフレームの同期化を提供することは、低いバッファ・スイッチでバッファ・オーバフローが発生しないことを保証することが可能であり、例えば、リアルタイムのデータトラフィックのために帯域幅保証を提供することができる。さらに、低電力のオプションを提示することが可能である。すなわち、積極的な電力管理が実施可能である。このようなフレーム同期化を可能にするために、それぞれの情報は、ノード間で交換されてよく、またはすべてのノードに分散される必要がある。本発明は、以下に、図面を参照してより詳細に説明される。
【発明を実施するための最良の形態】
【0023】
図1は、本発明が応用され得るデータ処理システム、すなわち電子装置のアーキテクチャの概略ブロック図を示す。データ処理システム、すなわち電子装置は、モデム1、通信アクセラレータ[accelerator]2、第1および第2の汎用処理エンジン3および6、メディア・アクセラレータ4、カメラ8、ディスプレイ9、大容量記憶装置5および10、ならびに補助装置7など、様々な機能ユニットを有する、高性能の移動体電話として実施されてよい。機能ユニットは、スイッチS1、S2、S3およびS4によってネットワークに結合される。様々な機能ユニットとスイッチとは、各々、独自のクロックで動作してよい。クロックはほぼ同じ速度を有することができるが、クロックの正確な同期化は提供され得ない。別の場合では、それぞれのクロックは互いに異なってよい。スイッチは、少なくとも1つのネットワーク・ノードを有してよい。保証されたスループットにより、等時性[isochronous]データなどのデータを送信する場合、伝送はネットワーク内で全世界的に同期化されることが極めて重要である。本発明は、この条件が満たされることを保証する通信方式を提供する。
【0024】
図2は、2つのノード間のデータ転送方式の略図を示す。ネットワーク内で実行される時分割多重は、同等のサイズのタイム・スロット内でデータを転送することによる低コストの解決策である。タイム・スロットは、機能ユニットからデータ・ストリームに対して予約されてよい。いくつかのスロットを有するフレームは、各々、ネットワーク内の各リンク全体にわたって送信されてよい。スロットは、異なる機能ユニット間の接続に割り当てられてもよい。スロット予約は、リアルタイムのデータ・ストリームのタイミング要件が満たされることを確実にするために実行されることが好ましい。
【0025】
この場合、データ伝送のために利用可能な時間は、長方形として示されるタイム・スロットSL内で再分割される。各タイム・スロットは、データのパケットの転送のために利用可能である。タイム・スロットの部分は、本明細書では、一次データとして示される、等時性データISOCなど、保証されたスループットを要求するデータのために予約される。この実施例では、これらのタイム・スロットは、領域ISLによって表示される。他のタイム・スロットは、事前に予約されないが、二次データとしても示される他のデータによる使用のために実行時に付与されてもよい。そういうものとして知られた属性機構体(例えば、ラウンド・ロビン、優先順位によるスケジューリング)は、2つ以上のデータ・ソースが同じリンクに沿ってデータを転送することを望む場合、データ・パケットを選択するために使用されてよい。残りのデータは、バルク・データBDとして、または個別のデータ片として転送されてよい。図2で分かるように、スロット予約は、固定数のスロットの後で反復する。この固定数のスロットは、本明細書で、フレームFRとして示される。この場合、フレームFRは、128個のスロットを有するが、任意の数が応用されてよい。この場合、第1のフレームFR1はt=0で開始し、第2のフレームFR2はt=128で開始し、第3のフレームはt=256で開始し、時間単位はスロットの存続期間である。
【0026】
図3は、より詳細なデータ・パケットの実施例の略図である。示されたデータ・パケットは、それぞれ、4バイトと、128バイトと、2バイトを有する、ヘッダHと、ペイロードPLと、トレーラTRとを有する。
【0027】
フレーム同期化を実施するために、スロット・サイズ(例えば、132バイト)およびフレーム存続期間(例えば、125μs)は、本発明によるデータ処理システム、すなわち電子装置内に固定される。スロット・サイズは、保証された最大スループット、すなわち(そのヘッダおよび、場合によっては、トレールを含む)ISOCパケットが提供されるように選択される。
【0028】
ヘッダHは、以降の構造を有する:タイプT(1バイト)、長さL(1バイト)、宛先アドレスD(1バイト)および発信元アドレスS(1バイト)。ペイロードPLは、現在送信されている実際のパケットまたはパケットの部分に従って、1バイトから128バイトを有してよい。トレーラTRは、CRC−16情報(2バイト)を有してよい。あるいは、パケットのサイズは、7(4+1+2)バイトと134(4+128+2)バイトとの間で異なってよい。
【0029】
等時性パケット、すなわち保証されたスループットのパケットISOCは、例えば、リアルタイムのトラフィックのために、保証されたスループットを要求するストリームの事前スケジュールされたパッケージに関連する。この種類のデータは、一次データと呼ばれてよい。Best_effortパケットBE、すなわち二次データの伝送は、実行時にスケジュールされる。
【0030】
図4は、本発明による、ISOCパケット伝送の略図を示す。ISOCパケットは、常にスロットの始めに位置合わせされることが好ましいが、ISOCパケットは、必ずしもスロット全体を占有しなくてよい。しかし、スロットは、最大ISOCパケット・サイズに対応する固定存続期間またはサイズを有するため、ISOCパケットは、1スロットを超えて拡張しないことになる。この場合、パケットISOC1は、単に第1のスロットの一部を使用するが、パケットISOC2は、第2のスロット全体を占有する。ISOCパケットは予約されたスロット内でだけ転送されるため、次の第3のスロットはいかなるISOCパケットも包括しない。パケットISOC3は第4のスロット全体を占有するが、パケットISOC4は第5のスロットの一部だけを占有する。
【0031】
図5は、本発明による、BEパケット伝送の略図を示す。特に、best_effortパケットBE1〜BE3は、図4に示されるタイム・スロットの間も転送される必要がある。best_effortパケットBE1〜BE3は、スロットの開始または始めに位置合わせされることに限定されず、また、スロットの終了に位置合わせされることにも限定されない。すなわち、best_effortパケットBEは、ISOCパケットによって使用されていないリンクの利用可能な帯域幅を満たしてよい。これらの未使用スロットは、第1のスロット内の部分的な未使用スロット(例えば、パケットISOC1)または、第3のスロットなど、完全な未使用スロットを含んでよい。この場合、パケットISOC1によって部分的にだけ占有されている第1のスロットは、BEパケットBE1の少なくとも一部によって満たされてよい。BEパケットBE1は、第1のスロット内の残りの領域よりも長いため、パケットBE1の残りの部分は、任意の後続のスロット内で収容されなければならない。第2のスロットはISOCパケットのために予約され、ISOCパケットは任意のBEパケットを横取りするため、パケットBE1の残りの部分は、第3のスロットだけを占有することが可能である。パケットBE1の残りの部分は第3のスロットより短く、またISOCパケットは常にスロットの始めに位置合わせされる必要があるため、第2のBEパケットBE2は第3のスロットを占有してよい。すなわち、複数のBEパケットは単一のスロットを占有してよい。
【0032】
ISOCパケットおよびBEパケットに加えて、別のパケットESC、すなわちエスケープ・タイプのパケットが送信されてもよい。エスケープ・タイプは、ヘッダの残りの部分の異なる形態を可能にする。このようなパケットは、様々な制御機能、例えば、それを介してデータが通信されるリンクをアクティブにするため、リンクを非アクティブにするため、または誤差を表示するために役立つ可能性がある。
【0033】
フレームは固定存続期間Tframe(例えば、Tframe=125μs)を有すると定義されるため、またスロットは固定長lslot(lslot=1072ビット)を有するため、フレーム内のスロット数は、リンクのビット・レートbによって決まり、以降の定式によって与えられる。
【数1】
【0034】
リンクのビット・レートbはa)所与の正確さを有する、知られたクロック周波数と、b)ライン符号化(例えば、符号化なし、または8b10b符号化)と、c)リンクに使用されるレーン数とに応じる。
【0035】
スロットは通常、残りの部分がそのまま残るように、フレームを完全には満たさない。この残りの部分は、例えば、温度またはPLLの不正確さによって引き起こされるビット・レートの偏差を補うために、かつ/または非ISOCデータを転送するために使用されてよい。
【0036】
図6は、異なるリンク速度でのフレームおよびそのスロットの略図を示す。この場合、結果として、116スロット、87スロットおよび46スロットのフレームと、それぞれ648ns(648ビットすなわち81バイト)、648ns(486ビットすなわち60.75バイト)、および1720ns(688ビットすなわち86バイト)とをもたらす、1Gb/s、750Mb/s、および400Mb/sのビット・レートを有するリンクに関して、3つの例が示される。
【0037】
図7は、第1の実施形態によるネットワーク・ノードの構成図を示す。ネットワーク・ノードはk個の受信ポートRX1、RX2、…、RXk、およびk個の送信ポートTX1、TX2、…、TXkを有する。ノードは、その受信機ポートRX1、RX2、…、RXkを経由して、任意のビット・レート(b1+E1,b2+E1、…、bk+Ek)でデータを受信でき、また同じビット・レートで送信することもできる。さらに、ノードは、ネットワーク・ノードのフレーム同期化を管理するためのタイム・マネージャTMMを有する。タイム・マネージャは、ネットワーク・ノード内のすべてのポートを管理するために提供されてよい。タイム・マネージャTMMは、各ポートのフレーム同期化をそれぞれ管理するために、タイム・マネージャの一部が各ポートと関連するように分割されてもよい。時間表示レジスタt[port]は、ネットワーク・ノード内で提供されてもよい。時間表示レジスタt[port]は、受信および送信されているフレームの時間位置に関する時間表示情報を記憶するために使用される。時間表示レジスタは、ポートの各々に対してこの情報を記憶することが好ましい。受信ポートRX1および送信ポートTX1は第1のポートP1に関連し、受信ポートRX2および送信ポートTX2は第2のポートP2に関連し、受信ポートRXkおよび送信ポートTXkはポートPkに関連する。すなわち、受信ポートRX1によって受信されたデータは、送信ポートTX1によって送信される。
【0038】
上のネットワーク・ノードの以降の動作では、その出力リンクが同じビット・レートで動作する場合に関して、特にフレーム同期化が説明される。図8および図12では、パケットの横取りをサポートしない、図7によるネットワーク・ノードの動作が、また図14では、パケットの横取りをサポートする、図7によるネットワーク・ノードの動作が例示される。
【0039】
図8は、パケットの横取りを伴わない、図7によるネットワーク・ノード内の受信機の動作の流れ図を示す。ノードは、その入力リンク上のタイミングを追跡し続ける必要があり、これはタイム・マネージャTMMによって実行される。パケットの横取りが利用可能でない場合、要求される制御シーケンスは、パケット境界でのみ発生することが可能である。このようなパケット境界で、受信機(またはその受信ポート)は、ESC_TIMEなどの複数のインジケータを経由して、タイミングの時間表示または入力リンクの時間位置、通常のBEまたはISOCパケット、BEパケットを受信でき、一方、クロックは発信元BE_PAUSE、または任意の他の制御シーケンス(ESC_PAUSEを含む、ESC)内で休止される。
【0040】
ステップS81で、受信機ポートのスロット単語カウンタslot_word_count[port]は、スロット・サイズslot_sizeに設定される。ステップS82で、入力ポートに接続されたノードからのフレームの相対的位置の時間表示ESC_TIMEは、レジスタ内t[port]に記憶される。ステップS83で、スロット単語カウンタslot_word_count[port]がゼロであるかどうかが検査され、そうである場合、スロット単語カウンタslot_word_count[port]は、スロット・サイズslot_sizeに設定される。ステップS84で、受信パケットの種類が検査される。受信パケットがエスケープ・タイプのものである場合、流れはステップS85に続き、ここで、パケットは無視されて、流れはステップS83に戻る。受信パケットがISOCタイプのものである場合、流れはステップS86に続き、その後、流れはステップS83に戻る。ステップS86内の動作は、図9に従って、より詳細に説明される。受信パケットがBEタイプのものである場合、流れはステップS87に続き、その後、流れはステップS83に戻る。ステップS87内の動作は、図10に従って、より詳細に説明される。受信パケットがBE_pausedタイプのものである場合、流れはステップS88に続き、その後、流れはステップS83に戻る。ステップS88内の動作は、図11に従って、より詳細に説明される。
【0041】
時間表示ESC_TIMEは近接ノードのフレーム内の相対的な時間位置への更新として使用される。時間表示が受信される場合、受信機はレジスタt[port]内の近接ノードのフレーム内の時間位置に関するその知識を更新しなければならない(すなわちステップS82において)。ノードのタイム・マネージャTMMは、レジスタt[port]にアクセスしてよい。すべての他の制御シーケンス(他のESC)は無関係であり、時間同期化によって無視される(すなわち、ステップS85)。
【0042】
データISOCパケットおよびBEパケットは、近接ノードのフレーム内の時間を追跡するために使用されてよい(すなわち、それぞれ、ステップS86およびS87)。受信された各単語により、受信機のレジスタt[port]内に記憶された近接ノードの相対的なフレーム時間知識は、単語の送信に関連する時間増分に伴って増加する(すなわち、ステップS82)。BE_PAUSEタイプのパケット、すなわちBEパケットが、フレーム知識を更新せずに受信される場合、ステップS88が実行される。このパケット種類は、その近接ノードのフレーム速度と比較して、そのフレーム速度が高すぎることを検出する場合、そのフレーム速度を落とすためにノードによって使用されてよい。ISOCパケットはフレーム時間が進む場合だけ送られるため、そのような場合、ISOCパケットは送信され得ない。しかし、BEパケットは残っている帯域幅の任意の部分を使用する傾向があるため、BEパケットは依然として送信され得る。
【0043】
図9は、ISOCパケットの受信中の、図8による受信機の動作の流れ図を示す。ステップS91で、パケットのパケット長がパケットのヘッダから抽出され、ISOC単語カウンタisoc_word_counterがこの値に設定される。ステップS92で、抽出されたパケット長に基づいて、全パケットが受信される(get_word(),isoc_word_count[port]・・・)。パケットの各単語に対して、次のスロット境界を表示するために、スロット単語カウンタslot_word_counterが更新される。近接ノード内のフレームの相対的な時間位置は、レジスタt[port]内で更新される。この場合も、ノードのタイム・マネージャTMMは、要求される同期化を実行するためにレジスタにアクセスしてよい。ISOCパケットの受信は、ステップS94で示されるように、パケットのすべての単語が受信される場合(isoc_word_count[port]=0)、終了することになる。
【0044】
図10は、BEパケットの受信中の、図8による受信機の動作の流れ図を示す。ステップS101で、BE単語カウンタbe_word_counter[port]を検査することによって、パケットは新しいパケットであるか、またはパケットの継続であるかが決定される。このカウンタは、依然として受信されることが要求される単語数を含む。カウンタがゼロである場合、新しいパケットが開始し、流れはステップS102に続き、ここで、パケットのパケット長がパケットのヘッダから抽出され、BE単語カウンタbe_word_counterはこの値に設定される。カウンタがゼロ以外の値である場合、横取りされたパケットが提示され、再開されなければならない(ステップS103)。ステップS103で、抽出されたパケット長に基づいて、全パケットが受信される(get_word(),be_word_count[port]…)。パケットの各単語に対して、次のスロット境界を表示するために、スロット単語カウンタslot_word_counterが更新される。近接ノード内のフレームの相対的な時間位置は、レジスタt[port]内で更新される(ステップS104)。この場合も、ノードのタイム・マネージャTMMは、要求される同期化を実行するためにレジスタにアクセスしてよい。BEパケットの受信は、ステップS105の場合のように、スロット境界(slot_word_count[port]=0)で、またはステップS106の場合のように、BEパケット境界に達している場合(be_word_count[port]=0)、割り込まれ得る。
【0045】
図11は、パケットの横取りを伴い、また時間更新を伴わない、BEパケットの受信中の、図8による受信機の動作の流れ図を示す。時間更新を伴わないBEパケットの受信は、例えば、近接ノードがその近接ノードのフレーム速度と同期させるためにそのフレーム速度を落とす場合、発生する。この場合、BEパケットは、フラッグ・セットにより受信されてよく、近接ノードのフレーム内の相対的な時間位置t[port]に関する更新が存在しないことの表示が実行されるべきである。
【0046】
ステップS111で、受信されることになる休止単語の数がBE_PAUSEメッセージから抽出され、休止された単語カウンタpause_word_counter[port]はこの値に設定される。ステップS11で、pause_word_count[port]がゼロになるまでデータは受信される。この期間中、通常のBEパケットの受信と同じように、BEパケットが受信される。ステップS112で、BE単語カウンタbe_word_counter[port]を検査することによって、パケットは新しいパケットであるか、またはパケットの継続であるかが決定される。このカウンタは、依然として受信されることが要求される単語数を含む。カウンタがゼロである場合、新しいパケットが開始し、流れはステップS113に続き、ここで、パケットのパケット長がパケットのヘッダから抽出され、BE単語カウンタbe_word_counterはこの値に設定される。カウンタがゼロ以外の値である場合、横取りされたパケットが提示され、再開されなければならない(ステップS114)。ステップS114で、抽出されたパケット長に基づいて、全パケットが受信される(get_word(),be_word_count[port])。休止されたBEパケットの受信は、ステップS115の場合のように、すべての休止単語が受信されている場合(paused_word_count[port]=0)、またはステップS116の場合のように、BEパケット境界に達している場合(be_word_count[port]=0)、割り込まれる。BEパケット境界に達している場合、流れはステップS113に戻る。BEパケット境界に達していない場合、流れはS114に戻る。
【0047】
図面を簡単に維持するために、上の図に示されないが、ISOCパケットの休止中でさえ、BEパケット境界で、例えば、他の方向のリンク上の誤差を公表するために、ESC記号は受信されてよい。
【0048】
図12は、図7によるネットワーク・ノードのタイム・マネージャTMMの動作の流れ図を示す。前述のように、近接ノードのフレームの相対的な時間位置の更新は、レジスタt[port]内に記憶され、ノードのタイム・マネージャに対して利用可能である。ステップS121で、その独自の局所クロックに基づいて、他のノードのフレーム内にその独自の相対的位置を維持するレジスタt[port]は、タイム・マネージャTMMによってアクセスされる。ステップ122で、局所時間位置と、近接ノードの時間位置とが比較されて、レジスタtmax_diff内に記憶される。
【0049】
図13は、フレーム同期化を伴うが、パケットの横取りを伴わない、図7によるネットワーク・ノードのタイム・マネージャTMMの動作の流れ図を示す。ステップ130で、局所時間位置と、近接ノードの時間位置との差異はゼロに設定される。ステップS131で、単語カウンタword_countはゼロに設定される。ステップS132で、単語クロックword_clockは待ち受けられる。ステップ133で、単語カウントword_countは、(スロット境界を追跡する目的で)単語を受信するためにかかった時間word_durationによって更新され、フレーム内の相対時間tが(図12のステップS122で使用されるように)更新される。
【0050】
ステップS134で、スロット境界に達しているかどうか、すなわち、単語カウンタword_countがスロット・サイズに達しているかどうかが決定される。そうである場合、流れはステップS132に戻る。そうでない場合、流れはステップS135を続ける。ステップS135で、ハードワイヤされて[hardwired]もよく、またはユーザによって構成されてもよい閾値(tdiff_threshold)を超えないようにtmax_diffが監視される。さらに、tmax_diffは、frame_duration/2より小さくあるべきである。ステップS134で決定されたスロット境界で、この差異が検査され、差異が閾値tdiff_thresholdより高い場合、フレームは、tmax_diffによって与えられる時間の存続期間に対して休止される。休止時間は、ステップS136で0に初期設定され、ステップS137で、単語クロックword_clockがステップS137内で受信されるたびにword_durationにより更新されるtpause内に維持される。ステップS138で示されるようにフレーム休止の間、ISOCデータは送信されない。ステップS139で、tpause<tmax_diffであるかどうかが決定される。そうである場合、流れはステップS130に戻る。そうでない場合、流れはステップ137に戻る。したがって、フレーム同期化は、より遅いフレームの速度に到るまでフレーム速度を落とすことによって実現される。
【0051】
図13の流れ図では、その場合、すべてのリンクは、そのISOC伝送を休止して同期化を開始することが可能であるため、スロット境界が使用される。
【0052】
図14は、同じ速度の出力を有し、パケットの横取りを伴う、図7によるネットワーク・ノードの受信機の動作の流れ図を示す。システムが(例えば、8b10b符号化でK個の符号を使用することによって)パケットの横取りを提供する場合、受信機の動作は、パケットの横取りを伴わない、図8による受信機の動作と比べてさらに簡素化される。受信機は、ESCシーケンスが常に受信され得るように、いかなるスロット境界またはパケット境界にも拘束されない。したがって、パケット/スロット境界を追跡し続ける必要はない。単にESCシーケンスの発生だけが追跡されることになる。ステップS141で、レジスタt[port]は、抽出されたESC時間に設定され、単語カウンタword_countはゼロに設定される。流れはステップS142に続き、ここで、次の記号が検査される。記号が(ESC_TIME以外の)ESC記号、またはPAUSE記号もしくはデータに関連する場合、流れはステップS143に続き、ここで、この記号は、フレーム同期化に関して無視され、流れはステップS142に戻る。そうでなければ、流れはステップS144に続く。ステップS144で、パケットの単語が受信される。パケットの各単語に対して、単語カウンタword_counterが増加される、すなわち更新される。ステップS145で、単語カウントword_count[port]は、スロット内のslot_size記号に対応するslot_sizeよりも小さいかどうかが決定される。そうである場合、流れはステップS142に戻る。しかし、そうでない場合、流れはステップS146に続く。ステップS146で、レジスタt[port]の値は、(レジスタ内に記憶される(ステップS147))スロット存続期間slot_duration[port]によって増加される。さらに、単語カウンタword_count[port]はゼロに設定され、流れはステップS142に戻る。
【0053】
ESC_TIMEシーケンスがステップS141で受信される場合、近接ノードの相対的な時間位置は、自動的に新しい値に更新され、新しい値は、レジスタt[port]内のタイム・マネージャTMMに報告される(ステップS147)。通常のデータ(BEパケットおよびISOCパケット、またはIDEL記号)がステップS142で受信される場合、レジスタt[port]は、近接ノードのクロック・ドメイン内の単語存続期間に更新され(ステップS146)、速やかにタイム・マネージャTMMに報告される(ステップS147)。
【0054】
図15は、フレーム同期化を伴い、パケットの横取りを伴う、図7によるネットワーク・ノードのタイム・マネージャTMMの動作の流れ図を示す。ステップ150で、局所時間位置と、近接ノードの時間位置との差異はゼロに設定される。ステップS151で、単語クロックword_clockは待ち受けられる。ステップ152で、フレーム内の相対時間tは、ステップS122で、tmax_diffを計算するために使用される単語存続期間によって更新される。
【0055】
ステップS153で、ハードワイヤされてもよく、またはユーザによって構成されてもよい閾値(tdiff_threshold)を超えないようにtmax_diffが監視される。さらに、tmax_diffはframe_duration/2より小さくなければならない。この場合、流れはステップS151に戻る。そうでなければ、流れはステップS154に続く。ステップS154では、報告されたドリフト(tmax_diff)がゼロにされるように、tpauseをゼロに設定することによってフレームは休止される。ステップS155で、単語クロックword_clockは待ち受けられる。ステップ156で、tpauseは単語存続期間によって増加され、ISOCデータは送信されない。ステップS157で、tpause<tmax_diffであるかどうかが決定される。そうである場合、流れはステップS158に続く。そうでない場合、流れはステップ155に戻る。ステップS158で、tmax_diffはゼロに設定され、流れはステップS152に戻る。
【0056】
したがって、パケットの横取りが利用可能である場合、スロット境界を追跡し続ける必要がないため(例えば、ステップS131、S134)、タイム・マネージャTMMの構成も、図13による構成に比べて簡素化される。フレーム・ドリフトtmax_diffは、各クロックで検査され(ステップ153)、閾値tdiff_thresholdより高い場合、フレームは少なくとも1つの近接ノードのフレームに比べて進み過ぎであり、休止されなければならない(ステップS154)。前述のように、フレーム休止の間、BEパケットと他のESC記号とは送信されてよい。
【0057】
図16は、第2の実施形態によるネットワーク・ノードの構成図を示す。ネットワーク・ノードは、k個の受信ポートRX1、RX2、…、RXk、ならびにk個の送信ポートTX1、TX2、…、TXkを有する。ノードは、その受信ポートRX1、RX2、…、RXkを経由して、任意のビット・レート(α1*(b1+E1),α2*(b2+E1)、…、αk*(bk+Ek))でデータを受信してよく、またその送信機ポートTX1、TX2、…、TXkを経由して、任意のビット・レート(β1*(b1+E1),β2*(b2+E1)、…、βk*(bk+Ek))でデータを送信できる。タイム・マネージャTMMは、ネットワーク・ノード内のすべてのポートを個々に管理するために提供されてよい。タイム・マネージャTMMは、各ポートのフレーム同期を管理するために、タイム・マネージャの一部が各ポートに個々に関連するように分割されてもよい。時間表示レジスタt[port]は、ネットワーク・ノード内で提供されてもよい。時間表示レジスタt[port]は受信および送信されているフレームの時間位置に関する時間表示情報を記憶するために使用される。時間表示レジスタは、ポートの各々のためにこの情報を記憶することが好ましい。受信ポートRX1および送信ポートTX1は第1のポートP1に関連し、受信ポートRX2および送信ポートTX2は第2のポートP2に関連し、受信ポートRXkおよび送信ポートTXkはポートPkに関連する。すなわち、受信ポートRX1によって受信されたデータは送信ポートTX1によって送信される。
【0058】
ここでは、ノードの出力リンクが異なるビット・レートで実行する場合のネットワーク・ノードに関する一般的な事例が示される。出力リンクのビット・レートは、同じ基準クロックから導き出されてよい。したがって、出力リンクは、基本的なビット・レート(b+E)の倍数であるビット・レートで実行されてよい。Eは、クロックの不正確さによって引き起こされる、公称ビット・レートbからの偏差である。リンクは、各々の追加レーンがレーンのビット・レートを増加する、1つまたは複数のレーンを有することが可能であるため、出力リンクは異なるビット・レートを有してよい。
【0059】
図17は、フレーム同期を伴うが、パケットの横取りを伴わない、図16による、ネットワーク・ノードのタイム・マネージャTMMの動作の流れ図を示す。この流れ図は、実質的に、図13の流れ図に対応する。ステップ10で、局所時間位置と、近接ノードの時間位置との間の差異はゼロに設定される。ステップS171で、単語カウンタword_countはゼロに設定される。ステップS172で、基本単語クロックbase_word_clockは待ち受けられる。ステップ173で、単語カウントword_countは、パケットから受信された単語の基本単語存続期間base_word_durationによって更新される。ステップS174でスロット境界に達しているかどうか、すなわち、単語カウンタword_countは基本スロット存続期間に達しているかどうかが決定される。そうである場合、流れはステップS172に戻る。そうでない場合、流れはステップS175を続ける。ステップS175で、ハードワイヤされてもよく、またはユーザによって構成されてもよい閾値(tdiff_threshold)を超えないようにtmax_diffが監視される。さらに、tmax_diffは、frame_duration/2より小さくなければならない。ステップS174で決定されるスロット境界で、この差異は検査され、差異が閾値tdiff_thresholdより高い場合、報告されたドリフト(tmax_diff)がゼロにされるようにtpauseをゼロに設定することによってフレームは休止される。ステップS177で、基本単語クロックbase_word_clockは待ち受けられる。ステップ178で、tpauseは、基本単語存続期間base_word_durationによって増加され、ISOCデータは送信されない。ステップS179で、tpause<tmax_diffかどうかが決定される。そうである場合、流れはステップS170に戻る。そうでない場合、流れはステップ177に戻る。したがって、フレーム同期化は、より遅いフレームの速度に到るまでフレーム速度を落とすことによって実現される。
【0060】
したがって、ノード内の受信機ならびにtmax_diffの計算は、図8による単一リンク速度の場合と同じ状態のままである。変更される必要がある唯一の部分は、タイム・マネージャTMMである。変更は、基本レートbに対して、使用された単語クロック(base_word_lock)と、単語存続期間(base_word_duration)とを導き出すことによって実行される。スロットがbase_word_clockを使用してカウントされる場合、すべての出力リンクもスロット境界に存在することになり、フレームはその近接ノードの位相と再び位置合わせされるように一時的に休止され得る。この方式の不利点はフレーム同期化の粒度が高速リンクにとって大きすぎ、結果として、バッファリングを増加する可能性があることである。この問題を解決するために、タイム・マネージャTMMは、図18に従って示されるように、複数のタイム・マネージャ内でリンクにつき1つに分割され得る。基本的な方式は同じであるが、この場合、各タイム・マネージャは、送信機のクロックword_clock[port]と、単語存続期間word_duration[port]とを使用し、その独自の状態word_count[port]と、tpause[port]と、tmax_diff[port]とを有する。
【0061】
図18は、図16による、ネットワーク・ノードのタイム・マネージャTMMの動作の流れ図を示す。この流れ図は本質的に、図13の流れ図に対応する。ステップ180で、局所時間位置と、近接ノードの時間位置との間の差異はゼロに設定される。ステップS171で、各ポートに対する単語カウンタword_countはゼロに設定される。ステップS182で各ポートに対する単語クロックword_clockは待ち受けられる。ステップ183で、各ポートに対する単語カウントword_countは、パケットから受信された単語の単語存続期間word_durationによって更新される。ステップS184で、スロット境界に達しているかどうか、すなわち、各ポートに対する単語カウンタword_countがスロット・サイズに達したかどうかが決定される。そうである場合、流れはステップS182に戻る。そうでない場合、流れはステップS185を続ける。ステップS185で、ハードワイヤされてもよく、またはユーザによって構成されてもよい閾値(tdiff_threshold)を超えないようにtmax_diffが監視される。さらにtmax_diffは、frame_duration/2より小さくなければならない。ステップS184で決定された各ポートに対するスロット境界でこの差異が検査され、差異が閾値tdiff_thresholdより高い場合、報告されたドリフト(tmax_diff)がゼロにされるように、tpauseをゼロに設定することによってポートに対しフレームは休止される。ステップS187で、単語クロックword_clockは待ち受けられる。ステップ188で、tpauseは単語存続期間word_durationによって増加されISOCデータは送信されない。ステップS189で、tpause<tmax_diffであるかどうかが決定される。そうである場合、流れはステップS180に戻る。そうでない場合、流れはステップ187に戻る。したがって、フレーム同期化は、より遅いフレームの速度に到るまでフレーム速度を落とすことによって実現される。
【0062】
パケットの横取りが存在する場合、図19に従って説明されるように、例えば、フレーム内の局所的な相対位置を維持するために、そこから基本単語存続期間base_word_durationが導き出される基本クロックbase_word_clockを使用して、図15による流れ図が依然として使用され得る。
【0063】
図19は、図7による、ネットワーク・ノードの送信機のタイム・マネージャTMMの動作の流れ図を示す。ステップ190で、局所時間位置と、近接ノードの時間位置との間の差異はゼロに設定される。ステップS191で、基本単語クロックbase_word_clockは待ち受けられる。ステップ192で、フレーム内の相対時間tは、単語word_durationを送信するための時間により更新される。図12に従って、ステップS122で示されるように、時間tは、現在のノードと近接ノードとの間のドリフトを計算するために使用される。
【0064】
ステップS193で、ハードワイヤされてもよく、またはユーザによって構成されてもよい閾値(tdiff_threshold)を超えないようにtmax_diffが監視される。さらに、tmax_diffは、frame_duration/2より小さくなければならない。この場合、流れはステップS190に戻る。そうでない場合、流れはステップS194に続く。ステップS154で、報告されたドリフト(tmax_diff)がゼロにされるようにtpauseをゼロに設定することによってフレームは休止される。ステップS195で、基本単語クロックbase_word_clockは待ち受けられる。ステップ196で、tpauseは単語存続期間によって増加されて、ISOCデータは送信されない。ステップS197で、tpause<tmax_diffであるかどうかが決定される。そうであれば、流れはステップS190に戻る。そうでなければ、流れはステップ195に戻る。
【0065】
第3の実施形態によれば、上述のフレーム同期化は、リンクのビット・レート間に関係が存在しない状況にも応用され得る。この場合、単にタイム・マネージャTMMだけが導入される必要がある。タイム・マネージャTMMは、図18に従って、送信機(出力ポート)の全域で分散されなければならない。これは、横取りが利用可能でない場合、ならびに横取りが利用可能である場合に実行されなければならない。出力リンクのいくつかが同じビット・レート、また普通の基本ビット・レートから導き出されるビット・レートを使用する場合、タイム・マネージャTMMはこれらのリンクの全域で共有されてよい。
【0066】
上の実施形態のすべてにおいて、タイム・マネージャTMMと、時間表示レジスタt[port]とは、すべてのポートに対するユニットとして実施されてよい。あるいは、これらはポートの各々に対して実施されてもよく、またはタイム・マネージャおよび/または時間表示レジスタが各ポートに対して提供されるように分割されてもよい。したがって、フレーム同期化は、ポートの各々に対して独立して実現され得る。
【0067】
一実施形態によれば、各々がいくつかのタイム・スロット(SL)に分割されているフレーム(FR)に基づいて、少なくとも一次データおよび二次データ(ISOC、BE)を通信するための機能ユニット(1〜10)と、少なくとも1つの第1のクロック・ドメインのうちの1つ内の複数の機能ユニット(1〜10)のうちの1つから少なくとも一次データおよび二次データ(ISOC、BE)を受信するための少なくとも1つの受信機ポート(RX1,RX2、…、RXk)を有する受信機(RX)および少なくとも1つの第2のクロック・ドメインのうちの1つ内の複数の機能ユニット(1〜10)のうちの別の1つに少なくとも一次データおよび二次データ(ISOC,BE)を送信するための少なくとも1つの送信機ポート(TX1,TX2、…、TXk)を有する送信機(TX)を有する機能ユニット(1〜10)を結合するための少なくとも1つのネットワーク・ノード(S1〜S4)を有する電子装置が提供される。少なくとも1つの第2のクロック・ドメインは、少なくとも1つの第1のクロック・ドメインと異なる。電子装置は、少なくとも1つの受信機ポート(RX1,RX2、…、RXk)を経由して受信されるフレームと、少なくとも1つの送信機ポート(TX1,TX2、…、TXk)を経由して送信されているフレームの相対的な時間位置に関する情報を記憶するための、少なくとも1つの受信機ポート(RX1,RX2、…、RXk)を経由して受信されている一次データおよび/または二次データ(ISOC,BE)に従って更新される時間表示レジスタ(t[port])と、少なくとも1つの第1のクロック・ドメインのうちの1つ内の受信機(RX)の少なくとも1つの受信機ポートで受信された少なくとも一次データおよび二次データ(ISOC,BE)を監視するため、および時間表示レジスタの値が所定の閾値を超える場合、少なくとも1つの第2のクロック・ドメインのうちの1つ内の少なくとも1つの送信機ポート(TX1,TX2、…、TXkを経由して少なくとも一次データ(ISOC)の伝送を休止するためのタイマ管理手段(TMM)をさらに含む。
【0068】
前述の実施形態は、本発明を限定するのではなく、本発明を例示し、また当業者は、添付の特許請求の範囲から逸脱せずに、多くの代替形態を構成することが可能になる点に留意されたい。特許請求の範囲では、括弧内に配置されるいずれの参照符号も、特許請求の範囲を限定するものと解釈されるべきではない。用語「有する」は、特許請求の範囲内に列挙された要素またはステップ以外の要素またはステップの存在を排除しない。要素に先立つ用語「1つの(“a”または“an”)」は、複数のこのような要素の存在を排除しない。装置クレームにおいて、いくつかの手段の列挙は、これらの手段のいくつかが、1つの同じハードウェア品目によって実施されることが可能である。いくつかの処置が相互に異なる独立クレームで列挙されているという単なる事実は、これらの処置の組合せが有利に利用され得ないことを示さない。
【0069】
さらに、特許請求の範囲のいずれの参照符号も、特許請求の範囲の範囲を限定するものと解釈されるべきではない。
【図面の簡単な説明】
【0070】
【図1】本発明によるデータ処理システムのアーキテクチャの概略ブロック図である。
【図2】2つのノード間のデータ転送方式の略図である。
【図3】より詳細なデータ・パケットの実施例の略図である。
【図4】本発明によるISOCパケット伝送の略図である。
【図5】本発明によるBEパケット伝送の略図である。
【図6】異なるリンク速度でのフレームおよびそのスロットの略図である。
【図7】第1の実施形態によるネットワーク・ノードの構成図である。
【図8】パケットの横取りを伴わない、図7によるネットワーク・ノード内の受信機の動作の流れ図である。
【図9】パケットの横取りを伴わない、ISOCパケットの受信中の、図7によるネットワーク・ノード内の受信機の動作の流れ図である。
【図10】パケットの横取りと時間更新とを伴わない、BEパケットの受信中の、図7によるネットワーク・ノード内の受信機の動作の流れ図である。
【図11】パケットの横取りを伴わず、また時間更新を伴わない、BEパケットの受信中の、図7によるネットワーク・ノード内の受信機の動作の流れ図である。
【図12】図7によるネットワーク・ノードのタイム・マネージャ[time manager]の動作の流れ図である。
【図13】フレーム同期化を伴うが、パケットの横取りを伴わない、図7によるネットワーク・ノードのタイム・マネージャの動作の流れ図である。
【図14】同じ速度の出力を有し、パケットの横取りを伴う、図7によるネットワーク・ノードの受信機の動作の流れ図である。
【図15】フレーム同期化を伴い、パケットの横取りを伴う、図7によるネットワーク・ノードのタイム・マネージャの動作の流れ図である。
【図16】第2の実施形態によるネットワーク・ノードの構成図である。
【図17】図16によるネットワーク・ノードのタイム・マネージャの動作の流れ図である。
【図18】図16によるネットワーク・ノードの送信機のタイム・マネージャの動作の流れ図である。
【図19】図16によるネットワーク・ノードの送信機のタイム・マネージャの動作の流れ図である。
【特許請求の範囲】
【請求項1】
各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、
少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの1つから前記少なくとも一次データおよび二次データを受信するための関連する受信機ポート・ユニット、および少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの別の1つに前記少なくとも一次データおよび二次データを送信するための関連する送信機ポート・ユニットを有する少なくとも1つのポートを有する、前記機能ユニットを結合するための少なくとも1つのネットワーク・ノードと、
前記少なくとも1つの第1のクロック・ドメインと異なっている前記少なくとも1つの第2のクロック・ドメインと、
前記少なくとも1つのポートのうちの1つに関連する前記受信機ポート・ユニットを経由して受信されているフレーム、および前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を記憶するための時間表示レジスタであって、前記少なくとも1つのポートのうちの前記1つに関連する前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび/または二次データに従って更新される時間表示レジスタと、
前記少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの1つに関連する前記受信機ポートを経由して受信された前記少なくとも一次データおよび二次データを監視するため、および前記時間表示レジスタの値が所定の閾値を超える場合、前記少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポートを経由して前記少なくとも一次データの伝送を休止するためのタイマ管理手段と、
を有する電子装置。
【請求項2】
前記時間表示レジスタが、前記受信機ポート・ユニットによって受信されたエスケープ・タイプのパケットに従ってさらに更新される、請求項1に記載の電子装置。
【請求項3】
前記時間管理手段が、前記一次データの伝送が休止されている場合でさえ、前記二次データの伝送を可能にするように適応された、請求項1に記載の電子装置。
【請求項4】
前記時間表示レジスタの前記更新と、前記伝送の前記休止とが、単語境界でまたはスロット境界で実行され得る、請求項1に記載の電子装置。
【請求項5】
前記フレームが、各々、事前定義された固定存続期間を有する、請求項1に記載の電子装置。
【請求項6】
前記スロットが各々、事前定義された固定サイズを有する請求項1に記載の電子装置。
【請求項7】
前記スロットの前記サイズが、最大一次データ・パケットを収容するように適応された請求項6に記載の電子装置。
【請求項8】
一次データ・パケットが、そのために予約されたスロットの始まりで開始し、
二次データ・パケットが、予約されていないスロットの始まりで、または前記一次データによって少なくとも部分的に使用されるスロットの最中に開始する、請求項6または7に記載の電子装置。
【請求項9】
前記少なくとも1つのネットワーク・ノードの各々が時間管理手段を有する、請求項1に記載の電子装置。
【請求項10】
前記時間管理手段が、前記ポートの前記受信機ポート・ユニットを経由して受信された前記一次データおよび二次データを監視するために、前記ネットワーク・ノード内の前記ポートの各々に対して1つの時間管理ユニットを有する、請求項9に記載の電子装置。
【請求項11】
前記少なくとも1つのネットワーク・ノードの各々が、前記少なくとも1つのポートの各々に対して、前記受信機ポート・ユニットを経由して受信されているフレーム、および前記送信機ポート・ユニットを経由して送信されているフレームの前記相対的な時間位置に関する情報を記憶するため、および前記少なくとも1つのポートの前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび/または二次データに従って、各ポートに対して前記時間表示情報を更新するための時間表示レジスタを有する、請求項9または10に記載の電子装置。
【請求項12】
各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、少なくとも1つのポートを有する機能ユニットを結合するための少なくともネットワーク・ノードとを有する電子装置内のフレーム同期化のための方法であって、
前記少なくとも1つのポートに関連する受信機ポート・ユニットによって、少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの1つから前記少なくとも一次データおよび二次データを受信するステップと、
前記少なくとも1つのポートに関連する送信機ポート・ユニットによって、少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの別の1つに前記少なくとも一次データおよび二次データを送信するステップであって、
前記少なくとも1つの第2のクロック・ドメインは、前記少なくとも1つの第1のクロック・ドメインと異なるステップと、
前記少なくとも1つのポートのうちの1つに関連する前記受信機ポート・ユニットを経由して受信されているフレーム、および前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を時間表示レジスタ内に記憶するステップと、
前記少なくとも1つのポートのうちの前記1つに関連する前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび/または二次データに従って前記時間表示レジスタを更新するステップと、
タイマ管理手段によって、前記少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの1つに関連する前記受信機ポートを経由して受信された前記少なくとも一次データおよび二次データを監視するステップと、
前記時間表示レジスタの値が所定の閾値を超える場合、前記少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポート・ユニットを経由して、前記少なくとも一次データの伝送を休止するステップと、を含む方法。
【請求項13】
各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、
少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの1つから少なくとも一次データおよび二次データを受信するための関連する受信機ポート・ユニット、および少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの別の1つに前記少なくとも一次データおよび二次データを送信するための関連する送信機ポート・ユニットを有する少なくとも1つのポートを有する、機能ユニットを結合するための少なくとも1つのネットワーク・ノードと、
前記少なくとも1つの第1のクロック・ドメインと異なる前記少なくとも1つの第2のクロック・ドメインと、
前記少なくとも1つのポートのうちの1つに関連する前記受信機ポート・ユニットを経由して受信されているフレーム、および前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を記憶するための時間表示レジスタであって、前記少なくとも1つのポートのうちの前記1つに関連する前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび/または二次データに従って更新される時間表示レジスタと、
前記少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの1つに関連する前記受信機ポートを経由して受信された前記少なくとも一次データおよび二次データを監視するため、および前記時間表示レジスタの値が所定の閾値を超えている場合、前記少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポートを経由して前記少なくとも一次データの伝送を休止するためのタイマ管理手段と、
を含む移動体装置。
【請求項14】
各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、
少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの1つから前記少なくとも一次データおよび二次データを受信するための関連する受信機ポート・ユニット、および少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの別の1つに前記少なくとも一次データおよび二次データを送信するための関連する送信機ポート・ユニットを有する少なくとも1つのポートを有する、機能ユニットを結合するための少なくとも1つのネットワーク・ノードと、
前記少なくとも1つの第1のクロック・ドメインと異なる前記少なくとも1つの第2のクロック・ドメインと、
前記少なくとも1つのポートのうちの1つに関連する前記受信機ポート・ユニットを経由して受信されているフレーム、および前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を記憶するための時間表示レジスタであって、前記少なくとも1つのポートのうちの前記1つに関連する前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび/または二次データに従って更新される時間表示レジスタと、
前記少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの1つに関連する前記受信機ポートを経由して受信された前記少なくとも一次データおよび二次データを監視するため、および前記時間表示レジスタの値が所定の閾値を超えている場合、前記少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポート・ユニットを経由して前記少なくとも一次データの伝送を休止するためのタイマ管理手段と、
を含むデータ処理システム。
【請求項1】
各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、
少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの1つから前記少なくとも一次データおよび二次データを受信するための関連する受信機ポート・ユニット、および少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの別の1つに前記少なくとも一次データおよび二次データを送信するための関連する送信機ポート・ユニットを有する少なくとも1つのポートを有する、前記機能ユニットを結合するための少なくとも1つのネットワーク・ノードと、
前記少なくとも1つの第1のクロック・ドメインと異なっている前記少なくとも1つの第2のクロック・ドメインと、
前記少なくとも1つのポートのうちの1つに関連する前記受信機ポート・ユニットを経由して受信されているフレーム、および前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を記憶するための時間表示レジスタであって、前記少なくとも1つのポートのうちの前記1つに関連する前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび/または二次データに従って更新される時間表示レジスタと、
前記少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの1つに関連する前記受信機ポートを経由して受信された前記少なくとも一次データおよび二次データを監視するため、および前記時間表示レジスタの値が所定の閾値を超える場合、前記少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポートを経由して前記少なくとも一次データの伝送を休止するためのタイマ管理手段と、
を有する電子装置。
【請求項2】
前記時間表示レジスタが、前記受信機ポート・ユニットによって受信されたエスケープ・タイプのパケットに従ってさらに更新される、請求項1に記載の電子装置。
【請求項3】
前記時間管理手段が、前記一次データの伝送が休止されている場合でさえ、前記二次データの伝送を可能にするように適応された、請求項1に記載の電子装置。
【請求項4】
前記時間表示レジスタの前記更新と、前記伝送の前記休止とが、単語境界でまたはスロット境界で実行され得る、請求項1に記載の電子装置。
【請求項5】
前記フレームが、各々、事前定義された固定存続期間を有する、請求項1に記載の電子装置。
【請求項6】
前記スロットが各々、事前定義された固定サイズを有する請求項1に記載の電子装置。
【請求項7】
前記スロットの前記サイズが、最大一次データ・パケットを収容するように適応された請求項6に記載の電子装置。
【請求項8】
一次データ・パケットが、そのために予約されたスロットの始まりで開始し、
二次データ・パケットが、予約されていないスロットの始まりで、または前記一次データによって少なくとも部分的に使用されるスロットの最中に開始する、請求項6または7に記載の電子装置。
【請求項9】
前記少なくとも1つのネットワーク・ノードの各々が時間管理手段を有する、請求項1に記載の電子装置。
【請求項10】
前記時間管理手段が、前記ポートの前記受信機ポート・ユニットを経由して受信された前記一次データおよび二次データを監視するために、前記ネットワーク・ノード内の前記ポートの各々に対して1つの時間管理ユニットを有する、請求項9に記載の電子装置。
【請求項11】
前記少なくとも1つのネットワーク・ノードの各々が、前記少なくとも1つのポートの各々に対して、前記受信機ポート・ユニットを経由して受信されているフレーム、および前記送信機ポート・ユニットを経由して送信されているフレームの前記相対的な時間位置に関する情報を記憶するため、および前記少なくとも1つのポートの前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび/または二次データに従って、各ポートに対して前記時間表示情報を更新するための時間表示レジスタを有する、請求項9または10に記載の電子装置。
【請求項12】
各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、少なくとも1つのポートを有する機能ユニットを結合するための少なくともネットワーク・ノードとを有する電子装置内のフレーム同期化のための方法であって、
前記少なくとも1つのポートに関連する受信機ポート・ユニットによって、少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの1つから前記少なくとも一次データおよび二次データを受信するステップと、
前記少なくとも1つのポートに関連する送信機ポート・ユニットによって、少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの別の1つに前記少なくとも一次データおよび二次データを送信するステップであって、
前記少なくとも1つの第2のクロック・ドメインは、前記少なくとも1つの第1のクロック・ドメインと異なるステップと、
前記少なくとも1つのポートのうちの1つに関連する前記受信機ポート・ユニットを経由して受信されているフレーム、および前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を時間表示レジスタ内に記憶するステップと、
前記少なくとも1つのポートのうちの前記1つに関連する前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび/または二次データに従って前記時間表示レジスタを更新するステップと、
タイマ管理手段によって、前記少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの1つに関連する前記受信機ポートを経由して受信された前記少なくとも一次データおよび二次データを監視するステップと、
前記時間表示レジスタの値が所定の閾値を超える場合、前記少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポート・ユニットを経由して、前記少なくとも一次データの伝送を休止するステップと、を含む方法。
【請求項13】
各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、
少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの1つから少なくとも一次データおよび二次データを受信するための関連する受信機ポート・ユニット、および少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの別の1つに前記少なくとも一次データおよび二次データを送信するための関連する送信機ポート・ユニットを有する少なくとも1つのポートを有する、機能ユニットを結合するための少なくとも1つのネットワーク・ノードと、
前記少なくとも1つの第1のクロック・ドメインと異なる前記少なくとも1つの第2のクロック・ドメインと、
前記少なくとも1つのポートのうちの1つに関連する前記受信機ポート・ユニットを経由して受信されているフレーム、および前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を記憶するための時間表示レジスタであって、前記少なくとも1つのポートのうちの前記1つに関連する前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび/または二次データに従って更新される時間表示レジスタと、
前記少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの1つに関連する前記受信機ポートを経由して受信された前記少なくとも一次データおよび二次データを監視するため、および前記時間表示レジスタの値が所定の閾値を超えている場合、前記少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポートを経由して前記少なくとも一次データの伝送を休止するためのタイマ管理手段と、
を含む移動体装置。
【請求項14】
各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、
少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの1つから前記少なくとも一次データおよび二次データを受信するための関連する受信機ポート・ユニット、および少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記複数の機能ユニットのうちの別の1つに前記少なくとも一次データおよび二次データを送信するための関連する送信機ポート・ユニットを有する少なくとも1つのポートを有する、機能ユニットを結合するための少なくとも1つのネットワーク・ノードと、
前記少なくとも1つの第1のクロック・ドメインと異なる前記少なくとも1つの第2のクロック・ドメインと、
前記少なくとも1つのポートのうちの1つに関連する前記受信機ポート・ユニットを経由して受信されているフレーム、および前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を記憶するための時間表示レジスタであって、前記少なくとも1つのポートのうちの前記1つに関連する前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび/または二次データに従って更新される時間表示レジスタと、
前記少なくとも1つの第1のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの1つに関連する前記受信機ポートを経由して受信された前記少なくとも一次データおよび二次データを監視するため、および前記時間表示レジスタの値が所定の閾値を超えている場合、前記少なくとも1つの第2のクロック・ドメインのうちの1つ内の前記少なくとも1つのポートのうちの前記1つに関連する前記送信機ポート・ユニットを経由して前記少なくとも一次データの伝送を休止するためのタイマ管理手段と、
を含むデータ処理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公表番号】特表2008−544624(P2008−544624A)
【公表日】平成20年12月4日(2008.12.4)
【国際特許分類】
【出願番号】特願2008−516474(P2008−516474)
【出願日】平成18年6月12日(2006.6.12)
【国際出願番号】PCT/IB2006/051860
【国際公開番号】WO2006/134540
【国際公開日】平成18年12月21日(2006.12.21)
【出願人】(306043703)エヌエックスピー ビー ヴィ (125)
【氏名又は名称原語表記】NXP B.V.
【Fターム(参考)】
【公表日】平成20年12月4日(2008.12.4)
【国際特許分類】
【出願日】平成18年6月12日(2006.6.12)
【国際出願番号】PCT/IB2006/051860
【国際公開番号】WO2006/134540
【国際公開日】平成18年12月21日(2006.12.21)
【出願人】(306043703)エヌエックスピー ビー ヴィ (125)
【氏名又は名称原語表記】NXP B.V.
【Fターム(参考)】
[ Back to top ]