JPH0695676B2 - バス競合の解決のための方法と装置 - Google Patents

バス競合の解決のための方法と装置

Info

Publication number
JPH0695676B2
JPH0695676B2 JP59500447A JP50044784A JPH0695676B2 JP H0695676 B2 JPH0695676 B2 JP H0695676B2 JP 59500447 A JP59500447 A JP 59500447A JP 50044784 A JP50044784 A JP 50044784A JP H0695676 B2 JPH0695676 B2 JP H0695676B2
Authority
JP
Japan
Prior art keywords
bus
communication controller
register
bit
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP59500447A
Other languages
English (en)
Other versions
JPS60500117A (ja
Inventor
ウイリアム ベツカー,マーク
ジヨナサン ジエレミー スター,トーマス
Original Assignee
ウエスターン エレクトリック カムパニー,インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ウエスターン エレクトリック カムパニー,インコーポレーテッド filed Critical ウエスターン エレクトリック カムパニー,インコーポレーテッド
Publication of JPS60500117A publication Critical patent/JPS60500117A/ja
Publication of JPH0695676B2 publication Critical patent/JPH0695676B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Description

【発明の詳細な説明】 技術分野 本発明はデイジタル通信方式、特に多数の送信機が共用
バスへのアクセスを競合しなければならないようなシス
テムに関する。
発明の背景 半導体技術の発展によつて問題解決のためにコンピユー
タに依存することはますます多くなつて来ている。特に
マイクロプロセツサのような小型で安価なコンピユータ
の普及の結果として、多数のコンピユータとコンピユー
タの端末がコンピユータ通信ネツトワークによつて相互
接続できるようにすることができ、ますます重要になつ
て来ている。この問題を実現するひとつの手法は種々の
コンピユータ装置をデータ送信機およびデータ受信機を
経由して単一のバスに接続する方法である。この方法に
よるひとつのシステムは1977年12月13日のR.W.メトキヤ
ルフの米国特許4,063,220に示されている。このシステ
ムでは、ひとつの送信機は一時にはひとつのデータを送
信することを許され、送信されるデータの一部によつて
宛先の受信機のアドレスが規定される。相互接続された
コンピユータが大量データ転送や信号のような多様な機
能を頻々実行する。第2のコンピユータが大量データの
転送を完了するまで比較的短い期間の信号メツセージに
使用される第1のコンピユータに対してバスアクセスを
禁止することは望ましくない。従つて、優先方式でバス
に対してアスセスできるようにする何かの手段が必要で
ある。
周知の優先データ取扱いシステムのあるものにおいて
は、通信回線に接続された複数の遠方の通信ステーシヨ
ンの各々が一義的な優先アクセス番号を持つている。中
央制御からの信号もまたそのチヤネルに接続されたとき
に、チヤネルアクセスを望む各々の遠隔ステーシヨンが
その優先アクセス番号の送信を開始する。各々の遠方の
ステーシヨンはそれが送信するビツトとチヤネルで伝送
されるビツトの間に差が検出されなかつたときだけその
優先アクセス番号の送信を継続する。各々の遠隔ステー
シヨンは一義的な優先アクセス番号を持つから、ひとつ
のステーシヨンだけがその番号の送信を完了することが
でき、これによつてチヤネルへのアクセスができること
になる。このようなシステムでは中央制御がアクセスの
調整をしなければならないようになつているために、そ
の設計と実現は不必要に複雑で高価なものになる。さら
に、このようなシステムではそれによつて遠方のステー
シヨンが低優先のステーシヨンの送信を中断させるため
の手段が存在しない。従つて、当業者に認識されている
問題は中央制御の調整によることなく優先方式で共用バ
スにプリエンプテイブなアクセスを提供する方法であ
る。
発明の概要 本発明に従えば、バスで伝送される各フレームは優先フ
イールドを含み、各ステーシヨンによつてバスが監視さ
れ、ステーシヨンはそれがより送信の優先順の高いフレ
ームを持つときだけ特殊キヤラクタを送信することによ
つて、バスに対する優先アクセスを行なうようにし、バ
スにアクセスしようとしている二つのステーシヨンの間
の競合は中央制御による調整を要することなく解決され
るような共用バスに対する競合解決のための方法と装置
によつて以上の問題は有利に解決される。さらに、バス
に対するプリエンプテイブのアクセスはデータの再送を
必要とすることなく優先方式で実現される。すなわち、
中断されたフレームは優先したフレームの送信のあと中
断された点から接続される。
本発明に従うシステムはバスを通して複数のユーザ装置
の間での通信を行なうのに使用され多数の通信コントロ
ーラを必要とする。各通信コントローラは送信機を持
ち、これがユーザ装置の少くともひとつをバスに選択的
に結合し、情報をフレーム形式で送信し、各フレームは
優先フイールドを持つようになつている。各通信コント
ローラはさらに受信機を持ち、これはバスを監視してい
て、これがバス上に伝送される優先フイールドを記憶す
るようになつている。第1の通信コントローラの送信機
はさらに第1のユーザ装置からの要求と第1の通信コン
トローラの受信機によつて蓄積された優先フイールドに
応動して第1の通信コントローラの受信機によつて記憶
された優先フイールドによつて示された優先順より高い
優先度を持つフレームを送信するようにバスに対して第
1のユーザ装置を接合する回路を含んでいる。
図面の簡単な説明 本発明のより完全なる理解は以下の図面を参照した説明
を考察することにより得られるものである。
第1図は本発明に従う通信システムのブロツク図; 第2図乃至第4図は第5図に示すように配置され第1図
のシステムに含まれる通信コントローラの詳細なブロツ
ク図; 第6図および第7図は第8図に示すように配置され、第
2図乃至第4図の通信コントローラで使用される第1の
フレームチエツクシーケンスシフトレジスタの詳細な
図; 第9図および第10図は第11図に示すように配置され、第
2図乃至第4図の通信コントローラで使用される第2の
フレームチエツクシーケンスシフトレジスタの詳細な
図; 第12図および第13図は第2図乃至第4図の通信コントロ
ーラに含まれる回路に関連する状態図; 第14図は第2図乃至第4図の通信コントローラで使用さ
れる受信機の状態フイールドのエンコーデイングを示す
表; 第15図は第1図のシステムで使用されるフレーム形式の
図; 第16図は第1図のシステムのフレームの円滑なプリエン
プト動作を示す図; 第17図および第18図は第2図乃至第4図の通信コントロ
ーラに含まれるレジスタのビツト割当表; 第19図および第21図は第1図のシステムの動作をさらに
図示する例に関連する図である。
全体的説明 第1図は本発明に従う通信システムのブロツク図であ
り、ここでは16個のユーザ装置10−0乃至10−15が共用
された直列バス100を経由して相互に通信するようにな
つている。16個のユーザ装置10−0乃至10−15は16個の
本質的に同様な通信コントローラ300−0乃至3000−15
の関連するものを通してバス100に結合されている。ユ
ーザ装置10−0乃至10−15はテレターミナル、プリン
タ、アラームあるいはコンピユータのような多様な装置
の任意のものを表わしている。第1図の例においては、
各通信コントローラはオープンコレクタのインバータ、
例えば通信コントローラ3000−0のインバータ3500を経
由してバス100に対してデータを送信する。バス100はプ
ルアツプ抵抗Rを通して正の電圧+Vに接続されてい
る。通信コントローラ3000−0乃至3000−15のいずれか
のインバータ3500の入力端子に高電圧の信号が送られる
と、他の通信コントローラのインバータ3500の入力端子
に送られる信号に関係なく、バス100には低電圧の信号
が与えられる。各通信コントローラは通信コントローラ
3000−0のインバータ3600のようなインバータを経由し
てバス100からデータを受信する。バス100には負論理の
信号が与えられる。すなわち論理“1"は低電圧信号で表
わされ、論理“0"は高電圧信号で表わされる。しかし、
通信コントローラの内部では正論理が適用される。すな
わち、論理“1"は高電圧信号で表わされ、論理“0"は低
電圧信号で表わされる。従つて、バス100の特性は論理
“1"の信号が通信コントローラ3000−0乃至3000−15の
いずれかのインバータ3500の入力端子に対して送信され
たときに、他の通信コントローラのインバータ3500の入
力端子に対して送信されている信号とは無関係に論理
“1"の信号がバス100に伝送されるようになつている。
空きの期間では、通信コントローラがいずれもアクテイ
ブに通信を行なつておらず、バス100は論理“0"の値に
留まることになる。クロツク発生器54は通信コントロー
ラ3000−0乃至3000−15の動作を同期するためにクロツ
ク線53を経由してクロツク信号を与える。
第15図に示した予め定められたフレーム形式に従つて、
データは可変長のフレームを形成してバス100に伝送さ
れる。フレームの開始は8ビツトのプリエンプトキヤラ
クタ11111110があり、これに8ビツトのフラグキヤラク
タ01111110が付く。フラグキヤラクタのあとには8ビツ
トのアドレスフイールドがある。この実施例において
は、アドレスフイールドはこのフレームの情報源ユーザ
装置を規定する4ビツトの情報源サブフイールドと、そ
のフレームの宛先ユーザ装置を規定する4ビツトの宛先
サブフイールドとを含んでいる。サブフイールドはそれ
が与えられたユーザ装置の宛先の第2の部分の2進信号
を含むときに与えられたユーザ装置を規定する。例え
ば、第15図のフレームの情報源は信号源サブフイールド
0001によつて規定されるようにユーザ装置10−1であ
り、フレームの宛先は宛先サブフイールド1100で規定さ
れるようにユーザ装置10−12である。アドレスフイール
ドの後には可変のデータフイールドがあり、これは通信
されるべきデータを含んでいる。この実施例において
は、データフイールドは少くとも8ビツトを含み、これ
は予め定められた制御フイールドと情報フイールドを含
んでもよいが、その詳細はここでは関係ない。データフ
イールドのあとには誤り検査に用いられる16ビツトのフ
レーム検査シーケンス(FCS)のフイールドがある。フ
レームの終りには01111110のフラグキヤラクタがある。
データフイールドは可変長であるから、アドレスフイー
ルドの位置は各フレームのフラグに関して定められ、FC
Sフイールドの位置は終了フラグに関して定められる。
データの透過性を実現する周知の方法に従えば、開始フ
ラグと終了フラグの間で5個の連続した“1"が生ずるた
びにダミーの“0"が挿入されて、その間に01111110のキ
ヤラクタが生じないことを保証する。従つて受信された
フレームからは0削除を行ない、5個の連続した“1"に
続く“0"は削除しなければならない。
本例の周知の誤り検査方法に従えば、FCSフイールドに
挿入される16ビツトのシーケンスは(a)Xk(X15+X14
+X13+…X2+X+1)を生成多項式X16+X12+X5+1
で除した(モジユロ2)余剰(ここでkは開始フラグの
最終ビツトとFCSの第1ビツトを含まないその間の挿入
されたダミービツトを除いたフレーム中のビツトの数で
ある)と(b)開始フラグの最終ビツトとFCSの最初の
ビツトを含まないその間のフレームの内容で挿入された
ダミービツトを含まないものをX16で乗じて、生成多項
式X16+X12+X5+1で除した(モジユロ2)ものの和の
1の補数である。
各々の通信コントローラ3000−0乃至3000−15はフオー
マツタインタフエース3010を含み、これは関連するユー
ザ装置からデータを受信・蓄積し、またフオーマツタイ
ンタフエース3010からプロセツサインタフエース3200を
通して送信機3300に対して8ビツトバイトのデータの転
送を制御するプロセツサ3001を含んでいる。送信機3300
は予め定められた第15図のフレームフオーマツトで誘導
されたFCSフイールドと共にデータを挿入し、結果とし
て得られたフレームをインバータ3500を経由してバス10
0に送出する。各々の通信コントローラ3000−0乃至300
0−15はまた受信機3400を含み、これはインバータ3600
を経由してバス100からフレームを受信する。各々の受
信機は二つの機能を実行する。第1に、これはバス100
を連続的に監視してバス100が三つの状態、空き、未知
あるいは既知のいずれにあるかを判定する。バス100は
初期にはそれに対して7ビツトの論理“1"のプリエンプ
トキヤラクタが伝送されるまで、空き状態にあると定義
される。バス100はそのあとフレーム開始フラグのあと
少くとも24のフラグ以外のビツト(ダミーの“0"ビツト
を除く)が伝送されるまで未知であると定義され、その
あとで、既知の状態になり、通信コントローラ3000−0
乃至3000−15の各々の受信機3400は伝送されるフレーム
のアドレスフイールドを記憶することになる。フレーム
終了フラグが伝送されたあとで、バス100は再び空き状
態になり、連続した論理“0"が伝送される。例えば通信
コントローラ3000−0のような与えられた通信コントロ
ーラの受信機3400の第2の機能はフレーム宛先サブフイ
ールドが通信コントローラ3000−0に関連したユーザ装
置10−0のような与えられた通信コントローラに関する
ユーザ装置を規定したときにだけ実行される。その場合
には、受信機3400は受信フレームのデータフイールドを
抽出し、このようなデータを8ビツトのバイトの形でプ
ロセツサインタフエース3200を経由してフオーマツタイ
ンタフエース3010に転送し、これが次にデータをユーザ
装置10−0に送信する。受信機3400はまたプロセツサイ
ンタフエース3200を経由してプロセツサ3001に対して受
信されたFCSフイールドが正しいかどうかの表示を送信
する。
通信コントローラ3000−0乃至3000−15は全体のフレー
ムの再送をプリエンプトされたデバイスに対して要求す
ることなくバス100に接続された他のユーザ装置からの
伝送を与えられたユーザ装置が円滑にプリエンプトでき
るようにする。例2(第16図)としてここに示した例に
おいて、ユーザ装置10−1がバス100を経由してユーザ
装置10−12に対して長いフレームを送信していたと仮定
しよう。(第16図には三つのデータの流れを図示してい
る。通信コントローラ3000−1の送信機3300によつて送
信されたデータの流れ、通信コントローラ3000−3の送
信機3300によつて送信されたデータの流れ、それにバス
100によつて伝送されるデータの流れである。)プリエ
ンプトキヤラクタの後、通信コントローラ3000−1から
のフレームの開始フラグ、アドレスフイールドおよび少
くとも16個のフラグ以外のビツト(ダミーの“0"ビツト
を除く)が伝送されると、通信コントローラ3000−3は
ユーザ装置10−3からのデータの受信を開始し、このデ
ータがユーザ装置10−13に対して伝送されることにな
る。通信コントローラ3000−3においてはプロセツサ30
01はプロセツサインタフエース3200を経由して送信機33
00に対してデータを送信したいという要求を知らせる。
送信機3300は受信機3400内のレポートバス3303、レジス
タ3470および3471(第4図)を通してこれを読み取り、
バス100の状態が現在既知の状態であり、バスは現在通
信コントローラ3000−1によつて占有されていることを
判定する。与えられた通信コントローラがフレームアド
レスフイールドを送信してしまうと、それはそれがプリ
エンプトされるかあるいはフレームが完了するまでバス
100を占有することになる。この実施例に従えば、16個
の区別できる優先レベルが存在し、それが各ユーザ装置
10−0乃至10−15の各々に割当てられており、ユーザ装
置の名前がそのユーザ装置の優先レベルを示すようにな
つている。ユーザ装置10−15は最高位の優先順位を有
し、ユーザ装置10−14は次に高い優先順位を有し、以下
同様になつている。従つて、通信コントローラ3000−3
の送信機は通信コントローラ3000−3が現在のバスの占
有者である通信コントローラ3000−1より高い優先順を
持つことを判定する。各送信機3300はレポートバス3303
を経由して受信機3400内の導体3451(第4図)を監視す
ることによりバス100上を伝送されるビツトを監視し、
バス100上を伝送される連続した論理“1"のビツトの数N
5を定義する内部ステータス変数を維持する。通信コン
トローラ3000−3の送信機3300はこのステータス変数を
使用してプリエンプトキヤラクタ11111110の送信を完成
する。例2に従えば、(第16図のプリエンプトフレー
ム)、N5を規定する状態変数は三つの連続した論理“1"
のビツトがバス100を伝送されたことを示している。従
つて、プリエンプトキヤラクタ11111110の伝送のために
は、通信コントローラ3000−3の送信機3300は4個の連
続した論理“1"のあとに論理“0"のビツトを送信する。
各々の通信コントローラは排他的ORゲート3700を含み、
その第1の入力端子はインバータ3500に接続されてお
り、その第2の入力端子はインバータ3600の出力端子に
接続されている。バス100上を伝送される論理値が送信
機3300によつてインバータ3500に対して送信される論理
値と異るときには、排他的ORゲート3700は送信機3300に
対して論理“1"の信号を送る。例2(第16図)に従え
ば、通信コントローラ3000−3の送信機3300がプリエン
プトキヤラクタ11111110の論理“1"の信号の“1"を送信
し、論理“1"の信号がバス100に伝送された時間と同一
の時間に論理“1"信号を送信したときに通信コントロー
ラ3000−1の排他的ORゲート3700はビツトの差を検出
し、ここで差信号と呼ばれる論理“1"の信号を送信す
る。これに応動して通信コントローラ3000−1の送信機
3300はその送信を中断し、さらにこれは集合的に送信機
3300の現在のステータスを規定するステータス変数の第
1の集合の値を記憶する。例2(第16図)に従えば、通
信コントローラ3000−3の送信機3300はプリエンプトキ
ヤラクタの送信を完了した後で、次に開始フラグ、アド
レス、データおよびFCSフイールドとプリエンプトした
フレームの終了フラグを送信する。
通信コントローラ3000−0乃至3000−15の各々の受信機
3400はプリエンプトキヤラクタの検出と、プリエンプト
したフレームの開始フラグに応動して、その受信機3400
の現在のステータスを集合的に規定するステータス変数
の第2の集合の値を保存し、次にプリエンプトしたフレ
ームの残りを受信する。通信コントローラ3000−13だけ
では受信機3400はデータを8ビツトバイトの形式でプロ
セツサインタフエース3200を通してフオーマツタインタ
フエース3010に与え、そのデータは次にユーザ装置10−
13に与えられ、これはプリエンプトしたフレームの宛先
である。通信コントローラ3000−0乃至3000−15の各々
の受信機3400はプリエンプトしたフレーム終了フラグを
検出すると、その受信機3400をプリエンプトしたフレー
ムの開始フラグが検出されたときのステータスに戻すた
めにステータス変数の第2の集合の保存された値を使用
する。各受信機3400の中のレジスタ3470および3471(第
4図)はバス100の状態を再び既知の状態に再び定義す
るために回復され、バス100の占有者は通信コントロー
ラ3000−1となる。通信コントローラ3000−1において
は送信機3300は受信機3400のレジスタ3470と3471(第4
図)をレポートバス3303を通して読み、通信コントロー
ラ3000−1が再びバスを占有していることを判定し、次
にその送信機3300をそれが割込まれたときのステータス
に戻すためにステータス変数の第1の集合の保存された
値を使用する。通信コントローラ3000−1の送信機3300
はN5を規定するステータス変数の保存された値を使用し
てN5−1の連続した“1"のビツトを送信し、このあとで
論理“0"のビツト(第16図のプリエンプトされたフレー
ム)を送信し、プリエンプトしたフレームのプリエンプ
トキヤラクタがバス100に伝送されたときに送信された
ビツトを置換する。与えられた送信機3300はそれが論理
“0"を送信し、論理“1"がバス100に運ばれたときだけ
割込まれるから、論理“0"の前に与えられた送信機3300
によつて送信された連続した論理“1"の数はバス100に
伝送される連続した論理“1"の数より小である。例2
(第16図)に従えば、通信コントローラ3000−1の送信
機3300は中断なしにプリエンプトされたフレームの残り
を送信する。通信コントローラ3000−0乃至3000−15の
各々の受信機3400はプリエンプトされたフレームの残り
を受信する。通信コントローラ3000−12においては、受
信機3400はプロセツサインタフエースを経由してフオー
マツタインタフエース3010に対する8ビツトバイトのデ
ータの転送を再開し、次にデータはプリエンプトされた
フレームの宛先であるユーザ装置10−12に対して送信さ
れる。通信コントローラの受信機3400またプロセツサイ
ンタフエース3200を経由してプロセツサ30001に対して
プリエンプトされたフレームのFCSフイールが正しいか
どうかの表示を送信する。FCSフイールドはプリエンプ
トされたフレーム全体にもとずく。第16図は単一プリエ
ンプシヨンについてしか図示していないが、多重プリエ
ンプシヨン、すなわち、プリエンプトしたフレーム内部
で他の通信コントローラによつてプリエンプトすること
も可能である。しかし、この実施例においては、与えら
れたユーザ装置はそれ自身をプリエンプトすることはで
きないようになつている。各通信コントローラ3000−0
乃至3000−15はまたアボートキヤラクタ11111111を送信
することによつてバス100上のフレームの送信を終了す
ることができる。しかし、その場合には、状態変数は保
存されず、中断されたフレームは全体として再送しなけ
ればならない。
機能的説明 第5図に従つて配列される第2図乃至第4図に詳細に示
すように、通信コントローラ3000−0はユーザ装置10−
0に接続されたフオーマツトインタフエース3010、例え
ばモトローラ6309のようなプロセツサ3001、それに関連
したクロツク3002、プロセツサインタフエース3200、イ
ンバータ3500を通してバス100に接続された送信機3300
およびインバータ3600を通してバス100に接続された受
信機3400を含んでいる。以下の機能的説明においては本
質的に同一である16個の通信コントローラ3000−0乃至
3000−15の任意のものを代表するものとして通信コント
ローラ3000−0を参照する。
プロセツサ3001はプロセツサインタフエース3200のコマ
ンドレジスタ3220に予め定められた種々のビツトを記入
することによつて送信機3300と受信機3400の動作を制御
する。レジスタ3220のビツト割当は第17図に図示されて
いる。プロセツサ3001はレポートレジスタ3230の予め定
められたビツトを読むことによつて送信機3300内のある
種の事象の発生もしくはステータスを知る。レジスタ32
30のビツト割当は第18図に図示されている。プロセツサ
3001とフオーマツタインタフエース3010はプロセツサ30
01の制御下に、送信データレジスタ3240に8ビツトバイ
トの情報を書くことによつて、バス100で送信されるべ
きデータを送信機3300に与える。さらにバス100を通し
て受信機3400によつて受信されたデータは受信データレ
ジスタ3250を経由して8ビツトのバイトの形式でプロセ
ツサ3001すなわちフオーマツタインタフエース3010に伝
送される。これらのバイトは宛先のユーザ装置に関連し
た通信コントローラのフオーマツタインタフエース3010
にだけ与えられることを想起されたい。
送信機3300の内部の動作は送信制御回路3301によつて制
御される。回路3301はコントローラ(図示せず)を含
み、これはプログラマブル論理アレイもしくはプロセツ
サを用いて有利に実現される。送信制御回路3301の状態
図は第12図に示される。送信制御回路3301は制御バス33
02を経由して8ビツト送信シフトレジスタ3305と16ビツ
トFCSレジスタ3306の付勢とシフトを制御する。クロツ
ク線53上にクロツク発生器54によつて送信されたクロツ
ク信号はANDゲート3310の第1の入力端子で受信され、
送信制御回路3301が制御バス3302を経由してANDゲート3
310の第2の入力端子に対して論理“1"を送信したとき
に、送信機3300内で要求によつて分配される。マルチプ
レクサ3307はまた制御バス3302を経由して送信制御回路
3301によつて制御されるが、送信シフトレジスタ3305あ
るいはFCSシフトレジスタ3306あるいは予め定められた
論理“1"あるいは論理“0"を選択してバス100によつて
送信する。例えば、送信制御回路3301はマルチプレクサ
3307が第1に論理“0"のビツトを選択し、次に6ビツト
の連続した論理“1"のビツトを選択し、最後に論理“0"
のビツトを選択してバス100に送信するように、マルチ
プレクサ3307に対して信号を送ることによつてフラグキ
ヤラクタ0111110の伝送を実行する。アドレスフイール
ドとデータフイールドを形成する情報は送信データレジ
スタ3340から並列に送信シフトレジスタ3305に対して8
ビツトのバイトを伝送し、次に導体3351およびマルチプ
レクサ3307を通してバス100に対して直列にシフトする
ことによつて伝送される。送信シフトレジスタ3305から
導体3351に送信されるビツトはまたFCSシフトレジスタ3
306に入り、これは直列に動作して上述した16ビツトのF
CSフイールドを発生する。FCSシフトレジスタ3306の動
作は任意の与えられた時点において、これがそのときま
でに送信シフトレジスタ3305によつて送信されたフレー
ムのすべてのビツトから誘導されたFCSフイールドを含
むようになつている。FCSシフトレジスタ3306について
は後に詳述する。送信制御回路3301がデータフイールド
の最後のバイトがバス100に対して送信されたと判定し
たときに、これはFCSシフトレジスタ3306によつて導体3
352とマルチプレクサ3307を通してのFCSフイールドの送
信を実行する。送信制御回路3301はレポートバス3303を
経由してマルチプレクサ3307によつて送信されたビツト
を監視して、伝送された連続的な論理“1"の数である内
部ステータス変数N2を維持する。5個の連続した論理
“1"が伝送されたときに、回路3301はマルチプレクサ33
07を通してダミーの論理“0"のビツトの伝送を実行す
る。マルチプレクサ3307は送信シフトレジスタ3305ある
いはFCSシフトレジスタ3306によつて伝送されるビツト
以外にプリエンプト、アボートおよびフラグのキヤラク
タを送信するから、これらのキヤラクタにはダミーの論
理“0"のビツトは挿入されない。送信シフトレジスタ13
05とFCSシフトレジスタ1306のシフト動作はマルチプレ
クサ1307がダミーの論理“0"のビツトを送信したときに
1ビツトの時間だけ消勢される。送信制御回路3301は任
意の与えられた時点でそれまでにシフトされて出力され
た送信シフトレジスタ3305に与えられたバイトの数N1
規定する第2の内部状態変数を維持する。上述したよう
に、送信制御回路3301はバス100を通して伝送された連
続的論理“1"の数N5を規定する第3の内部状態変数を維
持する。送信制御回路3301はまた回路3301の前述した第
12図の状態を規定する第4の内部ステータス変数Xを維
持する。排他的ORゲート3700がレポートバス3303を経由
して送信制御回路3301に対して論理“1"信号を送信し、
インバータ3500に対して送信されたビツトとバス100で
伝送されたビツトの差を表示したときに、送信制御回路
3301はプリエンプト動作が生じたと判定する。送信制御
回路3301は状態レジスタ3304中に4個の上述したステー
タス変数の値を記憶する。送信制御回路3301は次に制御
バス3302を通してANDゲート3310に対して論理“0"信号
を送信し、これによつてクロツク発生器54からのクロツ
ク信号の送信機3300中の分配を消勢する。送信データレ
ジスタ3240、状態レジスタ3304、送信シフトレジスタ33
05およびFCSシフトレジスタ3306の内容は集合的にここ
ではステータス変数の第1の集合と呼ばれるが、これら
はこれらのレジスタに保存される。送信制御回路3301に
よつてプレエンプトされたフレームの送信を再開して良
いことが判定されると、これはステータス変数の保存さ
れた値を使用して、プリエンプシヨンの時点で第12図の
状態と同一の状態に戻す。(唯一の例外は後述する。)
送信制御回路3301はバス100で伝送された連続的論理
“1"の数N5を規定する保存された値を使用してN5−1の
連続的論理“1"のビツトのあとに論理“0"のビツトをバ
ス100に送信し、プリエンプトフレームキヤラクタ11111
110がバス100に伝送されたときに伝送されたビツトに置
換する。送信制御回路はプリエンプト動作の時点でマル
チプレクサ3307によつて送信された連続的論理“1"ビツ
トの数N2の保存された値を使用して、プリエンプトされ
たフレームに関するダミー“0"挿入機能を再開する。送
信制御回路3301は送信シフトレジスタ3305によつてシフ
トされて出力された与えられたバイトのビツトの数を規
定する状態変数N1の保存された値を使用して、与えられ
たバイトの残金の適切な伝送を実行する。
受信機3400の内部の動作は受信制御回路によつて制御さ
れる。回路3401はコントローラ(図示せず)を含み、こ
れはプログラマブル論理アレイあるいはプロセツサによ
つて実現するのが有利である。受信制御回路3401の状態
図は第13図に示されている。受信制御回路3401は8ビツ
ト制御シフトレジスタ3406、16ビツトFCSシフトレジス
タ3408、16ビツトFCS保持レジスタ3409および8ビツト
受信シフトレジスタ3410の付勢とシフトを制御バス3402
を経由して制御する。キヤラクタ検出器3407は制御シフ
トレジスタ3406内のフラグキヤラクタ01111110、アボー
トキヤラクタ11111111およびプリエンプトキヤラクタ11
111110を検出し、レポートバス3403を経由してこのよう
な検出を受信制御回路3401に知らせる。これに応動して
受信制御回路3401は次の8ビツトをバス100から制御シ
フトレジスタ3406にシフトする。しかし、フラグ、アボ
ートあるいはプリエンプトを形成するビツトはレジスタ
3408、3409および3410にはシフトされない。キヤラクタ
検出器3407はまた7個の連続した“1"が受信されたとき
に受信制御回路3451にこれを知らせ、回路3401はこれに
応動して制御バス3402を経由して2ビツトのバス状態レ
ジスタ3471にフイールドBS=11を書き込み、これによつ
て現在のバス100の状態を未知であると定める。バス100
の状態が未知であるときには、プリエンプシヨンは許容
されない。受信制御回路3401はレポートバス3403を経由
して制御シフトレジスタ3406によつて送信されるビツト
の流れを監視し、制御シフトレジスタ3406によつて送出
された連続した論理“1"のビツトの数を定める内部ステ
ータス変数N4を維持する。N4の値を定める変数によつ
て、5個の連続した“1"が制御シフトレジスタ3406によ
り送出されたことがわかると、受信制御回路3401はレジ
スタ3408、3409および3410の動作を実行して、5個の連
続した論理“1"に続くダミーの“0"のビツトがこれらの
レジスタ3408、3409および3410に入らないようにする。
制御シフトレジスタ3406によつて送信されたビツトはま
ず導体3452を経由してFCS保持レジスタ3409にシフトさ
れ、次に導体3453を経由して受信シフトレジスタ3410に
シフトされる。データの8ビツトのバイトは次に受信シ
フトレジスタ3410から並列に経路3251を経由して受信デ
ータレジスタ3250に運ばれ、ここでこれはプロセツサ30
01によつてあるいはプロセツサ3001の制御によつてフオ
ーマツタインタフエース3010によつて読み取られる。受
信制御回路3401は1バイトが受信データレジスタ3250か
ら最後に伝送されてから受信シフトレジスタ3410によつ
て受信されたビツトの数を規定する他の内部ステータス
変数N3を維持する。フラグ以外の24ビツトが開始フラグ
の検出のあと制御シフトレジスタ3406によつて送信され
たときに、受信制御回路3401はビツトカウントにもとず
いて、フレームアドレスレジスタ3410にフレームアドレ
スフイールドが存在することを判定し、アドレスフイー
ルドを8ビツトのバス占有レジスタ3470に記憶するよう
に制御する。受信制御回路3401がレポートバス3403を経
由してユーザ装置10−0をフレーム宛先として規定する
バス占有レジスタ3470の宛先サブフイールドを読み取つ
たとき、受信制御回路3401はレポートレジスタ3230(第
18図)にデータ宛先(DD)ビツトの論理“1"を書く。受
信制御回路3401は経路3211を通して4ビツトのIDレジス
タ3210を読むことによつて、どのユーザ装置が通信コン
トローラ3000−0に関連しているかを判定する。通信コ
ントローラ3000−0のIDレジスタ3210はユーザ装置10−
0を規定するフイールド0000を含んでいる。他の通信コ
ントローラのIDレジスタ3210の各々はその通信コントロ
ーラに関連するユーザ装置の宛先の第2の部分を2進表
示したものを含んでいる。通信コントローラ3000−1に
おける回路3401はまた制御バス3402を経由してフイール
ドBS=10をバス状態レジスタ3471に書き、これによつて
現在のバス100の状態を既知であると定める。バス100の
状態が既知であるときには、もし与えられた通信コント
ローラが現在のバス占有者より高い優先度を持つときに
プリエンプト動作が許される。レポートバス3303を通し
てバス占有レジスタ3470とバス状態レジスタ3471を読む
ことによつて、送信機3300はプリエンプト動作が許され
ているかどうかを判定する。制御シフトレジスタ3406に
よつて送信されたビツトはまたFCSシフトレジスタ3408
に入り、これは順次にそこから上述した16ビツトのFCS
フイールドを発生する。FCSシフトレジスタ3408につい
ては後に詳述する。キヤラクタ検出器3407がフレームの
終了フラグを検出したときに、そのフレームのFCSフイ
ールドはすでにFCSシフトレジスタ3408とFCS保持レジス
タ3409にシフトされている。FCS保持レジスタ3409は受
信機3400に含まれていて、フレームのFCSフイールドが
受信データレジスタ3250に転送されないようにする。FC
Sシフトレジスタ3408によつて発生されたFCSフイールド
は定義フイールドと比較され、受信されたフレームが誤
りを含むかどうかが判定されて、結果はレポートバス34
03を通して受信制御回路3401に与えられる。受信制御回
路3401は3ビツトの受信状態フイールド(RSF)をレポ
ートレジスタ3230(第18図)に書くことによつて、プロ
セツサ3001に対して受信機3400に関するこのような情報
を知らせる。
キヤラクタ検出器3407が制御シフトレジスタ3406におけ
るプリエンプトキヤラクタ11111110の存在をまず検出
し、次にフラグキヤラクタ01111110の存在を検出したと
きに、これはレポートバス3403を経由してこのような検
出の各々を受信制御回路3401に知らせる。これに応動し
て、受信制御回路3401はN3とN4を規定する内部状態変数
の値を状態レジスタ3404に送信する。受信制御回路3401
は次に占有レジスタ3404、バス状態レジスタ3471、状態
レジスタ3404、受信シフトレジスタ3410、FCS保持レジ
スタ3409およびFCSシフトレジスタ3408の内容をスタツ
クメモリー3420に保存するために伝送する。これらの内
容は全体としてここではステータス変数の第2の集合と
呼ばれる。スタツクメモリー3420は、例えばフエアチヤ
イルド4706Bである。スタツクメモリー3420の各位置は
4ビツトの幅を持つているから、ステータス変数の第2
の集合を形成するビツトはスタツク制御回路3422の制御
下にマルチプレクサ/デマルチプレクサ3421を経由して
予め定められた記憶3420の位置に格納される。プリエン
プトしたフレームが受信されると、フレームアドレスフ
イールドはバス占有レジスタ3470に記憶されて、バス10
0の状態が既知であることを示すフイールドBS=10が再
びバス状態レジスタに記憶される。通信コントローラ30
00−0においては受信制御回路3401がバス占有レジスタ
3470の宛先サブフイールドを呼んで、論理“1"のDDビツ
トをレポートレジスタ3230に書いたときにだけ、送信デ
ータレジスタ3240からのデータがユーザ装置10−0に伝
送されることを想起されたい。
キヤラクタ検出器3407がプリエンプトしたフレームの終
了フラグを検出したとき、スタツクメモリー3420に保存
されていたステータス変数の第2の集合の値がマルチプ
レクサ/デマルチプレクサ3421を通して、レジスタ347
0、3471、3404、3410、3409および3408の予め定められ
たビツト位置に送られる。受信制御回路3401は経路3431
を通して状態レジスタ3404の内容を読み、その内部ステ
ータス変数をそれが円滑にプリエンプトされた点におけ
る値に戻す。キヤラクタ検出器3407がプリエンプトされ
たフレームの終了フラグを検出した後で、バス100から
受信された次の8ビツトは制御シフトレジスタ3406にシ
フトされる。受信制御回路3401は制御シフトレジスタ34
06によつて送出された連続的論理“1"のビツトの数N4
定める内部ステータス変数の値を使用して、プリエンプ
トされたフレームに関する0削除機能をそれが円滑プリ
エンプシヨンによつて中断された時点から正確に再開す
る。受信データレジスタ3250に対して転送すべき完全な
8ビツトのバイトが何時利用できるようになるかを判定
するために、受信制御回路3401は受信バイトレジスタ34
10に対してシフトされたビツトの数N3を定める内部ステ
ータス変数の値を利用する。プリエンプトされたフレー
ムの残りの部分の受信も、このあと上述した方法で継続
する。
送信機3300と受信機3400はレポートバス3303によつて相
互に接続されている。送信機3300の送信制御回路3301は
受信機3400内のレポートバス3303を経由して監視するこ
とによつて、バス100で伝送された連続的論理“1"のビ
ツトの数N5を定義するその内部ステータス変数を維持す
る。送信機3300がプリエンプシヨンによつて中断された
ときに、送信制御回路3301は受信機3400のバス占有レジ
スタ3470とバス状態レジスタ3471の内容をレポートバス
3303を通して監視することによつて、何時伝送を再開す
べきかを判定する。バス状態レジスタ3471がフイールド
BS=10を含み、バス100の状態が既知の状態であること
を示し、バス占有レジスタに含まれた信号源サブフイー
ルドが再びIDレジスタ3210に記憶された4ビツトのフイ
ールドに等しくなれば、送信制御回路3301はプリエンプ
トされたフレームの送信を再開すべきことを判定する。
送信制御回路3301はまたバス占有レジスタ3470の信号源
サブフイールドとIDレジスタ3210に記憶されたフイール
ドを比較し、いつ与えられたプリエンプシヨンが許容さ
れるかを判定する。IDレジスタ3210のフイールドがバス
占有レジスタ3470の信号源サブフイールドによつて規定
されるユーザ装置より高い優先順を持つユーザ装置を規
定しているときに、プリエンプシヨンが許される。
詳細な説明 通信コントローラ3000−0乃至3000−15の動作につい
て、以下二つの例によつて詳細に説明する。例−1(第
15図)においては、バス100を通して単一のフレームが
ユーザ装置10−1からユーザ装置10−12に送られる。例
−2(第16図)においては、ユーザ装置10−3はユーザ
装置10−1からの伝送を円滑にプリエンプトして、ユー
ザ装置10−13に対して、プリエンプトされたフレームを
送出する。プリエンプトされたフレームが伝送されたあ
とで、ユーザ装置10−12に対するプリエンプトされたフ
レームの伝送が再開される。以下の説明は例−1と例−
2の両方についてバス100に対する情報の送信について
まず説明し、次に両方の例についてバス100からの情報
の受信を説明する。
バス100への情報の送信 各通信コントローラ3000−0乃至3000−15の各々の内部
で、プロセツサ3001は8導体の両方向性データバス3001
−DBによつてフオーマツタインタフエース3010とプロセ
ツサインタフエース3200のコマンドレジスタ3220、レポ
ートレジスタ3230、送信データレジスタ3240および受信
データレジスタ3250に接続される。プロセツサ3001はデ
コーダ3201に対して導体3001−R上の論理“1"信号と
経路3001−RSEL上の与えられたレジスタを指示するレジ
スタ選択信号を送信することによつてレジスタ3220、32
30、3240および3250の与えられたひとつの内容の読み出
しを制御する。デコーダ3201は次に与えられたレジスタ
に行く4本の経路3202、3203、3204および3205の適切な
1本に信号を与える。これに応動して、与えられたレジ
スタの内容はプロセツサ3001あるいはフオーマツタイン
タフエース3010でデータバス3001−DBで読み取るために
利用できるようになる。プロセツサ3001はまだレジスタ
3220、3230、3240および3250の書き込みを制御する。プ
ロセツサ3001がデコーダ3201に対して導体3001−Rを
通して論理“0"信号を、経路3001−RSELを通して与えら
れたレジスタを規定するレジスタ選択信号を送り、デコ
ーダ3201は与えられたレジスタへの経路3202、3203、32
04および3205の内の適切なものに対して信号を送出す
る。プロセツサ3001あるいはフオーマツタインタフエー
ス3010によつてデータバス3001−DB上に送出されたバイ
トあるいはその一部は次に与えられたレジスタに記憶さ
れる。各プロセツサインタフエース3200はまた4ビツト
のIDレジスタ3210を含み、これは本実施例においては、
プロセツサインタフエース3200に関連したユーザ装置を
規定する予め定められた4ビツトのフイールドを含んで
いる。プロセツサインタフエース3200はプロセツサ3001
がデータバス3001−DBを通して変化した優先順を反映し
てIDレジスタ3210に異る4ビツトのフイールドを書き込
むことができるように改造できることを理解されるであ
ろう。
各通信コントローラ3000−0乃至3000−15において、コ
マンドレジスタ3220(第17図)に送信機リセツト(TRE
S)ビツトの論理“1"を書いたときに、送信機3300は初
期化される。送信機3300に含まれた送信制御回路3301は
経路3221を経由してTRESビツトを検出し、これに応動し
て、リセツト状態301(第12図)に入る。論理“0"のTRE
Sビツトはプロセツサ3001によつて次にコマンドレジス
タ3220に書き込まれる。(プロセツサ3001から送信制御
回路3301に来るすべてのコマンドは、プロセツサ3001に
よつてコマンドレジスタ3220に論理“1"のビツトを書
き、その論理“1"のビツトが送信制御回路3301によつて
検出される時間の後、そのコマンドレジスタ3220のビツ
ト位置には論理“0"のビツトが書き込まれる。リセツト
状態301では送信制御回路3301は経路3221を経由してコ
マンドレジスタ3220(第17図)内の送信付勢(TEN)ビ
ツトを監視する。プロセツサ3001がコマンドレジスタ32
20中の論理“1"のTENビツトを書き込んだときに、このT
ENビツトは回路3301によつて検出され、回路3301は空き
状態302(第12図)に入る。空き状態302においては回路
3301は制御バス3202を通してANDゲート3310に対して論
理“1"の信号を送信することによつて、クロツク発生器
54からのクロツク信号を送信機3300の内部に分配するよ
うに付勢する。回路3301はまた制御バス3302を経由して
マルチプレクサ3307に対して信号を送出し、マルチプレ
クサ3307が導体3353、D型同期フリツプフロツプ3308お
よびインバータ3500を通してバス100に対して論理“0"
のビツトを繰返して送出するようにする。同期フリツプ
フロツプ3308は各々の1ビツトの時間の間ではバス100
に送信される信号が変化しないことを保障する。フリツ
プフロツプ3308の出力端子はインバータ3500に接続され
ているが、ANDゲート3310を通してクロツク発生器54か
ら送られたクロツク信号の前縁でビツトを記憶する。空
き状態302においては、回路3301は経路3221を通してコ
マンドレジスタ3220(第17図)の送信アドレスビツト
(TAB)を監視する。この時点までは、通信コントロー
ラ3000−0乃至3000−15の各々の動作は同様である。
例−1に従えば(第15図)、ユーザ装置10−1は通信コ
ントローラ3000−1のフオーマツタインタフエース3010
に対してデータの送信を開始し、フオーマツタインタフ
エースは、必要に応じて、このようなデータをバツフア
メモリー(図示せず)に一時的に記憶する。この実施例
においては、フオーマツタインタフエース3010のバツフ
アメモリーはバス100に対して送信された最大長のフレ
ームのデータフイールド全体を記憶するのに充分な容量
を有している。フオーマツタインタフエース3010は所望
のプロセツサ3001に対してここで要求信号と呼ばれる信
号をバス100を通して制御バス3001−CBに送出すること
によつてユーザ装置10−12にデータを送出することを知
らせる。これに応動して、プロセツサ3001はコマンドレ
ジスタ3220に論理“1"のTABビツトを書き、ユーザ装置1
0−1をフレームの信号源であると指定する信号源サブ
フイールド0001とユーザ装置10−12をフレームの宛先で
あると指定する信号源サブフイールド1100を持つアドレ
スバイトを送信データレジスタ3240に書き込む。送信制
御回路3301はTABビツトを検出し、これに応動して待ち
状態303(第12図)に入る。待ち状態303において、送信
制御回路3301はレポートバス3303を通して受信機3400の
バス占有レジスタ3470とバス状態レジスタ3471の内容を
読む。バス状態レジスタ3471がフイールドBS=00を含
み、バス100が空き状態にあるか、あるいはバス状態レ
ジスタ3471がフイールドBS=10を含みバス100が既知の
状態にあつてバス占有レジスタ3470がバス100は現在低
い優先順を持つ通信コントローラによつて占有されてい
ることが示されると、送信制御回路3301は開始状態304
に入る。例−1に従えば、バス状態レジスタ3471はフイ
ールドBS=00を含み、バス100が空き状態にあることを
示し、従つて送信制御回路3301は開始状態304に入る。
開始状態304においては、回路3301は制御バス3302を通
して信号をマルチプレクサ3307に送り、マルチプレクサ
3307がまずバス100にプリエンプトキヤラクタ11111110
を送信し、次にフラグキヤラクタ01111110を送出するよ
うにする。回路3301はまたFCSシフトレジスタ3306に送
信を送り、これに応動してレジスタ3306は16個の論理
“1"のビツトを持つように初期化される。さらに回路33
01は送信シフトレジスタ3305に信号を送り、これはそれ
に応動して並列路3241を通して送信データレジスタ3240
からアドレスバイトを読み取る。アドレスバイトがレジ
スタ3240からレジスタ3305に送られると、送信制御回路
3301は経路3231を通してレポートレジスタ3230(第18
図)の論理“1"の送信データレジスタ空き(TDRE)ビツ
トを書き、アドレス状態305(第12図)に入る。アドレ
ス状態305においては、回路3301は制御バス3302を通し
て送信シフトレジスタ3305とマルチプレクサ3307に対し
て信号を送り、アドレスバイトが送信シフトレジスタ33
05から導体3351、マルチプレクサ3307、導体3353、同期
フリツプフロツプ3308およびインバータ3500を通してバ
ス100に与えられるようにする。回路3301はまた信号を
制御バス3302を通してシフトレジスタ3306に送信し、送
信シフトレジスタ3306から導体3351に送出されたバイト
がまたFCSシフトレジスタ3306にシフトされるようにす
る。回路3301は導体3353を伝送されるビツトの流れをレ
ポートバス3303を経由して監視し、伝送された連続的
“1"のビツトの数N2を規定する内部ステータス変数を維
持する。N2を規定するステータス変数が5個の連続した
論理“1"のビツトが送信されたことを示したときには、
回路3301は送信シフトレジスタ3305およびFCSシフトレ
ジスタ3306のビツトのシフトを中断し、マルチプレクサ
3307によるダミーの論理“0"のビツトの伝送を実行す
る。アドレス状態305においては、回路3301は経路3221
を通してコマンドレジスタ3220中の第1あるいは中間バ
イト送信(TFIB)ビツトを監視する。
送信制御回路3301はレポートレジスタ3230に論理“1"の
TDREビツトを記憶して送信データレジスタ3240の内容が
送信シフトレジスタ3305に記憶されたことを示すことを
想起されたい。TDREビツトは経路3209を通して割込み発
生器3220によつて監視され、論理“1"のTDREビツトの記
憶に応動して、導体3001−Iを経由してプロセツサ3001
に対して割込み信号を送信する。割込み信号に応動し
て、プロセツサ3001は制御バス3001−CBを通してフオー
マツタインタフエース3010に対して信号を送り、フオー
マツタインタフエース3010から第1のデータバイトをデ
ータバス3001−OBを通して送信データレジスタ3240に与
える。プロセツサ3001は次に論理“1"のTFIBビツトをコ
マンドレジスタ3220に書き、これに応動して送信制御回
路3301はデータ状態306(第12図)に入る。データ状態3
06においては、送信制御回路3301は送信データレジスタ
3240からの第1のデータバイトの送受シフトレジスタ33
05による蓄積とこれに続いてのFCSシフトレジスタ3306
によるそのバイトの送信を制御し、これもマルチプレク
サ3307を通してバス100に対して行なわれる。回路3301
は再び論理“1"のTDREビツトをレポートレジスタ3230に
書き、これに応動して割込み発生器3290はプロセツサ30
01に対して割込み信号を送る。プロセツサ3001はフオー
マツタインタフエース3010から送信データレジスタ3240
への第2のデータバイトの伝送を行ない、コマンドレジ
スタ3220に再び論理“1"のTFIBビツトを書く。論理“1"
のTFIBビツトに応動して、回路3301はデータ状態306に
留り、第2のデータバイトのFCSシフトレジスタとバス1
00への伝送を制御する。データ状態306にある間に、回
路3301はTFIBビツトを監視し、さらにコマンドレジスタ
3220(第17図)内の最終バイト伝送ビツト(TLB)を監
視する。フオーマツタインタフエース3010からバス100
にすべての中間のバイトが転送される間、このプロセス
は繰返される。フオーマツタインタフエース3010によつ
てフレームの最終のデータバイトが利用できると判定さ
れたときには、これはプロセツサ3001に対して、制御バ
ス3001−CBを通して完了信号と呼ばれる信号を送出し、
そのバイトが送信データレジスタ3240に書き込まれたあ
と、プロセツサ3001はコマンドレジスタに論理“1"のTL
Bビツトを書き込む。送信データレジスタ3240に対する
論理“1"のTLBビツトの書き込みは、ここで終了信号の
送出と呼ばれる。論理“1"のTLBビツトに応動して、回
路3301はFCS状態307(第12図)に入り、ここで最後のデ
ータバイトがバス100に送出され、FCSシフトレジスタ33
06の16ビツトの内容はその直後にマルチプレクサ3307を
通してバス100に直列に送出される。回路3301は次にエ
ンドフラグ状態308(第12図)に入り、バス100に対して
ひとつのフラグキヤラクタ01111110をマルチプレクサ33
07を通して伝送し、次に空き状態302に戻る。ここでマ
ルチプレクサ1307はバス100に対してくりかえし論理
“0"を送出する。これによつてユーザ装置10−1(第15
図)からのひとつのフレームの伝送が完了する。他の通
信コントローラ3000−0および3000−2乃至3000−15の
各々においては送信制御回路3301は例−1の間中を通し
て空き状態のままである。通信コントローラ3000−1の
回路3301が開始状態304、アドレス状態305データ状態30
6、FCS状態、あるいはエンドフラグ状態308にある間の
フレームの伝送中にフレームを放棄すべきであると判断
されたときには、これは論理“1"のアボートキヤラクタ
送信(TAC)ビツトをコマンドレジスタ3220(第17図)
に書き、回路3301はこれに応動してアボート状態309
(第12図)に入る。アボート状態309では回路3301はマ
ルチプレクサ3307によつてバス100に対してアボートキ
ヤラクタ11111111を伝送し、空き状態302に戻る。
例−2(第16図)に従えば、バス100に対する開始フラ
グと、アドレスフイールドとユーザ装置10−1からのフ
レームの少くとも16ビツトのフレーム以外のビツト(ダ
ミーの“0"ビツトを除く)の送信のあと、ユーザ装置10
−3は通信コントローラ3000−3のフオーマツタインタ
フエース3010に対してデータの送信を開始する。通信コ
ントローラ3000−3の送信制御回路3301は空き状態302
にある。ユーザ装置10−3からのデータを受信すると、
フオーマツタインタフエース3010は制御バス3001−CBを
経由して、バス100を通してユーザ装置10−13に対して
データを伝送したいという要求をプロセツサ3001に知ら
せる。これに応動してプロセツサ3001は論理“1"のTAB
ビツトをコマンドレジスタ3220、信号源ユーザ装置10−
3と宛先ユーザ装置10−13を指定するアドレスバイト00
111101を送信データレジスタ3240に書き込む。TABビツ
トに応動して送信制御回路3301は待ち状態303(第12
図)に入る。待ち状態303においては、送信制御回路330
1はレポートバス3303を経由して、通信コントローラ300
0−3の受信機3400のバス占有レジスタ3470とバス状態
レジスタ3471の内容を読む。例−2に従えば、バス状態
レジスタ3471はバス100が既知の状態にあることを示す
フイールドBS=10を含み、バス占有レジスタ3470は通信
コントローラ3000−1が現在バス100を占有しているこ
とを示す信号源サブフイールド0001を含んでいる。通信
コントローラ3000−3の送信制御回路3301はまたユーザ
装置10−3を指定するIDレジスタ3210中の4ビツトのフ
イールド0011を経路3211を通して読む。ユーザ装置10−
3はユーザ装置10−1より高い優先順を持つているか
ら、通信コントローラ3000−3の送信制御回路3301は開
始状態304に入る。送信制御回路3301はバス100を伝送さ
れた連続的論理“1"の数N5を規定する内部ステータス変
数N5を維持していることを想起されたい。現在の例にお
いては、N5=3と通信コントローラ3000−3の送信制御
回路3301はマルチプレクサ3307によつて4個の論理“1"
のビツトを送信し、このあとで論理“0"のビツトを続け
てプリエンプトキヤラクタ11111110を完成する。
このとき、通信コントローラ3000−1の送信制御回路33
01はデータ状態306にある。通信コントローラ3000−3
が4個の論理“1"のビツトの内の第1のものを送出した
ときに、通信コントローラ3000−1の排他的ORゲート37
00は通信コントローラ3000−1の送信機3300によつて送
出された論理“0"とバス100を伝送される論理“1"の間
のビツトの差を検出する。従つて、排他的ORゲート3700
はD形同期フリツプ−フロツプ3309とレポートバス3303
を通して送信制御回路3301に対して論理“1"の信号を送
出する。ANDゲート3310を経由してクロツク発生器54か
ら送信されたクロツク信号の後縁でフリツプフロツプ33
09はその出力端子にビツトを記憶する。論理“1"の信号
に応動して、送信制御回路3301は保持状態310(第12
図)に入る。回路3301はN1、N2およびN5を定める内部ス
テータス変数と先の第12図の状態を規定する内部ステー
タス変数Xを維持していることを想起されたい。この例
ではXはデータ状態306を規定している。送信制御回路3
301が保持状態310に入つたときに、これは経路3330を通
してN1、N2およびN5を規定する変数と変数Xの値を状態
レジスタ3304に送つてここに保存する。送信制御回路は
また制御バス3302を経由してANDゲート3310に対して論
理“0"の信号を送出し、これによつてクロツク発生器54
からのクロツク信号の送信機3300の内部における分配を
消勢する。従つて、レジスタ3240、3304、3305および33
06の内容はステータス変数の第1の集合と呼ばれるが、
これらのレジスタに保存される。保持状態310において
は、送信制御回路3301はレポートバス3303を通してバス
占有レジスタ3470とバス状態レジスタ3471を監視し、通
信コントローラ3000−1が何時バスの占有機(RBO)を
とるかを判定する開始状態304に入つた後、通信コント
ローラ3000−3の送信制御回路3301はプリエンプトキヤ
ラクタ11111110を完成するためにマルチプレクサ3307に
よる送信を制御していることを想起されたい。次に送信
制御回路3301はフラグキヤラクタ01111110のマルチプレ
クサ3307による伝送を制御する。プリエンプトキヤラク
タのあとでフラグキヤラクタを伝送することはここでプ
リエンプシヨン開始信号と呼ばれる。例−2に従えば、
通信コントローラ3000−3の送信制御回路3301は次に通
信コントローラ3000−3によつて安全なプリエンプトフ
レームが中断なく送信されたときにアドレス状態305、
データ状態306、FCS状態307、エンドフラグ状態308を通
つて空き状態に戻る。
ここでプリエンプシヨン終了信号とも呼ばれるプリエン
プト終了プラグが通信コントローラ3000−1の受信機34
00によつて受信され、後述するようにバス占有レジスタ
3470とバス状態レジスタ3471に信号源サブフイールドと
フイールドBS=10が再び記憶されたときに通信コントロ
ーラ3000−1は再びバスの占有機(RBO)を得る。通信
コントローラ3000−1の送信制御回路3301は経路3331を
通して状態レジスタ3304を読み、N1、N2およびN5を規定
するステータス変数をその割込み時の値に戻し、ステー
タス変数Xがデータ状態306を示すようにする。変数X
にもとずいて、回路3301はデータ状態306に戻る。もし
送信制御回路3301がFCS状態307あるいはエンドフラグ状
態308で割込まれたのであれば、送信制御回路3301はそ
れぞれFCS状態307あるいはエンドフラグ状態308に戻る
ことに注意していただきたい。しかし、もし回路3301が
アドレス状態305にある間に割込まれたのであれば、こ
れは開始状態304に戻る。回路3301がデータ状態306に戻
つたあとで、これは状態変数N5の値を使用してマルチプ
レクサ3307によるN5−1個の連続した論理“1"の伝送を
制御し、このあとで論理“0"を送つて、バス100上でプ
リエンプトキヤラクタ11111110が伝送された間に伝送さ
れたビツトを置換する。例−2においては、通信コント
ローラ3000−1が割込まれたときに、バス100には4個
の連続“1"が伝送されているから、通信コントローラ30
00−1のN5の値はN5=4である。従つて送信制御回路33
01は制御バス3302を経由してANDゲート3310に対して論
理“1"の信号を送信し、クロツク源54からのクロツク信
号の送信機3300の内部における分配が再開される。プリ
エンプトされたフレームの残りが中断なく通信コントロ
ーラ3000−1によつて送信されると、送信制御回路3301
はFCS状態、エンドフラグ状態308に入り、次に空き状態
302に戻る。
バス100からの情報の受信 次にバス100からの情報の受信について、例−1(第15
図)および例−2(第16図)を参照して詳細に述べる。
各通信コントローラの受信機3400は連続的に動作して、
バス100上の伝送を監視する。データは受信された宛先
サブフイールドによつて規定される宛先ユーザ装置にだ
け転送されるが、その動作は関連したユーザ装置に対す
るデータの転送についてだけ異つている。
各通信コントローラ3000−0乃至3000−15において、プ
ロセツサ3001がプロセツサインタフエース3200のコマン
ドレジスタ3220(第17図)に論理“1"の受信機リセツト
(RRES)ビツトを書いて受信機3400をリセツトしたとき
に、動作が開始される。受信機制御回路3401は経路3221
を経由してこのようなRRESビツトを検出したときに、リ
セツト状態401(第13図)に入る。リセツト状態401にお
いては、受信制御回路3401は経路3221を通してコマンド
レジスタ3220の受信機付勢(REN)ビツトを監視する。
プロセツサ3001が受信機3400を付勢するためにコマンド
レジスタ3220に論理“1"のRENビツトを書いたときに、
受信制御回路3401はこのようなRENビツトを検出してハ
ント状態402(第13図)に入る。バス100で受信された各
ビツトはインバータ3600、D形同期フリツプフロツプ34
05、導体3451を通して8ビツトの制御シフトレジスタ34
06に伝送される。同期フリツプフロツプ3405はバス100
が適切な時点でサンプルされることを保証する。フリツ
プフロツプ3405はクロツク発生器54によつて送られたク
ロツク信号の後縁で導体3451に接続された出力端子にビ
ツトを記憶する。キヤラクタ検出器3407は制御レジスタ
3406の内容を監視し、フラグキヤラクタ01111110、アボ
ートキヤラクタ11111111およびプリエンプトキヤラクタ
11111110の存在を調べ、もしこのようなキヤラクタが検
出されれば、これをレポートバス3403を通して受信制御
回路に知らせる。キヤラクタ検出器3407はまたレポート
バス3403を通して受信制御回路3401に対して、制御シフ
トレジスタ3406によつて7個の連続的“1"が受信された
ときにこれを知らせる。例−1(第1図)では7個の連
続“1"のプリエンプトキヤラクタ11111110が受信され
て、受信制御回路3401にそれが知らされたときに、回路
3401は制御バス3402を通してバス状態レジスタ3471にフ
イールドBS=11を書き、現在のバス100の状態が未知の
状態であることを示す。制御シフトレジスタ3406中でキ
ヤラクタ検出器3407によつて第1のプリエンプトキヤラ
クタ11111110と次の開始フラグが検出されたときに、受
信制御回路3401は同期状態403(第13図)に入る。レポ
ートレジスタ3230(第18図)はプロセツサ3001に受信機
3400内の事象を知らせるのに使用される受信状態フイー
ルド(RSF)の3ビツトを含んでいる。受信制御回路340
1が同期状態403に入つたとき、これはレポートレジスタ
3230にフイールドRSF=000を記憶し、開始フラグが検出
されたことを示す(第14図)。バス100から受信された
続きのビツトは制御シフトレジスタ3406にシフトされ、
次に導体3452を通して16ビツトのFCS保持レジスタに入
り、さらに導体3453を通して8ビツトの受信シフトレジ
スタ3410に行く。制御シフトレジスタ3406によつて伝送
されたビツトはまたは16ビツトのFCSシフトレジスタ340
8にシフトされ、これは、16個の論理“1"のビツトのFCS
フイールドを持つように初期化されたあと、順次に上述
のFCSフイールドを発生するようになつている。プリエ
ンプト、アボートあるいはフラグキヤラクタを形成する
ビツトはレジスタ3408、3409および3410にはシフトされ
ないことを想起されたい。受信制御回路3401は制御シフ
トレジスタ3406によつて送信されたビツトの流れを監視
し、制御シフトレジスタ3406によつて送信された連続し
た“1"のビツトの数N4を定義する内部ステータス変数を
維持する。内部ステータス変数N4が5個の連続した“1"
のビツトが制御シフトレジスタ3406によつて送信された
ことを示すと、受信制御回路3401は制御バス3402を通し
てレジスタ3408、3409および3410を制御して、挿入され
たダミーの0ビツトであるはずの制御シフトレジスタ34
06によつて送信された次のビツトがこれらのレジスタ34
08、3409および3410にシフトされないようにする。開始
フラグのあと、バス100から24ビツト(ダミーの“0"ビ
ツトを除く)が受信されたとき、受信制御回路3401はそ
のビツトの数に従つて受信シフトレジスタ3410がフレー
ムのアドレスフイールド(第15図)を含むことを判定
し、受信制御回路3401は次にアドレス状態404(第13
図)に入る。アドレス状態404においては、受信制御回
路3401は受信シフトレジスタ3410の内容を並列に経路32
51を通して受信データレジスタ3250に転送し、また経路
3468を通してバス占有レジスタ3470に送る。受信制御回
路3401は制御バス3402を通してバス状態レジスタ3471中
のフイールドBS=11を書き、現在のバス100の状態が既
知であることを示し、またフイールドRSF=001とレポー
トレジスタ3230に論理“1"の受信データレジスタ(RDR
F)ビツトを書き受信データレジスタ3250中にアドレス
バイトが利用できることを示す。例−1(第15図)では
宛先サブフイールドは1100であり、ユーザ装置10−12を
指定していることに注意していただきたい。通信コント
ローラ3000−12においてだけは、受信制御回路3401はバ
ス占有レジスタ3470の宛先フイールド1100とIDレジスタ
3210のフイールド1100が等しいことを検出し、レポート
レジスタ3230(第18図)に論理“1"のDDビツトを書く。
このDDビツトとRDRFビツトは割込み発生器3290によつて
経路3209を通して監視され、割込み発生器3290は論理
“1"のDDビツトと論理“1"のRDRFビツトに応動して導体
3001−Iを経由してプロセツサ3001に対して割込み信号
を送る。プロセツサ3001はデータバス3001−DBを経由し
てレポートレジスタ3230のRSFフイールドを読み、これ
に応動してデータバス3001−DBを経由して受信データレ
ジスタ3250からアドレスバイトを読む。プロセツサ3001
はアドレスバイトを解釈し、これによつて次に受信デー
タレジスタ3250で受信されるデータバイトはデータバス
3001−DBを通してフオーマツタインタフエース3010に伝
送され、次に宛先ユーザ装置10−12に伝送されるべきこ
とが知らされる。通信コントローラの各々において、受
信制御回路3401はここでデータ状態405(第13図)に入
る。データ状態405においてはバス100から次に受信され
たビツトは引き続いてレジスタ3406、3408、3409および
3410にシフトされる。受信制御回路3401は最後のバイト
が受信シフトレジスタ3410から受信データレジスタ3250
へ転送されてから受信シフトレジスタ3410にシフトされ
たビツトの数N3を定義する第2の内部ステータス変数を
維持する。このような変数によつて受信シフトレジスタ
3410に8ビツトがシフトされたことが示されると、受信
制御回路3401は受信シフトレジスタ3410の内容を経路32
51を通して並列に受信データレジスタ3250に転送し、レ
ポートレジスタ3230にフイールドRSF=010(第14図)と
論理“1"のRDRFビツトを書き、受信データレジスタ3250
でデータバイトが利用できることを示す。通信コントロ
ーラ3000−12だけで、プロセツサ3001はこのようなレポ
ートレジスタ3230の情報に応動して受信データレジスタ
3250のデータバイトのフオーマツタインタフエース3010
への伝送を制御する。このプロセスはキヤラクタ検出器
3407がレポートバス3403を経由して受信制御回路3401に
対してフラクキヤラクタ01111110、アボートキヤラクタ
11111111あるいはプリエンプトキヤラクタ11111110が制
御シフトレジスタに存在することを知らせるまでくりか
えされ、バス100から受信されたデータビツトは8ビツ
トのバイトの形で受信データレジスタ3250に運ばれる。
例−1(第15図)に従えば、バス100から受信されるべ
き次のキヤラクタはフレームの終了フラグである。終了
フラグを検出すると、受信制御回路3401はFCS状態406
(第13図)に入る。FCS状態406においては、受信制御回
路3401は受信シフトレジスタ3410の内容の受信データレ
ジスタ3250への転送を実行し、その内容はフレームデー
タフイールドの最後のバイトから成る。FCS保持レジス
タ3409はこのときフレームのFCSフイールドを含んでい
る。フレームのFCSフイールドはまたFCSシフトレジスタ
3408にシフトされている。FCSシフトレジスタの動作は
プリエンプトキヤラクタと開始フラグを除き、FCSフイ
ールドを含む全フレームがシフトされて入つたとき、発
生された16ビツトのFCSフイールドは、バス100から受信
されたビツトに誤りが存在しなければ、定数フイールド
に等しいようになつている。後に詳述するFCSシフトレ
ジスタ3408は発生されたFCSフイールドを定数フイール
ドと比較し、その結果をレポートバス3403を通して受信
制御回路に知らせる。受信制御回路3401は次にフレーム
が誤りなしに完了したことを示すフイールドRSF=011
(第14図)あるいはフレームが完了したが誤りがあつた
ことを示すフイールドRSF=111を経路3231を通してレポ
ートレジスタ3230に書く。通信コントローラ3000−12に
おいてだけ、プロセツサ3001はこのようなRSFフイール
ドを検出したことをフオーマツタインタフエース3010に
知らせる。各通信コントローラにおいて、受信制御回路
3401は次にハント状態402に入り、制御バス3402を経由
してフイールドBS=00をバス状態レジスタ3471に書き現
在のバス状態が空きであることを示す。例−1に従えば
後続のフレームはすぐには来ないから、バス100からは
連続した論理“0"のビツトが受信される。これによつて
第15図のフレームの受信が完了する。受信制御回路3401
が同期状態403、アドレス状態404あるいはデータ状態40
5にある間にキヤラクタ検出器3407がアボートキヤラク
タ11111111を検出すれば、受信制御回路3401はハント状
態402に戻ることになる。
例−2(第16図)に従えば、プリエンプトキヤラクタ11
111110、開始フラグ、アドレスフイールドおよびユーザ
装置10−1からのフレームの少くとも16個のフラグ以外
のビツトがバス100から通信コントローラ3000−0乃至3
000−15の各々の受信機3400によつて受信されたあと
で、プリエンプトキヤラクタ11111110が受信される。こ
のとき、各通信コントローラ3000−0乃至3000−15の各
々の受信制御回路3401はデータ状態405にある。キヤラ
クタ検出器3407が7個の論理“1"のプリエンプトキヤラ
クタ11111110を制御シフトレジスタ3406で検出したとき
に、これはレポートバス3403を通して、これを受信制御
回路3401に知らせる。これに応動して、受信制御回路34
01は制御バス3402を通してバス状態レジスタ3471にフイ
ールドBS=11を書き、現在のバス100の状態が未知の状
態であることを示す。キヤラクタ検出器3407が第1に完
全なプリエンプトキヤラクタを検出し、次に開始フラグ
を検出すると、これはレポートバス3403を通してこれを
受信制御回路3401に知らせ、これに応動して、受信制御
回路3401はプリエンプト状態407(第13図)に入り、経
路3430を通してN3とN4を定めるその内部ステータス変数
を状態レジスタ3404に送り、そこに記憶する。次に各通
信コントローラ3000−0乃至3000−15の受信制御回路34
01はステータス変数の第2の集合の現在の値を形成する
レジスタ3470、3471、3404、3410、3409および3408の内
容をそれぞれ経路3467、3469、3414、3413、3412および
3411とマルチプレクサ/デマルチプレクサ3421を通して
スタツクメモリー3420に送り、その予め定められた位置
に保存する。受信制御回路3401はレポートレジスタ3230
の円滑なプリエンプシヨンの検出を示すフイールドRSF
=110(第14図)を書き込む。次に受信制御回路3401はF
CSシフトレジスタ3408を16個の論理“1"のビツトのFCS
フイールドに初期化し、同期状態403に戻る。バス100か
ら完全なプリエンプトフレームが中断なく受信される
と、通信コントローラ3000−0乃至3000−15の各々の受
信制御回路3401は、上述したようにアドレス状態404、
データ状態405およびFCS状態406に入る。プリエンプト
したフレームの宛先サブフイールド1101はユーザ装置10
−13を指定し、通信コントローラ3000−13だけでレポー
トレジスタ3230のDDビツトが論理“1"にセツトされ、デ
ータはフオーマツタインタフエース3010を通して伝送さ
れることになる。通信コントローラ3000−0乃至3000−
15の各々において、スタツク制御回路3422はスタツクメ
モリー3420が空きであるかどうかを示すビツトを記憶し
ている。FCSシフトレジスタ3408がレポートバス3403を
通して受信制御回路3401にプリエンプトしたフレームが
誤つてあるいは誤りなしに受信されたことを知らせたあ
と、受信制御回路3401は記憶されたスタツク制御回路34
22のビツトを読み、これは例−2ではスタツクメモリー
3420が空きではないことを示している。これに応動して
受信制御回路3401は再開状態408(第13図)に入る。再
開状態408では受信制御回路3401はステータス変数の第
2の集合の値の伝送を実行し、その値はマルチプレクサ
/デマルチプレクサ3421と経路3467、3469、3414、341
3、3412および3411を通してそれぞれレジスタ3470、347
1、3404、3410、3409および3408に保存される。例−2
ではアドレスフイール00011100がバス占有レジスタ3470
に送られ、フイールドBS=10がバス状態レジスタ3471に
送られる。レジスタ3470と3471の内容に応動して、通信
コントローラ3000−1はバスの占有機をとり、プリエン
プトされたフレームの伝送を再開し、通信コントローラ
3000−13はユーザ装置10−13へのデータの転送を止め、
通信コントローラ3000−12はユーザ装置10−12へのデー
タの転送を再開する。各通信コントローラにおいて、受
信制御回路3401は経路3431を通して状態レジスタ3404の
内容を読み、その内部ステータス変数をそれが円滑にプ
リエンプトされた時点の値に戻す。受信制御回路3401は
次にプリエンプトしたフレームの終了フラグのあとの第
1の8ビツトを制御シフトレジスタ3406にシフトし、デ
ータ状態406に戻り、プリエンプトされたフレームと残
りは上述した方法で受信される。
第8図に示すように配置される第6図および第7図のFC
Sシフトレジスタ3306の実施例は16個のD形フリツプフ
ロツプ1801乃至1816を含み、これがシフトレジスタとし
て構成されている。フリツプフロツプ1801乃至1816の各
々はプリセツト入力端子Pとクリア入力端子Cを持ち、
この端子はフリツプフロツプを予め定められた値に初期
化するのに用いられる。論理“0"信号と論理“1"信号を
与えられたフリツプフロツプのPおよびC端子に送るこ
とによつて、フリツプフロツプのQ出力端子に論理“1"
信号が現われる。同様にそれぞれ論理“1"信号と論理
“0"信号をPおよびC端子に与えることによつて、論理
“0"がQ出力端子に現われる。PおよびC端子に共に論
理“1"信号を与えることによつて、D入力端子の論理信
号がQ出力端子に記憶される。送信制御回路3301(第3
図)は信号を制御バス3302を通してFCSロードレジスタ1
831に送ることによつてFCSシフトレジスタ3306を初期化
し、これは応動して論理“0"の信号を16個のフリツプフ
ロツプ1801乃至1816のP端子に、また論理“1"の信号を
C端子に与える。従つて各フリツプフロツプ1801乃至18
16はそのQ出力端子に論理“1"の信号を持つように初期
化される。
FCSシフトレジスタ3306は二つのモードで動作する。発
生モードではこれは導体3351で送信シフトレジスタ3305
によつて送信されたビツトから16ビツトのFCSフイール
ドを順次に発生する。シフトモードではフリツプフロツ
プ1801乃至1816の内容は導体3352を通してマルチプレク
サ3307(第3図)に順次に送信される。送信制御回路33
01はANDゲート1833の第1の入力端子に論理“1"の信号
を送信し、FCSシフトレジスタ3306を発生モードにす
る。フリツプフロツプ1816のQ端子はANDゲート1833の
第2の入力端子に接続されているから、FCSシフトレジ
スタ3306が発生モードにあるときには、フリツプフロツ
プ1816のQ端子に送出された論理信号はANDゲート1833
を通して、4個の排他的ORゲート1821乃至1824の入力端
子にフイードバツクされる。本実施例の特定のフレーム
チエツクシーケンスを発生するためには、ゲート1821乃
至1824はそれぞれ送信シフトレジスタ3305とフリツプフ
ロツプ1801、フリツプフロツプ1804とフリツプフロツプ
1805、フリツプフロツプ1811とフリツプフロツプ1812、
フリツプフロツプ1815とフリツプフロツプ1816の間に挿
入されている。送信制御回路3301はANDゲート1834の第
1の入力端子に論理“1"の信号を送信することによつて
フリツプフロツプ1801乃至1816にクロツクを与え、これ
によつてクロツク発生器54によつて送出されたクロツク
信号はANDゲート3310を通してANDゲート1834の第2の入
力端子に与えられ、そのあとでフリツプフロツプ1801乃
至1816に与えられる。従つて、発生モードでは、導体33
51上で送信シフトレジスタ3305が受信された任意の与え
られたビツトについて、フリツプフロツプ1801乃至1816
のQ端子の信号はそのときの16ビツトのFCSフイールド
となる。送信制御回路3301がANDゲート1833の第1の入
力端子に論理“0"信号を与えたときに、FCSシフトレジ
スタ3306はシフトモードで動作し、このときにはANDゲ
ート1833は各々の排他的ORゲート1821乃至1824に論理
“0"信号を与え、フリツプフロツプ1801乃至1816の内容
は順次に導体3352を通してマルチプレクサ3307に送出さ
れる。
第11図に従つて配置される第9図および第10図に図示さ
れたFCSシフトレジスタは16個のD形フリツプフロツプ2
901乃至2916、4個の排他的ORゲート2921乃至2924、お
よびANDゲート2934から成り、これらはFCSシフトレジス
タ3306のフリツプフロツプ1801乃至1816、排他的ORゲー
ト1821乃至1824およびANDゲート1834と同様に動作してF
CSフイールドを発生する。FCSシフトレジスタ3408はFCS
ロードレジスタ2931を含み、これは受信制御回路3401
(第4図)の制御下に動作して、フリツプフロツプ2901
乃至2916を初期化する。フリツプフロツプ2901乃至2916
のQ出力端子の各々によつて送出された信号がFCS読み
出しレジスタ2932に記憶される。受信制御回路3401は円
滑なプリエンプト動作が生じたことを判定すると、FCS
読み出しレジスタ2932の内容はマルチプレクサ/デマル
チプレクサ3421を通してスタツクメモリー3420に送ら
れ、そこに記憶される。受信制御回路3401はFCSロード
レジスタ2931に信号を送り、フリツプフロツプ2901乃至
2916を初期化して、それがそのQ端子に論理“1"の信号
を持つようにする。プリエンプトしたフレームの終了フ
ラグが送信されたあとで、受信制御回路3401は記憶され
た16ビツトのFCSフイールドをスタツクメモリー3420か
らFCS負荷レジスタ2931に送り、これは応動してフリツ
プフロツプのPおよびC端子に適切な信号を送り、Q端
子における信号が円滑なプリエンプト動作が行なわれた
ときと正確に一致するようにする。
FCSシフトレジスタ3408はそのFCSフイールドを直列に送
信することは要求されないから、発生モードだけで動作
し、従つてFCSシフトレジスタ3408にはANDゲート1833に
対応するものは必要ない。本実施例のフレームチエツク
シーケンスは与えられたフレームのFCSフイールドがFCS
シフトレジスタ3408にシフトされたあと、もし誤りがな
ければ、発生されたFCSフイールドが予め定められた定
数となるようになつている。従つて二つの8ビツト比較
器2935と2936によつてフリツプフロツプ2901乃至2916の
Q出力端子における信号は予め定められた定数フイール
ドと比較される。比較器2935あるいは2936のいずれか
で、フリツプフロツプのQ端子における信号と予め定め
られた定数の差が検出されたときには、これはORゲート
2937に対して論理“1"の信号を送出し、これは次にレポ
ートバス3403を経由して“1"の信号を送出して、検出さ
れた誤りを受信制御回路3401に知らせる。
例−3 第1図のシステムの有利な動作を、さらに先に空きであ
つたバス100をほぼ同時に二つの通信コントローラがア
クセスしようとする例(例−3、第19図)について説明
する。例−3に従えば、通信コントローラ3000−1がプ
リエンプトキヤラクタ11111110の送信を開始する。バス
100上を5個の連続した“1"が伝送されたあと、通信コ
ントローラ3000−3がバス100にアクセスすることを決
定し、バス100はまだ空き状態にあり、5個の連続した
論理“1"が送信されているので、通信コントローラ3000
−3は論理“1"を2個伝送し、次に論理“0"を伝送して
プリエンプトキヤラクタ11111110を完成する。通信コン
トローラ3000−3がバス100へのアクセスを決定する前
に通信コントローラ3000−1が7個の連続した論理“1"
を送信していれば、バス100は既知の状態となり、通信
コントローラ3000−3はアクセスすることができないこ
とになる。例−3の説明を続ければ、両方の通信コント
ローラ3000−1と3000−3が同期してフラグキヤラクタ
01111110を送信し、次にそのそれぞれの信号源サブフイ
ールド0001と0011を送信する。しかし通信コントローラ
3000−1がその信号源サブフイールド0001の第3の論理
“0"のビツトを送出したとき、これはビツト差を検出し
て送信を停止する。通信コントローラ3000−3はそのフ
レーム全体を中断なく送出する。通信コントローラ3000
−1がそのフレーム終了フラグをバス100上に検出した
ときに、これはそのフレームを最初から送信する。
例−4 第1図のシステムの動作について次に例−4(第20図)
を参照してさらに説明しよう。第20図においては、10の
意味のある事象がシンボルt1乃至t10で示されている。
これらの事象の時点におけるバス100の占有状態が第21
図に示されている。例−4に従えば、通信コントローラ
3000−1はその前まで空きである(第21図の時刻t1)バ
ス100に対してフレームの送出を開始する。通信コント
ローラ3000−1が7個の連続した論理“1"のビツトを送
出したときに、バス100は未知の状態となる(第21図の
時刻t2)。通信コントローラ3000−1がプリエンプトキ
ヤラクタ11111110と、フラグキヤラクタ01111110と、ア
ドレスフイールドと、16個のフラグ以外のビツト(ダミ
ーの0ビツトを除く)を送出したときに、バス100の状
態は既知の状態となり、バス100は通信コントローラ300
0−1(第21図の時刻t3)によつて占有されることにな
る。通信コントローラ3000−1が論理“0"を送出し、次
に単一の論理“1"を送出した時点で、通信コントローラ
3000−3はそれが現在のバス100の占有者より高い優先
順を持つことを知つて、バス100にアクセスすることを
決定し、6個の連続した論理“1"とそれに続く論理“0"
を送出して、プリエンプトキヤラクタ11111110を完成す
る。通信コントローラ3000−1はビツトの差を検出した
ときにその送信を停止するが、そのステータス変数の第
1の集合を保存し、その全体を再送することなくそれが
そのフレームを適切に再開できるようにする。しかし、
通信コントローラ3000−3がその6個の連続した論理
“1"の二つだけを送信したときに、通信コントローラ30
00−2が通信コントローラ3000−3のアクセスの試みに
気付かないで、それが現在のバス100の占有者より高い
優先順を持つことだけを知つて、バス100にアクセスす
ることを決定する。この時点で、プリエンプトキヤラク
タ11111110の3個の論理“1"がバス100に送出されてい
るので、通信コントローラ3000−2は4個の連続的論理
“1"を送信し、そのあとで論理“0"を送信してプリエン
プトキヤラクタを完成する。時刻t4でバス100に7個の
連続した論理“1"が伝送されたときに、バス100は再び
未知状態となり、他の通信コントローラによるプリエン
プト動作は再び許されないことになる。通信コントロー
ラ3000−2と3000−3はフラグキヤラクタ01111110を同
期して送出し、次にその信号源サブフイールド0010と00
11をそれぞれ送出する。通信コントローラ3000−2はビ
ツト差を検出し、その伝送を終了する。通信コントロー
ラ3000−2はその送信制御回路3301がアドレス状態305
(第12図)にあるときに中断されるから、通信コントロ
ーラ3000−2はそれがバス100のアクセスを次に試みた
ときにその全フレームを再送する。通信コントローラ30
00−3がアドレスフイールドと16個のフラグ以外のビツ
ト(ダミーの“0"のビツトを除く)の送信を完了したと
きに、バス100は再び既知の状態となるが、このときバ
ス100は通信コントローラ3000−3に占有されているこ
とになる。(第21図の時刻t5)。
例−4に従えば、通信コントローラ3000−3は中断なく
フレームの送信を完了する。フレーム終了フラグがバス
100で伝送されたあと、通信コントローラ3000−1は再
びバスを占有することになる。(第21図の時刻t6)。通
信コントローラ3000−1が先に割込みを受けたときにバ
ス100には4個の連続的“1"が伝送されていたことを示
す保存されていた状態変数に従つて、通信コントローラ
3000−1は3個の連続した論理“1"のあとに論理“0"を
伝送し、プリエンプトキヤラクタ11111110が伝送されて
いた間に送信されていたビツトを置換する。しかし時刻
t6において、通信コントローラ3000−2はこれがバス10
0を占有している通信コントローラ3000−1より高い優
先度を持つことを知つて、バス100へアクセスするため
にプリエンプトキヤラクタの全体を送信する。通信コン
トローラ3000−1はこのビツト差を検出して再び送信を
停止する。例−4に従えば、通信コントローラ3000−2
からのフレーム全体は中断なく送信される。フレーム終
了フラグがバス100を伝送されると、通信コントローラ3
000−1は再びバスを占有し、そのフレームの残りをそ
れ以上の中断なしに送信する。予め定められた優先条件
に従つて、第1に通信コントローラ3000−3が、次に通
信コントローラ3000−2が、最後に通信コントローラ30
00−1が送信を終了することに注意していただきたい。
上述した実施例は単に本発明の原理を例示するものであ
り、本発明の精神と範囲を逸脱することなく、当業者に
は多くの他の実施例を工夫することができることは明ら
かである。例えば、ここで定義した第1および第2のス
テータス変数の集合には一部の変数しか含まれていない
が、通信コントローラによつて実行される機能がますま
す複雑になるに従つて、これらの集合に追加の変数を含
めてもよい。さらに、上述したフレームチエツクシーケ
ンスは単に例示にすぎず、ここで示した特定の方法以外
に他の誤り検査法を使用することもできる。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スター,トーマス ジヨナサン ジエレミ ー アメリカ合衆国 60187 イリノイズ,ホ イートン,サウス ヘイル 904 (56)参考文献 特開 昭53−123601(JP,A)

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】複数個の通信コントローラを含み、バスを
    経由して複数個のユーザ装置の間で通信を行うためのシ
    ステムにおいて、 該通信コントローラの各々は、 各フレームが優先フィールドを含むフレームの形で情報
    を送信するために該バスに該複数個のユーザ装置の少な
    くともひとつを選択的に結合するための送信機手段と、 該バスを監視する手段と該バス上に伝送される優先フィ
    ールドを記憶する手段とからなる受信機手段とを含み、 第1の通信コントローラの送信機手段は更に、第1のユ
    ーザ装置からの要求信号とバス上に現在伝送されている
    第1のフレームの優先フィールドとに応動して、該第1
    のフレームの完了前に、優先的な送信をするために該第
    1のユーザ装置を該バスに結合する手段を含み、ここ
    で、該第1のフレームの該優先フィールドは該第1の通
    信コントローラの該受信機手段によって記憶されてお
    り、第2のフレームは該第1の通信コントローラの該受
    信機手段によって記憶されている該優先フィールドによ
    って指示された優先順位よりも高い優先順位を有してお
    り、 該複数個の通信コントローラの各々は更に、 その通信コントローラの送信機手段によって送信された
    論理値と該バスによって伝送された論理値の間の差が検
    出されたときに差信号を発生する検出手段を含み、 第2のユーザ装置を該バスに接続する第2の通信コント
    ローラの送信機手段は更に該第2の通信コントローラの
    検出手段によって発生された該差信号に応動して該第2
    のユーザ装置を該バスから分離する手段を含み、 該複数個の通信コントローラの受信機手段の各々はその
    受信機手段の現在のステータスを集合的に規定するステ
    ータス変数の第2の集合に関連しており、 該第1の通信コントローラの該送信機手段は更に該要求
    信号と該第1の通信コントローラの該受信機手段に記憶
    された該優先フィールドとに応動して該第1のユーザ装
    置が該より高い優先フレームを送信する該第1の通信コ
    ントローラの該結合手段によって該バス上へ該第1のユ
    ーザ装置が結合される前に、該バスにプリエンプト開始
    信号を送信する手段を含み、更に、 該複数個の通信コントローラの各々の該受信機手段は更
    に該プリエンプト開始信号に応動して関連するステータ
    ス変数の該第2の集合の値を保存する手段を含み、 該第1の通信コントローラの該送信機手段は更に該バス
    にプリエンプト終了信号を送信する手段を含み、 該複数の通信コントローラの各々の受信機手段は更に該
    プリエンプト終了信号に応動してその受信機手段をその
    受信機手段に関連したステータス変数の第2の集合の保
    存された値によって規定されたステータスに戻す手段を
    含み、 該第2の通信コントローラの該送信機手段は該第2の通
    信コントローラの該送信機手段の現在のステータスを集
    合的に規定するステータス変数の第1の集合に関連して
    おり、該第2の通信コントローラの該送信機手段は更に
    該第2の通信コントローラの該検出手段によって発生さ
    れた該差信号に応動して該ステータス変数の第1の集合
    を保存する手段を含み、 該第2の通信コントローラの該送信機手段は更に該バス
    から該第2の通信コントローラの受信機手段による該プ
    リエンプト終了信号の受信に応動して該第2の通信コン
    トローラの該送信機手段を該ステータス変数の第1の集
    合の該保存された値によって規定されるステータスに戻
    す手段を含むことを特徴とする通信システム。
  2. 【請求項2】請求の範囲第1項に記載の通信システムに
    おいて、該第1の通信コントローラの該送信機手段は更
    に、該要求信号と該第1の通信コントローラの該受信機
    手段に記憶された該優先フィールドに応動して該第1の
    ユーザ装置が該バスに結合されるまで該バスに予め定め
    られた論理値を繰り返し送信する手段を含むことを特徴
    とする通信システム。
  3. 【請求項3】請求の範囲第1項に記載の通信システムに
    おいて、該第1の通信コントローラの該送信機手段は更
    に、 該バス上を伝送された予め定められた論理値を持つ連続
    したビットの数N5を計数する手段と、 該要求信号と該第1の通信コントローラの該受信手段に
    よって記憶された該優先フィールドとに応動して、N5
    N6の和が所定の数になるように予め定められた該論理値
    をN6回、連続的に送信し、次に、該より高い優先フレー
    ムを送信する該第1の通信コントローラの該結合手段に
    よって該第1のユーザ装置が該バスに結合される前に優
    先フィールドを含むビット系列を送信する手段を含むこ
    とを特徴とする通信システム。
  4. 【請求項4】請求の範囲第1項に記載のシステムにおい
    て、該複数個の通信コントローラの各々の受信機手段は
    更に、該バスからの情報を受信するために該バスに該複
    数のユーザ装置の少なくともひとつを選択的に結合する
    ための手段を含むことを特徴とする通信システム。
JP59500447A 1982-12-28 1983-12-07 バス競合の解決のための方法と装置 Expired - Lifetime JPH0695676B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US453929 1982-12-28
US06/453,929 US4642630A (en) 1982-12-28 1982-12-28 Method and apparatus for bus contention resolution
PCT/US1983/001918 WO1984002629A1 (en) 1982-12-28 1983-12-07 Method and apparatus for bus contention resolution

Publications (2)

Publication Number Publication Date
JPS60500117A JPS60500117A (ja) 1985-01-24
JPH0695676B2 true JPH0695676B2 (ja) 1994-11-24

Family

ID=23802624

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59500447A Expired - Lifetime JPH0695676B2 (ja) 1982-12-28 1983-12-07 バス競合の解決のための方法と装置

Country Status (6)

Country Link
US (1) US4642630A (ja)
EP (1) EP0130206B1 (ja)
JP (1) JPH0695676B2 (ja)
CA (1) CA1199383A (ja)
DE (1) DE3376179D1 (ja)
WO (1) WO1984002629A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4745548A (en) * 1984-02-17 1988-05-17 American Telephone And Telegraph Company, At&T Bell Laboratories Decentralized bus arbitration using distributed arbiters having circuitry for latching lockout signals gated from higher priority arbiters
EP0187503A3 (en) * 1984-12-31 1987-08-19 Xerox Corporation Shared line communication system
DE3507343A1 (de) * 1985-03-01 1986-09-04 Siemens AG, 1000 Berlin und 8000 München Verfahren zur pegelregulierung von nachrichteninformationen
DE3636317A1 (de) * 1985-10-25 1987-04-30 Yamatake Honeywell Co Ltd Datenuebertragungssystem mit ueber eine uebertragungsschleife uebermittelten senderechtsanforderungssignalen
JPH0632518B2 (ja) * 1985-12-27 1994-04-27 株式会社東芝 情報伝送システム
GB8606217D0 (en) * 1986-03-13 1986-04-16 Univ Strathclyde Local area network priority control system
US4788543A (en) * 1986-11-05 1988-11-29 Richard Rubin Apparatus and method for broadcasting priority rated messages on a radio communications channel of a multiple transceiver system
US4855997A (en) * 1987-12-21 1989-08-08 Allied-Signal, Inc. Priority queuing technique for content induced transaction overlap (CITO) communication system
US4872163A (en) * 1988-12-22 1989-10-03 American Telephone And Telegraph Company Contention mechanism for communication networks
FR2642244B1 (fr) * 1989-01-24 1991-05-03 Peugeot Procede et dispositif d'acces hierarchise a un reseau de transmission d'informations
US5131007A (en) * 1989-06-09 1992-07-14 General Electric Company Digital voter for multiple site PST R trunking system
US5131010A (en) * 1989-10-12 1992-07-14 General Electric Company Voice guard digital voter for multiple site PST RF trunking system
US5243702A (en) * 1990-10-05 1993-09-07 Bull Hn Information Systems Inc. Minimum contention processor and system bus system
EP0625751A1 (de) * 1993-05-14 1994-11-23 Siemens Aktiengesellschaft Sicheres Informationsübertragungsverfahren für einen Bus
US6529933B1 (en) 1995-06-07 2003-03-04 International Business Machines Corporation Method and apparatus for locking and unlocking a semaphore
US6377587B1 (en) * 1996-12-26 2002-04-23 Cypress Semiconductor Corp. Data packet format and handling for serial communications with embedded reverse channel responses
US5841778A (en) * 1997-11-21 1998-11-24 Siemens Business Communication Systems, Inc. System for adaptive backoff mechanisms in CSMA/CD networks
US6397282B1 (en) * 1998-04-07 2002-05-28 Honda Giken Kogyo Kabushikikaisha Communication controller for transferring data in accordance with the data type
US6633564B1 (en) * 1999-09-22 2003-10-14 Nortel Networks Limited Method and apparatus for inserting packets into a data stream
US7305008B2 (en) * 2001-03-14 2007-12-04 Siemens Communications, Inc. Parallel bus LAN
US8667194B2 (en) * 2003-12-15 2014-03-04 Finisar Corporation Two-wire interface in which a master component monitors the data line during the preamble generation phase for synchronization with one or more slave components
US8225024B2 (en) 2004-03-05 2012-07-17 Finisar Corporation Use of a first two-wire interface communication to support the construction of a second two-wire interface communication
US7809993B2 (en) * 2006-01-17 2010-10-05 International Business Machines Corporation Apparatus, system, and method for receiving digital instructions at devices sharing an identity
CN103297090B (zh) * 2012-02-29 2015-04-08 北京爱朗格瑞科技有限公司 工频载波通讯总线的抢占方法和装置
CN112130904B (zh) * 2020-09-22 2024-04-30 黑芝麻智能科技(上海)有限公司 处理系统、处理器间通信方法、以及共享资源管理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3757301A (en) * 1971-06-17 1973-09-04 Eaton Corp Single cable signaling system
US4145735A (en) * 1977-02-02 1979-03-20 Nippon Steel Corporation Monitor for priority level of task in information processing system
US4447873A (en) * 1977-09-13 1984-05-08 Westinghouse Electric Corp. Input-output buffers for a digital signal processing system
US4225919A (en) * 1978-06-30 1980-09-30 Motorola, Inc. Advanced data link controller
US4271467A (en) * 1979-01-02 1981-06-02 Honeywell Information Systems Inc. I/O Priority resolver
US4271507A (en) * 1979-06-07 1981-06-02 Ford Motor Company Communication broadcast channel interface
US4359731A (en) * 1980-08-22 1982-11-16 Phillips Petroleum Company Communication link contention resolution system
IT1144160B (it) * 1981-03-12 1986-10-29 Cselt Centro Studi Lab Telecom Sistema di accesso multiplo di terminali su una linea telefonica numerica
US4488218A (en) * 1982-01-07 1984-12-11 At&T Bell Laboratories Dynamic priority queue occupancy scheme for access to a demand-shared bus
US4472712A (en) * 1982-03-05 1984-09-18 At&T Bell Laboratories Multipoint data communication system with local arbitration

Also Published As

Publication number Publication date
US4642630A (en) 1987-02-10
EP0130206B1 (en) 1988-03-30
CA1199383A (en) 1986-01-14
WO1984002629A1 (en) 1984-07-05
EP0130206A1 (en) 1985-01-09
DE3376179D1 (en) 1988-05-05
JPS60500117A (ja) 1985-01-24

Similar Documents

Publication Publication Date Title
JPH0695676B2 (ja) バス競合の解決のための方法と装置
US4542380A (en) Method and apparatus for graceful preemption on a digital communications link
US5001642A (en) Method for operating a data processing system
US4439859A (en) Method and system for retransmitting incorrectly received numbered frames in a data transmission system
EP0035789B1 (en) Method and arrangement for loop initialization in a peer-to-peer serial loop communication system
US4396983A (en) Distributed data processing system having several local system and communication modules for use in such data processing system
US4332027A (en) Local area contention network data communication system
EP0051794B1 (en) Distributed-structure message switching system on random-access channel for message dialogue among processing units
EP0074865A2 (en) Expandable and contractible local area network system
JPS63296540A (ja) 単一集積回路マイクロ制御器におけるマルチプロトコル通信制御器
JP2700843B2 (ja) 多重通信制御装置
IE922105A1 (en) High speed transmission line interface
GB2250897A (en) Error recovery in data communication systems.
US4623885A (en) Method and arrangement for distribution of send permission to terminals in a telecommunication network
US5095481A (en) Technique for active synchronization of the content induced transaction overlap (CITO) communication channel
JPS5986940A (ja) マルチドロツプ方式の情報伝送方式
JPH0234518B2 (ja)
JP2874983B2 (ja) 通信装置
JPS59158159A (ja) デ−タ伝送装置
JPH0136740B2 (ja)
JPS59154875A (ja) 画像信号の不在通信方式
JPH0149065B2 (ja)
JPH01235436A (ja) データバス制御装置
JPH05199284A (ja) データ転送制御装置
JPH06205018A (ja) シリアル多重通信システム