【発明の詳細な説明】
データバスシステムにおける
制御チャンネルに対するアクセスの仲裁方法
本発明は、データバスシステムに関するものであり、特に、リングバス(ri
ng bus)データ伝送システムに関するものである。
発明の背景
ディジタルビデオ処理システムのようなデータ伝送システムは、データを高い
データ率(data rate)で処理するものであり、それに対応してデータ
伝送用の広い帯域幅のバスシステムを必要とする。例えば、MPEGフォーマッ
トにおけるディジタルビデオデータは、毎秒4乃至8メガビットのデータ率を示
す。パケット化されたデータに基づくバスシステムは充分な帯域幅を与えること
ができる。しかしながら、パケット化されたシステムを実現するためのハードウ
エアおよびソフトウエアはコスト高になり、家庭用電子機器用としては実用的で
ない。さらに、パケットバスは、MPEGデータ伝送に必要とされる高いデータ
率を与えるに当たって障害となるパケット処理遅延のような過剰な“オーバーヘ
ッド”を必要とする。
比較的安価に構成することができ、しかも高いオーバーヘッドを必要としない
高いデータ率のデータ伝送バスが、家庭用電子機器を相互に接続するのに望まし
い。
本発明の1つの特徴によれば、ビーバス(BeeBus:BBUS)と称され
るデータ伝送バスが、各々が制御チャンネルの少なくとも1ビットを含むデータ
をバスサイクル(bus cycle)で伝送する。BBUSはディジタルビデ
オデータの伝送用として使用できる高いデータ率のバスシステムである。さらに
詳しく言えば、BBUSシステムは、毎秒88メガビット(Mbits/秒)の
総容量をもつ時分割多重化(TDM:Time Division Multi
plexed)バスで、これはバス上の信号源ノードから行き先ノードにデータ
を透過的に(transparently:トランスペアレントに)伝送するよ
うに設計されている。BBUSはリング上のノードからノードに9ビットワード
を直列に伝送することにより動作する。各バスサイクルの初期ワードがバスサ
イクル同期化ワードである、88個の9ビットワードの上記バスサイクルを伝送
することによりノード相互間の同期が維持される。CEBUS(Consume
r Electronic BUS)と称される従来技術の家庭用電子機器バス
に取り付けるように設計された家庭用電子機器装置に接続することが望ましい場
合もあるので、前述のBBUSシステムはCEBUS(コンパチブル制御チャン
ネルを含んでいる。バスサイクル同期化ワードの1ビットはCEBUSコンパチ
ブル制御チャンネル用のデータを担持している。BBUSは8個のデータチャン
ネルを有するように設計されており、これらのチャンネルは、チャンネルの総数
が8あるいはそれ以下であり、割り当てられた総容量が88メガビットあるいは
それ以下である限り、チャンネル数とチャンネル容量との任意の組み合わせに必
要な容量を与えるブロックにグループ分けすることができる。
発明の概要
BBUSシステムに含まれるCEBUSコンパチブル制御バスは伝送に関して
仲裁(調停、アービトレーション:arbitration)を含まないメッセ
ージ構成を採っている。各装置は10キロビットを優に超過する容量を有する予
め割り当てられた制御チャンネルを具えている。各装置は31個の他の装置から
同時にメッセージを受信するチャンネル適応機能を有している。しかしながら、
受信装置は一度に1個のメッセージしか処理できないと予想される。従って、仲
裁は送信装置ではなく受信装置により行われる。受信装置は一度に1個のメッセ
ージの割合でラウンドロビン(round robin)形式でメッセージを処
理する。メッセージの長さは約32バイトであるから、すべての制御チャンネル
のメッセージはこの固定された長さで送られ、すべてのメッセージは同じ制御サ
イクルの時間スロット(time slot)で開始される。このスロットは基
本動作システムの同期である。後ほど説明するように、約8ミリ秒である32個
の制御装置スロット×32個のメッセージスロット毎に同期が生ずる。従って、
8ミリ秒毎に制御チャンネルメッセージを送ることができる。(16個の装置−
装置間メッセージを同時に送ることができる)。これはCEBUS制御メッセー
ジ用の約25ミリ秒に相当する。
上記のように、BBUSは、(88個の9ビットワードから成る)バスサイク
ル当たり1ビットの割合でCEBUSコンパチブル制御チャンネル上の情報を伝
送する。これは受信装置によるメッセージの拒否(rejection)を必要
とし、グリッドロック(grid lock)状態および多数メッセージの伝送
を生じさせる可能性がある。これらの問題を未然に排除した制御チャンネル伝送
方法が望まれている。
本発明の他の特徴によれば、このようなデータ伝送システムにおける各ノード
は、次の方法に従って制御チャンネルに対するアクセスについて競い合う(co
mpete)。最初に、多数の連続する状態を有する符号化(エンコード)され
たプリアンブルが発生される。この各状態は上位(superior)状態と下
位(inferior)状態の一方である。第2に、バスサイクル中の制御チャ
ンネルのビットが、符号化されたプリアンブルの第1の状態を表わす上位状態に
セットされる。次いで、後続するバスサイクルの各々に対して制御チャンネルの
ビットが受信される。先行する制御チャンネルのビットが下位状態にセットされ
ており、受信された制御チャンネルのビットの状態が上位状態であれば、そのと
きはノードは制御チャンネルに対する競合(contention)から離脱し
、仲裁サイクルの残りの期間中、制御ビットチャンネルのビットを、受信した制
御チャンネルのビットの状態にセットする。符号化されたプリアンブルの最後の
状態が先行するバスサイクル中に伝送されており、且つ受信した制御チャンネル
のビットが符号化されたプリアンブルの最後の状態と同じ状態であれば、そのと
きは、ノードは制御チャンネルに対するアクセス権を獲得する。その他の場合は
、符号化されたプリアンブルの次の状態が決定され、制御チャンネルのビットは
符号化されたプリアンブルの次の状態にセットされる。
発明の簡単な説明
図1は本発明の原理によるデータバスシステムのブロック図である。
図2は図1に示されたノードのリングを周回して伝送されるデータのフォーマ
ットを示す図である。
図3はノードをリング構成をなすように相互接続する従来技術による構成を示
すブロック図である。
図4はノードをリング構成をなすように相互接続する本発明を実施した方法を
示すブロック図である。
図5はノードを入力および出力ケーブルで接続するのに必要な回路のブロック
図である。
図6は本発明によるデータバスシステムの動作を説明するフローチャートを示
す図である。
発明の詳細な説明
図1は本発明の原理によるデータバスシステムのブロック図であって、同図に
示すように5個のノード、すなわちノードA、ノードB、ノードC、ノードDお
よびノードEがバスによってリング構成をなすように相互接続されている。デー
タは図2に示すフォーマットでリング内で1つのノードから次のノードに伝送さ
れる。
図2では、データワードは図の上部の一連の長方形によって示されている。シ
ステム中の基本データワードは9ビットをもっている。そのうちの8ビット(1
バイト)はペイロードであり、1ビットがリンクのレベル制御に使用される。1
バスサイクルで伝送される88個の9ビットデータワードが存在する。100M
Hz(すなわち周期が10ナノ秒)のビット率(bit rate)のクロック
を使用した場合、各9ビットワードは90ナノ秒の長さになる。従って、システ
ムの基本バスサイクルは7920ナノ秒、すなわち9個の10ナノ秒クロックサ
イクルを88回カウントしたものである。7,920ナノ秒毎に1個の同期化ワ
ードがバスサイクルマスタによって伝送される。これは7,920ナノ秒毎に8
7個のデータワード、すなわち毎秒10,984,848バイトのペイロードを
与える。従って、BBUSの最大データ率は毎秒87,878,787.88メ
ガビットである。データストリーム中のデータワードは8チャンネル間で割り当
てられる。各データチャンネルは、90ナノ秒×8チャンネル=0.720マイ
クロ秒毎にスロットを受信し、データを伝送する。従って、データチャンネルは
、一定の遅延と11メガビットの容量当たり1マイクロ秒以下のジッタを伴なっ
たプロトコル独立チャンネルである。
図2を参照すると、1バスサイクルの最初の9ビットデータワードは同期化ワ
ード(SYNC)である。この同期化ワードにチャンネル1(CH1)用のデー
タを担持したデータワードが続いている。このデータワードにチャンネル2乃至
8(CH2乃至CH8)用のデータを担持したデータワードが続いている。各チ
ャンネル用のこのデータワードのサイクルはバスサイクル中の残りの87個の時
間スロットの間反復される。
以下にさらに詳細に説明するように、同期化ワードの1ビットはCEBUS−
コンパチブル制御チャンネルに割り当てられている。従って、制御バスは毎秒1
26キロビットよりも僅かに高い最大データ率をもっている。制御チャンネルの
処理効率(スループット:throughput)は、CEBUSに結合された
装置によるバスへのアクセスに関する仲裁のために使用されるCEBUS CS
MA−CD仲裁法によりCEBUSとほゞ同じ10キロビットよりも僅かに高い
。
BBUSの基本的な物理的および電気的接続は、各装置あるいは機器の入力お
よび出力とデイジーチェーン(daisy chain)結合されてリングをな
している。図3はノードをリング構成に相互接続するための従来技術のブロック
図である。図3における各ノードは、各ノードの左下に示された入力コネクタと
各ノードの右下に示された出力コネクタを有している。第1のケーブルはノード
Aの出力コネクタとノードBの入力コネクタとの間に接続されている。同様に、
ノードBの出力コネクタとノードC(図示せず)の入力コネクタとの間にケーブ
ルが接続されており、一般に、あるノードの出力コネクタからこのノードに続く
ノードの入力コネクタにケーブルが接続されている。図3に示された最後のノー
ドはノードEで、リングを完成するためにノードEの出力コネクタからノードA
の入力コネクタにケーブルが接続されている。
最後のノードと最初のノードとを接続するためのデイジーチェーン中に最終リ
ンクを形成する必要が無いようにするために、リターンパス中のデータを順方向
(フォワード)パスと時分割多重化することができる。あるいは逆方向(リター
ン)パス用の各ケーブル中に1組のワイヤを含ませることができる。後者のやり
方は、時分割多重化逆方向および順方向パスは有効容量を半分に減少させること
ができるので好ましい。
図4は本発明を実施したノードをリング構成に相互接続する方法を示すブロッ
ク図である。図4で、各ケーブルはあるノードから次のノードへの順方向パス用
として必要なワイヤと最終ノードの出力コネクタから最初のノードの入力コネク
タへのリターンパス用のワイヤとを含んでいる。図4に示すように、逆方向パス
がケーブル中に含まれている場合は、図示の実施例のBBUSケーブルは各方向
に4本づつ合計8本のワイヤを必要とする。さらに、接地/シールドが含まれて
おり、またケーブルがポートに接続されていることを示すピンが含まれている。
このピンは接地/シールドに配線(ワイヤード)されている。
図5はノードを入力および出力ケーブルで接続するのに必要なノード中の回路
のブロック図である。図5で入力コネクタ20は先行するノードからのケーブル
を受入れる。このケーブルはプラグ10で終端しており、また先行するノードか
らこのノードへの順方向パスを構成するワイヤと最終ノードから最初のノードへ
の逆方向パスを構成するワイヤを受けている。さらに、上述のようにプラグ上の
1本のピンが基準(接地)電位源に結合されている。入力コネクタ20における
順方向パスからのデータおよびクロックワイヤは第1のスイッチ回路30の第1
の入力端子に結合されている。第1のスイッチ回路30の出力端子は入力直列−
並列シフトレジスタ40の入力端子に結合されており、上記入力レジスタ40の
出力端子は周知の設計のノード(図示せず)の利用回路に結合されている。
このノードの利用回路(図示せず)はまた出力用並列−直列シフトレジスタ5
0入力端子に結合されている。出力レジスタ50の出力端子は第2のスイッチ回
路60の第1の入力端子と出力コネクタ70の入力端子に結合されている。出力
コネクタ70は次に続くノードからのケーブルを受け取る。このケーブルはプラ
グ90で終端している。このプラグ90はまた次に続くノードへの順方向パスを
構成するワイヤと、最後のノードから最初のノードへの逆方向パスを構成するワ
イヤを含んでいる。出力レジスタ50の出力端子は出力コネクタ70とプラグ9
0を経て順方向パスに結合されている。
逆方向パスのワイヤはプラグ90で受け取られ、出力コネクタ70に結合され
ている。逆方向パスからの入力ワイヤは第1のスイッチ回路30の第2の入力端
子および第2のスイッチ60の第2の入力端子に結合されている。第2のスイッ
チ60の出力端子は入力コネクタ20において逆方向パス用の出力端子に結合さ
れている。これによって第2のスイッチ回路60の出力端子は入力コネクタ20
およびプラグ10を経て逆方向パスに結合される。
入力コネクタ20および出力コネクタ70はまた論理回路80に接続されたワ
イヤをもっている。プラグ10について示されている接地されたワイヤに結合さ
れた出力コネクタ20上のピン、およびプラグ90について示されている接地さ
れたワイヤに結合された出力コネクタ70上のピンは論理回路80に結合されて
いる。このワイヤは、それぞれ入力コネクタ20および出力コネクタ70中でプ
ルハイ(pull high)され、またプラグ10あるいは90中の接地端子
によってプルダウン(pull down)される。論理回路80の各制御出力
端子は第1のスイッチ回路30および第2のスイッチ回路60の対応する制御入
力端子に結合されている。
動作時に、ケーブルが入力コネクタ20あるいは出力コネクタ70のいずれか
に挿入されると、論理回路80はこのことを上記入力コネクタに対応する入力端
子における接地電位によって検出する。これは適当なコネクタ(20あるいは7
0)からの入力信号を入力レジスタ40に送り、また出力レジスタ50からの信
号を適当なコネクタ20あるいは70に送るために使用される。例えば、デイジ
ーチェーンの最初のノードはその入力コネクタ20に接続されたケーブルを有し
ていないが、その出力コネクタ70に接続されたケーブルを有している。論理回
路80はこの構成を検知し、プラグ90における逆方向パスからの入力ワイヤを
入力レジスタ40に結合するように第1のスイッチ30を条件付ける。出力レジ
スタ50は出力コネクタ70において順方向パスに結合される。また、この第1
の装置はバスマスタを指定する。
同様に、デイジーチェーンの最後のノードはその出力コネクタ70に接続され
るケーブルを有していないが、その入力コネクタ20に接続されたケーブルを有
している。論理回路80はこの構成を検知し、入力コネクタ20における順方向
パスからの入力ワイヤを入力レジスタ40に結合するように第1のスイッチ30
を条件付ける。また論理回路80は出力レジスタ50を入力コネクタ20におけ
る逆方向パスに結合するように第2のスイッチ60を条件付ける。デイジーチェ
ーンの中間にある装置は入力コネクタ20に接続されるケーブル、出力コネクタ
70に接続されるケーブルの両方のケーブルをもっている。論理回路80はこの
構成を検知し、入力コネクタ20における順方向パスからのワイヤを入力レジス
タ40に結合するように第1のスイッチ30を条件付ける。出力レジスタ50は
出力コネクタ70において順方向パスのワイヤに結合される。また論理回路80
は、出力レジスタ70における逆方向パスからのワイヤを入力コネクタ20にお
ける逆方向パスのワイヤに結合するように第2のスイッチ60を条件付ける。逆
方向パスワイヤへの処理接続は行われず、これらのワイヤは単に機器を通して接
続されるに過ぎない。この構成によれば、ポートの接続を決定するためにソフト
ウエアがノードの動作を制御する必要性を低減することができる。
システムの構成がケーブルにシールドを必要としないものであれば、RJ45
コネクタを使用することができる。この場合、コネクタ内のケーブルの存在、不
存在は入力ワイヤ中のクロックを感知し、また出力ワイヤ中の電流を測定するこ
とによって検出される。この実施例では、このような感知回路は入力コネクタ2
0と論理回路80との間、出力コネクタ70と論理回路80との間に接続され、
この感知の結果に基づいてバス接続の存在あるいは不存在を示す論理信号を論理
回路80に供給する。RJ45コネクタを使用すると、比較的安価なケーブルを
使用することができ、また家庭用電子装置では望ましいプリント回路基板(PC
B)コネクタを使用することができる。
BBUSにおける制御チャンネルのプロトコルはCEBUS用に使用されるプ
ロトコルと同様である。メッセージの構成およびコード化(エンコーディング)
はCEBUS用と実質的に同じである。これにより約25ミリ秒毎に1個のメッ
セージを得ることができる。制御チャンネルについては以下でさらに詳細に説明
する。
BBUSの同期化は次の態様でアドレスされる。直列リンクを介して接続され
たデイジーチェーンリングに伴う問題は、1個のノードがすべてのノードを同期
状態で動作させるための初期設定プロセスを開始させ、次いでノードの番号付け
のような他の初期設定動作を処理しなければならないということである。この処
理は、1個のノードがリング通信の非論争(undisputed)マスタとな
り得るならば著しく簡略化される。これはバスマスタを、上述のように決定する
ことができる、その入力コネクタ20に直接接続されるケーブルをもたない1個
のノードと指定することによって達成される。バスマスタは次の動作(以下に詳
細に説明する)を開始させる。
1)ワードの同期化
2)サイクルの同期化
3)ノードの番号付け
4)遅延補償
BBUSにおけるデータワードのフォーマットは次の通りである。ノードとノ
ードとの間の通信は、前に述べたように1つのノードから次のノードへ9ビット
ワードをビット順次(シリアル)伝送することによって行われる。ワードは(図
5中に重信(ファントム:phantom)の形式で示されているように)ノー
ドの入力シフトレジスタ40に読み込まれ、出力シフトレジスタ50に伝送され
、次いで次のノードに伝送される。
ワードの1ビット、例えば最上位ビットはリンクレベル制御ビットである。制
御ビットの定義を例示すると、
1=同期化情報
0=ペイロード
である。
例えば、図2を参照すると、各バスサイクルの開始時にデータストリーム中に
挿入される太線の長方形で示した同期化ワード(SYNC)は、そのデータスト
リームを表わす図の下にビットを展開して示したように9個のビットを含んでい
る。ビット展開図の太線の長方形で示されている最上位ビットは論理“1”のビ
ットである。一方、このサイクル中の第2のチャンネル1のワードを担持する9
ビットのデータワードは、データストリームを表わす図の下にビットを展開して
示したように論理が“0”のビットの太線の長方形で示された最上位ビットを有
している。
上に述べたデイジーチェーンリングバスの初期設定はワードの同期化で開始さ
れる。ワードの同期化は、最初システムに電力が供給された後、その出力コネク
タ70において同期化コード(以下でさらに詳細に説明する)を伝送するマスタ
ノード(master node)によって達成される。次いでマスタは、ワー
ドの同期化コードが検出されるまでその入力レジスタ40(好ましい実施例では
19ビットレジスタである)を試験することによってワードの同期化コードの復
帰に対してその入力コネクタ20で受信されたデータの試験を開始する。以下の
説明はワードの同期化コードが1個の9ビットワードであることを基礎としてい
る。しかしながら、ワードの同期化コードは一連の2あるいはそれ以上のコード
のワードであってもよい。ワードの同期化コードが検出されると、ワードの同期
化が達成される。
このようなノードのリングにおける遅延は、例えば処理あるいはケーブルに関
連する遅延の結果として9ビットワードの非整数個分の時間になることがある。
ワードの非整数個分の時間の遅延を調整するために、入力シフトレジスタ40は
データの1ワードを記憶するのに必要な数以上のビット数を含むことができる。
一例として、入力シフトレジスタ40の好ましい実施例は19ビットを有してい
る。遅延を確認するために入力レジスタ40中のデータは整数ワード時間で試験
される。19ビットのシフトレジスタ中の9ビット同期化ワードの位置は整数ワ
ード時間に関連する遅延を表わしている。遅延は後続するワードのタイミングを
調整するために使用される。マスタノードを除いて隣接するノードに対しては、
クロックはデータを伴っており、データと同様に遅延される。そのためノードに
とって識別できる時間遅延は存在しない。マスタノードは基準クロックをもって
いるので、完全なリングを経由する遅延はマスタノードには識別可能である。各
ノードにおける整数ワード遅延を除いて、遅延の程度はケーブルの長さによって
1ワード以下に制限されている。各非マスタノードの19ビット入力シフトレジ
スタ40は、以下に詳細に説明するような態様で、必要に応じてさらにワード遅
延を与えるように使用することができる。
各ノードにおけるタイミング信号は次のようにして与えられる。各ノードは2
個のクロックをもっている。入力コネクタ20からの入力データは、該入力コネ
クタ20(あるいはマスタノードに対しては出力コネクタ)で受信された直前の
ノードからのストローブから引き出されたクロックによって入力シフトレジスタ
40にシフト入力される。また、各ノードはそれ自身の内部クリスタルクロック
を有しており、これをその出力シフトレジスタ50およびその内部論理を駆動す
るために使用する。従って、内部クロックは入力クロックよりも僅かに速いか遅
く、これを修正する必要がある。入力クロックが内部クロックよりも速い場合は
、入力シフトレジスタ40中で入力ワードをさらに1ビット分だけシフトさせる
ことによって追加される入力クロックサイクルが吸収される。内部クロックが入
力クロックよりも速い場合は、入力データが入力シフトレジスタ40にシフト入
力される間に、内部クロックによって指定されるデータ入力時のサイクルが1ク
ロックサイクル分だけ引き延ばされる。上記の点は、リングの速さを最も遅いノ
ードの内部クロックの速さに低下させる累積効果をもっている。
各ノード中のバスサイクルカウンタは、入力サイクルの終了時にサイクル同期
化ワード(以下で説明する)がノードに読み込まれるとき、すべてのサイクルカ
ウンタをリセットすることによって同期化される。従って、各ノードは1個の受
信ワード時間とケーブルの伝播遅延の和だけ遅延されて、先行ノードと同じ状態
を経由することになる。マスタノードを除いて各ノードのタイミング状態は、上
記の遅延を補償するサイクル同期化ワードの受信によって同期化される。例えば
、ケーブルの全長が10メートルに制限されていると、ケーブルを通過する全遅
延量は50ナノ秒、すなわち100MHzのクロックに対して5個のクロックサ
イクル程度である。従って、ケーブル中に1ワード以下が蓄積される。リターン
パスが含まれる場合はケーブル長は著しく長くなることがあるので、ケーブル駆
動装置を設計するに当たってこの付加されたケーブルの長さを考慮する必要があ
る。また、各ノードは1クロックサイクル以下の潜在的な付加遅延をもっている
。
上述の図2に示された基本バスサイクルは、時間的には88個の9ビットワー
ドすなわち88×9=792クロックサイクルの期間である。チャンネルカウン
タは、任意のデータチャンネルが1メガビット以上の容量をもっていれば、基本
チャンネルデータカウンタ内の付加スロットは、ジッタを最少にするような態様
で割り当てられるように設計される。多数のノードが任意の大きさのデータチャ
ンネルをもっているとき、このことを実現するために、容量割り当てタスク(仕
事)がアプリケーションレベルに割り当てられ、また各データチャンネル用の時
間スロットを割り当てるタスクがアプリケーションレベルに与えられる。
上記の代わりに、アプリケーションオーバーヘッドを減少させるやり方は、図
2に示されているように確実に1マイクロ秒/チャンネル以下のジッタを保証す
るために各々が11メガビットの容量をもつ8個の主(メジャー)チャンネルを
予め割り当てることである。これらの8個の主チャンネルは今では単純に割り当
てられ、同じく図2に示されているようにチャンネルカウンタはこれら8個の主
チャンネルを88個のチャンネルスロット間に拡張するように設計されている。
8個のスロットはジッタの測定に関してそれぞれ互に独立しており、また各ノー
ドによって個々に割り当てられる(但し1個のノードのみが8個のチャンネルの
各々を使うことができる)。制御チャンネルは別々に割り当てられ、8マイクロ
秒のジッタを持っている。
ノードの同期化およびノードのアドレスに関して幾つかの機能が与えられなけ
ればならない。これらの機能にはワードの同期化およびバスサイクルの同期化(
これらについてはいずれも上述されている)、さらにメッセージの同期化、ノー
ドのアドレスおよびデータスロット中にデータが存在しないことの指示(これら
についてはすべて後ほど説明する)が含まれている。この目的のために幾つかの
特別な同期化およびアドレスワードが設けられており、これらは9ビットデータ
ワード中の最上位ビットとして論理“1”をもつことによって識別される。本発
明の実施例では、システムは僅か32個のノードに制限されている。従って、1
バイトの内の5ビットのみ(例えば、0乃至7のビットを有するバイト中の3乃
至7ビット)が行き先ノードのアドレスを識別するために必要となる。ソースノ
ードのアドレスの識別情報は必要ならば別のバイトで送ることもできるが、上記
ソースノードのアドレスの識別は時間スロットによって与えられる。1バイトの
残りの3ビット(例えば0乃至2ビット)は、表1に示す各種の機能を特定する
8個の特別な同期およびアドレスコードを識別するために使用される。
表1の第1行は、特定の時間スロットに対するデータが存在しないことを表わ
すために使用されるコード00H(すなわち16進法で00)の特別な同期化ワ
ードを示す。このコードは、時間スロットが常にデータストリーム中に存在し、
また行き先受信ノードは割り当てられたチャンネル中のすべての時間スロットを
見ることにより必要となる。このワードは、データが特定の時間スロット用に利
用できないことをソースノードが認識することができるようにする。
表1の第2行は、前述のワード同期化コードを示す。このコードにおけるビッ
ト0乃至2は111に等しい。
表1の第3行は、行き先アドレスを特定するためのアドレスコードのワードを
示す。このコードはCEBUSプロトコルがノード間の通信チャンネルをセット
アップするために使用されるときは不必要である。このような場合、行き先アド
レスは工業規格EIA IS−60に示されているように制御チャンネルメッセ
ージ中で既にコード化されている。さらにノードアドレスコード0は情報通信メ
ツセージ(broadcast message)用に保存されている。マスタ
ノードはノード0である。従って、僅かに31個の物理的ノードがシステム中に
与えられる。メッセージが通信されると、送信側はそのメッセージがすべてのノ
ードで受信されたものと仮定する。このため受領通知は存在しないので、受信は
確実ではない。
表1の第4行は図2に示すようなバスサイクル同期化ワードを示す。バスサイ
クル同期化ワードではビット0乃至2は110に等しい。バスサイクル同期化ワ
ードの最下位ビットは制御チャンネル用のビットを担持しており、ドントケア(
don't care)状態を表わすために表1ではxで表わされている。モジュロ88チ
ャンネルカウンタ=0のとき、制御チャンネルはスロットをもっている。マスタ
中のノードカウンタおよびメッセージ長カウンタが0であれば、マスタはサイク
ル同期化コードを送る。バスサイクル同期化ワードが受信されたとき、これが同
期を失っておれば、各ノードはそのカウンタをリセットすることができる。もし
妥当な時間内にバスサイクル同期化ワードが検出されなければ、ノードはバスが
破壊されているものと仮定する。
一実施例では、制御チャンネルにノード命名のジョブが割り当てられる。この
場合は、ノードに名称あるいは番号を割り当てる必要はない。しかしながら、好
ましい実施例ではマスタノードは初期設定プロセスの一部としてノードの番号付
けを行なう。上述のようにワードの同期化が達成されたのち、マスタノードは表
1の第5行に示された名称コマンド、すなわちビット0乃至2=100、および
00001にセットされたノードアドレスビット(3乃至7)を送る。ノードア
ドレスビット中の番号は伝送ノード、この場合マスタノードのノードアドレスを
表わす。名称コマンドを受信する各ノードは、ノードアドレスビットによって表
わされる番号を増加し、この番号をノードアドレスとして使用し、ノードアドレ
スビット中にそれ自身のノードアドレスをもった名称コマンドを次のノードに送
る。そのコマンドがループを循環したのち、マスタノードがそのコマンドを受信
すると、マスタノードはそのコマンドの循環を停止する。もしノードが2ワード
時間分の遅延を持つと(これについては後ほど詳細に説明する)、そのノードは
受信した名前ワードのノードアドレスビットによって表わされる番号を2だけ増
加させる。これによって、各ノードのノードアドレスはそのノードの遅延時間ス
ロットと整合する。
表1の第6行はリンクレベル・リソース(resource)割り当て要求ワ
ードを表わす。ビット0乃至2を001に等しくなるようにセットすることによ
って制御チャンネルメッセージの代わりにリンクレベル・リソース割り当て要求
を送ることができる。ビット4乃至7の各々は2個の隣接するデータチャンネル
を表わす。例えば、ビット7は22メガビットの全容量に対するスロット0およ
び1を表わし、ビット6はスロット2および3を表わし、以下同様に各ビットは
対応するスロットを表わす。リンクレベル・リソース割り当て要求ワードは制御
チャンネルを使用するための容量を持たない単純なノード用に使用されることは
明らかである。このようなノードがバスチャンネルに対するアクセスを要求する
と、このバスチャンネルは、行き先メッセージアドレスワードの代わりにビット
4乃至7で表わされる所望のチャンネル対に対応するビットの1つをもったリソ
ース割り当て要求をバスに伝送する。後続するノードがリソース割り当て要求を
受信すると、そのノードはその要求を、次のノードがその要求と衝突しないかぎ
り変化させずにそのまま上記次のノードに送る。もしノードが要求されたリソー
スを使用していると、そのノードは使用中の要求されたチャンネルに対応するビ
ットを0にして、修正されたワードを次のノードに送る。その時ソースノードは
リングからその要求を取り除かなければならない。他の公正なルールあるいは他
の仲裁は存在しない。もしその要求がゼロ化されたチャンネルをもっことなく戻
ると、要求ノードはそのチャンネルを使用する。もしチャンネルを使用すること
ができなければ、要求チャンネルは4対のチャンネルの他のものを試みる。もし
どのチャンネルも使用することができなければ、処理(プロセス)は停止する。
その処理は長いランダムな遅延後に再開される。データチャンネルの使用を要求
するこの方法は、長いセッション(session)の間チャンネルを使用しよ
うとするノードに対して、および制御チャンネルの機能をもたない極く簡単なノ
ードに対して予測される。
表1の第7行はリング遅延調整ワードを示し、ここではビット0乃至2は01
1に等しい。一般に各ノードはそれがリング上に配置しているメッセージを取り
除かなければならない。これを行なうために、整数ワード時間内でリング上の遅
延の長さを知らなければならない。これは初期設定プロセス期間中にマスタノー
ドによって検出されなければならない。マスタノードは、遅延は少なくともシス
テム中のノード数であるものとする。マスタノードは(上述の)名称コマンドの
復帰に必要とするクロックサイクル数をカウントする。上述のようにマスタノー
ドを除く各ノードはワード同期化ワードの受信によって先のノードからのケーブ
ル長に対して時間的に修正される。従って、たとえ(マスタノードを除く)隣接
ノード間の遅延が1ワード長を超過しても、受信ノードに対する遅延はゼロ(0
)に見える。従って、一般にマスタノードを除いて各ノードは1ワード時間の遅
延を加える。マスタノードはループの全遅延を見て、4個未満のノードがループ
中に接続されていない限り、その遅延を8ワード分の時間の倍数に調整する。も
し、4個未満のノードが接続されておれば、その遅延は4ワードの倍数に調整さ
れ、そのチャンネルは各々が22メガビットの4チャンネルをもつように構成さ
れる。全リング遅延が修正されるまで、リング遅延はリング遅延調整ワードを使
用することによって増加される。
表1の最後の行はペイロードデータワードを表わしている。ペイロードワード
では、最上位ビットは0で、残りの8ビットは1つのノードから他のノードへ伝
送されるデータを担持している。
マスタノードを除く各ノードは初期設定プロセス期間中(特に述べる場合を除
いて)リングからデータを取り除くことはない。バスサイクル同期化コマンドは
初期設定プロセスの終了を示す。各ノードはバスサイクル同期化コマンド後、幾
つかのワードのモジュロ8(あるいはモジュロ4)数の伝送を除去する。他の方
法はモジュロ4の導入、実施(インプリメンテーション)で、この場合各ノード
はそれが遅延4のリングか、最初の4個のスロットのみが使用可能かを知る必要
がある。後者の場合、僅か4個のノードを有しているにすぎず、また一般に大き
なチャンネル容量を必要としないので、実施が簡単でしかも妥当である。
バス時間スロットの割り当てを行なうに当たってリングの遅延を考慮する必要
がある。すなわち、バス時間スロットは全リング遅延の係数(モジュラス:mo
dulus)および逓倍周波数であるべきである。一つの方法はリング遅延の係
数を固定することである。各ノードは、マスタノードの場合その入力シフトレジ
スタ40に最大2個の9ビットワードの遅延を導入する能力をもたなければなら
ない。この遅延はまたリングの遅延を調整するためにも使用することができる。
従って、各ノードは1あるいは2ワードの遅延を導入するように構成することが
できる。従って、丁度2個あるいは3個のノードを含むリングに対しては、リン
グは4個の遅延をもつように調整することができる。他のすべての場合は、リン
グは8ワード時間の係数である遅延をもつように調整することができる。いずれ
の場合もリング遅延の調整は次のようにして行われる。
リングを周回する全ワード遅延がマスタノードによって測定された後、もしそ
れが係数8(あるいは4)でなければ、リング遅延の調整ワードが遅延を増大さ
せるためにマスタによって伝送される。このワードを受信する遅延がまだ増加さ
れていない(すなわちその遅延がまだ1ワードである)第1のノードは、それ自
身を入力シフトレジスタ40の最初の9ビットの代わりに第2の9ビットからの
入力ワードを受信するように条件付ける。このようにして、そのノードはループ
中に追加のワード遅延を導入し、今では2ワードの遅延をもっている。次いでこ
のノードはバスからワードを取り除く。このプロセスは、正しい数のワード遅延
がそのリングに付加され、そのワード遅延がモジュロ8(あるいはモジュロ4)
になるまで繰り返される。ケーブル自体が1ワード遅延以上の遅延を付加するの
を防止するためにリングケーブル長は約18メートルに制限されるべきであると
いうことは当業者には明らかである。このようなシステムを用いると、8チャン
ネルの多重化制約を加えることは比較的容易である。図2に示す基本的なシステ
ムは9ビットワードの8スロット、11サイクルである。88スロット毎に1ス
ロットが制御チャンネルビットを含む同期化ワード用として使用される。
BBUSシステムはCEBUS−コンパチブル制御チャンネルを含んでいる。
工業規格IS−60中で規定されているように、CEBUS制御チャンネルは毎
秒10キロビットの最大帯域幅を有している。制御チャンネルへのアクセスは、
ワイヤードオア仲裁制御チャンネルの場合と同様にバス上の上位(superi
or)状態と下位(inferior)状態の使用によって仲裁される。第6図
に示され、あとで詳細に説明するフローチャートは、仲裁の間におけるBBUS
システムの動作の一例を示すものである。先に説明しまた図2に示されているよ
うに、BBUSシステムは7.920マイクロ秒(7920ナノ秒)のバスサイ
クルを含み、1バスサイクル同期化ワードは各バスサイクル毎に送られる。制御
チャンネル仲裁情報およびデータはサイクル同期化ワードの制御チャンネルビッ
ト中に配置されている。この物理的な層はバスサイクル同期化ワード率に等しい
最大データビット率を考慮している。周知のデータリンク(Data Link
)、ネットワーク(Network)、およびCEBUSのアプリケーションレ
イヤー(Application Layers)およびシステムレイヤーマネ
ージャー(System Layer Manager)に対応するプロトコル
の特徴は制御チャンネルのモデルを完結するために使用される。また、CEBU
Sメディア依存サブレイヤー(Media Dependent Sub−La
yer)はデータのエンコードおよびデコードに使用される。
以下の説明では、ビット値1および0は制御チャンネル中の上位(super
ior)または下位(inferior)状態信号を示すために使用される。例
えば、上位状態信号はこのフィールドが論理“1”信号にセットされているとき
であり、デフォルト(default)下位状態信号は論理“0”信号である。
実際の実施に当たっては、この関係は逆にされることもある。
仲裁の競合(コンテンション:contention)検出法を具えたCEB
USキャリア感知多重アクセスプロトコル(CSMA−CD)法および制御チャ
ンネルアクセスは、どのノードが制御チャンネルへのアクセスを行なうかを検出
するために使用される。CEBUSの動作のある点で制御チャンネルへのアクセ
スのための仲裁を開始すべきか否かを決定しなければならない。仲裁を何時開始
すべきかを決定するための多くの異なる周知の技術がある。例えば、あるノード
が制御チャンネルへのアクセスを希望すると何時でも仲裁を開始させることがで
きる。この他に多数のノードが制御チャンネルへのアクセスを同時に希望したと
きに仲裁を開始させることもできる。もし仲裁が必要になれば、制御チャンネル
上の付勢をモニタすることによって仲裁は周知の態様でトリガされ、またバスが
予め定められたある時間期間以上の期間消勢(イナクティブ:inactive
)状態にあると仲裁をトリガする。
仲裁がトリガされると、制御チャンネルをアクセスすることを希望する各ノー
ドは8ビットプリアンブルを計算する。好ましい実施例では、このプリアンブル
は各ノードにおいてランダムな数として発生され、各仲裁毎に異なる。このこと
によってバスへのアクセスが正当に付与されるようにする。この他に、各ノード
の相対的な優先順位を表わすプリアンブルが各ノードに予め割り当てられている
。このプリアンブルは制御チャンネルへのアクセスを仲裁するために使用される
。制御チャンネルに対する仲裁に成功したノードにはそのメッセージの伝送を完
了することが許され、その他のすべてのノードは次の利用可能な時間期間(上述
のように決定される)を待って制御チャンネルへの仲裁を試みる必要がある。
プリアンブルとメッセージは上位状態と下位状態の交互の一連のシーケンスと
して伝送するためにコード化される。記号(シンボル)はサイクル同期化ワード
の制御ビットの状態によって、あるいは一連のサイクル同期化ワードの制御ビッ
トの一連の状態によって表わされる。その記号の値は次に状態の変化があるまで
の時間で伝達される。4個の基本的な記号、すなわち論理“0”、論理“1”、
フィールドの終了(end−of−field:EOF)、およびパケットの終
了(EOP)がある。プリアンブルフィールドの終了、記号フィールドの終了等
の他の記号も可能であるが、以下で説明する例示のシステムでは使用されない。
1バスサイクル(7.920マイクロ秒)は1単位(ユニット)記号時間(US
T)に等しい。
記号のコード化は次のとおりである。
1UST=1
2UST=0
3UST=EOF
4UST=EOP
記号(1、0、EOF、EOP)を担持するすべての情報は上位あるいは下位
状態信号のいずれかによって、あるいは一連の連続した上位あるいは下位状態信
号によって表わされる。例えば、論理“1”信号は単一の上位状態信号“1”あ
るいは単一の下位状態信号“0”によって表わされる。論理“0”信号は2個の
連続する上位状態信号“11”によって、あるいは2個の連続する下位状態信号
“00”等によって表わされる。従って、プリアンブル中のビット“0101”
は制御チャンネル信号“001001”によって、すなわち論理“0”信号を表
わす2個の連続する下位状態信号、それに続く論理“1”信号を表わす単一の上
位状態信号、それに続く論理“0”信号を表わす2個の連続する下位状態信号、
さらにそれに続く論理“1”信号を表わす単一の上位状態信号によって表わされ
る。同じようにして、プリアンブル中の同じビット(すなわち、例示の“010
1”)は制御チャンネル信号110110によって表わすことができる。記号の
値を決定する状態変化相互間には時間の経過がある。
制御チャンネル消勢(イナクティブ)タイミング状態に遭遇したかどうかを検
出することにより初期仲裁が生ずる。制御チャンネルの消勢(イナクティブ)期
間中、下位状態信号がサイクル同期化ワード内に配置される。幾つかの関係する
用語の定義を以下に示す。“制御ビットフィールド(CBF:Control
Bit Field)”はCEBUS制御チャンネル情報を含むサイクル同期化
ワード中のビットである。“制御チャンネルサイクル”は、ノードが最初にCB
F中に上位状態を配置したときに開始し、仲裁に勝つかあるいはサイクルのタイ
ムアウト(時間切れ)があるノードによって上述のパケットの終了(EOP:E
nd Of Packet)記号が伝送されたとき終了する。。“書込みノード
(Write Node)”は最初の制御チャンネルサイクルの期間中にCBF
に上位状態を配置するための最初のノードである。これによって制御チャンネル
仲裁サイクルを開始させる。“競合ノード(Competing Nodes)
”はループ中の書込みノード後に配置された制御チャンネルに対して競合するす
べてのノードである。“遅れノード(Late Node)”は、ループ中の書
込みノードの前に配置され、次のバス同期化サイクル期間中に仲裁を開始する制
御チャンネルに対して競合するすべてのノードである。
図1を参照すると、ノードAをバスに対するマスタノードと仮定し、ノードC
を“書込みノード(Write Node)”と仮定する。ノードDおよびEは
同じバスサイクル上で競合する可能性のあるノードである。ノードAおよびBも
競合ノードであるが、次のバス同期化サイクルで仲裁を開始するので“遅れノー
ド(Late Node)”と称される。マスタノードAは、あるノードが一旦
制御バスサイクルを開始させるとノードEからCBFを受信する。そうでなけれ
ばノードAはCBFを下位状態0にセットする。
仲裁(アービトレーション)の規則(ルール)は次の通りである。
第1に、あるノードがIS−60のすべての制御チャンネル消勢(イナクティ
ブ)タイミング要求(timing requirements)に遭遇すると
、そのあるノードはCEBUS制御チャンネルへのアクセスについて競合する。
これらのタイミング要求はCBF中で最後に観察された下位状態から開始する。
第2に、あるノードからのCBF出力は、そのノードが上位状態をとるCBF
を受信すると上位状態になければならない。このルールの例外を次に示す。制御
チャンネルに対するアクセスについて競合しないノードは受信したCBFを変化
させずにそのまま次のノードに通過させる。
第3に、もし或るノードが下位状態を有するCBFを制御チャンネル上に配置
し、次のバスサイクル同期化ワード中に上位状態をとるCBFが上記あるノード
に受け戻されると、そのノードは制御チャンネルに対する競合から撤退(ドロッ
プアウト)する。
第4に、もしあるノードが制御チャンネルに対して(依然として)競合状態に
あり、(コード化されたランダムなプリアンブルに基づく)次のCBF出力が上
位状態にあると、たとえこのノードが上位状態を受信してもCBFを上位状態に
セットする。
第5に、コード化されたプリアンブルと(上述の)“フィールドの終了(en
d−of−field)”記号の伝送を適正に完了させる第1のノードは制御チ
ャンネルの仲裁に勝つ。
CBFを変化させるための規則(ルール)は次の通りである。
第1に、制御チャンネルの消勢(イナクティブ)タイミング要求に遭遇した後
、バスサイクル期間中に上位状態信号を主張する第1のノードは書込みノードで
ある。
第2に、CBF値は書込みノードによる場合を除いて上位状態から変化される
ことはない。
第3に、すべての競合ノードはCBFを下位状態から上位状態に変化させる。
第4に、書込みノードとしてのノードの指定は、CBFを下位状態から上位状
態に変更する任意のノードによって引継がれる。すなわち、ノードが最初書込み
ノードでなく、そのノードが下位状態CBFを受信するが、そのCBFをそのコ
ード化されたプリアンブルに基づいて上位状態に変更すると、そのノードは書込
みノードになる。
第5に、先に書込みノードとして指定されたノードが先行するバスサイクルの
期間中に制御チャンネル上でそのノードが主張したCBF以外のCBFを受信す
ると、上記書込みノードとして指定されたノードは書込みノード状態を消失する
。さらにそのノードは制御チャンネルへのアクセスについて競合から撤退(ドロ
ップアウト)する。
図6にフローチャートの形で示した仲裁動作の例を参照することによって上述
の動作についてより明確に理解することができよう。図6において、ステップ6
00で仲裁が開始される。ステップ605において、ノードが制御チャンネルへ
のアクセスについて競合状態にあるか否か、例えば、ノードが送るべき制御メッ
セージをもっているか否か、を決定する。制御チャンネルのアクセスについて競
合しないノードについてはステップ600に後いてステップ660および665
が実行され、これらのステップ660、665は受信した各CBF状態を、仲裁
の終了までそのノードを経て変化させずに通過させる。仲裁が完了すると(ステ
ップ665で“YES”の結果がでると)、ステップ665に続いてステップ6
35が実行され、該ステップ635で仲裁が終了し、ステップ640において、
アクセスについて競合し且つ仲裁で勝ったノードは制御チャンネルをアクセスす
る。
制御チャンネルへのアクセスで競合するノードについては、ステップ605に
続いてステップ610が実行され、該ステップ610においてプリアンブルが発
生される。制御チャンネルへのアクセスで競合し且つ下位状態を示すCBFを受
信したノードは書込みノードになり、ステップ615でCBFを上位状態にセッ
トすることによりそのプリアンブルの伝送を開始させる。次のCBFがステップ
620で受信される。ステップ620に続いてステップ625が実行され、該ス
テップ625は受信したCBFが上位状態である間に先のCBFの状態が下位状
態であったか否かを決定する。もしそうであれば(ステップ625の結果が“Y
ES”であれば)、他のノードがCBFを上位状態に変化させる。すなわち、他
のノードが書込みノードになる。従って、ステップ625に後続してステップ6
60が実行され、該ステップ660において現在のノードは制御チャンネルへの
アクセスの競合を停止し、また上述のように後続するCBFの値を変化させない
。すなわち、CBF値をノードを経て通過させる。ステップ625で“NO”の
結果がでると、これは現在のノードは引続き書込み(“WRITE”)ノードで
あることを表わし、ステップ625に続いてステップ630が実行される。ステ
ップ630は、先のCBFの状態がプリアンブルの最後の状態でしかも受信した
CBFと同じ状態の両方であるか否かを決定する。ステップ630における“Y
ES”の結果は、そのノードがプリアンブルの送信を首尾よく完了し、従って仲
裁に勝ったことを示す。ステップ630における“YES”の結果に続いて仲裁
を終了させるステップ635、および勝ったノードが制御チャンネルをアクセス
するステップ640が実行される。ステップ630における“NO”の結果はす
べてのプリアンブルのビットが送られなかったことを示し、ステップ650が実
行される。ステップ650において、そのノードによって生成された次のCBF
状態が、次のプリアンブル状態によっておよびCBFの状態を変更する上述のル
ールによって決定される。ステップ650に続いてステップ620が実行され、
該ステップ620において次のCBF状態が受信される。
仲裁動作についてさらに説明すると、仲裁サイクルにおける最初の3個のバス
同期化サイクルの説明は以下の通りである。仲裁に利用できる最初のバスサイク
ル期間中、例えば必要とする時間期間中に制御チャンネルのアクティビティ(a
ctivity)が存在しないことを意味すると、マスタノードはバスサイクル
同期化ワード中の制御ビットフィールド(CBF)を下位状態信号“0”にセッ
トする。制御チャンネルのアクセスを希望する任意のノードが、CBFを上位状
態1に変化させることによりそのCBF中のコード化されたプリアンブルの伝送
を開始し始め、そのノードは書込みノードになる。制御チャンネルへのアクセス
について競合しない後続ノード(非競合ノードと称される)は受信されたCBF
の上位状態1のノート(note)を採用し、それを変化させずにそのまま次の
ノードに通過させる。そのとき非競合ノードは、ノードが制御チャンネルに対し
て競合できる前に制御チャンネル消勢(イナクティビティ:inactivit
y)時間に遭遇する次の時間まで待たなければならない。この仲裁サイクルにお
けるこの時点から非競合ノードはCBFを通過させ、これを変化させずに次のノ
ードに送る。書込みノードに先行するいずれのノードも、この仲裁サイクルにお
けるこの第1のバスサイクル期間中、CBF中に上位状態1を見い出すことはな
い。このようなノードの動作について以下でさらに詳しく説明する。
2あるいはそれ以上のノードが制御チャンネルのアクセスにおいて競合してい
る場合は、第1のノードはCBFを上位状態にセットすることによってそのコー
ド化されたプリアンブルを伝送し始める。このことを以下では
CBF(サイクル#)=状態
と表わす。この場合は、これは仲裁サイクルのサイクル1であり、その値は上位
状態信号で1によって表され、従って、CBF(1)=1となる。CBFを1に
セットする第1のノードは、このノードがCBF(1)=0を受信したことによ
り、これが書込みノードであることを知っている。後続する仲裁ノードはすべて
競合ノードであり、CBF(1)=1を変化させずに通過させることにより、そ
のコード化されたプリアンブルを同じ態様で伝送する。CBFがループを完結す
るまで(すなわち、このCBFが書込みノードによって受信されるまで)このC
BFの値は上位状態から変化しない。上述のように、すべての非競合ノードはC
BFを受信したままの形で通過させ、このCCサイクル期間中制御チャンネルへ
のアクセスに関してもはや競合は存在しない。
仲裁サイクルの第2のバスサイクル期間中、マスタノードは、それがCBF(
1)=1を受信したことを検出し、次のバスサイクル同期化ワードにおいてCB
F(2)=1にセットする。マスタノードと制御チャンネルのアクセスを希望す
る書込みノードとの間にノードが存在するかもしれないが、先行するバスサイ
クル中でCBF(1)=1を見ていない。このようなノードを遅れノード(La
te Node)と称する。このノードもまた値CBF(2)=1を通過させる
ことにより、そのコード化されたプリアンブルを伝送し始める。しかしながら、
このノードは先行する書込みノードと競合する。値CBF(2)=1は、これが
書込みノードに到達するまでリングを通って伝播する。書込みノードはCBF(
2)の状態を、そのコード化されたプリアンブルの次の状態に基づいてCBF(
2)=0に変更するか、あるいはCBF(2)=1を続ける。書込みノードのコ
ード化されたプリアンブルにおける次の状態が上位状態であれば、そのときは書
込みノードはCBF(2)=1にセットする。これに対してコード化されたプリ
アンブルの次の状態が下位状態であれば、書込みノードはCBF(2)=0とな
るようにセットする。後続するノードは同様に引続きそれ自体のコード化された
プリアンブルを伝送しようと試みる。上述のルールにより、後続するノードがC
BF(2)=0の状態を変更するか否かを決定する。
もし書込みノードがCBF(2)の状態を上位状態、すなわちCBF(2)=
1のまま維持すれば、そのときは上に述べたルールに従って各後続する競合ノー
ドはそのコード化されたプリアンブルの次の状態を検出する。コード化されたプ
リアンブルの次の状態が上位状態であれば、そのノードはCBF(2)=1を通
過させ、制御チャンネルへのアクセスについて競合状態を維持する。次の状態が
下位状態であれば、そのそのノードはCBF(2)=1を通過させるが、制御チ
ャンネルへのアクセスについて競合状態から撤退(ドロップアウト)する。仲裁
サイクルにおけるこの時点から将来に向かって、このノードはCBFを次のノー
ドに変化させずに通過させる。
書込みノードがCBF(2)の状態を下位状態、すなわちCBF(2)=0に
変更すると、そのときは後続するノードはCBF(2)=1にセットすることに
より、この変化期間中、上位状態1を主張する。後続するノードのコード化され
たプリアンブルにおける次の状態が上位状態1であれば、そのとき、そのノード
はCBF(2)=1を伝送する。このことが生ずると、このノードは書込みノー
ドの状態を引継ぐ。後続するノードのコード化されたプリアンブルにおける次の
状態が下位状態0であれば、そのときは、そのノードはCBF(2)=0を通過
させ、制御チャンネルへのアクセスについて競合状態を維持する。
仲裁サイクルにおける第3のバスサイクルにおいて、マスタノードはCBF(
2)=0を受信し、CBF(3)=0にセット、あるいはCBF(2)=1を受
信し、CBF(3)=1にセットする。競合ノードに関して上述した態様と同じ
態様で遅れノード(Late Node)はそのコード化されたプリアンブルの
次の状態を検出し、次いですべて上述のルールに従ってCBF(3)=0あるい
はCBF(3)=1にセットし、あるいは制御チャンネルへのアクセスに関する
競合から撤退する。これはすべての遅れノード(Late Node)について
生ずる。
ある時点で書込みノードはCBF(3)を受信する。書込みノードが予めCB
F(2)=1にセットしていれば、このノードはCBF(3)=1を受け戻さな
ければならない。次いで書込みノードは、仲裁サイクルの(上述の)制御チャン
ネルサイクル2で行ったように、そのコード化されたプリアンブルにおける次の
状態にCBF(3)をセットする。書込みノードが予めCBF(2)=0にセッ
トしており、CBF(3)=0を受信すると、そのときは書込みノードは依然と
して書込みノードのままで、制御チャンネルへのアクセスに関して依然として競
合状態にあり、CBF(3)の値をそのコード化されたプリアンブルの次の状態
に変化させることができる。書込みノードが予めCBF(2)=0にセットして
いるが、CBF(3)=1を受信していると、そのときは書込みノードはもはや
書込みノードではなく、制御チャンネルへのアクセスに関してもはや競合状態に
はない。仲裁サイクルにおけるこの時点から、このノードは受信したCBFを変
化させずにそのまま次のノードに通過させる。
上述の動作は後続するバスサイクルに対しても続けられる。制御チャンネルへ
のアクセスに関して競合状態に留まっている各ノードはCBFをそのコード化さ
れたプリアンブルにおける次の状態にセットするか、あるいはバスへのアクセス
において競合状態から撤退する。プリアンブルが伝送された後、依然として競合
状態にある各ノードは、上述のように3個の連続する上位状態信号あるいは下位
状態信号であるフィールドの終了(end−of−field)記号の状態を伝
送しようとする。フィールドの終了(end−of−field)記号が後続す
るそのコード化されたプリアンブルを連続的に伝送し、また受信する第1のノー
ドは仲裁に勝ち、バスサイクル同期化ワードのCBFにおけるメッセージを伝送
し始める。
上述の説明を要約すると、プリアンブルおよびフィールドの終了(end−o
f−field)記号の終了時に、書込みノードとして指定されたままのノード
はノードへのアクセスについて適正に仲裁される。書込みノードの状態は、下位
状態から上位状態にCBFを変化させる任意のノードに引継がれる。書込みノー
ドが制御チャンネル上に配置したCBFと異なるCBFを受け戻すと、その書込
みノードの状態は失われる。
以下に制御ビットフィールドの5つの例を示す。各例は表中に示されている。
各ノードは表中の列によって表わされている。表中の第2行は、制御チャンネル
へのアクセスに関して競合状態にあるノードに対してランダムに発生されたプリ
アンブルを示す。表中の第3行は、上に与えられたルールに従ってコード化され
たプリアンブルを示す。上述のように、プリアンブルをコード化する第1の状態
は上位状態である。残りの行は後続するバスサイクルで各ノードによって発生さ
れたままのCBFの状態を示す。第4行はゼロ番目のサイクルであり、仲裁サイ
クルが開始される前の制御チャンネルのイナクティビティ(消勢)の最後のチャ
ンネルを表わす。
例1において、ノードAはマスタノードであり、ノードDは仲裁サイクルを開
始し、ノードBは制御チャンネルのアクセスについてノードDと競合する遅れノ
ード(Late Node)である。マスタノードであるノードAは、サイクル
0、およびバスサイクル1の第1の部分において示すように、仲裁サイクルに先
行する時間期間中CBFに下位状態0を維持する。バスサイクル1において、ノ
ードDはそのコード化されたプリアンブルの第1の状態としてCBF中に上位状
態を主張することによって仲裁サイクルを開始させる。ノードEおよびノードA
は競合ノードではなく、この信号をバスサイクル2でノードBに通過させる。ノ
ードBは遅れノード(late node)で、上位状態をノードCに通過させ
る。ノードCもまた競合ノードではないので、上位状態をノードDに戻すように
通過させる。ノードDはサイクル2でCBF(2)を受け戻すと、それをそのコ
ード化されたプリアンブルにおける次の状態を表わすCBF(2)=0に変化さ
せる。
例1
これはサイクル3においてノードEおよびAによってノードBに通過させる。
ノードBはサイクル3において0を受信するが、そのコード化されたプリアンブ
ルの次の状態としてそれを1に変化させる。今ではノードBは書込みノードにな
っている。1はノードCによってノードDに通過させられる。ノードDはサイク
ル2で0を伝送するが、サイクル3で1を受信する。従って、ノードDは制御チ
ャンネルへのアクセスに関して競合状態から撤退する。今ではノードBを除くす
べてのノードはパッシブ(passive)で、受信したCBFを次のノードに
変化させることなくそのまま通過させる。最終的にはノードBは、フィールドの
終了(end−of−field)記号が後続するコード化されたプリアンブル
を適正に伝送しまた受信し、制御チャンネルへのアクセスを獲得する。
例2
例2において、ノードDはそのコード化されたプリアンブルの第1の状態とし
てCBF(1)=1をセットすることによって仲裁サイクルを開始し、書込みノ
ードである。ノードEは競合ノードで、ノードDから受信したCBF(1)=1
を通過させる。ノードA、BおよびCは非競合ノードで、受信したCBF値を次
のノードに変化させずに通過させる。サイクル2で、ノードDはノードCからC
BF(2)=1を受信し、それをそのコード化されたプリアンブルにおける状態
としてCBF(2)=0に変化させる。サイクル2でノードEはCBF(2)=
0を受信する。しかしながら、ノードEのコード化されたプリアンブルにおける
次の状態は1である。従って、ノードEはCBF(2)=1にセットし、書込み
ノードになる。サイクル2ではノードDはCBF(2)=0にセットするが、サ
イクル3ではCBF(3)=1を受信する。従って、ノードDはその仲裁におい
て敗退したことを知り、制御チャンネルへのアクセスに関して競合から撤退する
。この時点でノードEを除くすべてのノードは制御チャンネルへのアクセスにつ
いて競合状態から撤退し、受信したCBFの値を変化させずにそのまま次のノー
ドへ通過させる。最終的にはノードEはその完全なコード化されたプリアンブル
および次のフィールドの終了(end−of−field)記号を伝送し、制御
チャンネルへのアクセスを獲得する。
例3
例3では、ノードDはCBF(1)=1にセットすることによってサイクル1
の仲裁サイクルを開始させる。ノードEは競合するノードで、CBF(1)=1
をノードAに通過させる。ノードA、BおよびCは非競合ノードで、受信したC
BFの値を次のノードへ変化させずにそのまま通過させる。サイクル2ではノー
ドDはCBF(2)=1を受信する。ノードD用のコード化されたプリアンブル
の次の状態は0で、これによってノードDはCBF(2)=0の状態にセットす
る。ノードEはCBF(2)=0を受信する。ノードEのプリアンブルの次の状
態もまた0で、ノードEは制御チャンネルへのアクセスについて競合状態を維持
し、CBF(2)=0にセットする。サイクル3でも同じ状態が生じる。サイク
ル4ではノードDはCBF(4)=0を受信する。そのコード化されたプリアン
ブルの次の状態は1であり、これによってノードDはCBF(4)=1の状態に
セットする。ノードEはノードDからCBF(4)=1を受信する。サイクル1
の場合と同様に、ノードEのプリアンブルの次の状態は1で、このためノードE
は競合状態を維持し、CBF(4)=1の状態にセットする。サイクル5ではノ
ードDはCBF(5)=1を受信する。そのプリアンブルの次の状態は1で、こ
れによってノードDはCBF(5)=1となるようにセットする。ノードEはC
BF(5)=1を受信する。しかしながら、そのノードEのプリアンブルの次の
状態は0である。従って、ノードEは制御チャンネルへのアクセスについて競合
状態から撤退し、該ノードEは仲裁サイクルの残りの期間中、受信したCBFを
変化させずにそのままノードAに通過させる。最終的にはノードDは、フィール
ドの終了(end−of−field)記号が後続するそのコード化されたプリ
アンブルを適正に伝送し、制御チャンネルへのアクセスを獲得する。
例4
例4では、ランダムに発生された両方のプリアンブルは同じである。ノードD
はCBF(1)=1にセットすることによってサイクル1における仲裁サイクル
を開始させる。ノードEは競合ノードで、CBF(1)=1を受信する。これは
またCBF(1)=1にセットする。ノードA、BおよびCは非競合ノードで、
受信したCBFを次のノードへ変化させずにそのまま通過させる。サイクル2で
はノードDはCBF(2)=1を受信する。ノードDのコード化されたプリアン
ブルの次の状態は0で、これによってノードDはCBF(2)=0にセットする
。ノードEはCBF(2)=0を受信する。ノードEのプリアンブルの次の状態
は0で、それによってノードEは競合状態を維持し、CBF(2)=0にセット
する。コード化されたプリアンブルは同じであるので、この状態はサイクル9ま
で続く。サイクル10において、上で定義したフィールドの終了(end−of
−field)記号の第1の状態としてノードDはCBF(10)=1にセット
する。最初の9個のサイクルの場合と同様に、ノードEもまたフィールドの終了
(end−of−field)記号を送り、CBF(10)=1にセットする。
これはサイクル13まで継続する。サイクル13においてノードDはフィールド
の終了(end−of−field)記号の最後の状態を受け戻し、制御チャン
ネルへのアクセスを獲得する。メッセージの最初のビットが論理“1”(1個の
0として伝送される)であろうと論理“0”(2個の連続する1として伝送され
る)であろうと、制御チャンネル上に最初に配置された状態は0である。ノード
EはCBF(13)=0を受信するが、ノードEはCBF(12)=1を伝送す
る。従って、ノードEは競合から撤退し、ノードDは制御チャンネルへのアクセ
スを獲得する。
例5
例5は、ノードBが遅れ(late)ノードであることを除いて例4と同じで
ある。ノードBとノードDの両方のプリアンブルは同じである。ノードDはサイ
クル1でCBF(1)=1の状態にセットすることによって仲裁サイクルを開始
させる。ノードA、CおよびEは非競合ノードで、受信したCBFの値を次のノ
ードへ変化させずにそのまま通過させる。例4と同様に、ノードBおよびDの両
方のコード化されたプリアンブルは同じで、サイクル10までの期間中制御チャ
ンネルをアクセスする競合状態を維持する。サイクル10においてノードDはフ
ィールドの終了(end−of−field)記号を伝送し始める。サイクル1
1においてノードBはフィールドの終了(end−of−field)記号を伝
送し始める。再びサイクル12までの期間中ノードB、Dは共に制御チャンネル
へのアクセスについて競合状態にある。サイクル13においてノードBは、その
コード化されたプリアンブルと後続するフィールドの終了(end−of−fi
eld)記号の適正な伝送を表わすCBF(13)=1を受信する。これによっ
てノードBは制御チャンネルへのアクセスを獲得する。例4の場合と同様に、ノ
ードBはCBF(13)=0の状態にセットすることによってそのメッセージの
伝送を開始する。ノードDはCBF(13)=0を受信し、制御チャンネルへの
アクセスの競合から撤退する。
─────────────────────────────────────────────────────
フロントページの続き
(81)指定国 EP(AT,BE,CH,DE,
DK,ES,FI,FR,GB,GR,IE,IT,L
U,MC,NL,PT,SE),OA(BF,BJ,CF
,CG,CI,CM,GA,GN,ML,MR,NE,
SN,TD,TG),AP(KE,LS,MW,SD,S
Z,UG),UA(AM,AZ,BY,KG,KZ,MD
,RU,TJ,TM),AL,AM,AT,AU,AZ
,BB,BG,BR,BY,CA,CH,CN,CZ,
DE,DK,EE,ES,FI,GB,GE,HU,I
S,JP,KE,KG,KP,KR,KZ,LK,LR
,LS,LT,LU,LV,MD,MG,MK,MN,
MW,MX,NO,NZ,PL,PT,RO,RU,S
D,SE,SG,SI,SK,TJ,TM,TR,TT
,UA,UG,US,UZ,VN
【要約の続き】
ネルに対するアクセス権を獲得する。その他の場合は、
符号化されたプリアンブルの次の状態が決定され、制御
チャンネルのビットは符号化されたプリアンブルの次の
状態にセットされる。