JP3437688B2 - バス形シリアル通信制御方式 - Google Patents

バス形シリアル通信制御方式

Info

Publication number
JP3437688B2
JP3437688B2 JP24549395A JP24549395A JP3437688B2 JP 3437688 B2 JP3437688 B2 JP 3437688B2 JP 24549395 A JP24549395 A JP 24549395A JP 24549395 A JP24549395 A JP 24549395A JP 3437688 B2 JP3437688 B2 JP 3437688B2
Authority
JP
Japan
Prior art keywords
transmission
bit string
node
circuit
identification bit
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 - Fee Related
Application number
JP24549395A
Other languages
English (en)
Other versions
JPH0969847A (ja
Inventor
毅 矢嶋
政隆 斉藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP24549395A priority Critical patent/JP3437688B2/ja
Publication of JPH0969847A publication Critical patent/JPH0969847A/ja
Application granted granted Critical
Publication of JP3437688B2 publication Critical patent/JP3437688B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、小規模のネットワ
ークを構築するために、各OA(オフィスオートメーシ
ョン)やFA(ファクトリオートメーション)機器に組
み込むシリアル通信回路や、これらに外付けするシリア
ル通信装置、あるいは自動車や自動販売機等の各種産業
機器内部の配線を簡素化するためにメカトロ制御をする
部分に実装されるような、シリアル通信回路等に有効
な、バス形シリアル通信制御方式に関するものである。
【0002】
【従来の技術】ローカルエリアネットワーク(LAN)
のアクセス制御方式として、CSMA/CD(Carrier S
ense Multiple Acess with Collision Detection) 方式
が知られている。CSMA/CD方式は、電文の送信に
先だって電文の流れる伝送路上に信号が乗っているかど
うかを調べ、信号が乗っていない場合に電文送出を開始
し、もし送出中に他ノードとの衝突を検出した場合に
は、送信を中断し再び伝送路が空くまで送信を保留する
方式である。しかし、この方式特有の欠点は、衝突検出
回路が必要となりコスト高となることである。
【0003】衝突検出回路の不要な方式として、CSM
A/ACK方式がある。この方式は、送信ノードでは直
接衝突を検出しない。送信ノードが、受信ノードからの
ACK(Acknowledge)を待ち、ACKが来ないとき再送
を試みる方式である。しかし、この方式特有の欠点は、
衝突が発生したときにも、電文全体の送信時間とACK
待ち時間を費やしてしまうことである。また、両方式に
共通した欠点は、競合した全てのノードがアクセス権を
獲得できずに送信が延期される場合があることである。
従って従来のアクセス制御方式では、アクセス権獲得の
再試行を何回行なえばあるいは何mS後には確実に送信
権を獲得できるかという最大送信遅延保証をすることは
極めて困難であった。
【0004】さて、機器内部に構成されるLANでは、
即時性が要求される通信がある。そこで、転送レートを
例えば1Mbit /s以上に高速に設計することを想定し
てみる。ところが、低価格なワンチップCPUで直接シ
リアルデータを1バイトずつ送受信する方法は、シリア
ル送受信割り込み処理間隔が約10uS以下と極めて短く
なり、高速化は実現困難となる。つまり転送レートを上
げて即時性を確保しようとすると、送受信バッファ回路
を含む通信専用LSIの追加や、通信以外の処理を分業
するためのCPU追加や、高速伝送可能なケーブルへの
変更などが必要となり、コストアップしてしまう。伝送
路の利用効率を良くすれば、転送レートが低くて済むた
め安価に構成できる。伝送路の利用効率を高めるには、
衝突頻度を減らすこと、電文送信開始遅延時間を減らす
ことを実現する必要がある。
【0005】衝突頻度は、伝送路の空きを検知してから
送信が開始され、他ノードが送信できないことを検知す
るまでの遅延時間に依存する。この遅延時間は、伝送路
の空きを検知してから送信を開始するまでの時間と、伝
送線路の伝達遅延時間とを合計した時間である。小規模
なLANでは、伝送線路の伝達遅延はほとんど無視し得
る。従って、伝送路の空きを検知してから送信を開始す
るまでの時間を短縮できれば、衝突頻度も大幅に減らせ
るわけだが、実際には、CPUの実行速度の限界から、
例えば0.5〜4uSほどの遅れがあり、それだけで衝
突頻度を低くすることは困難である。
【0006】電文送信開始遅延時間とは、あるノード内
で電文送信イベントが発生してから衝突なく電文送信が
開始されるまでの時間である。伝送路の利用効率が高く
なると、他ノードが伝送路を使用中に電文送信イベント
が発生し、伝送路の開放待ちになる場合が増える。そし
て伝送路の開放直後に多数のノードの電文が伝送路に殺
到することが多くなる。たとえ0.5〜4uSという短
い許容時間であっても競合が高い確率で起こってしまう
ことになる。そこで、伝送路の空きチェックをして、伝
送路が使用中だったとき、次に空きチェックを行なうま
での待ち時間(延期時間)や、衝突検出後、次に再試行
するまでの待ち時間(バックオフ時間)を、乱数や試行
回数に応じて変化させたり、あるいは予め各ノードに固
有の待ち時間を割りつけておく方法が用いられていた。
しかし、このような待ち時間差により衝突頻度を減らす
方法は、電文送信開始遅延時間を長くすることになり、
伝送路の利用率を下げていることにほかならない。つま
り、従来のシリアル通信のアクセス制御方式では、衝突
頻度低減と電文開始遅延時間短縮を同時に実現すること
が難しく、伝送路の利用効率をあまり高くすることはで
きなかった。そのため、転送速度を向上せざるを得ず、
高転送レートに対応したハードウェアが必要となり、コ
スト高であった。
【0007】
【発明が解決しようとする課題】ところで、OA(オフ
ィスオートメーション)やFA(ファクトリオートメー
ション)機器に組み込むシリアル通信回路や、これらに
外付けするシリアル通信装置、あるいは自動車や自動販
売機等の各種産業機器内部の配線を簡素化するためにメ
カトロ制御をする部分に実装されるような、シリアル通
信回路等には、リアルタイム処理が要求されるから、何
mS後に確実に送信権を獲得できるという最大送信遅延
保証がなければ、正常な制御は不可能になる。さらに、
この種の通信回路は、低価格に小規模のLANを構成す
ることが要求されることから、複雑なハードウエアの追
加は現実的でない。
【0008】
【課題を解決するための手段】本発明は以上の点を解決
するため以下の構成を採用する。 〈構成1〉本発明は、複数のノード間で共通の伝送路を介して電文
が送受信され、伝送路にワイヤード論理として所定の信
号レベルが形成されるバス形シリアル通信制御方式であ
って、伝送路のワイヤード論理に対しそれぞれ所定の論
理値をとるべくビット列パターンのそれぞれ相違する複
数の識別ビット列が、各ノードに自己の識別ビット列と
して割り当てられ、かついずれかのノードに、自己の識
別ビット列と少なくとも一以上の他のノードに割り当て
た識別ビット列とのワイヤード論理で得られる論理値を
示す優先ビット列パターンを保持させ、各ノードは、電
文を伝送路に対し送受信する送受信回路と、伝送路の空
きが検出されると、伝送路を非ワイヤード論理の信号レ
ベルからワイヤード論理の信号レベルに設定して伝送路
に自己の識別ビット列を送信する送信回路と、設定信号
レベルを有する伝送路上からビット列を取り込む受信回
路と、取り込んだビット列のビット列パターンが自己の
識別ビット列のビット列パターン及び優先ビット列パタ
ーンを保持する場合にはパターンのいずれかと一致する
か否かを比較し、一致すると送信権の獲得と判定して電
文を送受信回路から送信させ、不一致で電文の送信を停
止させるビット列パターン比較判定部と、を含むことを
特徴とする。
【0009】〈説明〉 複数のノードは、共通の伝送路を介して接続され、電文
はその共通の伝送路上にシリアルに出力される。従っ
て、共通の伝送路は、2以上のノードから出力される電
文が競合しないように使用される。電文の送信をしよう
としているときには、伝送路に信号が乗っていないこと
を確認し、その確認後に自己の識別ビット列が送出され
る。自己の識別ビット列の送出が開始されれば、即座に
伝送路に信号が乗ったことになる。従って、あるノード
自己の識別ビット列の送出を開始した後、別のノード
が、それよりも大幅に時間的にずれたタイミングで識別
ビット列を重なるように送出してしまうことは起こらな
い。
【0010】複数のノードからほぼ同時に自己の識別ビ
ット列が送出されると、伝送路上でこれらの識別ビット
列がワイヤード論理に基づいて各ビット毎に重ね合わさ
れる。即ち、ノードの送信回路の制御により信号レベル
がワイヤード論理により設定されるので、識別ビット列
の各ビットの信号レベルは、中途半端な信号レベルにな
るようなことはなく、各論理値を示す明確な信号レベル
になる。即ち、ワイヤード論理を形成するというのは、
送信回路の出力が、このように論理的に合成されるよう
な回路により相互に接続されていることをいう。従っ
て、受信されるビット列は、不確定なビット列ではな
く、同時に送出された複数の自己の識別ビット列が重ね
合わされた明瞭なビット列パターンになる。
【0011】いずれかのノードは自己の識別ビット列が
割り当てられる外に優先ビット列パターンを保持してい
る。このノードは自己の識別ビット列を送信回路から送
出した後に受信したビット列のパターンが、自己の識別
ビット列に対応させたビット列パターン又は優先ビット
列パターンに適合したときのいずれかで電文の送信が許
可される。こうして電文送信の競合は回避される。しか
も、優先ビット列パターンを用いることで、同時に電文
送信をしようとしたノードのうちいずれのノードが送
信権を得るのかを自由に設定することができる。
【0012】〈構成2〉伝送路はインピーダンス素子により所定信号レベルに設
定される電線から成り、送信回路は、インピーダンス素
子の作用に討ち勝って電線をワイヤード論理の信号レベ
ルに切り替えるためのスイッチ素子と、そのスイッチ素
子を、出力すべき論理値に対応させてオンオフする出力
回路とを有することを特徴とする。 〈説明〉 送信回路の出力が、電気信号を伝送する電線から構成さ
れる共通の伝送路上で、論理的に合成されるような回路
を実現するために、この例では、スイッチ素子を使用し
た。インピーダンス素子は、電線をある信号レベルに至
らしめるが、スイッチ素子がONしたときは、ワイヤー
ド論理の信号レベル(優性な信号レベル)に切り換わ
る。従って、電線に複数の送信回路が接続されていたと
しても、電線の信号レベルは、すべての送信回路のスイ
ッチ素子がOFF状態のときにインピーダンス素子で生
成される信号レベルと、スイッチ素子が一つ以上ON状
態のときに得られる信号レベルとの、2つの信号レベル
しかない。
【0013】〈構成3〉送信回路は、共通の伝送路とし
ての光路に光を放射させる発光素子と、発光素子をオン
オフさせる回路とからなり、受信回路は、各ノードの発
光素子から放射された光を受光し電気信号に変換する受
光回路である。 〈説明〉送信回路の出力が、光信号を伝送する光路から
構成される共通の伝送路上で、論理的に合成されるよう
な回路を実現するために、この例では、送信回路に発光
素子を使用し、受信回路に受光素子を使用した。発光素
子をONすると伝送路に光が放射される。全ての発光素
子がOFFのとき、伝送路は、暗い状態となる。複数の
送信回路の一つ以上の発光素子をONした場合には伝送
路が明るい状態となる。つまり、伝送路上で、明るい状
態と暗い状態の2つの状態のみを生成可能であり、2つ
の状態を2つの論理値に対応させることによりワイヤー
ド論理が形成される。
【0014】〈構成4〉伝送路は抵抗により所定信号レベルに設定される電線か
ら成り、送信回路は、スリーステートドライブ素子を含
み、スリーステートドライブ素子は、自己の識別ビット
列の送信時に駆動され、抵抗により生成される信号レベ
ルとは反対の信号レベルをワイヤード論理として電線に
設定し、電文の送信時に電線の信号レベルをローレベル
とハイレベルのいずれかに設定することを特徴とする。
【0015】〈説明〉 スリーステートドライブ素子を電線のワイヤード論理の
電圧レベルの設定に用いれば、識別ビット列の送出時に
は、スリーステートドライブ素子がOFFのときにハイ
インピーダンスにして、スイッチ素子として動作させ、
ワイヤード論理を実現できる。一方、電文の送信時に
は、スリーステートドライブ素子をハイインピーダンス
にせずに電文を出力するため、ハードウエアがコンパク
トで且つノイズに強い回路になる。
【0016】
【0017】
【0018】
【0019】〈構成5〉 送信回路は自己の識別ビット列を分割して間欠的に送信
し、ビット列パターン比較判定部は、受信したビット列
のパターンが分割ビットのパターンと一致する毎に送信
回路に次の分割ビットを送信させることを特徴とする。 〈説明〉自己の 識別ビット列の送出およびパターン判定が、多段
階に行われる。もし、途中の判定で、NGとなれば、
の後の分割ビット列は送出されない。従って、同時に
己の識別ビット列の送出を開始したノード同士の淘汰が
早期に行われることにより、識別ビット列の全ビット数
を増やすことなくノード数の拡張が行なえる。
【0020】 〈構成6〉 伝送路はノード間で電文をシリアル伝送する第1の電線
及び通信を制御する信号を伝送する第2の電線を有し、
各ノードは、第2の電線の信号レベルをその空きを検出
すべく検知する検知回路と、第2の電線をワイヤード論
理に対応する電圧レベルに設定し、第1の電線に自己の
識別ビット列を送信する送信回路と、第1の電線からビ
ット列を取り込む受信回路と、電文の送信完了後に送信
回路の動作を停止させる送信完了通達手段とを更に含む
ことを特徴とする。
【0021】〈説明〉 まず第2の電線が、非ワイヤード論理の電圧レベルにあ
るときは、第1の電線が使用中の状態であることを意味
している。各ノードは、電文の送信に先だって、第2の
電線の信号レベルをチェックする。この第2の電線の信
号レベルが優性でない場合に限り、自ノードが第2の電
線を優性な信号レベルに至らしめることにより、他ノー
ドに第1の電線を使用開始することを知らしめる。第2
の電線を優性な信号レベルにした後、自ノードの識別ビ
ット列を第1の電線に送出する。ここで、複数のノード
が、識別ビット列を送出する場合も有り得るが、識別ビ
ット列の送出する段階に到達できるノードは、ごく短い
時間に、第2の電線が優性でない状態を検知できたノー
ド同士であるから、大幅にずれたタイミングで識別ビッ
ト列が送出されることはない。
【0022】ほぼ同時に識別ビット列を送出した複数の
ノードがあったとしても、受信したビット列が、自ノー
ド固有のビット列パターンに適合したときにのみ、電文
の送信が許可されるため、電文送信の競合は回避され
る。電文の送信が終了すると、スイッチ素子をオフにす
ることにより第2の電線が優性な信号レベルでなくな
る。よって、第1の電線が未使用状態になったことが第
2の電線の信号レベルによりわかる。
【0023】〈構成7〉 検知回路は、第2の電線が非ワイヤード論理の電圧レベ
ルになったときにスタートするタイマと、タイマに設定
した時間の経過で第2の電線の電圧レベルを調べ、もし
優性な信号レベルでなければ自己の識別ビット列を送出
させるために割り込みを発生させる割り込み回路とを有
することを特徴とする。 〈説明〉 例えば今、ノードAが、電文を送信中であるとする。こ
の時点で、別のノードB内部で送信要求イベントが発生
したとする。送信しようとしたノードBが第2の電線を
調べたとき、第2の電線がワイヤード論理の優性な信号
レベルだったとする。ノードBは、ノードAが送信完了
し第2の電線が優性な信号レベルでなくなるのを待つ。
第2の電線が優性でない信号レベルになったときタイマ
がスタートし所定時間後に割り込みが発生する。割り込
みが発生すると第2の電線の信号レベルを調べ、もし優
性な信号レベルでなければ識別ビット列の送出をする。
一方、ノードBと同様にノードCも、電文を送信しよう
としており、やはり第2の電線が優性でない信号レベル
になったときタイマがスタートし所定時間後に割り込み
が発生する。しかし、ノードCは、タイマの設定時間を
ノードBに比べて長めにしてあるとする。割り込みが発
生し第2の電線の信号レベルを調べたときにはもう既に
ノードAが第2の電線を優性な信号レベルにしており、
その結果、ノードCは、送信権を獲得できない。以上の
ようにタイマの設定時間を短くすれば、通信路が開放さ
れた直後の送信権の優先レベルを高くできる。タイマの
設定時間により、送信権の優先順位付けが実現できる。
【0024】〈構成8〉 検知回路は、第2の電線がワイヤード論理の電圧レベル
に設定されてから、ノードグループ毎に予め定めた時間
の経過後に、他のノードが識別ビット列を送出していな
いことを検知し、送出されていないときに限りグループ
内の各ノード固有に定めた識別ビット列を第1の電線に
送出することを特徴とする。 〈説明〉 送信したいノードが第2の電線を優性な信号レベルにし
てから、他のノードから識別ビット列が送出されていな
いことを確認するまでの時間は、ノードのグループ毎に
変えてある。もし識別ビット列が既に送出されていたら
自ノードは、識別ビット列を送出しない。従って、第2
の電線を優性な信号レベルにした複数のノードに異なる
グループが混在していても、そのノードグループのうち
最も早く識別ビットを送出するように設定された優先度
の高いノードグループのみが識別ビット列を送出するこ
とになる。従ってグループが異なれば、識別ビット列が
重複していてもよいので、識別ビット列のビット数を増
やすことなく多数のノードの送信権の調停が可能であ
る。
【0025】〈構成9〉 受信回路は、第2の電線が非ワイヤード論理の電圧レベ
ルのとき、第1の電線から入力されるビット列を遮断す
ることにより受信動作を阻止することを特徴とする。 〈説明〉受信 回路は、第2の電線が優性な信号レベルにあるとき
のみ第1の電線の信号を有効とみなす。従って、どこも
送信を行っていないとき、ドライブされていない状態に
ある第1の電線にノイズが乗ったとしても、誤ってシリ
アル信号として受信してしまうことを阻止できる。
【0026】
【0027】
【0028】
【0029】
【0030】
【0031】
【発明の実施の形態】以下、本発明の実施の形態を具体
例を用いて説明する。 (A)具体例1 図1は、具体例1の方式の一例を示す機能ブロック図で
ある。図に示したノード1は、制御部2によって共通の
伝送路3に対し所定の電文を送信しあるいは共通の伝送
路3から電文を受信して一定の動作を行うものである。
これらは、例えば各種産業機器の内部に組み込まれ、シ
リアル通信によって各種の機構を動作させるために設け
られているものとする。
【0032】ノード1は、この目的のために、共通の伝
送路3と接続される電文の送受信回路4、送信回路5及
び受信回路6を備えている。また、制御部2には識別ビ
ット列送受信回路7、電文送信の競合回避部8及び電文
送信部9が設けられている。電文の送受信回路4は、共
通の伝送路3に対し実際に装置各部の制御用のコマンド
等を含む電文を送受信するための回路である。制御部2
の電文送信部9は、このノード1から送信すべき電文を
生成し、電文の送受信回路4に供給するための回路であ
る。送信回路5は、本発明により共通の伝送路3を使用
する場合の競合調整を図るために識別ビット列を送出す
る回路である。受信回路6は、共通の伝送路3からその
共通の伝送路3上に伝送される識別ビット列を取り込む
回路である。このような識別ビット列の送受信制御は、
図2における識別ビット列送受信回路7が行う。また、
識別ビット列を送信し、更にその識別ビット列を受信す
ることによって電文送信の競合を回避するために、電文
送信の競合回避部8が設けられている。ここにはビット
列パターン比較判定部10が設けられ、後で説明するよ
うな要領で受信した識別ビット列と所定の識別ビット列
を比較し、共通の伝送路3を使用する送信権があるかど
うかの判定を行う。送信権を獲得すれば、電文送信部9
が電文送信処理を開始する。これらの具体的な動作等は
後で説明するが、まず始めに共通の伝送路3の具体的な
例を説明する。本発明を実施するには、この共通の伝送
路3には電気信号を伝送する電線や光信号を伝送する光
ファイバ等各種のものが採用される。
【0033】(A1)共通の伝送路に搬送波の流れる電
線を用いた例 図2は、共通の伝送路に電線を用いた例を示す結線図で
ある。図のように、伝送路3は、搬送波を発生させるオ
シレータ11と、オシレータ11の出力インピーダンス
を定めるインピーダンス素子12と、電線13を2本か
ら成る。ノードを接続するときは、結合度の強い絶縁ト
ランス15を介して、ノード側の伝送線を結合する。ノ
ード側の伝送線2本は、スイッチ素子16をオンすると
短絡するようになっている。ノード内には図1に示した
シリアル信号から成る電文の送受信回路を内蔵してい
る。図1に示した送信回路5は、スイッチ素子16をド
ライバ素子17を介してオン/オフする。この伝送路3
の信号論理レベルをレシーバ18が検波し、図1に示し
た受信回路6が取り込む。接続された全てのノードのス
イッチ素子16がオフのときは、伝送路3の負荷インピ
ーダンスは高いので、搬送波はほとんど減衰せずに伝送
路3に現れる。各ノードのレシーバ18は減衰しない搬
送波に対応する論理値を内部回路1−1へ出力する。一
方、スイッチ素子16がひとつでもオンすると、伝送路
3の負荷インピーダンスが小さくなり、搬送波の減衰が
激しくなり、各ノードのレシーバ18は、先ほどとは別
の論理値を内部へ出力する。後者の論理値を、優性な信
号レベルと定義する。
【0034】(A2)共通の伝送路に光路を用いた例 図3は、共通の伝送路に光路を用いた例を示すブロック
図である。この図では、光の通る空間が伝送路にあた
る。各ノード1は、発光素子21と、受光素子22と、
送信回路5と、受信回路6、そして図1に示した制御部
等から成る。送信回路5には、発光素子21を点灯/消
灯するためのスイッチ素子が含まれる。各ノードの発光
素子21の放射する光は、各ノードの受光素子22に到
達する。自ノードの発光素子21の発した光も自ノード
の受光素子22に入る。全てのスイッチ素子がオフであ
れば、発光素子21全てが消灯し、暗い状態になり、各
ノードの受信回路6の出力する論理値は、暗い状態に対
応した論理値となる。どこかのノードのスイッチ素子が
ひとつでもオンしていれば、各ノードの受光素子22に
光が達し、各ノードの受信回路6の出力する論理値は明
るい状態の論理値になる。後者の論理値を、優性な信号
レベルと定義する。
【0035】(A3)送信回路にスリーステートドライ
ブ素子を用いた例 図4は、別の共通の伝送路の例を示し、送信回路にスリ
ーステートドライブ素子を用いた場合の結線図である。
図の伝送路3は、抵抗25でプルアップされた電線であ
る。信号用の電線26の他に電源ライン27,28も一
緒に配線される。各ノードの主要部品は、シリアル信号
の送受信回路を内蔵した内部回路1−1と、レシーバ素
子31と、スリーステートドライブ素子32である。ス
リーステートドライブ素子32のスリーステートコント
ロール入力端子は、2入力NANDゲート33の出力に
接続している。2入力NANDゲート33の入力の1つ
は、内部回路1−1の送信出力TXDに接続し、もう1
つの入力は、内部回路1−1のI/Oポート出力“OPEN
COLLECTOR MODE (オープンコレクタモード)”端子に
接続している。“OPEN COLLECTOR MODE ”端子がL(ロ
ー)レベルの場合には、スリーステートドライブ素子3
2は、スリーステート状態が禁止される(ドライブモー
ドとなる)。スリーステートドライブ素子32は、“OP
EN COLLECTOR MODE ”端子がH(ハイ)レベルの場合に
は、TXDがHならスリーステートモードとなり、TX
DがLならドライブモードとなる。そしてTXDがLの
とき、スリーステートドライブ素子32の出力は、Lで
ある。つまり、“OPEN COLLECTOR MODE ”端子がHレベ
ルのとき、スリーステートドライブ素子32は、オープ
ンコレクタ素子と同等の動作をする。また“OPEN COLLE
CTOR MODE ”端子がLレベルのとき、スリーステートド
ライブ素子は、ドライブモードとなり、H/L両レベルと
もドライブしてTXDの信号を出力する。
【0036】この回路は、次のように使う。オープンコ
レクタモードは識別ビット列の送出時に設定し、ドライ
ブモードは電文の送信時に設定する。識別ビット列の送
出時には、オープンコレクタモードでTXDの信号が伝
送路に出力されるので、伝送路上でワイヤード論理が形
成される。全てのノードのスリーステートドライブ素子
32の出力がオープン状態の時、伝送路は、抵抗25に
より電源にプルアップされているので、伝送路3の電線
26は、Hレベルとなる。いくつかのノードのスリース
テートドライブ素子がLレベルにドライブし、それ以外
のスリーステートドライブ素子32がオープン状態のと
きは、伝送路3の電線26は、Lレベルとなるのであ
る。伝送路3の電線26のLレベルを優性な信号レベル
と定義する。電文送信時には、ドライブモードとするの
で、ノイズに強く、送信データの誤り率を低減すること
ができる。
【0037】(A)具体例1の動作 さて、以上述べた3つの例では、伝送媒体が、電線や光
であり異なるが、伝送路上で、複数のノードの送信回路
の出力が、ワイヤード論理を形成している点は共通す
る。つまりどちらの例でも、優性な信号レベルを論理値
1に対応させるならば、伝送路を介してワイヤードOR
が実現されている。具体例1のノードの動作を、図5の
フローチャートに沿って説明する。
【0038】まず、電文の送信に先だって、電文の送信
権を獲得する必要がある。電文の送信権を得るため、最
初に伝送路が空いているかを確認する(ステップS
1)。伝送路が空いているかどうかは、例えば、シリア
ル信号として調歩同期式のシリアル信号を用いる場合で
あれば、受信回路がキャラクタを受信しない状態が一定
時間以上続いたことを検知すればよい。伝送路が空いて
いない場合には、ステップS7の送信権獲得リトライ処
理に進み、伝送路が空くまで待つ。伝送路が空いていた
場合には、後述する識別ビット列を送信回路から伝送路
に送出する(ステップS2)。そして、伝送路上を経由
した識別ビット列を受信回路で受信する(ステップS
3)。次に、受信した識別ビット列が自ノード固有のビ
ット列パターンに適合するか比較する(ステップS
4)。適合しない場合には、ステップS7の送信権獲得
リトライ処理に進み、再度、伝送路が空くのを待つ。適
合する場合には、送信権を獲得したと判断し、電文の送
信処理へ進む(ステップS8)。
【0039】伝送路の空きが確認されてから識別ビット
列の送出開始までの時間Td は極力短くなるように設計
する。この短時間に、他のノードが伝送路の空きを検知
することがある。そのため、識別ビット列の送出が複数
のノードで発生しうる。しかし、複数のノード間の識別
ビット列の送出タイミングは、大幅にずれることはな
い。ビット単位時間に対し、そのタイミングずれを1/
5〜1/10以下になるようにTd とボーレートとを設
計しておけば、複数の識別ビット列の各ビット毎のワイ
ヤード論理結果を受信することができる。
【0040】図6は、ノードAとノードBとが送信権を
獲得しようとして同時に識別ビット列を送出した様子を
示したタイムチャートである。識別ビット列は、8ビッ
トで構成されている。ノードAの識別ビット列は例えば
07H、ノードBの識別ビット列は1FHである。ワイ
ヤード論理形成時の優性な信号レベルは、Lレベル(論
理値0)とする。
【0041】ノードAは、伝送路が空いていることを確
認し識別ビット列07Hを送出する。TXDは送信信号
である。また、RTSは1ワードの区切りを示すタイミ
ング信号である。一方、ノードBも、ほぼ同じタイミン
グで伝送路が空いていることを確認し識別ビット列1F
Hを送出する。すると、論理値0が優性な信号レベルで
あるから、伝送路上で07Hと1FHとがワイヤードA
NDされることになる。その結果、ノードAとノードB
は、07Hと1FHとのビット論理積値07Hを識別ビ
ット列として受信する。RXDは受信信号である。ノー
ドAは、07Hを受信すれば送信権を獲得したと判断す
る。ノードBは、1FHを受信すれば送信権を獲得した
と判断する。今の場合、両ノードとも07Hを受信した
ので、ノードAは、送信権を獲得し、電文の送信を開始
するが、ノードBは、送信権の獲得を失敗したと判断
し、電文の送信は開始しない。
【0042】(A4)識別ビット列と受信ビット列 図7は、送出する識別ビット列と、適合すべきビット列
パターンの例を示す。図の例では、ノードは、5つあ
る。各ノードの送出する識別ビット列は、4ビットで構
成し、ワイヤード論理形成時の優性な信号レベルを論理
値1で示している。各ノードには、送出する識別ビット
列が定めてある。また、送信権を獲得できる受信ビット
列は、各ノードに1〜2個の固有のビット列が割り付け
てある。図7の識別ビット列の組は、次の性質を持つ。
各ノードの識別ビット列の送出が様々な組み合わせで重
なることにより、受信し得る識別ビット列r(1) 、r
(2) 、…全てについて、識別ビット列r(k) を受信する
事象から少なくともひとつの識別ビット列t(k) が送出
されたことが判明可能である。つまり、r(k) を生成す
るのに不可欠なt(k) が、出現しうる全てのr(k) につ
いて存在するようにt(k) を選定する。この性質によ
り、同時に識別ビット列を送出したノードのうちいずれ
かのノードが必ず送信権を獲得できることになる。r
(k) が受信される場合、t(k) を送出したノードが送信
権を得ることにすればよいからである。
【0043】図7に示した5つの送出する識別ビット列
について、更に具体的な説明をする。識別ビット列の集
合S={0000,0001,0011,1010,1110}のべき集合Pをま
ず考える。Pの要素p(n) (n=0,1,…31) は、例えば次の
ようになる。 p(0)={} p(1)={0000}, p(2)={0001},…, p(5)={1110}, p(6)={0000,0001}, p(7)={0000,0011},…, p(16)={0000,0001,0011},… … p(31)={0000,0001,0011,1010,1110}
【0044】次に、p(n)の要素全ての論理和を各p(n)毎
に求め、同じ論理和値になるp(n)同士を集めてグループ
を作る。すると、7つのグループができる。この様子を
示した図が、図8である。各グループの論理和値がr
(k) (k=1,2,…7)である。どのグループも、グループ内
のp(n)は、必ず共通のビット列を含んでいる。この共通
のビット列のひとつをt(k) とする。これで、r(k) か
らt(k) への対応づけができたから、逆に、t(k) から
r(k) への対応表を作ることができる。同じt(k) のビ
ット列同士でグループを作り、各グループにノード番号
を割り振る。同じグループに属するr(k) が、そのノー
ドが送信権を獲得できる受信ビット列である。すると図
7のようになるのである。
【0045】(A5)識別 図9に、更に優れた識別ビット列の例を示す。また図1
0は、図8と同様に各ノードの識別ビット列の送出の組
み合わせを全て列挙し、受信される識別ビット列毎に分
類した表である。前例の識別ビット列の組みでは、図7
のようにノード4番と5番において、送信権を獲得でき
る受信ビット列を複数指定されていた。しかし、図9に
示す識別ビット列の組みでは、どのノードについてもひ
とつの受信ビット列が指定されており、しかも受信ビッ
ト列は、自ノードの送出した識別ビット列に等しくなっ
ている。従って、受信ビット列の判定が簡単である。識
別ビット列をこのように組み合わせると取扱いが非常に
容易になる。
【0046】(A6)識別ビット列を部分的に送出し判
定する方法 以上述べた性質を持つ識別ビット列は、そのビット列が
Nビットで構成されているとき、最大N+1個の(送出
用)識別ビット列を選出可能である。つまり、Nビット
の識別ビット列で、最大N+1個のノードまで扱って
も、必ずいずれかのノードが送信権を獲得するようにで
きる。もちろん、どこのノードも送信権が獲得できない
ケースを許すならば、N+1個より多くの(送出用)識
別ビット列を設けても良い。
【0047】ノード数が多く、しかも必ずいずれかのノ
ードが送信権を得るようにしたい場合、良い方法があ
る。識別ビット列を部分的に送出し判定する方法であ
る。この方法を用いると、Nビットの識別ビット列で、
N+1個の何倍ものノードまで扱ったとしても、必ずい
ずれかのノードが送信権を獲得するようにできるのであ
る。図11は、その1例を示したフローチャートであ
る。
【0048】電文の送信権を得るために先ず伝送路が空
いているかを確認し(ステップS1)、空いていた場
合、識別ビット列の1ビット目だけ送出する(ステップ
S2)。そして、識別ビット列の1ビット目を受信する
(ステップS3)。受信した識別ビット列が自ノード固
有のビット列の1ビット目に適合するか比較する(ステ
ップS4)。適合しない場合には、送信権獲得リトライ
処理へいく(ステップS1)。適合した場合には、識別
ビット列の2〜4ビット目を送出する(ステップS
6)。そして識別ビット列の2〜4ビット目を受信する
(ステップS7)。受信したビットが自ノード固有のビ
ット列2〜4ビット目に適合するか比較する(ステップ
S8)。適合しない場合には、ステップS11の送信権
獲得リトライ処理へいく。適合した場合、送信権を獲得
できたものと判断し、電文の送信を開始する(ステップ
S10)。
【0049】通常ワンチップマイコンに内臓されたシリ
アル通信回路は、1ビットのみの送信および受信ができ
るようには設計されていない。そこで、I/Oポートの
出力端子をプログラムにより、直接操作する方法で送信
すれば良い。受信に関してもI/Oポートの入力端子か
らビット中央のタイミングでその入力端子の論理レベル
を読み取ればよい。
【0050】以上述べた方法の特徴は、識別ビット列を
部分的に送出後、受信ビットが適合しない場合、識別ビ
ット列の残りのビットが送出されない点である。図11
の例では、識別ビット列4ビットのうち最初の1ビット
が適合したノード同士が残り3ビットの識別ビット列を
送出し判定する。3ビットで3+1=4つのノードま
で、送信権の獲得で全滅しないようにできる。こうし
て、識別ビット列の最初の1ビット目が論理値1のノー
ドを4つ、論理値0のノードを4つ設けることができ
る。つまり、この例では、識別ビット列が4ビットであ
っても、送信権の獲得で全滅しない条件を満たしながら
8つのノードを扱える。この例では、4ビットの識別ビ
ット列の1ビット目の送出と残り3ビットの送出の間に
判定を行なっているが、先頭2ビットの送出と後半2ビ
ットの送出の間に判定を行なえば、前半で3通り、後半
で3通り、トータル3×3=9つのノードを、送信権の
獲得で全滅しない条件を満たしながら扱える。また、送
出を2段階よりももっと多段階にしてもよい。例えば、
1ビットずつ送出する都度、判定を行なうならば、4ビ
ットの識別ビット列で、2×2×2×2=16個のノー
ドを、送信権の獲得で全滅しない条件を満たしながら扱
えることになる。
【0051】(B)具体例2 図12は、具体例2の方式の回路ブロック図である。ま
ず、電線が、各ノードに共通に引かれ、且つ2種類の信
号を並列に伝送できるようになっている。第1の電線
は、データラインDNと称し、シリアル通信データの伝
送線である。第2の電線は、コントロールラインCNと
称し、主に、バス制御のための信号線である。平衡形の
伝送形式の場合、図12のように、データラインのDT
−PとDT−N、コントロールラインのCN−PとCN
−N、計4本の電線を用いる。もちろん、不平衡形の伝
送形式を用いても差し支えない。
【0052】各ノード1には、図のようにワンチップC
PU40を用いる。ワンチップCPU40には、調歩同
期式のシリアル通信回路(UART)41と、ワンショ
ットタイマ42と、割り込みコントローラ43と、図示
しないROM、RAM、I/Oポートが内蔵されてい
る。各ラインの信号は、ラインドライバ/レシーバ44
により、インターフェィスされる。各ラインに接続され
た各ノードのドライバ44−1,44−2の全てが出力
オープンの状態のときに、電線を信号のOFFレベルに
確定させるためのプルアップ抵抗又はプルダウン抵抗4
5,46が、各電線に接続してある。コントロールライ
ンCNに接続されたドライバ44−2のスリーステート
コントロール端子は、ワンチップCPUのI/Oポート
出力端子CN_OUTに接続される。このドライバ44−2の
データ入力端子は、ハイレベルに固定されている。つま
り、ドライバ44−2は、片方にのみドライブする、オ
ープンコレクタタイプの出力をするドライバである。こ
うしてコントロールラインCNにワイヤード論理を形成
している。コントロールラインCNのレシーバ44−4
の出力は、ワンチップCPU40のI/Oポート入力端
子CN_INに接続される。データラインのドライバ4
4−1は、図4と同様に、通信回路の送信出力TXDの
信号を、ドライブして出力するモードと、オープンコレ
クタで出力するモード(片方のみドライブするモード)
との2つが、出力端子 *DT_OUT とNANDゲート48
により選択可能である。データラインDNのレシーバ4
4−3は、NANDゲート47を介して通信回路のRX
D端子に接続される。
【0053】図13は、具体例2の送信処理を説明する
フローチャートである。送信処理を行なっていない状態
では、コントロールラインCNのドライバ44−2とデ
ータラインDNのドライバ44−1は、どちらもOFF
状態である。まず、ノード内で送信要求が発生すると、
CPU40は、コントロールラインがOFF状態かどう
か確認する(ステップS1)。もし、オン状態なら他ノ
ードが送信中か送信権獲得中であるから、自ノードは、
送信権獲得失敗となり、送信権獲得リトライ処理に進む
(ステップS11)。コントロールラインCNがOFF
状態ならば、自ノードがコントロールラインCNをON
する(ステップS2)。そして、データラインDNのド
ライバ44−1をオープンコレクタモードにして、自ノ
ード固有の識別ビット列をデータラインDNに送出する
(ステップS3)。そして、データラインDNから識別
ビット列を受信する(ステップS4)。次に、受信した
識別ビット列が、自ノード固有のビット列パターンに適
合するか比較する(ステップS5、S6)。識別ビット
列については、具体例1と同様に決定しておく。もし、
受信した識別ビット列が、自ノード固有のビット列パタ
ーンに適合しない場合は、コントロールラインCNのド
ライバ44−1の出力をOFFし(ステップS10)、
ステップS11の送信権獲得リトライ処理へ進む。適合
する場合は、送信権を獲得できたと判断し、電文の送信
を開始する(ステップS7)。ステップS8で送信が完
了したら、コントロールラインCNをOFFする(ステ
ップS9)。以上が送信の一連処理である。
【0054】図14は、ノードAが送信を完了後に、ノ
ードBが送信権を得て電文送信した動作例を示すタイム
チャートである。各信号に付けた記号は図12に示した
通りである。ノードBとノードCの両者が送信権を獲得
しようとしているとする。まず、ノードAが送信を完了
すると、コントロールラインがOFFすることにより、
送信権が開放される。ノードBは、コントロールライン
OFFを検知すると、すかさずコントロールラインをO
Nする。ノードCも、ほぼ同時にコントロールラインO
FFを検知し即座にコントロールラインをONする。次
に、ノードBは識別ビット列(送信ID)03Hをデー
タラインに送出し、ノードCは識別ビット列(送信I
D)3FHを送出する。ここで、両者の識別ビット列の
送出タイミングがほぼそろうように、コントロールライ
ンをONした時点から識別ビット列を送出開始する時点
までの時間を、全ノードを通じて等しく設計する。
【0055】従って、両者の識別ビット列は、ビット毎
に対応がとれた状態でデータライン上でワイヤード論理
(この例では論理積)がとられ、03H&3FH=03
Hが結果として両ノードに受信される。ノードBは、ビ
ット列03Hを受信したことで送信権を獲得できたと判
断し、電文の送信を開始する。一方ノードCは、ビット
列03Hを受信したことで送信権の獲得を失敗したと判
断しCN_OUTをOFFしている。ノードBは、電文
の送信を完了すると、送信権を開放するため、CN_O
UTをOFFしている。以上のように、コントロールラ
インは、送信権要求と、送信権保持を連絡するためのラ
インとして機能する。
【0056】(B1)送信権のプライオリティ 送信権獲得リトライをする場合、コントロールラインが
OFFするのを待つ必要がある。定期的にコントロール
ラインをセンスする方法はCPU負担が大きいので割り
込みを使うと良い。さて、電文送信のためにコントロー
ルラインOFFを待っているノードが複数あるとする。
これらノードが送信する電文のうちどのノードの電文送
信を次に行なうようにするかを設定しておくことができ
る。つまりバス開放直後の送信権にプライオリティを設
定することができる。そのために、図12に示したワン
ショットタイマと割り込みコントローラを使う。ワンシ
ョットタイマの入力は、CN_IN端子の信号である。
【0057】図15は、プライオリティに基づく送信権
調停動作例を示したタイムチャートである。ノードBと
ノードCが送信権を獲得したいが、ノードAが送信中だ
ったとする。この場合、ノードBとノードCは、コント
ロールラインOFFを待つために、ワンショットタイマ
の割り込みを許可しておく。図15において、まずノー
ドAが送信完了しコントロールラインがOFFする。す
ると、CN_IN信号もOFFし、CN_IN信号OF
Fをトリガとしてワンショットタイマが動作開始する。
ワンショットタイマの時間は、ノードBがtb、ノード
Cがtcであり、tb<tcに設定してある。ノードB
は、コントロールラインOFFからtb後に割り込みが
発生する。割り込み処理として図13の送信処理のうち
の送信権獲得までの部分(ステップS1〜ステップS
6)を行なう。
【0058】割り込みが発生するとまずコントロールラ
インOFFを確認後コントロールラインをONするので
ある。その後、図13のフローチャートのステップS7
に従って送信権を獲得し、電文の送信を行なっている。
一方、ノードCは、コントロールラインOFFからtc
後に割り込みが発生する以前に、コントロールラインが
ONしたため、ワンショットタイマにリセットが入り、
結局この部分では割り込みが発生していない。つまり、
ノードBがコントロールラインをノードCよりも先行し
てONしたことにより、ノードCの送信権獲得処理が延
期されたのである。
【0059】ワンショットタイマは、送信要求の有無に
関らずに、コントロールラインがOFFに変化したとき
はいつも動作する。さて、ワンショットタイマが動作中
は、図13の送信処理フローの実行は、延期すべきであ
る。なぜならプライオリティの高いノードがコントロー
ルラインOFF待ちの状態なのに、プライオリティの低
いノードが、送信権を得てしまうことが起こりうるから
である。つまり図13でコントロールラインがOFFに
なってからノードBが送信権獲得リトライでコントロー
ルラインをONするまでの間に、別のノードが、送信権
獲得リトライではなく初回でコントロールラインOFF
を確認し送信権を得てしまうことがあるのである。これ
を避けるため、ワンショットタイマが動作中でないこと
を確認後、図13の送信処理を実行するようにすればよ
い。もし、ワンショットタイマが動作中ならば、タイマ
が停止するまで待つようにする(割り込みを使って送信
権獲得リトライと同じ扱いにするとよい。)。
【0060】なお、複数のノードに同じプライオリティ
(つまり同じタイマ時間)を設定しても問題はない。送
信権の排他性は送信権獲得処理で保たれているからであ
る。またプライオリティ(つまりタイマ時間)は、ノー
ドに対し定めるものであってもよいし、電文の種類に対
して決めたものであっても良い。また、場合によって
は、送信権獲得リトライ回数がアップする毎に、プライ
オリティを高くするようにしてもよい。また、ワンショ
ットタイマは、コントロールラインONでリセットする
ことにより、獲得し得ぬ送信権獲得処理の実行を省くこ
とができる。しかし、コントロールラインONでワンシ
ョットタイマにリセットをしない方法を採用しても支障
はない。
【0061】プライオリティ制御をする場合、選考間隔
(どれだけの時間的な範囲内に発生した送信要求から選
考するのかということ)が重要である。選考間隔が短時
間であると、プライオリティの意味がない。逆に選考間
隔を長くすることは、一般のプライオリティ制御方法で
は、伝送路の利用効率を落とすことになる。しかし、本
方式の選考間隔は、その時点でバスを使用しているノー
ドのバス占有時間であるため、1電文の長さとして十分
な時間であり、かつ選考間隔のための時間経過中、伝送
路は使用状態であるので、伝送路の利用効率をほとんど
落とさない。最高で唯一のプライオリティを割り当てれ
ば、必ず1電文の時間以内に送信権が獲得できる。
【0062】送信権獲得のリトライでなく初回にコント
ロールラインがOFFしていれば、プライオリティに関
係なく(つまりワンショットタイマの時間に関係なく)
即座にコントロールラインをONして、送信権の獲得動
作に移れる。送信権獲得リトライで失敗する場合、事前
に送信権獲得処理を実行開始させる割り込みが発生しな
いようにできるので、CPU時間を浪費しない。更に、
プライオリティが高くなるほど、タイマ時間が短くでき
るという効果がある。
【0063】(B2)識別ビット列の縮小 ノード数が多い場合、識別ビットのビット数も増える。
しかし、次の方法によれば、識別ビットのビット数を増
やさずに、多くのノードを扱うことができる。まず、ノ
ード全体をいくつかのグループに分ける。たとえば、全
ノード数が15のとき、5個ずつの3グループに分け
る。そして、グループ内では、図7や図9に示したよう
な、各ノード固有の識別ビット列組みを割りつける。た
だし、グループ間では、重複しても良い。たとえば、3
つのグループ全て共通に、図9の識別ビット列を、グル
ープ内の5つのノードに割り当てて良い。
【0064】図16は、その方法を示すフローチャート
である。図13との相違点は、ステップS2でコントロ
ールラインをONした後、ノードグループ固有の時間
(グループ内は同一の時間)だけ待つステップS3と、
待った後、データラインに識別ビット列が送出されてい
ないことを確認するステップS4が追加されている点で
ある。データラインに識別ビット列が送出されているか
どうかは、図12に示した通信回路のRTS(Request T
o Send )信号を用いる。RTS信号は、受信回路がシリ
アル信号のスタートビットの前端を検知するとOFF
し、ストップビットまでサンプリングし終わるとONす
る信号である。つまりRTS信号がOFFなら識別ビッ
ト列が送出されたと判断する。ただし、RTS信号をみ
る時点が識別ビット列のストップビットよりも前である
必要がある。これはRTS信号がON状態に戻ってしま
うからである。
【0065】図17は、本方法の動作を示したタイムチ
ャートである。ノードBとノードCが、送信権獲得のた
めにほぼ同時にコントロールラインをONしたとする。
ノードBとノードCとは、属するグループが異なると
し、コントロールラインをONしてから識別ビット列を
送出開始するまでの時間をそれぞれ、Tb、Tc(Tb
<Tc)とする。ノードBがTb経過した時点でRTS
信号ONを確認後識別ビット列を送信開始すると、RT
S信号がOFFに変化する。ノードCは、コントロール
ラインをONしてからTc経過した時点でRTS信号を
調べる。既にノードBが識別ビット列の送出を開始して
いるからRTS信号はOFFしている。よってノードC
は、識別ビット列の送出を行なわず、CN_OUTをO
FFして送信権獲得リトライ処理へ進む。
【0066】以上のように、短い時間を割り当てたグル
ープのノードと長い時間を割り当てたグループのノード
とが重なった場合には、短い時間を割り当てたグループ
のノードのみが識別ビット列を送出するのだから、グル
ープ間で識別ビット列が重複しても問題ないわけであ
る。従って、全ノード数が多くても、グループ分けして
識別ビット列を割りつけることにより、識別ビット列の
ビット数の増加を抑えることができることになる。識別
ビット列を送出するときは、ワイヤード論理形成で処理
できるように、データラインドライバをオープンコレク
タモードにする。電文を送信するときは、データライン
ドライバを、ドライブモードにし、データ伝送の信頼性
を高める。もちろんオープンコレクタモード固定として
も方式上は何ら問題ない。
【0067】(B3)ノイズ防止 図18には、アイドル時のノイズが除去される状況を示
す。どのノードも送信を行なっていないアイドル状態で
は、データラインはプルアップ抵抗やプルダウン抵抗が
付いてはいるものの、ドライブされている時に比べイン
ピーダンスが高くなっており、誘導ノイズ等が乗り易
い。そこで、図12のように通信回路の受信入力RXD
は、データラインレシーバ出力に直接接続せずに、CN
_IN信号がONしている時のみデータラインレシーバ
出力が入力されるようにゲートしたほうがよい。
【0068】(C)具体例3 具体例3の回路構成は、具体例2と同様に図12の回路
ブロック図で表される。図19は、送信側の送達確認処
理フローである。まず、ステップS1で送信権を獲得す
る。この段階でCN_OUTはONされる。次に電文を
送信する(ステップS2)。受信側は、流れ始めた電文
が自分宛だと判ると受信側もCN_OUTをONする。
送信側は、電文を送信し終わるとCN_OUTをOFF
する(ステップS3)。その後、コントロールラインを
調べる(ステップS4)。もしコントロールラインがO
FFなら受信応答がないと判断し、ステップS7の再送
処理へ移る。コントロールラインがONなら現時点から
コントロールラインがOFFするまでの時間を計測す
る。つまり、時間計測しながらコントロールラインがO
FFするのを待つ(ステップS5)。受信側は、電文を
正常に受信できると即座にCN_OUTをOFFする
が、正常に受信できなかった場合には、所定時間置いた
のちにCN_OUTをOFFする。送信側は、コントロ
ールラインがOFFすると、計測した時間を判定する
(ステップS6)。もし、時間内にコントロールライン
がOFFしていなかったら、受信側で正常に受信できな
かったのだと判断し、ステップS8の再送処理へ進む。
時間内にコントロールラインがOFFしていた場合は、
正常に受信側で受信できたと判断し、送信処理を終了す
る。
【0069】図20は、電文の受信処理を示すフローチ
ャートである。まず電文先頭のリンクコードを受信する
(ステップS1)。リンクコードは、送信ノードNoと
受信ノードNoを指定するコードである。受信側のノー
ドは、リンクコードを識別して自分宛かどうか判断す
る。自分宛でない場合には次の電文のリンクコードまで
読み飛ばす(ステップS3)。自分宛と判断した場合に
は、CN_OUTをONする(ステップS4)。その
後、1キャラクタずつ受信し(ステップS5,S6)、
パリティエラー等が検出された場合には、ステップS7
からステップS8に移り、所定時間Tnack経過するのを
待ってCN_OUTをOFFし、受信異常として受信中
の1電文全てを無効とする(ステップS9)。全電文を
受信完了したら、ステップS5からステップS10に移
り、電文のチェックコードを確認する。もしチェック正
常ならCN_OUTを即座にOFFする(ステップS1
1)。もしチェック異常ならステップS8に移り、所定
時間Tnack経過するのを待ってCN_OUTをOFF
し、受信異常として受信した1電文全てを無効とする
(ステップS9)。なお、Tnack時間経過待ちの最中に
キャラクタを受信した場合には、その時点から更にTna
ck時間経過するのを待つ。これは、送り手と受け手で電
文の区切りが食い違っているような場合に問題のないよ
うにするためである。
【0070】なお、ステップS11では送信側で、CN
_OUTを電文送信完了後にOFFすると述べたが、C
N_OUTをOFFするタイミングは、電文の宛て先情
報を送出し、宛て先のノードが受信応答としてコントロ
ールラインをONしたことをキャッチできるタイミング
であればよい。従って送信電文の途中でCN_OUTを
OFFし、受信応答を確認しても良い。ただし、受信応
答がなかった場合、電文の残りを送出はしてはいけな
い。なぜなら受信応答がなかった場合には、送信ノード
がCN_OUTをOFFした時点でコントロールライン
がOFFしており、送信権を放棄した状態になっている
からである。
【0071】図21〜図23は、以上述べた送達確認方
法の動作を示すタイムチャートである。これらのタイム
チャートでは、電文送信完了後にCN_OUTをOFF
にするのではなく、最後のチェックコード送出前にCN
_OUTをOFFしている。もし、その後コントロール
ラインがOFFしているならば、受信応答がないと判断
し電文最後のチェックコードは送出しない。図21は、
受信側で正常に電文を受信できた場合を示したタイムチ
ャートである。チェックコード送出前にCN_OUTを
OFFし、コントロールラインがONしていることを確
認後、チェックコードを送出している。そのT1時間経
過後にコントロールラインがOFFしたことを検知し、
T1が所定値以下の時間であったので、正常に電文を通
信できたと判断する。図22は、受信応答のない場合の
タイムチャートである。送信ノードがCN_OUTをO
FFした後、コントロールラインがOFFしたことを検
知したので受信応答がないと判断し、チェックコードの
送出は取りやめている。
【0072】図23は、受信データに異常を検出した場
合のタイムチャートである。受信ノードは、受信データ
の異常を検知し、キャラクタの受信が途切れた後、Tna
ck時間待ってからCN_OUTをOFFしている。一
方、送信側は、送信ノードのCN_OUTをOFFして
からT2時間後にコントロールラインOFFを検知して
いるが、所定時間をオーバしているので、受信側でデー
タの異常を検知したのだと判断する。この送達確認方法
の特徴は、シリアル信号としてACKを返すのではない
ので、受信側でACKを出力してから送信側で受け取る
までの時間が短縮できる点にある。同報通信(複数の宛
て先にひとつの電文で送信すること)の場合にもその複
数のACK、複数のNACKがバス調停なしに返信でき
る。(ただし、受信すべきノードすべてが応答したかを
確認できないという制約はある。)
【0073】(D)具体例4 具体例4の回路構成は、具体例2と同様に図12の回路
ブロック図で表される。送信権の調停には、コントロー
ルラインを用いる。電文送信中は、コントロールライン
をONさせる。故に、コントロールラインを調べること
でデータラインが空いているか否かを確認できる。図2
4は、この具体例の送信処理を示すフローチャートであ
る。まず、送信したいノードはコントロールラインがO
FF状態であることを確認する(ステップS1)。も
し、ON状態のときは、送信権獲得リトライ処理に進む
(ステップS10)。OFF状態の時は、OFF確認直
後にコントロールラインをONする(ステップS2)。
そして、自ノード固有の時間だけ待った後(ステップS
3)、CN_OUTをOFFする(ステップS4)。C
N_OUTをOFFした後、CN_INを調べる(ステ
ップS5)。CN_INがONなら、同時に送信権を獲
得しようとしている他ノードに送信権があると判断し、
自ノードは送信権獲得リトライ処理へ進む(ステップS
11)。CN_INがOFFなら、自ノードが送信権を
獲得できたと判断し、すかさずCN_OUTをONする
(ステップS6)。そして、電文の送信を開始する(ス
テップS7)。電文の送信を完了すると(ステップS
8)、CN_OUTをOFFし送信処理を終了する(ス
テップS9)。
【0074】図25は、この具体例の送信処理を示すタ
イムチャートである。ノードAが送信完了後、ノードB
とノードCがほぼ同時に送信権を得ようとしている場合
の例である。まず、ノードAが送信完了すると自ノード
のCN_OUTをOFFするので、コントロールライン
はOFF状態になる。この状態が、送信権が開放されて
いる状態である。少し後に、ノードBは、送信権を獲得
するために、まずコントロールライン(CN_IN)O
FFを確認後、すかさずCN_OUTをONしTα後に
CN_OUTをOFFしている。そしてCN_OUTを
OFFに変化させたことが、コントロールラインを経由
してCN_INに反映されるまでの安定時間Tfを確保
した後、コントロールライン(CN_IN)OFFを確
認できたので、送信権獲得成功と判断し、再びCN_O
UTをONして、電文の送信を開始している。
【0075】一方、ノードCも送信権を獲得するため
に、ノードBとほぼ同じタイミングでコントロールライ
ン(CN_IN)OFFを確認後、すかさずCN_OU
TをONし、Tβ後にCN_OUTをOFFしている。
さて、コントロールラインは、ワイヤード論理が形成で
きるように構成されている。ワイヤード論理における優
性な信号レベルは、コントロールラインONに対応す
る。つまり、コントロールラインONを論理値1とする
なら、ワイヤード論理は、論理和となる。今TαがTβ
+Tfより短いとする。ノードAのTα幅の論理値1の
パルスとノードBのTβ幅の論理値1のパルスの論理和
がとられた結果、各ノードのCN_IN端子には、Tα
幅のパルスが現れる。Tα>Tβ+Tfだから、ノード
CがCN_OUTをONしてからTβ後にOFFし、さ
らにTf後にCN_INを調べた時点では、CN_IN
はONしていることになる。その結果ノードCは、送信
権獲得失敗であると判断する。
【0076】CN_OUTをONしてからOFFするま
でのパルス幅Tは、各ノード固有に設定されるが、それ
らのパルス幅の差は、Tfの時間以上でないといけない
ことは、明らかである。また、最初にコントロールライ
ンOFFを確認してから、コントロールラインをONす
るまでの時間や伝送路の伝播遅延時間が無視できるほど
小さくない時は、これらの時間も加味して、パルス幅の
差を拡大して設定する。
【0077】(D1)CN_INのOFF検知 さて、図25において、ノードBは、送信権獲得に成功
している。だが、もし、CN_OUTをOFFしてから
CN_INをチェックするまでの時間Tγに他のノード
がコントロールラインOFFを検知してコントロールラ
インをONしてくると、ノードBは、送信権獲得に失敗
してしまう。そして、後から割り込んできたノードに送
信権が移ってしまうことが起こり得る。これを避けるに
は、最初のコントロールラインOFFを検知する際、T
f以上の時間、継続してコントロールラインがOFFし
ていることを検知すれば良い。更に、ノードBがCN_
OUTをOFFしてから再びONするまでの時間Tγ
に、他のノードが、コントロールラインのOFFを検知
して成功し得ない送信権獲得処理を続行してしまうこと
もある。
【0078】これを避けるには、Tγ以上の時間、継続
してOFFしていることを検知すれば良い。Tγ>Tf
なので、後者の対策をすればよい。具体的手段として例
えば、Tγ以上の時間間隔をおいて2回、コントロール
ラインをチェックし、2回ともコントロールラインがO
FFだったとき、その時に限りコントロールラインをO
Nできることにし、1回でもコントロールラインがON
だったときは、送信権獲得失敗とすればよい。あるい
は、コントロールラインを2回チェックする代わりに、
コントロールラインがONからOFFに変化したときに
トリガがかかりTγ以上の時間だけ動作後に停止するワ
ンショットタイマを用いても良い。コントロールライン
がOFFで、且つワンショットタイマが動作中でない時
に限り、コントロールラインをONできることにし、そ
れ以外の場合は、送信権獲得失敗とすればよい。
【0079】図26は、CN_OFF検知回路の例を示
す。また、図27は、その入出力信号を示す。図のよう
にCN_IN信号の先にダイオード51とCR積分回路
を用いてもよい。ダイオード51は、CN_IN信号が
ONしたとき、CR積分回路の出力が追従しONするよ
うに、抵抗52に並列に付加する。つまり、積分回路の
出力端子に、ダイオード51のカソードがつながる。積
分回路の出力は、コンデンサ53により接地すると共に
CPUのI/Oポート入力端子につながる。図27のよ
うに、CN_IN信号のTγ幅のOFFパルスが積分回
路に入力したとき、積分回路を経由しI/Oポートに入
力され2値化された結果がOFFレベルにならないよう
にCRの時定数を決定する。送信処理においてCPU
は、CN_IN信号をみる代わりに、このI/Oポート
をみればよい。
【0080】
【発明の効果】以上説明した本発明のバス形シリアル通
信制御方式には、それぞれ次のような効果がある。A、
A1、A2、A3、A4、A5、A6、Bに示した具体
例では、同時に複数のノードが送信権を獲得しようとし
た時、各ノードに割りつける識別ビット列により、予め
どのノードに送信権があるのかを決めておけるので、ど
のノードも送信権を獲得できないという事態を回避でき
る。従って、必ずどこかのノードの送信処理が進むこと
になるから、送信遅延保証が可能である。
【0081】また、B、B1、B2、B3に示した具体
例では、第2の電線により、送信権の開放や保持の連
絡、送信権の優先順位付けを実現できる。また、第2の
電線を優性な信号レベルにしてから識別ビット列を送出
するまでの時間差を用いて、識別ビット列のビット数を
増やすことなく多数のノードの送信権の調停が可能にな
る。また第2の電線が優性な信号レベルの場合のみ第1
の電線の信号を有効とみなすことにより、どこも送信を
行なっていないときに第1の電線に乗ったノイズの影響
を除去できる。
【0082】更に、Cの具体例では、第2の電線を用い
た送達確認方法で、ACKをシリアル信号として返すの
ではないので、受信側でACKを出力してから送信側で
受け取るまでの時間が短縮できる。また同報通信の場合
にもその複数のACK,NACKがバス調停なしに返信
できる。また、D、D1の具体例では、第2の電線に出
力するパルス幅を用いた送信権調停方法で、同時に複数
のノードが送信権を獲得しようとした時、各ノードに割
りつけるパルス幅により、予めどのノードに送信権があ
るのかを決めておけるため、どのノードも送信権を獲得
できないという事態を回避できる。従って、必ずどこか
のノードの送信処理が進むことになるから、送信遅延保
証が可能である。
【0083】また、A,B,C,Dのいずれの発明も、
伝送路の利用効率を高めるので、低い転送レートで目的
の通信系を設計でき、ハードウェアを低価格に構成でき
る。
【図面の簡単な説明】
【図1】具体例1のバス形シリアル通信制御方式機能ブ
ロック図である。
【図2】共通の伝送路の例説明図である。
【図3】共通の伝送路の例説明図である。
【図4】共通の伝送路の例説明図である。
【図5】具体例1の動作フローチャートである。
【図6】送信権獲得動作タイムチャートである。
【図7】識別ビット列と受信ビット列の説明図である。
【図8】r(K) からt(K) への対応付け説明図である。
【図9】判定容易な識別ビット列説明図である。
【図10】r(K) からt(K) への対応付け説明図であ
る。
【図11】識別ビット列を部分的に送出する方法のフロ
ーチャートである。
【図12】具体例2の方式の回路ブロック図である。
【図13】具体例2による送信処理フローチャートであ
る。
【図14】送信権獲得動作タイムチャートである。
【図15】送信権獲得動作タイムチャートである。
【図16】識別ビット列縮小時の動作フローチャートで
ある。
【図17】送信権獲得動作タイムチャートである。
【図18】ノイズ防止法説明図である。
【図19】具体例3の送達確認処理フローチャートであ
る。
【図20】具体例3の電文受信処理フローチャートであ
る。
【図21】送信確認動作タイムチャートである。
【図22】送信確認動作タイムチャートである。
【図23】送信確認動作タイムチャートである。
【図24】具体例4の動作フローチャートである。
【図25】具体例4の送信処理タイムチャートである。
【図26】CN_INのOFF検知回路である。
【図27】検知回路の入力信号波形図である。
【符号の説明】
1 ノード 2 制御部 3 共通の伝送路 4 電文の送受信回路 5 送信回路 6 受信回路 7 識別ビット列送受信回路 8 電文送信の競合回避部 9 電文送信部 10 ビット列パターン比較判定部
フロントページの続き (56)参考文献 特開 昭59−86940(JP,A) 特開 昭61−195036(JP,A) 特開 昭61−222345(JP,A) 特開 平1−188053(JP,A) 特開 平3−273730(JP,A) 特開 昭64−7746(JP,A) 特開 平2−104147(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04L 12/40

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のノード間で共通の伝送路を介して
    電文が送受信され、前記伝送路にワイヤード論理として
    所定の信号レベルが形成されるバス形シリアル通信制御
    方式であって、 前記伝送路のワイヤード論理に対しそれぞれ所定の論理
    値をとるべくビット列パターンのそれぞれ相違する複数
    の識別ビット列が、前記各ノードに自己の識別ビット列
    として割り当てられ、かついずれかのノードに、前記自
    己の識別ビット列と少なくとも一以上の他のノードに割
    り当てた識別ビット列との前記ワイヤード論理で得られ
    る論理値を示す優先ビット列パターンを保持させ、 前記各ノードは、 前記電文を前記伝送路に対し送受信する送受信回路と、 前記伝送路の空きが検出されると、該伝送路を非ワイヤ
    ード論理の信号レベルからワイヤード論理の前記信号レ
    ベルに設定して該伝送路に前記自己の識別ビット列を送
    信する送信回路と、 前記設定信号レベルを有する伝送路上からビット列を取
    り込む受信回路と、 該取り込んだビット列のビット列パターンが前記自己の
    識別ビット列のビット列パターン及び前記優先ビット列
    パターンを保持する場合には該パターンのいずれかと一
    致するか否かを比較し、一致すると送信権の獲得と判定
    して前記電文を前記送受信回路から送信させ、不一致で
    前記電文の送信を停止させるビット列パターン比較判定
    部と、 を含むことを特徴とするバス形シリアル通信制御方式。
  2. 【請求項2】 前記伝送路はインピーダンス素子により
    所定信号レベルに設定される電線から成り、前記送信回
    路は、前記インピーダンス素子の作用に討ち勝って前記
    電線をワイヤード論理の信号レベルに切り替えるための
    スイッチ素子と、そのスイッチ素子を、出力すべき論理
    値に対応させてオンオフする出力回路とを有することを
    特徴とする請求項1記載のバス形シリアル通信制御方
    式。
  3. 【請求項3】 前記送信回路は、 共通の伝送路としての光路に光を放射させる発光素子
    と、発光素子をオンオフさせる回路とからなり、前記 受信回路は、 各ノードの発光素子から放射された光を受光し電気信号
    に変換する受光回路であることを特徴とする請求項1記
    載のバス形シリアル通信制御方式。
  4. 【請求項4】 前記伝送路は抵抗により所定信号レベル
    設定される電線から成り、 前記送信回路は、 スリーステートドライブ素子を含み、 スリーステートドライブ素子は、前記自己の識別ビッ
    ト列の送信時に駆動され、前記抵抗により生成される信
    号レベルとは反対の信号レベルを前記ワイヤード論理と
    して前記電線に設定し、前記電文の送信時に前記電線の
    信号レベルをローレベルとハイレベルのいずれかに設定
    することを特徴とする請求項1記載のバス形シリアル通
    信制御方式。
  5. 【請求項5】 前記送信回路は自己の識別ビット列を分
    割して間欠的に送信し、 前記ビット列パターン比較判定部は、受信したビット列
    のパターンが前記分割ビットのパターンと一致する毎に
    前記送信回路に次の分割ビットを送信させることを特徴
    とする請求項1記載のバス形シリアル通信制御方式。
  6. 【請求項6】 前記伝送路は前記ノード間で前記電文を
    シリアル伝送する第1の電線及び通信を制御する信号を
    伝送する第2の電線を有し、 前記各ノードは、前記第2の電線の信号レベルをその空
    きを検出すべく検知する検知回路と、 前記第2の電線を前記ワイヤード論理に対応する電圧レ
    ベルに設定し、前記第1の電線に前記自己の識別ビット
    列を送信する送信回路と、 前記第1の電線からビット列を取り込む受信回路と、 電文の送信完了後に前記送信回路の動作を停止させる送
    信完了通達手段とを更に含むことを特徴とする請求項1
    記載のバス形シリアル通信制御方式。
  7. 【請求項7】 前記検知回路は、 前記第2の電線が非ワイヤード論理の電圧レベルになっ
    たときにスタートするタイマと、該タイマに設定した時
    間の経過で前記第2の電線の電圧レベルを調べ、もし優
    性な信号レベルでなければ前記自己の識別ビット列を送
    出させるために割り込みを発生させる割り込み回路とを
    有することを特徴とする請求項6記載のバス形シリアル
    通信制御方式。
  8. 【請求項8】 前記検知回路は、 前記第2の電線がワイヤード論理の電圧レベルに設定さ
    れてから、ノードグループ毎に予め定めた時間の経過後
    に、他のノードが識別ビット列を送出していないことを
    検知し、送出されていないときに限りグループ内の各ノ
    ード固有に定めた識別ビット列を前記第1の電線に送出
    することを特徴とする請求項6記載のバス形シリアル通
    信制御方式。
  9. 【請求項9】 前記受信回路は、 第2の電線が非ワイヤード論理の電圧レベルのとき、第
    1の電線から入力されるビット列を遮断することにより
    受信動作を阻止することを特徴とする請求項6記載のバ
    ス形シリアル通信制御方式。
JP24549395A 1995-08-30 1995-08-30 バス形シリアル通信制御方式 Expired - Fee Related JP3437688B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24549395A JP3437688B2 (ja) 1995-08-30 1995-08-30 バス形シリアル通信制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24549395A JP3437688B2 (ja) 1995-08-30 1995-08-30 バス形シリアル通信制御方式

Publications (2)

Publication Number Publication Date
JPH0969847A JPH0969847A (ja) 1997-03-11
JP3437688B2 true JP3437688B2 (ja) 2003-08-18

Family

ID=17134491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24549395A Expired - Fee Related JP3437688B2 (ja) 1995-08-30 1995-08-30 バス形シリアル通信制御方式

Country Status (1)

Country Link
JP (1) JP3437688B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5899414B2 (ja) * 2011-12-15 2016-04-06 パナソニックIpマネジメント株式会社 換気システム

Also Published As

Publication number Publication date
JPH0969847A (ja) 1997-03-11

Similar Documents

Publication Publication Date Title
US5001642A (en) Method for operating a data processing system
CA1300276C (en) System for data arbitration and collision detection on a data bus
US4719458A (en) Method of data arbitration and collision detection in a data bus
US4988990A (en) Dual master implied token communication system
EP2625825B1 (en) Method for digital communication between a plurality of nodes connected by a serial field bus and corresponding system, in particular a field control system or field surveyance system
US5166678A (en) Dual master implied token communication system
EP0435037B1 (en) Master slave industrial token passing network
US5140586A (en) Token associated data network communications protocol
WO1989011187A1 (en) Reconfigurable local area network
JP3323538B2 (ja) 配電回路上での情報伝送の管理方法、その実施用装置ならびにホームシステム内の通信に対するこの方法の応用
JPH0228939B2 (ja)
JPS58502130A (ja) ローカル・エリア論理ネットワーク・システム
US5982781A (en) Process for information transmission in a bus system having several participants
CA1278871C (en) Method of data arbitration and collision detection on a data bus
JP3437688B2 (ja) バス形シリアル通信制御方式
US20030058882A1 (en) Deterministic field bus and process for management of such a bus
JPH1174889A (ja) トポロジー修正方式
CN1036736C (zh) 能缓和从站锁定问题的通信总线***
JP2000324150A (ja) 光二重ループ管理スイッチ回路
KR20010015056A (ko) 네트워크 노드사이에서 신호를 교환하기 위한 회로 및 방법
JP3155763B2 (ja) 信号処理装置
JP2739239B2 (ja) 通信網のノード装置
JPH0193942A (ja) データ伝送方法
JP2886273B2 (ja) 通信制御装置
JP2001111579A (ja) 伝送装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090606

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090606

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100606

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100606

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees