(57)【特許請求の範囲】
【請求項１】
複数のノードと、
前記複数のノードを互いに結合する二方向リングバスとを具え、
前記複数のノードの各々は入力コネクタと出力コネクタを含み、
前記二方向リングバスは複数のケーブルを具え、前記各ケーブルは順方向データパスおよび逆方向データパス並びに前記ケーブルの各端部におけるプラグを含み、前記各ケーブルは前記二方向リングバス中の１つのノードの入力コネクタと先行するノードの出力コネクタとの間、および前記二方向リングバス中の１つのノードの出力コネクタと後続のノードの入力コネクタとの間に結合されており、
前記各ノードにおける入力コネクタおよび出力コネクタはそれぞれ順方向パス端子および逆方向パス端子を含み、
前記複数のノードの各々はさらに、
入力レジスタおよび出力レジスタと、
プラグが前記入力コネクタおよび出力コネクタに挿入されるとそれを検出する検出器と、
スイッチとを含み、
前記スイッチは、プラグが出力コネクタに挿入されており且つプラグが入力コネクタに挿入されていないことを前記検出器が検出すると、前記出力コネクタにおける逆方向パス端子を前記入力レジスタに結合し、前記出力レジスタを前記出力コネクタにおける順方向パス端子に結合し、プラグが前記入力コネクタに挿入されており且つプラグが前記出力コネクタに挿入されていないことを前記検出器が検出すると、前記入力コネクタにおける順方向パス端子を前記入力レジスタに結合し、前記出力レジスタを前記入力コネクタにおける逆方向パス端子に結合し、プラグが前記入力コネクタと前記出力コネクタの両方に挿入されていることを前記検出器が検出すると、前記入力コネクタにおける順方向パス端子を前記入力レジスタに結合し、前記出力レジスタを前記出力コネクタにおける順方向パス端子に結合し、さらに前記出力コネクタにおける逆方向パス端子を前記入力コネクタにおける逆方向パス端子に結合することを特徴とするデータ伝送バスシステム。
【発明の詳細な説明】
本発明はデータバスシステムに関するものであり、特に、家庭用電子機器を相互に接続するのに有効なリングバスデータ伝送システムに関するものである。
発明の背景
ディジタルビデオ信号処理システムのようなシステムは高いデータ（転送）率でデータを処理するものであり、それに応じてデータ通信用の広い帯域幅のバスシステムを必要とする。例えば、ＭＰＥＧフォーマットにおけるディジタルビデオデータは毎秒４乃至８メガビットのデータ率（ｄａｔａ  ｒａｔｅ）を示す。パケット化されたデータに基づくバスシステムは十分な帯域幅を与えることができる。しかしながら、パケット化されたシステムを実現するためのハードウエアおよびソフトウエアはコスト高になり、家庭用電子機器用としては実用的でない。さらに、パケットバスは、ＭＰＥＧデータ伝送に必要な高いデータ率を与えるに当たって障害となるパケット処理遅延のような過剰な“オーバーヘッド”を必要とする。また、ビデオ信号処理システムにおけるＭＰＥＧデコーダは比較的一定の割合（すなわち、比較的一定の伝送遅延を有する）で到達するデータに依存する。換言すれば、データのジッタは比較的低くなければならない。パケット化されたシステムのようなバスシステムは、ＭＰＥＧデコーダと共に適正に動作するようにパケット間でのデータ伝送遅延にあまりにも大きな変動を有することがある。
家庭用電子機器、とりわけビデオ信号処理装置と相互に接続するには、比較的安価なハードウエアおよびソフトウエアで構成することができ、大きなデータオーバヘッドを必要とせず、しかも比較的一定の伝送遅延をもった高いデータ率のデータバスが望ましい。
本発明の原理によれば、データ伝送バスシステムはリングバス（ｒｉｎｇ  ｂｕｓ）によって相互に結合された複数のノードを含んでいる。リングバスは連続するバスサイクルでデータを伝送し、各バスサイクル内には複数のバスワードが含まれている。バスサイクル内の１つのバスワードはバスサイクル同期化ワードであり、残りはデータワードである。複数のデータワードは複数のデータチャンネルに割り当てられている。
本発明の原理は、ディジタルビデオデータを伝送するために使用することができる高いデータ率をもったバスシステムであるビーバス（ＢｅｅＢｕｓ：ＢＢＵＳ）中で実現される。ＢＢＵＳシステムは毎秒８８メガビットの総容量を有する時分割多重化（ＴＤＭ）バスである。ＢＢＵＳはバス上の信号源ノードから行き先ノードへ向けてデータを透明状態で（トランスペアレントに）伝送するように設計されている。ＢＢＵＳはリング上のノードからノードへ９ビットワードを直列に伝送することによって動作する。バスサイクル同期化ワードである各バスサイクルの初期ワードを具えた８８個の９ビットワードのバスサイクルを伝送することによってノード相互間の同期が維持される。ＣＥＢＵＳと称される従来技術の家庭用電子機器バスに取り付けるように設計された家庭用電子機器に接続することが望まれる場合もあるので、前述のＢＢＵＳはＣＥＢＵＳコンパチブル制御チャンネルを含んでいる。バスサイクル同期化ワードの１ビットはＣＥＢＵＳコンパチブル制御チャンネル用のデータを担持している。ＢＢＵＳは８ビットデータチャンネルを有するように設計されており、これらのチャンネルは、チャンネルの総数が８あるいはそれ以下であり、割り当てられた総容量が８８メガビットあるいはそれ以下である限り、チャンネル数とチャンネル容量の任意の組合わせに必要な容量を与えるようにグループ分けされる。
発明の概要
ＢＢＵＳシステムに含まれるＣＥＢＵＳ−コンパチブル制御バスは伝送に関して仲裁（ａｒｂｉｔｒａｔｉｏｎ：調停、アービトレーション）を含まないメッセージ構成を有している。各装置は１０キロビットをゆうに越す容量をもった予め割り当てられた制御チャンネルをもっている。各装置は３１個の他の装置から同時にメッセージを受信する容量をもっている。しかしながら、受信装置は一度に１個のメッセージしか処理できないと予想される。従って、仲裁は送信装置ではなく受信装置において行われる。受信装置は一度に１個のメッセージの割合でラウンドロビン（ｒｏｕｎｄ  ｒｏｂｉｎ）形式でメッセージを処理する。メッセージの長さは約３２バイトであるので、すべての制御チャンネルのメッセージはこの固定された長さで送られ、すべてのメッセージは同じ制御サイクルの時間スロットで開始される。このスロットは基本動作システムの同期である。後ほど説明するように、同期化は約８ミリ秒である３２個の制御装置のスロット×３２個のメッセージスロット毎に生じる。従って、８ミリ秒毎に制御チャンネルを送ることができる。１６個のメッセージを装置から装置へ同時に送ることができる。これはＣＥＢＵＳの制御メッセージの約２５ミリ秒に匹敵する。
発明の簡単な説明
図１は本発明の原理によるデータバスシステムのブロック図である。
図２は図１に示されたノードのリングを周回して伝送されるデータのフォーマットを示す図である。
図３はノードをリング構成をなすように相互接続する従来技術による構成を示すブロック図である。
図４はノードをリング構成をなすように相互接続する本発明を実施した方法を示すブロック図である。
図５はノードを入力および出力ケーブルで接続するのに必要な回路のブロック図である。
図６は本発明によるデータバスシステムの動作を説明するフローチャートを示す図である。
発明の詳細な説明
図１は本発明の原理によるデータバスシステムのブロック図であって、同図に示すように５個のノード、すなわちノードＡ、ノードＢ、ノードＣ、ノードＤおよびノードＥがバスによってリング構成をなすように相互接続されている。データは図２に示すフォーマットでリング内で１つのノードから次のノードに伝送される。図２ではデータワードは図の上部の一連の長方形によって示されている。システム中の基本データワードは９ビットをもっている。そのうちの８ビット（１バイト）はペイロードであり、１ビットがリンクのレベル制御に使用される。１バスサイクルで伝送される８８個の９ビットデータワードが存在する。１００ＭＨｚ（すなわち周期が１０ナノ秒）のビット率（ｂｉｔ  ｒａｔｅ）のクロックを使用した場合、各９ビットワードは９０ナノ秒の長さになる。従って、システムの基本バスサイクルは７９２０ナノ秒、すなわち９個の１０ナノ秒クロックサイクルを８８回カウントしたものである。７，９２０ナノ秒毎に１個の同期化ワードがバスサイクルマスタによって伝送される。これは７，９２０ナノ秒毎に８７個のデータワード、すなわち毎秒１０，９８４，８４８バイトのペイロードを与える。従って、ＢＢＵＳの最大データ率は毎秒８７，８７８，７８７．８８メガビットである。データストリーム中のデータワードは８チャンネル間で割り当てられる。各データチャンネルは、９０ナノ秒×８チャンネル＝０．７２０マイクロ秒毎にスロットを受信し、データを伝送する。従って、データチャンネルは、一定の遅延と１１メガビットの容量当たり１マイクロ秒以下のジッタを伴なったプロトコル独立チャンネルである。
図２を参照すると、１バスサイクルの最初の９ビットデータワードは同期化ワード（ＳＹＮＣ）である。この同期化ワードにチャンネル１（ＣＨ１）用のデータを担持したデータワードが続いている。このデータワードにチャンネル２乃至８（ＣＨ２乃至ＣＨ８）用のデータを担持したデータワードが続いている。各チャンネル用のこのデータワードのサイクルはバスサイクル中の残りの８７個の時間スロットの間反復される。
以下にさらに詳細に説明するように、同期化ワードの１ビットはＣＥＢＵＳ−コンパチブル制御チャンネルに割り当てられている。従って、制御バスは毎秒１２６キロビットよりも僅かに高い最大データ率をもっている。制御チャンネルの処理効率（スループット：ｔｈｒｏｕｇｈｐｕｔ）は、ＣＥＢＵＳに結合された装置によるバスへのアクセスに関する仲裁のために使用されるＣＥＢＵＳ  ＣＳＭＡ−ＣＤ仲裁法によりＣＥＢＵＳとほゞ同じ１０キロビットよりも僅かに高い。
ＢＢＵＳの基本的な物理的および電気的接続は、各装置あるいは機器の入力および出力とデイジーチェーン（ｄａｉｓｙ  ｃｈａｉｎ）結合されてリングをなしている。図３はノードをリング構成に相互接続するための従来技術のブロック図である。図３における各ノードは、各ノードの左下に示された入力コネクタと各ノードの右下に示された出力コネクタを有している。第１のケーブルはノードＡの出力コネクタとノードＢの入力コネクタとの間に接続されている。同様に、ノードＢの出力コネクタとノードＣ（図示せず）の入力コネクタとの間にケーブルが接続されており、一般に、あるノードの出力コネクタからこのノードに続くノードの入力コネクタにケーブルが接続されている。図３に示された最後のノードはノードＥで、リングを完成するためにノードＥの出力コネクタからノードＡの入力コネクタにケーブルが接続されている。
最後のノードと最初のノードとを接続するためのデイジーチェーン中に最終リンクを形成する必要が無いようにするために、リターンパス中のデータを順方向（フォワード）パスと時分割多重化することができる。あるいは逆方向（リターン）パス用の各ケーブル中に１組のワイヤを含ませることができる。後者のやり方は、時分割多重化逆方向および順方向パスは有効容量を半分に減少させることができるので好ましい。
図４は本発明を実施したノードをリング構成に相互接続する方法を示すブロック図である。図４で、各ケーブルはあるノードから次のノードへの順方向パス用として必要なワイヤと最終ノードの出力コネクタから最初のノードの入力コネクタへのリターンパス用のワイヤとを含んでいる。図４に示すように、逆方向パスがケーブル中に含まれている場合は、図示の実施例のＢＢＵＳケーブルは各方向に４本づつ合計８本のワイヤを必要とする。さらに、接地／シールドが含まれており、またケーブルがポートに接続されていることを示すピンが含まれている。このピンは接地／シールドに配線（ワイヤード）されている。
図５はノードを入力および出力ケーブルで接続するのに必要なノード中の回路のブロック図である。図５で入力コネクタ２０は先行するノードからのケーブルを受入れる。このケーブルはプラグ１０で終端しており、また先行するノードからこのノードへの順方向パスを構成するワイヤと最終ノードから最初のノードへの逆方向パスを構成するワイヤを受けている。さらに、上述のようにプラグ上の１本のピンが基準（接地）電位源に結合されている。入力コネクタ２０における順方向パスからのデータおよびクロックワイヤは第１のスイッチ回路３０の第１の入力端子に結合されている。第１のスイッチ回路３０の出力端子は入力直列−並列シフトレジスタ４０の入力端子に結合されており、上記入力レジスタ４０の出力端子は周知の設計のノード（図示せず）の利用回路に結合されている。
このノードの利用回路（図示せず）はまた出力用並列−直列シフトレジスタ５０の入力端子に結合されている。出力レジスタ５０の出力端子は第２のスイッチ回路６０の第１の入力端子と出力コネクタ７０の入力端子に結合されている。出力コネクタ７０は次に続くノードからのケーブルを受け取る。このケーブルはプラグ９０で終端している。このプラグ９０はまた次に続くノードへの順方向パスを構成するワイヤと、最後のノードから最初のノードへの逆方向パスを構成するワイヤを含んでいる。出力レジスタ５０の出力端子は出力コネクタ７０とプラグ９０を経て順方向パスに結合されている。
逆方向パスのワイヤはプラグ９０で受け取られ、出力コネクタ７０に結合されている。逆方向パスからの入力ワイヤは第１のスイッチ回路３０の第２の入力端子および第２のスイッチ６０の第２の入力端子に結合されている。第２のスイッチ６０の出力端子は入力コネクタ２０において逆方向パス用の出力端子に結合されている。これによって第２のスイッチ回路６０の出力端子は入力コネクタ２０およびプラグ１０を経て逆方向パスに結合される。
入力コネクタ２０および出力コネクタ７０はまた論理回路８０に接続されたワイヤをもっている。プラグ１０について示されている接地されたワイヤに結合された出力コネクタ２０上のピン、およびプラグ９０について示されている接地されたワイヤに結合された出力コネクタ７０上のピンは論理回路８０に結合されている。このワイヤは、それぞれ入力コネクタ２０および出力コネクタ７０中でプルハイ（ｐｕｌｌ  ｈｉｇｈ）され、またプラグ１０あるいは９０中の接地端子によってプルダウン（ｐｕｌｌ  ｄｏｗｎ）される。論理回路８０の各制御出力端子は第１のスイッチ回路３０および第２のスイッチ回路６０の対応する制御入力端子に結合されている。
動作時に、ケーブルが入力コネクタ２０あるいは出力コネクタ７０のいずれかに挿入されると、論理回路８０はこのことを上記入力コネクタに対応する入力端子における接地電位によって検出する。これは適当なコネクタ（２０あるいは７０）からの入力信号を入力レジスタ４０に送り、また出力レジスタ５０からの信号を適当なコネクタ２０あるいは７０に送るために使用される。例えば、デイジーチェーンの最初のノードはその入力コネクタ２０に接続されたケーブルを有していないが、その出力コネクタ７０に接続されたケーブルを有している。論理回路８０はこの構成を検知し、プラグ９０における逆方向パスからの入力ワイヤを入力レジスタ４０に結合するように第１のスイッチ３０を条件付ける。出力レジスタ５０は出力コネクタ７０において順方向パスに結合される。また、この第１の装置はバスマスタを指定する。
同様に、デイジーチェーンの最後のノードはその出力コネクタ７０に接続されるケーブルを有していないが、その入力コネクタ２０に接続されたケーブルを有している。論理回路８０はこの構成を検知し、入力コネクタ２０における順方向パスからの入力ワイヤを入力レジスタ４０に結合するように第１のスイッチ３０を条件付ける。また論理回路８０は出力レジスタ５０を入力コネクタ２０における逆方向パスに結合するように第２のスイッチ６０を条件付ける。デイジーチェーンの中間にある装置は入力コネクタ２０に接続されるケーブル、出力コネクタ７０に接続されるケーブルの両方のケーブルをもっている。論理回路８０はこの構成を検知し、入力コネクタ２０における順方向パスからのワイヤを入力レジスタ４０に結合するように第１のスイッチ３０を条件付ける。出力レジスタ５０は出力コネクタ７０において順方向パスのワイヤに結合される。また論理回路８０は、出力レジスタ７０における逆方向パスからのワイヤを入力コネクタ２０における逆方向パスのワイヤに結合するように第２のスイッチ６０を条件付ける。逆方向パスワイヤへの処理接続は行われず、これらのワイヤは単に機器を通して接続されるに過ぎない。この構成によれば、ポートの接続を決定するためにソフトウエアがノードの動作を制御する必要性を低減することができる。
システムの構成がケーブルにシールドを必要としないものであれば、ＲＪ４５コネクタを使用することができる。この場合、コネクタ内のケーブルの存在、不存在は入力ワイヤ中のクロックを感知し、また出力ワイヤ中の電流を測定することによって検出される。この実施例では、このような感知回路は入力コネクタ２０と論理回路８０との間、出力コネクタ７０と論理回路８０との間に接続され、この感知の結果に基づいてバス接続の存在あるいは不存在を示す論理信号を論理回路８０に供給する。ＲＪ４５コネクタを使用すると、比較的安価なケーブルを使用することができ、また家庭用電子装置では望ましいプリント回路基板（ＰＣＢ）コネクタを使用することができる。
ＢＢＵＳにおける制御チャンネルのプロトコルはＣＥＢＵＳ用に使用されるプロトコルと同様である。メッセージの構成およびコード化（エンコーディング）はＣＥＢＵＳ用と実質的に同じである。これにより約２５ミリ秒毎に１個のメッセージを得ることができる。制御チャンネルについては以下でさらに詳細に説明する。
ＢＢＵＳの同期化は次の態様でアドレスされる。直列リンクを介して接続されたデイジーチェーンリングに伴う問題は、１個のノードがすべてのノードを同期状態で動作させるための初期設定プロセスを開始させ、次いでノードの番号付けのような他の初期設定動作を処理しなければならないということである。この処理は、１個のノードがリング通信の非論争（ｕｎｄｉｓｐｕｔｅｄ）マスタとなり得るならば著しく簡略化される。これはバスマスタを、上述のように決定することができる、その入力コネクタ２０に直接接続されるケーブルをもたない１個のノードと指定することによって達成される。バスマスタは次の動作（以下に詳細に説明する）を開始させる。
１）ワードの同期化
２）サイクルの同期化
３）ノードの番号付け
４）遅延補償
ＢＢＵＳにおけるデータワードのフォーマットは次の通りである。ノードとノードとの間の通信は、前に述べたように１つのノードから次のノードへ９ビットワードをビット順次（シリアル）伝送することによって行われる。ワードは（図５中に重信（ファントム：ｐｈａｎｔｏｍ）の形式で示されているように）ノードの入力シフトレジスタ４０に読み込まれ、出力シフトレジスタ５０に伝送され、次いで次のノードに伝送される。
ワードの１ビット、例えば最上位ビットはリンクレベル制御ビットである。制御ビットの定義を例示すると、
１＝同期化情報
０＝ペイロード
である。
例えば、図２を参照すると、各バスサイクルの開始時にデータストリーム中に挿入される太線の長方形で示した同期化ワード（ＳＹＮＣ）は、そのデータストリームを表わす図の下にビットを展開して示したように９個のビットを含んでいる。ビット展開図の太線の長方形で示されている最上位ビットは論理“１”のビットである。一方、このサイクル中の第２のチャンネル１のワードを担持する９ビットのデータワードは、データストリームを表わす図の下にビットを展開して示したように論理が“０”のビットの太線の長方形で示された最上位ビットを有している。
上に述べたデイジーチェーンリングバスの初期設定はワードの同期化で開始される。ワードの同期化は、最初システムに電力が供給された後、その出力コネクタ７０において同期化コード（以下でさらに詳細に説明する）を伝送するマスタノード（ｍａｓｔｅｒ  ｎｏｄｅ）によって達成される。次いでマスタは、ワードの同期化コードが検出されるまでその入力レジスタ４０（好ましい実施例では１９ビットレジスタである）を試験することによってワードの同期化コードの復帰に対してその入力コネクタ２０で受信されたデータの試験を開始する。以下の説明はワードの同期化コードが１個の９ビットワードであることを基礎としている。しかしながら、ワードの同期化コードは一連の２あるいはそれ以上のコードのワードであってもよい。ワードの同期化コードが検出されると、ワードの同期化が達成される。
このようなノードのリングにおける遅延は、例えば処理あるいはケーブルに関連する遅延の結果として９ビットワードの非整数個分の時間になることがある。ワードの非整数個分の時間の遅延を調整するために、入力シフトレジスタ４０はデータの１ワードを記憶するのに必要な数以上のビット数を含むことができる。一例として、入力シフトレジスタ４０の好ましい実施例は１９ビットを有している。遅延を確認するために入力レジスタ４０中のデータは整数ワード時間で試験される。１９ビットのシフトレジスタ中の９ビット同期化ワードの位置は整数ワード時間に関連する遅延を表わしている。遅延は後続するワードのタイミングを調整するために使用される。マスタノードを除いて隣接するノードに対しては、クロックはデータを伴っており、データと同様に遅延される。そのためノードにとって識別できる時間遅延は存在しない。マスタノードは基準クロックをもっているので、完全なリングを経由する遅延はマスタノードには識別可能である。各ノードにおける整数ワード遅延を除いて、遅延の程度はケーブルの長さによって１ワード以下に制限されている。各非マスタノードの１９ビット入力シフトレジスタ４０は、以下に詳細に説明するような態様で、必要に応じてさらにワード遅延を与えるように使用することができる。
各ノードにおけるタイミング信号は次のようにして与えられる。各ノードは２個のクロックをもっている。入力コネクタ２０からの入力データは、該入力コネクタ２０（あるいはマスタノードに対しては出力コネクタ）で受信された直前のノードからのストローブから引き出されたクロックによって入力シフトレジスタ４０にシフト入力される。また、各ノードはそれ自身の内部クリスタルクロックを有しており、これをその出力シフトレジスタ５０およびその内部論理を駆動するために使用する。従って、内部クロックは入力クロックよりも僅かに速いか遅く、これを修正する必要がある。入力クロックが内部クロックよりも速い場合は、入力シフトレジスタ４０中で入力ワードをさらに１ビット分だけシフトさせることによって追加される入力クロックサイクルが吸収される。内部クロックが入力クロックよりも速い場合は、入力データが入力シフトレジスタ４０にシフト入力される間に、内部クロックによって指定されるデータ入力時のサイクルが１クロックサイクル分だけ引き延ばされる。上記の点は、リングの速さを最も遅いノードの内部クロックの速さに低下させる累積効果をもっている。
各ノード中のバスサイクルカウンタは、入力サイクルの終了時にサイクル同期化ワード（以下で説明する）がノードに読み込まれるとき、すべてのサイクルカウンタをリセットすることによって同期化される。従って、各ノードは１個の受信ワード時間とケーブルの伝播遅延の和だけ遅延されて、先行ノードと同じ状態を経由することになる。マスタノードを除いて各ノードのタイミング状態は、上記の遅延を補償するサイクル同期化ワードの受信によって同期化される。例えば、ケーブルの全長が１０メートルに制限されていると、ケーブルを通過する全遅延量は５０ナノ秒、すなわち１００ＭＨｚのクロックに対して５個のクロックサイクル程度である。従って、ケーブル中に１ワード以下が蓄積される。リターンパスが含まれる場合はケーブル長は著しく長くなることがあるので、ケーブル駆動装置を設計するに当たってこの付加されたケーブルの長さを考慮する必要がある。また、各ノードは１クロックサイクル以下の潜在的な付加遅延をもっている。
上述の図２に示された基本バスサイクルは、時間的には８８個の９ビットワードすなわち８８×９＝７９２クロックサイクルの期間である。チャンネルカウンタは、任意のデータチャンネルが１メガビット以上の容量をもっていれば、基本チャンネルデータカウンタ内の付加スロットは、ジッタを最少にするような態様で割り当てられるように設計される。多数のノードが任意の大きさのデータチャンネルをもっているとき、このことを実現するために、容量割り当てタスク（仕事）がアプリケーションレベルに割り当てられ、また各データチャンネル用の時間スロットを割り当てるタスクがアプリケーションレベルに与えられる。
上記の代わりに、アプリケーションオーバーヘッドを減少させるやり方は、図２に示されているように確実に１マイクロ秒／チャンネル以下のジッタを保証するために各々が１１メガビットの容量をもつ８個の主（メジャー）チャンネルを予め割り当てることである。これらの８個の主チャンネルは今では単純に割り当てられ、同じく図２に示されているようにチャンネルカウンタはこれら８個の主チャンネルを８８個のチャンネルスロット間に拡張するように設計されている。８個のスロットはジッタの測定に関してそれぞれ互に独立しており、また各ノードによって個々に割り当てられる（但し１個のノードのみが８個のチャンネルの各々を使うことができる）。制御チャンネルは別々に割り当てられ、８マイクロ秒のジッタを持っている。
ノードの同期化およびノードのアドレスに関して幾つかの機能が与えられなければならない。これらの機能にはワードの同期化およびバスサイクルの同期化（これらについてはいずれも上述されている）、さらにメッセージの同期化、ノードのアドレスおよびデータスロット中にデータが存在しないことの指示（これらについてはすべて後ほど説明する）が含まれている。この目的のために幾つかの特別な同期化およびアドレスワードが設けられており、これらは９ビットデータワード中の最上位ビットとして論理“１”をもつことによって識別される。本発明の実施例では、システムは僅か３２個のノードに制限されている。従って、１バイトの内の５ビットのみ（例えば、０乃至７のビットを有するバイト中の３乃至７ビット）が行き先ノードのアドレスを識別するために必要となる。ソースノードのアドレスの識別情報は必要ならば別のバイトで送ることもできるが、上記ソースノードのアドレスの識別は時間スロットによって与えられる。１バイトの残りの３ビット（例えば０乃至２ビット）は、表１に示す各種の機能を特定する８個の特別な同期およびアドレスコードを識別するために使用される。
0003895774.tif 000002
表１の第１行は、特定の時間スロットに対するデータが存在しないことを表わすために使用されるコード００Ｈ（すなわち１６進法で００）の特別な同期化ワードを示す。このコードは、時間スロットが常にデータストリーム中に存在し、また行き先受信ノードは割り当てられたチャンネル中のすべての時間スロットを見ることにより必要となる。このワードは、データが特定の時間スロット用に利用できないことをソースノードが認識することができるようにする。
表１の第２行は、前述のワード同期化コードを示す。このコードにおけるビット０乃至２は１１１に等しい。
表１の第３行は、行き先アドレスを特定するためのアドレスコードのワードを示す。このコードはＣＥＢＵＳプロトコルがノード間の通信チャンネルをセットアップするために使用されるときは不必要である。このような場合、行き先アドレスは工業規格ＥＩＡ  ＩＳ−６０に示されているように制御チャンネルメッセージ中で既にコード化されている。さらにノードアドレスコード０は情報通信メッセージ（ｂｒｏａｄｃａｓｔ  ｍｅｓｓａｇｅ）用に保存されている。マスタノードはノード０である。従って、僅かに３１個の物理的ノードがシステム中に与えられる。メッセージが通信されると、送信側はそのメッセージがすべてのノードで受信されたものと仮定する。このため受領通知は存在しないので、受信は確実ではない。
表１の第４行は図２に示すようなバスサイクル同期化ワードを示す。バスサイクル同期化ワードではビット０乃至２は１１０に等しい。バスサイクル同期化ワードの最下位ビットは制御チャンネル用のビットを担持しており、ドントケア（don't care）状態を表わすために表１ではｘで表わされている。モジュロ８８チャンネルカウンタ＝０のとき、制御チャンネルはスロットをもっている。マスタ中のノードカウンタおよびメッセージ長カウンタが０であれば、マスタはサイクル同期化コードを送る。バスサイクル同期化ワードが受信されたとき、これが同期を失っておれば、各ノードはそのカウンタをリセットすることができる。もし妥当な時間内にバスサイクル同期化ワードが検出されなければ、ノードはバスが破壊されているものと仮定する。
一実施例では、制御チャンネルにノード命名のジョブが割り当てられる。この場合は、ノードに名称あるいは番号を割り当てる必要はない。しかしながら、好ましい実施例ではマスタノードは初期設定プロセスの一部としてノードの番号付けを行なう。上述のようにワードの同期化が達成されたのち、マスタノードは表１の第５行に示された名称コマンド、すなわちビット０乃至２＝１００、および００００１にセットされたノードアドレスビット（３乃至７）を送る。ノードアドレスビット中の番号は伝送ノード、この場合マスタノードのノードアドレスを表わす。名称コマンドを受信する各ノードは、ノードアドレスビットによって表わされる番号を増加し、この番号をノードアドレスとして使用し、ノードアドレスビット中にそれ自身のノードアドレスをもった名称コマンドを次のノードに送る。そのコマンドがループを循環したのち、マスタノードがそのコマンドを受信すると、マスタノードはそのコマンドの循環を停止する。もしノードが２ワード時間分の遅延を持つと（これについては後ほど詳細に説明する）、そのノードは受信した名前ワードのノードアドレスビットによって表わされる番号を２だけ増加させる。これによって、各ノードのノードアドレスはそのノードの遅延時間スロットと整合する。
表１の第６行はリンクレベル・リソース（ｒｅｓｏｕｒｃｅ）割り当て要求ワードを表わす。ビット０乃至２を００１に等しくなるようにセットすることによって制御チャンネルメッセージの代わりにリンクレベル・リソース割り当て要求を送ることができる。ビット４乃至７の各々は２個の隣接するデータチャンネルを表わす。例えば、ビット７は２２メガビットの全容量に対するスロット０および１を表わし、ビット６はスロット２および３を表わし、以下同様に各ビットは対応するスロットを表わす。リンクレベル・リソース割り当て要求ワードは制御チャンネルを使用するための容量を持たない単純なノード用に使用されることは明らかである。このようなノードがバスチャンネルに対するアクセスを要求すると、このバスチャンネルは、行き先メッセージアドレスワードの代わりにビット４乃至７で表わされる所望のチャンネル対に対応するビットの１つをもったリソース割り当て要求をバスに伝送する。後続するノードがリソース割り当て要求を受信すると、そのノードはその要求を、次のノードがその要求と衝突しないかぎり変化させずにそのまま上記次のノードに送る。もしノードが要求されたリソースを使用していると、そのノードは使用中の要求されたチャンネルに対応するビットを０にして、修正されたワードを次のノードに送る。その時ソースノードはリングからその要求を取り除かなければならない。他の公正なルールあるいは他の仲裁は存在しない。もしその要求がゼロ化されたチャンネルをもつことなく戻ると、要求ノードはそのチャンネルを使用する。もしチャンネルを使用することができなければ、要求チャンネルは４対のチャンネルの他のものを試みる。もしどのチャンネルも使用することができなければ、処理（プロセス）は停止する。その処理は長いランダムな遅延後に再開される。データチャンネルの使用を要求するこの方法は、長いセッション（ｓｅｓｓｉｏｎ）の間チャンネルを使用しようとするノードに対して、および制御チャンネルの機能をもたない極く簡単なノードに対して予測される。
表１の第７行はリング遅延調整ワードを示し、ここではビット０乃至２は０１１に等しい。一般に各ノードはそれがリング上に配置しているメッセージを取り除かなければならない。これを行なうために、整数ワード時間内でリング上の遅延の長さを知らなければならない。これは初期設定プロセス期間中にマスタノードによって検出されなければならない。マスタノードは、遅延は少なくともシステム中のノード数であるものとする。マスタノードは（上述の）名称コマンドの復帰に必要とするクロックサイクル数をカウントする。上述のようにマスタノードを除く各ノードはワード同期化ワードの受信によって先のノードからのケーブル長に対して時間的に修正される。従って、たとえ（マスタノードを除く）隣接ノード間の遅延が１ワード長を超過しても、受信ノードに対する遅延はゼロ（０）に見える。従って、一般にマスタノードを除いて各ノードは１ワード時間の遅延を加える。マスタノードはループの全遅延を見て、４個未満のノードがループ中に接続されていない限り、その遅延を８ワード分の時間の倍数に調整する。もし、４個未満のノードが接続されておれば、その遅延は４ワードの倍数に調整され、そのチャンネルは各々が２２メガビットの４チャンネルをもつように構成される。全リング遅延が修正されるまで、リング遅延はリング遅延調整ワードを使用することによって増加される。
表１の最後の行はペイロードデータワードを表わしている。ペイロードワードでは、最上位ビットは０で、残りの８ビットは１つのノードから他のノードへ伝送されるデータを担持している。
マスタノードを除く各ノードは初期設定プロセス期間中（特に述べる場合を除いて）リングからデータを取り除くことはない。バスサイクル同期化コマンドは初期設定プロセスの終了を示す。各ノードはバスサイクル同期化コマンド後、幾つかのワードのモジュロ８（あるいはモジュロ４）数の伝送を除去する。他の方法はモジュロ４の導入、実施（インプリメンテーション）で、この場合各ノードはそれが遅延４のリングか、最初の４個のスロットのみが使用可能かを知る必要がある。後者の場合、僅か４個のノードを有しているにすぎず、また一般に大きなチャンネル容量を必要としないので、実施が簡単でしかも妥当である。
バス時間スロットの割り当てを行なうに当たってリングの遅延を考慮する必要がある。すなわち、バス時間スロットは全リング遅延の係数（モジュラス：ｍｏｄｕｌｕｓ）および逓倍周波数であるべきである。一つの方法はリング遅延の係数を固定することである。各ノードは、マスタノードの場合その入力シフトレジスタ４０に最大２個の９ビットワードの遅延を導入する能力をもたなければならない。この遅延はまたリングの遅延を調整するためにも使用することができる。従って、各ノードは１あるいは２ワードの遅延を導入するように構成することができる。従って、丁度２個あるいは３個のノードを含むリングに対しては、リングは４個の遅延をもつように調整することができる。他のすべての場合は、リングは８ワード時間の係数である遅延をもつように調整することができる。いずれの場合もリング遅延の調整は次のようにして行われる。
リングを周回する全ワード遅延がマスタノードによって測定された後、もしそれが係数８（あるいは４）でなければ、リング遅延の調整ワードが遅延を増大させるためにマスタによって伝送される。このワードを受信する遅延がまだ増加されていない（すなわちその遅延がまだ１ワードである）第１のノードは、それ自身を入力シフトレジスタ４０の最初の９ビットの代わりに第２の９ビットからの入力ワードを受信するように条件付ける。このようにして、そのノードはループ中に追加のワード遅延を導入し、今では２ワードの遅延をもっている。次いでこのノードはバスからワードを取り除く。このプロセスは、正しい数のワード遅延がそのリングに付加され、そのワード遅延がモジュロ８（あるいはモジュロ４）になるまで繰り返される。ケーブル自体が１ワード遅延以上の遅延を付加するのを防止するためにリングケーブル長は約１８メートルに制限されるべきであるということは当業者には明らかである。このようなシステムを用いると、８チャンネルの多重化制約を加えることは比較的容易である。図２に示す基本的なシステムは９ビットワードの８スロット、１１サイクルである。８８スロット毎に１スロットが制御チャンネルビットを含む同期化ワード用として使用される。
ＢＢＵＳシステムはＣＥＢＵＳ−コンパチブル制御チャンネルを含んでいる。工業規格ＩＳ−６０中で規定されているように、ＣＥＢＵＳ制御チャンネルは毎秒１０キロビットの最大帯域幅を有している。制御チャンネルへのアクセスは、ワイヤードオア仲裁制御チャンネルの場合と同様にバス上の上位（ｓｕｐｅｒｉｏｒ）状態と下位（ｉｎｆｅｒｉｏｒ）状態の使用によって仲裁される。上に説明しまた図２に示されているように、ＢＢＵＳシステムは７．９２０マイクロ秒（７９２０ナノ秒）のバスサイクルを含み、１バスサイクル同期化ワードは各バスサイクル毎に送られる。制御チャンネル仲裁情報およびデータはサイクル同期化ワードの制御チャンネルビット中に配置されている。この物理的な層はバスサイクル同期化ワード率に等しい最大データビット率を考慮している。周知のデータリンク（Ｄａｔａ  Ｌｉｎｋ）、ネットワーク（Ｎｅｔｗｏｒｋ）、およびＣＥＢＵＳのアプリケーションレイヤー（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒｓ）およびシステムレイヤーマネージャー（Ｓｙｓｔｅｍ  Ｌａｙｅｒ  Ｍａｎａｇｅｒ）に対応するプロトコルの特徴は制御チャンネルのモデルを完結するために使用される。また、ＣＥＢＵＳメディア依存サブレイヤー（Ｍｅｄｉａ  Ｄｅｐｅｎｄｅｎｔ  Ｓｕｂ−Ｌａｙｅｒ）はデータのエンコードおよびデコードに使用される。
以下の説明では、ビット値１および０は制御チャンネル中の上位（ｓｕｐｅｒｉｏｒ）または下位（ｉｎｆｅｒｉｏｒ）状態信号を示すために使用される。例えば、上位状態信号はこのフィールドが論理“１”信号にセットされているときであり、デフォルト（ｄｅｆａｕｌｔ）下位状態信号は論理“０”信号である。実際の実施に当たっては、この関係は逆にされることもある。
仲裁の競合（コンテンション：ｃｏｎｔｅｎｔｉｏｎ）検出法を具えたＣＥＢＵＳキャリア感知多重アクセスプロトコル（ＣＳＭＡ−ＣＤ）法および制御チャンネルアクセスは、どのノードが制御チャンネルへのアクセスを行なうかを検出するために使用される。ＣＥＢＵＳの動作のある点で制御チャンネルへのアクセスのための仲裁を開始すべきか否かを決定しなければならない。仲裁を何時開始すべきかを決定するための多くの異なる周知の技術がある。例えば、あるノードが制御チャンネルへのアクセスを希望すると何時でも仲裁を開始させることができる。この他に多数のノードが制御チャンネルへのアクセスを同時に希望したときに仲裁を開始させることもできる。もし仲裁が必要になれば、制御チャンネル上の付勢をモニタすることによって仲裁は周知の態様でトリガされ、またバスが予め定められたある時間期間以上の期間消勢（イナクティブ：ｉｎａｃｔｉｖｅ）状態にあると仲裁をトリガする。
仲裁がトリガされると、制御チャンネルをアクセスすることを希望する各ノードによって８ビットプリアンブルが演算される。好ましい実施例では、このプリアンブルは各ノードにおいてランダムな数として発生され、各仲裁毎に異なる。このことによってバスへのアクセスが正当に付与されるようにする。この他に、各ノードの相対的な優先順位を表わすプリアンブルが各ノードに予め割り当てられている。このプリアンブルは制御チャンネルへのアクセスを仲裁するために使用される。制御チャンネルに対する仲裁に成功したノードにはそのメッセージの伝送を完了することが許され、その他のすべてのノードは次の利用可能な時間期間（上述のように決定される）を待って制御チャンネルへの仲裁を試みる必要がある。プリアンブルとメッセージは上位状態と下位状態の交互の一連のシーケンスとして伝送するためにコード化される。記号（シンボル）はサイクル同期化ワードの制御ビットの状態によって、あるいは一連のサイクル同期化ワードの制御ビットの一連の状態によって表わされる。その記号の値は次に状態の変化があるまでの時間で伝達される。４個の基本的な記号、すなわち論理“０”、論理“１”、フィールドの終了（ｅｎｄ−ｏｆ−ｆｉｅｌｄ：ＥＯＦ）、およびパケットの終了（ＥＯＰ）がある。プリアンブルフィールドの終了、記号フィールドの終了等の他の記号も可能であるが、以下で説明する例示のシステムでは使用されない。１バスサイクル（７．９２０マイクロ秒）は１単位（ユニット）記号時間（ＵＳＴ）に等しい。
記号のコード化は次のとおりである。
１ＵＳＴ＝１
２ＵＳＴ＝０
３ＵＳＴ＝ＥＯＦ
４ＵＳＴ＝ＥＯＰ
記号（１、０、ＥＯＦ、ＥＯＰ）を担持するすべての情報は上位あるいは下位状態信号のいずれかによって、あるいは一連の連続した上位あるいは下位状態信号によって表わされる。例えば、論理“１”信号は単一の上位状態信号“１”あるいは単一の下位状態信号“０”によって表わされる。論理“０”信号は２個の連続する上位状態信号“１１”によって、あるいは２個の連続する下位状態信号“００”等によって表わされる。従って、プリアンブル中のビット“０１０１”は制御チャンネル信号“００１００１”によって、すなわち論理“０”信号を表わす２個の連続する下位状態信号、それに続く論理“１”信号を表わす単一の上位状態信号、それに続く論理“０”信号を表わす２個の連続する下位状態信号、さらにそれに続く論理“１”信号を表わす単一の上位状態信号によって表わされる。同じようにして、プリアンブル中の同じビット（すなわち、例示の“０１０１”）は制御チャンネル信号１１０１１０によって表わすことができる。記号の値を決定する状態変化相互間には時間の経過がある。
制御チャンネル消勢（イナクティブ）タイミング状態に遭遇したかどうかを検出することにより初期仲裁が生ずる。制御チャンネルの消勢（イナクティブ）期間中、下位状態信号がサイクル同期化ワード内に配置される。幾つかの関係する用語の定義を以下に示す。“制御ビットフィールド（ＣＢＦ：Ｃｏｎｔｒｏｌ  Ｂｉｔ  Ｆｉｅｌｄ）”はＣＥＢＵＳ制御チャンネル情報を含むサイクル同期化ワード中のビットである。“制御チャンネルサイクル”は、ノードが最初にＣＢＦ中に上位状態を配置したときに開始し、仲裁に勝つかあるいはサイクルのタイムアウト（時間切れ）があるノードによって上述のパケットの終了（ＥＯＰ：Ｅｎｄ  Ｏｆ  Ｐａｃｋｅｔ）記号が伝送されたとき終了する。“書込みノード（Ｗｒｉｔｅ  Ｎｏｄｅ）”は最初の制御チャンネルサイクルの期間中にＣＢＦに上位状態を配置するための最初のノードである。これによって制御チャンネル仲裁サイクルを開始させる。“競合ノード（Ｃｏｍｐｅｔｉｎｇ  Ｎｏｄｅｓ）”はループ中の書込みノード後に配置された制御チャンネルに対して競合するすべてのノードである。“遅れノード（Ｌａｔｅ  Ｎｏｄｅ）”は、ループ中の書込みノードの前に配置され、次のバス同期化サイクル期間中に仲裁を開始する制御チャンネルに対して競合するすべてのノードである。
図１を参照すると、ノードＡをバスに対するマスタノードと仮定し、ノードＣを“書込みノード（Ｗｒｉｔｅ  Ｎｏｄｅ）”と仮定する。ノードＤおよびＥは同じバスサイクル上で競合する可能性のあるノードである。ノードＡおよびＢも競合ノードであるが、次のバス同期化サイクルで仲裁を開始するので“遅れノード（Ｌａｔｅ  Ｎｏｄｅ）”と称される。マスタノードＡは、あるノードが一旦制御バスサイクルを開始させるとノードＥからＣＢＦを受信する。そうでなければノードＡはＣＢＦを下位状態０にセットする。
仲裁（アービトレーション）の規則（ルール）は次の通りである。
第１に、あるノードがＩＳ−６０のすべての制御チャンネル消勢（イナクティブ）タイミング要求（ｔｉｍｉｎｇ  ｒｅｑｕｉｒｅｍｅｎｔｓ）に遭遇すると、そのあるノードはＣＥＢＵＳ制御チャンネルへのアクセスについて競合する。これらのタイミング要求はＣＢＦ中で最後に観察された下位状態から開始する。
第２に、あるノードからのＣＢＦ出力は、そのノードが上位状態をとるＣＢＦを受信すると上位状態になければならない。このルールの例外を次に示す。制御チャンネルに対するアクセスについて競合しないノードは受信したＣＢＦを変化させずにそのまま次のノードに通過させる。
第３に、もし或るノードが下位状態を有するＣＢＦを制御チャンネル上に配置し、次のバスサイクル同期化ワード中に上位状態をとるＣＢＦが上記あるノードに受け戻されると、そのノードは制御チャンネルに対する競合から撤退（ドロップアウト）する。
第４に、もしあるノードが制御チャンネルに対して（依然として）競合状態にあり、（コード化されたランダムなプリアンブルに基づく）次のＣＢＦ出力が上位状態にあると、たとえこのノードが上位状態を受信してもＣＢＦを上位状態にセットする。
第５に、コード化されたプリアンブルと（上述の）“フィールドの終了（ｅｎｄ−ｏｆ−ｆｉｅｌｄ）”記号の伝送を適正に完了させる第１のノードは制御チャンネルの仲裁に勝つ。
ＣＢＦを変化させるための規則（ルール）は次の通りである。
第１に、制御チャンネルの消勢（イナクティブ）タイミング要求に遭遇した後、バスサイクル期間中に上位状態信号を主張する第１のノードは書込みノードである。
第２に、ＣＢＦ値は書込みノードによる場合を除いて上位状態から変化されることはない。
第３に、すべての競合ノードはＣＢＦを下位状態から上位状態に変化させる。
第４に、書込みノードとしてのノードの指定は、ＣＢＦを下位状態から上位状態に変更する任意のノードによって引継がれる。すなわち、ノードが最初書込みノードでなく、そのノードが下位状態ＣＢＦを受信するが、そのＣＢＦをそのコード化されたプリアンブルに基づいて上位状態に変更すると、そのノードは書込みノードになる。
第５に、先に書込みノードとして指定されたノードが先行するバスサイクルの期間中に制御チャンネル上でそのノードが主張したＣＢＦ以外のＣＢＦを受信すると、上記書込みノードとして指定されたノードは書込みノード状態を消失する。さらにそのノードは制御チャンネルへのアクセスについて競合から撤退（ドロップアウト）する。
図６にフローチャートの形で示した仲裁動作の例を参照することによって上述の動作についてより明確に理解することができよう。図６において、ステップ６００で仲裁が開始される。ステップ６０５において、ノードが制御チャンネルへのアクセスについて競合状態にあるか否か、例えば、ノードが送るべき制御メッセージをもっているか否か、を決定する。制御チャンネルのアクセスについて競合しないノードについてはステップ６００に後いてステップ６６０および６６５が実行され、これらのステップ６６０、６６５は受信した各ＣＢＦ状態を、仲裁の終了までそのノードを経て変化させずに通過させる。仲裁が完了すると（ステップ６６５で“ＹＥＳ”の結果がでると）、ステップ６６５に続いてステップ６３５が実行され、該ステップ６３５で仲裁が終了し、ステップ６４０において、アクセスについて競合し且つ仲裁で勝ったノードは制御チャンネルをアクセスする。
制御チャンネルへのアクセスで競合するノードについては、ステップ６０５に続いてステップ６１０が実行され、該ステップ６１０においてプリアンブルが発生される。制御チャンネルへのアクセスで競合し且つ下位状態を示すＣＢＦを受信したノードは書込みノードになり、ステップ６１５でＣＢＦを上位状態にセットすることによりそのプリアンブルの伝送を開始させる。次のＣＢＦがステップ６２０で受信される。ステップ６２０に続いてステップ６２５が実行され、該ステップ６２５は受信したＣＢＦが上位状態である間に先のＣＢＦの状態が下位状態であったか否かを決定する。もしそうであれば（ステップ６２５の結果が“ＹＥＳ”であれば）、他のノードがＣＢＦを上位状態に変化させる。すなわち、他のノードが書込みノードになる。従って、ステップ６２５に後続してステップ６６０が実行され、該ステップ６６０において現在のノードは制御チャンネルへのアクセスの競合を停止し、また上述のように後続するＣＢＦの値を変化させない。すなわち、ＣＢＦ値をノードを経て通過させる。ステップ６２５で“ＮＯ”の結果がでると、これは現在のノードは引続き書込み（“ＷＲＩＴＥ”）ノードであることを表わし、ステップ６２５に続いてステップ６３０が実行される。ステップ６３０は、先のＣＢＦの状態がプリアンブルの最後の状態でしかも受信したＣＢＦと同じ状態の両方であるか否かを決定する。ステップ６３０における“ＹＥＳ”の結果は、そのノードがプリアンブルの送信を首尾よく完了し、従って仲裁に勝ったことを示す。ステップ６３０における“ＹＥＳ”の結果に続いて仲裁を終了させるステップ６３５、および勝ったノードが制御チャンネルをアクセスするステップ６４０が実行される。ステップ６３０における“ＮＯ”の結果はすべてのプリアンブルのビットが送られなかったことを示し、ステップ６５０が実行される。ステップ６５０において、そのノードによって生成された次のＣＢＦ状態が、次のプリアンブル状態によっておよびＣＢＦの状態を変更する上述のルールによって決定される。ステップ６５０に続いてステップ６２０が実行され、該ステップ６２０において次のＣＢＦ状態が受信される。
仲裁動作についてさらに説明すると、仲裁サイクルにおける最初の３個のバス同期化サイクルの説明は以下の通りである。仲裁に利用できる最初のバスサイクル期間中、例えば必要とする時間期間中に制御チャンネルのアクティビティ（ａｃｔｉｖｉｔｙ）が存在しないことを意味すると、マスタノードはバスサイクル同期化ワード中の制御ビットフィールド（ＣＢＦ）を下位状態信号“０”にセットする。制御チャンネルのアクセスを希望する任意のノードが、ＣＢＦを上位状態１に変化させることによりそのＣＢＦ中のコード化されたプリアンブルの伝送を開始し始め、そのノードは書込みノードになる。制御チャンネルへのアクセスについて競合しない後続ノード（非競合ノードと称される）は受信されたＣＢＦの上位状態１のノート（ｎｏｔｅ）を採用し、それを変化させずにそのまま次のノードに通過させる。そのとき非競合ノードは、ノードが制御チャンネルに対して競合できる前に制御チャンネル消勢（イナクティビティ：ｉｎａｃｔｉｖｉｔｙ）時間に遭遇する次の時間まで待たなければならない。この仲裁サイクルにおけるこの時点から非競合ノードはＣＢＦを通過させ、これを変化させずに次のノードに送る。書込みノードに先行するいずれのノードも、この仲裁サイクルにおけるこの第１のバスサイクル期間中、ＣＢＦ中に上位状態１を見い出すことはない。このようなノードの動作について以下でさらに詳しく説明する。
２あるいはそれ以上のノードが制御チャンネルのアクセスにおいて競合している場合は、第１のノードはＣＢＦを上位状態にセットすることによってそのコード化されたプリアンブルを伝送し始める。このことを以下では
ＣＢＦ（サイクル＃）＝状態
と表わす。この場合は、これは仲裁サイクルのサイクル１であり、その値は上位状態信号で１によって表され、従って、ＣＢＦ（１）＝１となる。ＣＢＦを１にセットする第１のノードは、このノードがＣＢＦ（１）＝０を受信したことにより、これが書込みノードであることを知っている。後続する仲裁ノードはすべて競合ノードであり、ＣＢＦ（１）＝１を変化させずに通過させることにより、そのコード化されたプリアンブルを同じ態様で伝送する。ＣＢＦがループを完結するまで（すなわち、このＣＢＦが書込みノードによって受信されるまで）このＣＢＦの値は上位状態から変化しない。上述のように、すべての非競合ノードはＣＢＦを受信したままの形で通過させ、このＣＣサイクル期間中制御チャンネルへのアクセスに関してもはや競合は存在しない。
仲裁サイクルの第２のバスサイクル期間中、マスタノードは、それがＣＢＦ（１）＝１を受信したことを検出し、次のバスサイクル同期化ワードにおいてＣＢＦ（２）＝１にセットする。マスタノードと制御チャンネルのアクセスを希望する書込みノードとの間にノードが存在するかもしれないが、先行するバスサイクル中でＣＢＦ（１）＝１を見ていない。このようなノードを遅れノード（Ｌａｔｅ  Ｎｏｄｅ）と称する。このノードもまた値ＣＢＦ（２）＝１を通過させることにより、そのコード化されたプリアンブルを伝送し始める。しかしながら、このノードは先行する書込みノードと競合する。値ＣＢＦ（２）＝１は、これが書込みノードに到達するまでリングを通って伝播する。書込みノードはＣＢＦ（２）の状態を、そのコード化されたプリアンブルの次の状態に基づいてＣＢＦ（２）＝０に変更するか、あるいはＣＢＦ（２）＝１を続ける。書込みノードのコード化されたプリアンブルにおける次の状態が上位状態であれば、そのときは書込みノードはＣＢＦ（２）＝１にセットする。これに対してコード化されたプリアンブルの次の状態が下位状態であれば、書込みノードはＣＢＦ（２）＝０となるようにセットする。後続するノードは同様に引続きそれ自体のコード化されたプリアンブルを伝送しようと試みる。上述のルールにより、後続するノードがＣＢＦ（２）＝０の状態を変更するか否かを決定する。
もし書込みノードがＣＢＦ（２）の状態を上位状態、すなわちＣＢＦ（２）＝１のまま維持すれば、そのときは上に述べたルールに従って各後続する競合ノードはそのコード化されたプリアンブルの次の状態を検出する。コード化されたプリアンブルの次の状態が上位状態であれば、そのノードはＣＢＦ（２）＝１を通過させ、制御チャンネルへのアクセスについて競合状態を維持する。次の状態が下位状態であれば、そのそのノードはＣＢＦ（２）＝１を通過させるが、制御チャンネルへのアクセスについて競合状態から撤退（ドロップアウト）する。仲裁サイクルにおけるこの時点から将来に向かって、このノードはＣＢＦを次のノードに変化させずに通過させる。
書込みノードがＣＢＦ（２）の状態を下位状態、すなわちＣＢＦ（２）＝０に変更すると、そのときは後続するノードはＣＢＦ（２）＝１にセットすることにより、この変化期間中、上位状態１を主張する。後続するノードのコード化されたプリアンブルにおける次の状態が上位状態１であれば、そのとき、そのノードはＣＢＦ（２）＝１を伝送する。このことが生ずると、このノードは書込みノードの状態を引継ぐ。後続するノードのコード化されたプリアンブルにおける次の状態が下位状態０であれば、そのときは、そのノードはＣＢＦ（２）＝０を通過させ、制御チャンネルへのアクセスについて競合状態を維持する。
仲裁サイクルにおける第３のバスサイクルにおいて、マスタノードはＣＢＦ（２）＝０を受信し、ＣＢＦ（３）＝０にセット、あるいはＣＢＦ（２）＝１を受信し、ＣＢＦ（３）＝１にセットする。競合ノードに関して上述した態様と同じ態様で遅れノード（Ｌａｔｅ  Ｎｏｄｅ）はそのコード化されたプリアンブルの次の状態を検出し、次いですべて上述のルールに従ってＣＢＦ（３）＝０あるいはＣＢＦ（３）＝１にセットし、あるいは制御チャンネルへのアクセスに関する競合から撤退する。これはすべての遅れノード（Ｌａｔｅ  Ｎｏｄｅ）について生ずる。
ある時点で書込みノードはＣＢＦ（３）を受信する。書込みノードが予めＣＢＦ（２）＝１にセットしていれば、このノードはＣＢＦ（３）＝１を受け戻さなければならない。次いで書込みノードは、仲裁サイクルの（上述の）制御チャンネルサイクル２で行ったように、そのコード化されたプリアンブルにおける次の状態にＣＢＦ（３）をセットする。書込みノードが予めＣＢＦ（２）＝０にセットしており、ＣＢＦ（３）＝０を受信すると、そのときは書込みノードは依然として書込みノードのままで、制御チャンネルへのアクセスに関して依然として競合状態にあり、ＣＢＦ（３）の値をそのコード化されたプリアンブルの次の状態に変化させることができる。書込みノードが予めＣＢＦ（２）＝０にセットしているが、ＣＢＦ（３）＝１を受信していると、そのときは書込みノードはもはや書込みノードではなく、制御チャンネルへのアクセスに関してもはや競合状態にはない。仲裁サイクルにおけるこの時点から、このノードは受信したＣＢＦを変化させずにそのまま次のノードに通過させる。
上述の動作は後続するバスサイクルに対しても続けられる。制御チャンネルへのアクセスに関して競合状態に留まっている各ノードはＣＢＦをそのコード化されたプリアンブルにおける次の状態にセットするか、あるいはバスへのアクセスにおいて競合状態から撤退する。プリアンブルが伝送された後、依然として競合状態にある各ノードは、上述のように３個の連続する上位状態信号あるいは下位状態信号であるフィールドの終了（ｅｎｄ−ｏｆ−ｆｉｅｌｄ）記号の状態を伝送しようとする。フィールドの終了（ｅｎｄ−ｏｆ−ｆｉｅｌｄ）記号が後続するそのコード化されたプリアンブルを連続的に伝送し、また受信する第１のノードは仲裁に勝ち、バスサイクル同期化ワードのＣＢＦにおけるメッセージを伝送し始める。
上述の説明を要約すると、プリアンブルおよびフィールドの終了（ｅｎｄ−ｏｆ−ｆｉｅｌｄ）記号の終了時に、書込みノードとして指定されたままのノードはノードへのアクセスについて適正に仲裁される。書込みノードの状態は、下位状態から上位状態にＣＢＦを変化させる任意のノードに引継がれる。書込みノードが制御チャンネル上に配置したＣＢＦと異なるＣＢＦを受け戻すと、その書込みノードの状態は失われる。
以下に制御ビットフィールドの５つの例を示す。各例は表中に示されている。各ノードは表中の列によって表わされている。表中の第２行は、制御チャンネルへのアクセスに関して競合状態にあるノードに対してランダムに発生されたプリアンブルを示す。表中の第３行は、上に与えられたルールに従ってコード化されたプリアンブルを示す。上述のように、プリアンブルをコード化する第１の状態は上位状態である。残りの行は後続するバスサイクルで各ノードによって発生されたままのＣＢＦの状態を示す。第４行はゼロ番目のサイクルであり、仲裁サイクルが開始される前の制御チャンネルのイナクティビティ（消勢）の最後のチャンネルを表わす。
0003895774.tif 000003
例１において、ノードＡはマスタノードであり、ノードＤは仲裁サイクルを開始し、ノードＢは制御チャンネルのアクセスについてノードＤと競合する遅れノード（Ｌａｔｅ  Ｎｏｄｅ）である。マスタノードであるノードＡは、サイクル０、およびバスサイクル１の第１の部分において示すように、仲裁サイクルに先行する時間期間中ＣＢＦに下位状態０を維持する。バスサイクル１において、ノードＤはそのコード化されたプリアンブルの第１の状態としてＣＢＦ中に上位状態を主張することによって仲裁サイクルを開始させる。ノードＥおよびノードＡは競合ノードではなく、この信号をバスサイクル２でノードＢに通過させる。ノードＢは遅れノード（ｌａｔｅ  ｎｏｄｅ）で、上位状態をノードＣに通過させる。ノードＣもまた競合ノードではないので、上位状態をノードＤに戻すように通過させる。ノードＤはサイクル２でＣＢＦ（２）を受け戻すと、それをそのコード化されたプリアンブルにおける次の状態を表わすＣＢＦ（２）＝０に変化させる。これはサイクル３においてノードＥおよびＡによってノードＢに通過させる。ノードＢはサイクル３において０を受信するが、そのコード化されたプリアンブルの次の状態としてそれを１に変化させる。今ではノードＢは書込みノードになっている。１はノードＣによってノードＤに通過させられる。ノードＤはサイクル２で０を伝送するが、サイクル３で１を受信する。従って、ノードＤは制御チャンネルへのアクセスに関して競合状態から撤退する。今ではノードＢを除くすべてのノードはパッシブ（ｐａｓｓｉｖｅ）で、受信したＣＢＦを次のノードに変化させることなくそのまま通過させる。最終的にはノードＢは、フィールドの終了（ｅｎｄ−ｏｆ−ｆｉｅｌｄ）記号が後続するコード化されたプリアンブルを適正に伝送しまた受信し、制御チャンネルへのアクセスを獲得する。
0003895774.tif 000004
例２において、ノードＤはそのコード化されたプリアンブルの第１の状態としてＣＢＦ（１）＝１をセットすることによって仲裁サイクルを開始し、書込みノードである。ノードＥは競合ノードで、ノードＤから受信したＣＢＦ（１）＝１を通過させる。ノードＡ、ＢおよびＣは非競合ノードで、受信したＣＢＦ値を次のノードに変化させずに通過させる。サイクル２で、ノードＤはノードＣからＣＢＦ（２）＝１を受信し、それをそのコード化されたプリアンブルにおける状態としてＣＢＦ（２）＝０に変化させる。サイクル２でノードＥはＣＢＦ（２）＝０を受信する。しかしながら、ノードＥのコード化されたプリアンブルにおける次の状態は１である。従って、ノードＥはＣＢＦ（２）＝１にセットし、書込みノードになる。サイクル２ではノードＤはＣＢＦ（２）＝０にセットするが、サイクル３ではＣＢＦ（３）＝１を受信する。従って、ノードＤはその仲裁において敗退したことを知り、制御チャンネルへのアクセスに関して競合から撤退する。この時点でノードＥを除くすべてのノードは制御チャンネルへのアクセスについて競合状態から撤退し、受信したＣＢＦの値を変化させずにそのまま次のノードへ通過させる。最終的にはノードＥはその完全なコード化されたプリアンブルおよび次のフィールドの終了（ｅｎｄ−ｏｆ−ｆｉｅｌｄ）記号を伝送し、制御チャンネルへのアクセスを獲得する。
0003895774.tif 000005
例３では、ノードＤはＣＢＦ（１）＝１にセットすることによってサイクル１の仲裁サイクルを開始させる。ノードＥは競合するノードで、ＣＢＦ（１）＝１をノードＡに通過させる。ノードＡ、ＢおよびＣは非競合ノードで、受信したＣＢＦの値を次のノードへ変化させずにそのまま通過させる。サイクル２ではノードＤはＣＢＦ（２）＝１を受信する。ノードＤ用のコード化されたプリアンブルの次の状態は０で、これによってノードＤはＣＢＦ（２）＝０の状態にセットする。ノードＥはＣＢＦ（２）＝０を受信する。ノードＥのプリアンブルの次の状態もまた０で、ノードＥは制御チャンネルへのアクセスについて競合状態を維持し、ＣＢＦ（２）＝０にセットする。サイクル３でも同じ状態が生じる。サイクル４ではノードＤはＣＢＦ（４）＝０を受信する。そのコード化されたプリアンブルの次の状態は１であり、これによってノードＤはＣＢＦ（４）＝１の状態にセットする。ノードＥはノードＤからＣＢＦ（４）＝１を受信する。サイクル１の場合と同様に、ノードＥのプリアンブルの次の状態は１で、このためノードＥは競合状態を維持し、ＣＢＦ（４）＝１の状態にセットする。サイクル５ではノードＤはＣＢＦ（５）＝１を受信する。そのプリアンブルの次の状態は１で、これによってノードＤはＣＢＦ（５）＝１となるようにセットする。ノードＥはＣＢＦ（５）＝１を受信する。しかしながら、そのノードＥのプリアンブルの次の状態は０である。従って、ノードＥは制御チャンネルへのアクセスについて競合状態から撤退し、該ノードＥは仲裁サイクルの残りの期間中、受信したＣＢＦを変化させずにそのままノードＡに通過させる。最終的にはノードＤは、フィールドの終了（ｅｎｄ−ｏｆ−ｆｉｅｌｄ）記号が後続するそのコード化されたプリアンブルを適正に伝送し、制御チャンネルへのアクセスを獲得する。
0003895774.tif 000006
例４では、ランダムに発生された両方のプリアンブルは同じである。ノードＤはＣＢＦ（１）＝１にセットすることによってサイクル１における仲裁サイクルを開始させる。ノードＥは競合ノードで、ＣＢＦ（１）＝１を受信する。これはまたＣＢＦ（１）＝１にセットする。ノードＡ、ＢおよびＣは非競合ノードで、受信したＣＢＦを次のノードへ変化させずにそのまま通過させる。サイクル２ではノードＤはＣＢＦ（２）＝１を受信する。ノードＤのコード化されたプリアンブルの次の状態は０で、これによってノードＤはＣＢＦ（２）＝０にセットする。ノードＥはＣＢＦ（２）＝０を受信する。ノードＥのプリアンブルの次の状態は０で、それによってノードＥは競合状態を維持し、ＣＢＦ（２）＝０にセットする。コード化されたプリアンブルは同じであるので、この状態はサイクル９まで続く。サイクル１０において、上で定義したフィールドの終了（ｅｎｄ−ｏｆ−ｆｉｅｌｄ）記号の第１の状態としてノードＤはＣＢＦ（１０）＝１にセットする。最初の９個のサイクルの場合と同様に、ノードＥもまたフィールドの終了（ｅｎｄ−ｏｆ−ｆｉｅｌｄ）記号を送り、ＣＢＦ（１０）＝１にセットする。これはサイクル１３まで継続する。サイクル１３においてノードＤはフィールドの終了（ｅｎｄ−ｏｆ−ｆｉｅｌｄ）記号の最後の状態を受け戻し、制御チャンネルへのアクセスを獲得する。メッセージの最初のビットが論理“１”（１個の０として伝送される）であろうと論理“０”（２個の連続する１として伝送される）であろうと、制御チャンネル上に最初に配置された状態は０である。ノードＥはＣＢＦ（１３）＝０を受信するが、ノードＥはＣＢＦ（１２）＝１を伝送する。従って、ノードＥは競合から撤退し、ノードＤは制御チャンネルへのアクセスを獲得する。
0003895774.tif 000007
例５は、ノードＢが遅れ（ｌａｔｅ）ノードであることを除いて例４と同じである。ノードＢとノードＤの両方のプリアンブルは同じである。ノードＤはサイクル１でＣＢＦ（１）＝１の状態にセットすることによって仲裁サイクルを開始させる。ノードＡ、ＣおよびＥは非競合ノードで、受信したＣＢＦの値を次のノードへ変化させずにそのまま通過させる。例４と同様に、ノードＢおよびＤの両方のコード化されたプリアンブルは同じで、サイクル１０までの期間中制御チャンネルをアクセスする競合状態を維持する。サイクル１０においてノードＤはフィールドの終了（ｅｎｄ−ｏｆ−ｆｉｅｌｄ）記号を伝送し始める。サイクル１１においてノードＢはフィールドの終了（ｅｎｄ−ｏｆ−ｆｉｅｌｄ）記号を伝送し始める。再びサイクル１２までの期間中ノードＢ、Ｄは共に制御チャンネルへのアクセスについて競合状態にある。サイクル１３においてノードＢは、そのコード化されたプリアンブルと後続するフィールドの終了（ｅｎｄ−ｏｆ−ｆｉｅｌｄ）記号の適正な伝送を表わすＣＢＦ（１３）＝１を受信する。これによってノードＢは制御チャンネルへのアクセスを獲得する。例４の場合と同様に、ノードＢはＣＢＦ（１３）＝０の状態にセットすることによってそのメッセージの伝送を開始する。ノードＤはＣＢＦ（１３）＝０を受信し、制御チャンネルへのアクセスの競合から撤退する。
【図１】
0003895774.tif 000008
【図２】
0003895774.tif 000009
【図３】
0003895774.tif 000010
【図４】
0003895774.tif 000011
【図５】
0003895774.tif 000012
【図６】
0003895774.tif 000013