JP3628056B2 - 通信バスシステムおよびそれに用いるマスタ局 - Google Patents
通信バスシステムおよびそれに用いるマスタ局 Download PDFInfo
- Publication number
- JP3628056B2 JP3628056B2 JP03074895A JP3074895A JP3628056B2 JP 3628056 B2 JP3628056 B2 JP 3628056B2 JP 03074895 A JP03074895 A JP 03074895A JP 3074895 A JP3074895 A JP 3074895A JP 3628056 B2 JP3628056 B2 JP 3628056B2
- Authority
- JP
- Japan
- Prior art keywords
- station
- slave
- master
- master station
- sequence
- 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
Links
- 238000004891 communication Methods 0.000 title claims description 19
- 238000001514 detection method Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 101100230900 Arabidopsis thaliana HEXO1 gene Proteins 0.000 description 1
- 101100230901 Arabidopsis thaliana HEXO2 gene Proteins 0.000 description 1
- 101100450590 Ricinus communis HEX6 gene Proteins 0.000 description 1
- 101100412393 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) REG1 gene Proteins 0.000 description 1
- 101100310405 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SLX5 gene Proteins 0.000 description 1
- 206010000210 abortion Diseases 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005577 local transmission Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Landscapes
- Small-Scale Networks (AREA)
Description
【0001】
【産業上の利用分野】
本発明は、マスタ局とスレーブ局とを具え、全てのマスタ局が、フレームを基礎とする選定手段と、選定結果検出手段と、フレームフォーマット手段とを具え、前記フレームフォーマット手段が、前記選定に勝つことによってフレーム単位で構成されたメッセージを送信し、前記メッセージが、そのメッセージを構成する複数のフレームの継続時間の間アドレスされたスレーブ局の鎖錠および解放を各々行う鎖錠合図および解放合図を含むことによって、前記継続時間中に別のマスタ局による鎖錠されたスレーブ局へのアクセスが少なくとも個々に阻止されるようにした、多局通信バスシステムに関するものである。
【0002】
【従来の技術】
一般にこのような通信システムは、許容される最大のフレーム長に制限があるため、個々のマスタ局は、適当な期間以上にシステム全体を占有していることができない。この結果、マスタ局があるスレーブ局に長いメッセージを送信しようとする場合、全体としてこのメッセージを構成する連続したフレーム毎に行わなければならない。このような場合、当該マスタ局は、アドレスされたスレーブ局が、このメッセージの連続するフレームの間に、他のマスタ局によってアドレスされないようにするべきである。この目的のために、例えば参考文献として取り上げる本出願人の米国特許明細書第4937816号、第5128936号および第5249182号に記述されているような鎖錠機構が提案されている。この既知の鎖錠機構のある実施例においては、最長鎖錠期間を300ミリ秒としている。この期間内で他のマスタ局が当該スレーブ局にフレームを送信しようとしても成功しないという問題がある。これを解決するために、この第2のマスタ局が送信を繰り返し試行することができる。
【0003】
【発明が解決しようとする課題】
それでもやはり、アクセスは、スレーブ局が鎖錠されていてもいなくても、できる限り素早く行われるべきである。この点において、スレーブが鎖錠されていない状況であっても、例えばスレーブ局の受信バッファが以前に受信したメッセージによって満たされたままであるため、他のマスタ局によるアクセスが一時的に阻止されるかもしれないことはもちろんである。このような阻止は、それほど頻繁ではないが、電気的な妨害および一時的なエラーによって生ずることもある。
【0004】
本発明の目的は、スレーブ局が他のマスタ局に一時的に鎖錠されていてもいなくても、マスタ局がスレーブ局にできるかぎり素早くアクセスできるようにした、上述した種類の通信バスシステムを提供することである。
【0005】
【課題を解決しようとするための手段】
本発明は、前記別のマスタ局が、全体の時間が前記継続時間の標準的な最長値より十分に短い時間内に比較的頻繁に再試行を行う第1のシーケンスと、それに続く、全体の時間が前記継続時間の標準的な最長値より長い時間内に比較的頻繁でなく再試行を行う第2のシーケンスとを、前記阻止されていることを検出して実行するシーケンス手段を有することを特徴とする。
第1のシーケンスを通じて比較的頻繁に試行が行われ、短時間のエラー状態があった場合にはスレーブ局が鎖錠されているか否かにかかわらず、スレーブ局への実際のアクセスは、ごく僅かに遅れるだけである。第2のシーケンスを通じて比較的離散的に試行が行われ、鎖錠されている状態が終了した後にアクセスが可能になる。一時的なエラー状態が生ずる場合、第2のシーケンスの連続する試行の間が比較的長い期間であるので、同じエラーが第2のシーケンスの連続する試行で現れることはない。要するに本発明は、機能を向上させるより頻繁な試行と、手順が簡単で通信バスとそこに属する局とにおける負荷が減少する、より頻繁でない試行とを折衷したものである。
【0006】
好適には、前記別のマスタ局が、前記スレーブ局に送信したアドレスが承認されなかったことを検出するときには、前記スレーブ局へアドレスする試行をほとんど瞬時に行う第3のシーケンスを実行し、前記アドレスの承認を検出した場合のみ前記スレーブ局へのアクセスを行う第2のシーケンス手段を有する。ある状況において、スレーブは、大変短い時間しか存在しない原因によって、そのアドレスを承認しないかもしれない。他の原因としては、局が実際に不在であることが考えられる。双方の場合において、例え理由は違うとしても、スレーブアドレスのレベルにおいてほぼ瞬時に再試行を行うことによって、動作全体の速度はさらに上昇する。第1の場合において、その原因は直ぐに終了し、アクセスが成功するようになるであろう。第2の場合において、当該マスタ局は、他の動作を行うことができる。
【0007】
本発明は、上述した種類の通信バスシステムにおいて使用されるマスタ局にも関するものである。
【0008】
【実施例】
図1は、単一チャンネル通信バスシステムの概略を示す。ライン20は、チャンネルを示し、例えば撚り導線である。3つの局22、24および26が設けられており、その各々は、インタフェース回路28、30および32をそれぞれ具える。局の構成は多種多様である。この装置は簡単であっても複雑であってもよく、例えば、テレビジョン受像機、洗濯機、電子レンジ、集中タイマ、気温/太陽輻射に関するセンサ、照明(副)システムとすることができる。ある装置はバスのマスタ局として動作し、他の装置はスレーブ局として動作する。ある装置はデータの送信機として動作し、ある装置は受信機として動作する。以下に記す動作は、前記通信バスシステム上で行われ、前記インタフェース回路によって実行される。
【0009】
図2は、通信動作をフレームレベルで表したものである。この図では、時間軸を曲線40として示し、これに沿ってビットセルを隣接して配置されている。符号42は、開始ビットを示す。符号44は、データを送信するビットレートを示すモード表示に関係する。これは最大3ビットで構成する。標準的な送信周波数の個数は、予め決められている。符号46は、当該マスタ局のアドレスを示す。このアドレスは、12ビットとそれに続くパリティビットPとから成る。選定動作は、モード表示およびマスタ局アドレスに対して行われる。モード選択に関しては、最も低い(遅い)モードが勝つ。アドレスに関しては、最も高い優先権を持つ局が勝つ。モード表示およびマスタ局アドレスは、合わせて優先信号を構成する。マスタアドレスの送信後、ただ1つのマスタ局が残る。この局は、次にスレーブ局アドレス48を送信する。このアドレスは、12個のアドレスビットと、1個のパリティビットPと、アドレス承認ビットAに対する空欄とから成る。スレーブ局が自分自身へのアドレスを認識した場合、ブロックA内にアドレス承認ビットを送信する。このアドレス承認ビットが受信されない場合、予定したスレーブ局が不在かまたは動作していないか、アドレスが正しくないパリティビットを持っている。このような場合、図2に示すフレームは、すぐに停止する。スレーブ局による承認が正しい場合、マスタ局は、制御信号50を送信する。この信号は、4個の制御ビットと、1個のパリティビットPと、制御承認ビットAに対する空欄とから成る。PおよびAビットの処理は、スレーブ局アドレスの場合と同様に行う。制御承認ビットが現れない場合、フレームはすぐに停止する。スレーブ局による承認が正しい場合、データバイトが送信される(52)。マスタ送信局に基づいて説明する。データバイトは、8ビットと、「最終」データバイトの合図(EOD)と、1個のパリティビットPと、データ承認ビットAに対する空欄とから成る。EOD合図は、送信局が当該バイトを、メッセージの最終バイトとみなすか、または非最終バイトとみなすかを示す。フレーム長は、モード0において最大2バイトで、モード1において(マスタ局)からでは32バイト、または(スレーブ局)からでは16バイトになり、モード2において(マスタ局)からでは128バイト、または(スレーブ局)からでは64バイトになるが、これらより短いメッセージももちろん可能である。パリティビットPも、EODビットにも基づいて決定される。データ承認ビットが受信されない場合、パリティエラー、制御信号50の受理により停止したスレーブ局、または、例えばデータ処理に時間が掛かりすぎたため、スレーブ局がデータバイトを受信しバッファに格納することができないといったような様々な原因がありえる。これらの全ての場合において、マスタ局は、繰り返し状態に設定される。この状態において、EOD、P、Aを含むデータバイトを、最後にデータ承認ビットが受信されるまで繰り返す。その時、当該データバイトが最終バイトではない場合、繰り返し状態を中止し、次のデータバイト(例えば54)を送信する。一方、このデータバイトが最終データバイトである場合、フレームおよびメッセージは終了する。その後に、新たなメッセージ/フレームを開始することができる。データバイトを送信するたびごとに、カウンタポジションを増加する。カウンタが最長フレーム長に到達するか、メッセージが完了した場合、「最終」データバイトが示される(起こりうる2つの制限の内最初のものが決定される)。フレームは、「最終」バイト後に終了する。データ承認ビットが「最終」バイトの後に正しく受けられないと、定義されたフレーム長に適合するまで、「最終」バイトが繰り返される。最長フレーム長に達したときにメッセージがまだ完了していない場合、新たなフレームが開始される。その第1のデータバイトは、メッセージのまだ送信されていない第1のデータバイトとしてか、正しいデータ承認バイトがまだ受けられていないデータバイトとして選ばれる。したがってこれは、すでに送信が成功したデータバイトの2重の送信を含まない。すなわち「鎖錠」機構をこの点に使用すれば、当該スレーブを現行の送信のために確保しておくことができる。これについて以下に詳述する。この鎖錠機構によれば、より高い優先権を持つ別のマスタ局が同時にバス全体を占有することができるが、すでに鎖錠されているスレーブ局にアクセスすることはできない。このように構成することによって、スレーブ局における手順が簡単になる。
【0010】
マスタ局は、スレーブに当該マスタ局のみに従うように命令する所定の制御信号によって、スレーブにおける鎖錠フラグの設定または解除を行うことができる。スレーブ局は、マスタ局が解放命令を含む1バイトのデータフレームを送信することによって解放される。鎖錠フラグは、関連するフレームの少なくとも1バイトが正しく送信/通信された後に、スレーブによって設定/解除されるべきである。
【0011】
スレーブアドレス承認ビットは、
スレーブが不在の場合、
スレーブが、フレームのモード(速度)を処理できない場合、
マスタアドレスおよびスレーブアドレスのどちらか、または両方にパリティエラーが生じた場合、
または、タイミングが正しくなく、バスエラーを引き起こし、その結果同期またはパリティのエラーが生じてしまうような場合には与えられない。
マスタは、低いモードにおいてフレームをできる限り繰り返すか、
モードOにおいて当該スレーブに関するステータスを(できる限り繰り返して)要求するかして、アドレスの不承認ビットに応答する。スレーブが動作できる最も高いモードは、ステータスから得られる。その結果として、メッセージは、実行可能な最も高いモードにおいて繰り返される。
送信がスレーブアドレス不承認ビットにおいて繰り返し停止する場合、スレーブが不在であると判断しなければならない。この場合、さらなる繰り返しは意味がない。
【0012】
制御承認ビットは、
パリティエラーの場合、
タイミングエラーの場合、
または、スレーブが要求された機能を実行できない場合には与えられない。
マスタ局は、第1の場合において、メッセージを繰り返すことによって対応することができる。さらに制御承認ビットが受信されなかった場合、なぜこの承認ビットが受信されなかったのかを決定するために、スレーブ局においてマスタ局にに要求する。
【0013】
データ不承認ビットは、
パリティエラーの場合、
タイミングエラーの場合、
または、受信バッファが完全に満たされている場合に発生する。パリティエラー、またはバッファが完全に満たされていることが原因の場合、このバイトは、バイトが承認されるか、フレーム長を使い切るまで、できる限り繰り返される。このフレーム内でバイトの送信が終了しない場合、このバイトのために新たなフレームが開始される。
【0014】
次のような制御信号を定義する。
HEX0(0000):スレーブ局のインタフェース回路のステータスを読む。この操作の後に承認信号が続かない場合、スレーブ局のインタフェース回路が不完全であると判断する。しかしながら、繰り返し操作を行うことができる。承認信号が受信された場合、スレーブ局はその結果としてそのステータスが示されているデータバイトを出力する。
HEX2(0010):ステータスを読み、鎖錠信号をスレーブ局に供給する。スレーブ局が他のマスタ局によって鎖錠されている場合、この状況がデータバイトにおいて合図され、この要求しているマスタ局は再び試みなければならない。
HEX3(0011):データを読み、鎖錠信号をスレーブ局に供給する。答えが受信されない場合、以下に示すようなステータスが質問される。
ビット0=0:スレーブ局の送信バッファが空である。これは制御システムに合図される。
ビット2=1:スレーブ局が他のマスタ局によって鎖錠されている。制御システムは、再試行の指令を受ける。
ビット4=0:スレーブ局がデータを送信することができない。これは制御システムに合図される。
ビット0,2,4以外の全ての場合において、同じ制御コードを持つ新たなフレームを開始する。
HEX4(0100):スレーブ局が鎖錠される4ビットアドレスの内の下位2ビットを読む。スレーブ局が鎖錠されていない場合、このことがマスタの制御システムに不承認ビットによって合図される。
HEX5(0101):4ビットアドレスの最上位ビットに関してHEX4(0100)と同様に制御する。
HEX6(0110):スレーブのステータスを読み、解放する。スレーブ局が他のマスタ局によって鎖錠されている場合、このことは不承認ビットによって合図され、マスタはその試みを中止する。
HEX7(0111):データを読み、解放する。解放に関する以外は、コード0011に対応する。
HEX8(1000):保持要求を書き込む。不承認ビットが生じる場合、スレーブ局の属性/ステータスに関する質問がなされる。後者は次のように解釈される。
ビット1=1:スレーブの受信バッファが空でない。これは、マスタの制御システムに合図される。
ビット2=1:同上
ビット3=0:スレーブがメモリを持っていないので、属性/ステータスに関する要求に答えることができない。
3つのビットのどれもが答えを持たない場合、新たな試みを行う。
HEX A(1010):命令および鎖錠を書き込む。この結果ステータスが読まれ、不承認ビットの場合、次のように解釈される。
ビット1,2については同上。これらのどのビットも答えを持たない場合、新たな試みを行う。
HEX B(1011):データおよび鎖錠を書き込む。この結果としてステータスが読まれ、不承認ビットの場合、HEX Aと同様に解釈される。
HEX E(1110):命令および解放を書き込む。他はAと同様。
HEX F(1111):データおよび解放を書き込む。他はAと同様。
【0015】
各フレームの終わりにおいて、送信局(スレーブ局またはマスタ局)は、必要なすべてのバイトが送信されたかどうかを確かめる。されていない場合、マスタ局は新たなフレームを開始し、送信局は残りのバイトをローカル送信バッファに格納する。
【0016】
図3は、インタフェース回路の一実施例を示す。回路(60)は以下に示す機器に対する接続端子を具える。発振器(6MHz)から時計回りに見て、電源VCCと、接地GNDと、試験制御Testと、ローカル制御システムに関する8ビットデータと、同期(ストローブ)ピン
【外1】
と、読み出し/書き込み制御
【外2】
と、アドレスおよびデータ間の選択
【外3】
と、割り込み信号Intと、3つのプリセットアドレスビット(A0,A1,A2)と、TTLレベルのデータに対する2つのラインと、上述したような単一チャンネル通信の2芯より線(D2 B:Domestic Digital Bus)とを具える。素子62は、クロックと、電源電圧が印加される場合に回路をリセットする制御部分(POR=Power−On Reset)とを具える。「チップレディ」信号、POR信号およびクロック信号0P,1Pを、ここで発生する。「チップレディ」信号は、回路が起動またはリセット後に再び動作状態にあることを示す。
【0017】
ブロック64は、D2 BおよびTTLライン上の信号にフィルタを掛け、この信号を検出し、制御する回路である。D2 BおよびTTLライン上の信号のデータ内容は、次のような電気的な差を除いて同じである。TTLが一方向なのに対してD2 Bは双方向であり、電圧レベルが異なる。ライン65において、ラインビットをTTLレベルにおいて伝送する。ブロック66において、ラインビットと論理ビットとの間の変換を行う。ブロック67は、ブロック66とブロック68との間の2つの単一方向ラッチ回路を構成する。ライン69は、次のビットを活性化する信号を送信する。ブロック68は、インタフェース回路の心臓部を構成する。ここでパリティビットを形成し、承認ビットを検出し、もしあれば種々の制御ビットおよびステータスビットを質問に関して解析または格納する。さらに、情報を制御システムと交換し、RAMバッファ70による相互作用が構成される。バッファ70は8ビットのデータを有する。バイト数は、用途によって決定される。アドレスは、ライン71上に現れる。ブロック72は、8ビットのデータ幅を持ち、ローカル制御システム(図示せず)に接続するデータゲートである。信号モード0Pおよび1Pは、外部バスD2 B上の動作モードに依存して、0Pおよび1Pと同じ周波数または1/4の周波数を有する第2クロック信号である。ライン76は、種々のビット長に対してクロックのビットレベルへの切り換えを制御し、このビット長は、開始ビット、モード/アドレス/制御ビット、およびデータビットとで同じである必要はない。ライン75は、フレームレベルにおいて、同様の機能を有する。ライン77は許可ライン(EN)であり、ライン78および79は同期結合を与える。
【0018】
簡単な実施例において、本回路はモード0および1において使用するのに好適であり、さらに、スレーブ動作に加えてマスタ動作にも好適である。リセット信号(パワー−オン−リセット、POR)が発生されると、回路は初期化される。マイクロプロセッサは、インタフェース回路に対して与えられた回路アドレスを、いくつかの自由にアクセス可能なレジスタをロードすることによって生成することができる。さらに、用途の機能を示すいくつかのフラグビットが設定される(ローカルメモリが存在し、スレーブ局が送信機としても動作できる場合)。信号PORは、ローカル制御システムに対する割り込み信号としても作用する。回路のスレーブ部分のバスステータスを、スレーブステータスレジスタに格納する。回路が別の局によって鎖錠されている場合、この鎖錠している方の局のアドレスを鎖錠アドレスレジスタに格納する。回路をマスタ局として動作させるために、制御回路は、次のような情報を与える必要がある。
スレーブ局アドレス、制御コード、および、書き込み動作の場合には、マスタ局バッファ内にロードするために送信すべきデータバイトと、
使用すべきラインモードを示すモード信号、および、マスタ局命令レジスタ内にロードされたマスタ局要求信号。
【0019】
この結果、局はメッセージを開始し、必要なら関連する選定手順を行う。選定された後フレームが終了したとき、ローカル制御システムに対する割り込み信号(INT)が与えられる。その結果、ローカル制御システムは、割り込みレジスタ内の割り込み信号の原因(マスタ割り込み、スレーブ送信機割り込みまたは受信機割り込み)を読むことができる。マスタステータスレジスタは、所定数の承認ビットの数を含み、メッセージが成功したかどうかを示す。したがってこのマスタステータスレジスタは、カウンタとして動作する。さらに読み出し動作の場合には、割り込み信号の後、マスタバッファは、受信したデータを含むものとなる。割り込みレジスタは、読み出された後にリセットされる。これは、当該レジスタにおける完全な書き込み動作によって行われる。
【0020】
実質的には同様の動作が、スレーブ受信機機能に対して行われる。この場合、所定数の承認ビット数をスレーブ受信機レジスタに格納する。スレーブ受信バッファが読み出された場合、スレーブ受信機命令レジスタが情報00(HEX)によって満たされる。
【0021】
図4は、マスタ局によるフレーム送信の再試行手順のフローチャートである。本実施例において、鎖錠期間の最長値は300ミリ秒である。ブロック100は送信手段の開始を示し、当該局がどのデータをどのスレーブ局に送信するのかを知っているとする。この手順は、全体に、または部分的にスレーブ送信機局状況と関連させることができる。ブロック102において、再試行パラメータを0にリセットする。ブロック104において、マスタはフレームの送信を試みる。このブロックに選定手順を含めてもよい。当該フレームに関する開始および選定がマスタ局に関して成功するときには、ブロック106に進む。ブロック106において、スレーブ局が、それ自身のアドレスと、マスタ局がスレーブにある動作形式を要求することを示す制御コードCCとに対する承認を伝送しているかどうかを確認する。いろいろな可能性が存在する。その一つとして、制御コードは、単にスレーブにその動作状態を報告するように要求してもよく、このことは、鎖錠状態それ自身を意味する動作を妨げない。他の制御コードは、鎖錠されたスレーブによって許容されない、広範囲なデータ変換を要求する。一般に、承認された場合、システムはブロック108に進み、そこで操作が行われ、ついには完了する。ブロック106で承認されない場合、ブロック110において、再試行パラメータが試験される。この値が2以下の場合、ブロック116が短い待ち時間で行われ、ブロック120においてパラメータが増加される。104、106、110、116、120のループを、最高3回繰り返す。パラメータ値が3に達した場合、システムは長い待ち時間を要するブロック112、118に進む。この後者のループも、最高3回繰り返す。最後に、パラメータ値が6に達した場合、システムは失敗と認め、ブロック114に進む。この手順を実行するのに要する合計の時間は、324ミリ秒程度である。
【0022】
要約すると、エラーには3つのカテゴリーが存在する。
●原因:一時的な送信エラー、例えば電気的な妨害。タイミングルール:このエラーは大変短い時間しか持続しないであろうため、無い。
●原因:スレーブ受信バッファが満たされている。タイミングルール:スレーブが、その受信バッファチップを25ミリ秒以内に処理しなければならない。マスタ手順:3×8ミリ秒足す当該フレームの送信時間は25ミリ秒を越えるので、合間に少なくとも8ミリ秒の間隔をもって再送信を3回行う。
●原因:スレーブが他のマスタに鎖錠されている。タイミングルール:マスタはスレーブの鎖錠を300ミリ秒より長く保つことができない。すなわち、このエラーが発生した場合、スレーブはその300ミリ秒後には解放されるであろう。
【0023】
さらに、マスタが内部のエラーによってスレーブを解放しない状況において、スレーブが自分自身を解放する手順がある。これを図5および6に示す。図5のフローチャートは、フレームを受信するブロック130から始まる。その後、ブロック132において、受信バッファに存在するフレームを、この局のローカル処理装置に複製する。ブロック134において、獲得したフレームが解放コードを含んでいるかどうかを検出する。このフレームが解放合図を含んでいる場合(Y)、ブロック136において解放タイマを停止する。解放合図が見つからない場合(N)、ブロック138において解放タイマを再開させる。これらの個々の構成において各フレームは、解放(=最終フレーム)または鎖錠(=非最終フレーム)のどちらかを含む。どちらの場合においても、ブロック140においてフレームまたはメッセージを処理する。ブロック142において、この手順は終了する。図6において、鎖錠された局による自己解放手順を示す。ブロック144において、300ミリ秒経過後に解放タイマの終了が検出される。ブロック146において、スレーブは実際に解放される。ブロック148において、手順が終了する。もちろん、このことを知らないマスタ局は、未だ終了していないメッセージの次のフレームにおいて、当該スレーブ局を再び鎖錠することができる。
【0024】
図7は、図4の再試行手段のフローチャートを改良したものを示す。一般に、対応するブロックは、同じ符号で示してある。異なる点は次の通りである。ブロック101において、2個の再試行パラメータRetry およびRetry1を双方とも0にリセットする。前者については、図4に関してすでに記述した。ブロック103において、スレーブ局が自分自身のアドレスに関して承認を送ったかどうかを確かめる。この承認がされなかった場合、マスタ局はブロック109において、パラメータRetry1の値に対して試験を実行する。送信が行われた回数が2回以下の場合、ブロック113においてパラメータRetry1の値を1増加し、その後システムはブロック104に戻る。パラメータRetry1が値3に達すると、システムはブロック111に進み、マスタ局は他の動作を行う。上述したようにこのループは、ほとんど瞬時に実行される。これは、どんな方法でも、その反復時間が、次の遅いループの反復時間より相当短く、ブロック116内で十分に決定できることを意味する。遅延は、マイクロ秒程度とすることができるが、2,3ミリ秒としてもよい。
【0025】
ブロック103において承認が確認されたなら、ブロック105においてパラメータRetry1を、再び0にリセットする。このようにすることによって、ブロック113を3回通過してからブロック103においてYとなった後に、偶然にスレーブアドレスの承認がもう一度失敗してしまう場合に、ただちに終了してしまうのを避けることができる。しかしながら、ブロック105を省略してもよい。ブロック107において、制御コードCCに対する試験を実行する。起こり得る結果の双方において、システムは図4と同様に続く。
【図面の簡単な説明】
【図1】単一チャンネル通信バスシステムの一般的な構造を示す線図である。
【図2】通信動作の構成を示す線図である。
【図3】本発明によるインタフェース回路の一実施例を示す線図である。
【図4】本発明による再試行手順のフローチャートである。
【図5】本発明による解放手順のフローチャートである。
【図6】本発明による第2解放手順のフローチャートである。
【図7】本発明による改良した再試行手順のフローチャートである。
【符号の説明】
20 チャンネル
22、24、26 局
28、30、32、60 インタフェース回路
70 RAMバッファ
【産業上の利用分野】
本発明は、マスタ局とスレーブ局とを具え、全てのマスタ局が、フレームを基礎とする選定手段と、選定結果検出手段と、フレームフォーマット手段とを具え、前記フレームフォーマット手段が、前記選定に勝つことによってフレーム単位で構成されたメッセージを送信し、前記メッセージが、そのメッセージを構成する複数のフレームの継続時間の間アドレスされたスレーブ局の鎖錠および解放を各々行う鎖錠合図および解放合図を含むことによって、前記継続時間中に別のマスタ局による鎖錠されたスレーブ局へのアクセスが少なくとも個々に阻止されるようにした、多局通信バスシステムに関するものである。
【0002】
【従来の技術】
一般にこのような通信システムは、許容される最大のフレーム長に制限があるため、個々のマスタ局は、適当な期間以上にシステム全体を占有していることができない。この結果、マスタ局があるスレーブ局に長いメッセージを送信しようとする場合、全体としてこのメッセージを構成する連続したフレーム毎に行わなければならない。このような場合、当該マスタ局は、アドレスされたスレーブ局が、このメッセージの連続するフレームの間に、他のマスタ局によってアドレスされないようにするべきである。この目的のために、例えば参考文献として取り上げる本出願人の米国特許明細書第4937816号、第5128936号および第5249182号に記述されているような鎖錠機構が提案されている。この既知の鎖錠機構のある実施例においては、最長鎖錠期間を300ミリ秒としている。この期間内で他のマスタ局が当該スレーブ局にフレームを送信しようとしても成功しないという問題がある。これを解決するために、この第2のマスタ局が送信を繰り返し試行することができる。
【0003】
【発明が解決しようとする課題】
それでもやはり、アクセスは、スレーブ局が鎖錠されていてもいなくても、できる限り素早く行われるべきである。この点において、スレーブが鎖錠されていない状況であっても、例えばスレーブ局の受信バッファが以前に受信したメッセージによって満たされたままであるため、他のマスタ局によるアクセスが一時的に阻止されるかもしれないことはもちろんである。このような阻止は、それほど頻繁ではないが、電気的な妨害および一時的なエラーによって生ずることもある。
【0004】
本発明の目的は、スレーブ局が他のマスタ局に一時的に鎖錠されていてもいなくても、マスタ局がスレーブ局にできるかぎり素早くアクセスできるようにした、上述した種類の通信バスシステムを提供することである。
【0005】
【課題を解決しようとするための手段】
本発明は、前記別のマスタ局が、全体の時間が前記継続時間の標準的な最長値より十分に短い時間内に比較的頻繁に再試行を行う第1のシーケンスと、それに続く、全体の時間が前記継続時間の標準的な最長値より長い時間内に比較的頻繁でなく再試行を行う第2のシーケンスとを、前記阻止されていることを検出して実行するシーケンス手段を有することを特徴とする。
第1のシーケンスを通じて比較的頻繁に試行が行われ、短時間のエラー状態があった場合にはスレーブ局が鎖錠されているか否かにかかわらず、スレーブ局への実際のアクセスは、ごく僅かに遅れるだけである。第2のシーケンスを通じて比較的離散的に試行が行われ、鎖錠されている状態が終了した後にアクセスが可能になる。一時的なエラー状態が生ずる場合、第2のシーケンスの連続する試行の間が比較的長い期間であるので、同じエラーが第2のシーケンスの連続する試行で現れることはない。要するに本発明は、機能を向上させるより頻繁な試行と、手順が簡単で通信バスとそこに属する局とにおける負荷が減少する、より頻繁でない試行とを折衷したものである。
【0006】
好適には、前記別のマスタ局が、前記スレーブ局に送信したアドレスが承認されなかったことを検出するときには、前記スレーブ局へアドレスする試行をほとんど瞬時に行う第3のシーケンスを実行し、前記アドレスの承認を検出した場合のみ前記スレーブ局へのアクセスを行う第2のシーケンス手段を有する。ある状況において、スレーブは、大変短い時間しか存在しない原因によって、そのアドレスを承認しないかもしれない。他の原因としては、局が実際に不在であることが考えられる。双方の場合において、例え理由は違うとしても、スレーブアドレスのレベルにおいてほぼ瞬時に再試行を行うことによって、動作全体の速度はさらに上昇する。第1の場合において、その原因は直ぐに終了し、アクセスが成功するようになるであろう。第2の場合において、当該マスタ局は、他の動作を行うことができる。
【0007】
本発明は、上述した種類の通信バスシステムにおいて使用されるマスタ局にも関するものである。
【0008】
【実施例】
図1は、単一チャンネル通信バスシステムの概略を示す。ライン20は、チャンネルを示し、例えば撚り導線である。3つの局22、24および26が設けられており、その各々は、インタフェース回路28、30および32をそれぞれ具える。局の構成は多種多様である。この装置は簡単であっても複雑であってもよく、例えば、テレビジョン受像機、洗濯機、電子レンジ、集中タイマ、気温/太陽輻射に関するセンサ、照明(副)システムとすることができる。ある装置はバスのマスタ局として動作し、他の装置はスレーブ局として動作する。ある装置はデータの送信機として動作し、ある装置は受信機として動作する。以下に記す動作は、前記通信バスシステム上で行われ、前記インタフェース回路によって実行される。
【0009】
図2は、通信動作をフレームレベルで表したものである。この図では、時間軸を曲線40として示し、これに沿ってビットセルを隣接して配置されている。符号42は、開始ビットを示す。符号44は、データを送信するビットレートを示すモード表示に関係する。これは最大3ビットで構成する。標準的な送信周波数の個数は、予め決められている。符号46は、当該マスタ局のアドレスを示す。このアドレスは、12ビットとそれに続くパリティビットPとから成る。選定動作は、モード表示およびマスタ局アドレスに対して行われる。モード選択に関しては、最も低い(遅い)モードが勝つ。アドレスに関しては、最も高い優先権を持つ局が勝つ。モード表示およびマスタ局アドレスは、合わせて優先信号を構成する。マスタアドレスの送信後、ただ1つのマスタ局が残る。この局は、次にスレーブ局アドレス48を送信する。このアドレスは、12個のアドレスビットと、1個のパリティビットPと、アドレス承認ビットAに対する空欄とから成る。スレーブ局が自分自身へのアドレスを認識した場合、ブロックA内にアドレス承認ビットを送信する。このアドレス承認ビットが受信されない場合、予定したスレーブ局が不在かまたは動作していないか、アドレスが正しくないパリティビットを持っている。このような場合、図2に示すフレームは、すぐに停止する。スレーブ局による承認が正しい場合、マスタ局は、制御信号50を送信する。この信号は、4個の制御ビットと、1個のパリティビットPと、制御承認ビットAに対する空欄とから成る。PおよびAビットの処理は、スレーブ局アドレスの場合と同様に行う。制御承認ビットが現れない場合、フレームはすぐに停止する。スレーブ局による承認が正しい場合、データバイトが送信される(52)。マスタ送信局に基づいて説明する。データバイトは、8ビットと、「最終」データバイトの合図(EOD)と、1個のパリティビットPと、データ承認ビットAに対する空欄とから成る。EOD合図は、送信局が当該バイトを、メッセージの最終バイトとみなすか、または非最終バイトとみなすかを示す。フレーム長は、モード0において最大2バイトで、モード1において(マスタ局)からでは32バイト、または(スレーブ局)からでは16バイトになり、モード2において(マスタ局)からでは128バイト、または(スレーブ局)からでは64バイトになるが、これらより短いメッセージももちろん可能である。パリティビットPも、EODビットにも基づいて決定される。データ承認ビットが受信されない場合、パリティエラー、制御信号50の受理により停止したスレーブ局、または、例えばデータ処理に時間が掛かりすぎたため、スレーブ局がデータバイトを受信しバッファに格納することができないといったような様々な原因がありえる。これらの全ての場合において、マスタ局は、繰り返し状態に設定される。この状態において、EOD、P、Aを含むデータバイトを、最後にデータ承認ビットが受信されるまで繰り返す。その時、当該データバイトが最終バイトではない場合、繰り返し状態を中止し、次のデータバイト(例えば54)を送信する。一方、このデータバイトが最終データバイトである場合、フレームおよびメッセージは終了する。その後に、新たなメッセージ/フレームを開始することができる。データバイトを送信するたびごとに、カウンタポジションを増加する。カウンタが最長フレーム長に到達するか、メッセージが完了した場合、「最終」データバイトが示される(起こりうる2つの制限の内最初のものが決定される)。フレームは、「最終」バイト後に終了する。データ承認ビットが「最終」バイトの後に正しく受けられないと、定義されたフレーム長に適合するまで、「最終」バイトが繰り返される。最長フレーム長に達したときにメッセージがまだ完了していない場合、新たなフレームが開始される。その第1のデータバイトは、メッセージのまだ送信されていない第1のデータバイトとしてか、正しいデータ承認バイトがまだ受けられていないデータバイトとして選ばれる。したがってこれは、すでに送信が成功したデータバイトの2重の送信を含まない。すなわち「鎖錠」機構をこの点に使用すれば、当該スレーブを現行の送信のために確保しておくことができる。これについて以下に詳述する。この鎖錠機構によれば、より高い優先権を持つ別のマスタ局が同時にバス全体を占有することができるが、すでに鎖錠されているスレーブ局にアクセスすることはできない。このように構成することによって、スレーブ局における手順が簡単になる。
【0010】
マスタ局は、スレーブに当該マスタ局のみに従うように命令する所定の制御信号によって、スレーブにおける鎖錠フラグの設定または解除を行うことができる。スレーブ局は、マスタ局が解放命令を含む1バイトのデータフレームを送信することによって解放される。鎖錠フラグは、関連するフレームの少なくとも1バイトが正しく送信/通信された後に、スレーブによって設定/解除されるべきである。
【0011】
スレーブアドレス承認ビットは、
スレーブが不在の場合、
スレーブが、フレームのモード(速度)を処理できない場合、
マスタアドレスおよびスレーブアドレスのどちらか、または両方にパリティエラーが生じた場合、
または、タイミングが正しくなく、バスエラーを引き起こし、その結果同期またはパリティのエラーが生じてしまうような場合には与えられない。
マスタは、低いモードにおいてフレームをできる限り繰り返すか、
モードOにおいて当該スレーブに関するステータスを(できる限り繰り返して)要求するかして、アドレスの不承認ビットに応答する。スレーブが動作できる最も高いモードは、ステータスから得られる。その結果として、メッセージは、実行可能な最も高いモードにおいて繰り返される。
送信がスレーブアドレス不承認ビットにおいて繰り返し停止する場合、スレーブが不在であると判断しなければならない。この場合、さらなる繰り返しは意味がない。
【0012】
制御承認ビットは、
パリティエラーの場合、
タイミングエラーの場合、
または、スレーブが要求された機能を実行できない場合には与えられない。
マスタ局は、第1の場合において、メッセージを繰り返すことによって対応することができる。さらに制御承認ビットが受信されなかった場合、なぜこの承認ビットが受信されなかったのかを決定するために、スレーブ局においてマスタ局にに要求する。
【0013】
データ不承認ビットは、
パリティエラーの場合、
タイミングエラーの場合、
または、受信バッファが完全に満たされている場合に発生する。パリティエラー、またはバッファが完全に満たされていることが原因の場合、このバイトは、バイトが承認されるか、フレーム長を使い切るまで、できる限り繰り返される。このフレーム内でバイトの送信が終了しない場合、このバイトのために新たなフレームが開始される。
【0014】
次のような制御信号を定義する。
HEX0(0000):スレーブ局のインタフェース回路のステータスを読む。この操作の後に承認信号が続かない場合、スレーブ局のインタフェース回路が不完全であると判断する。しかしながら、繰り返し操作を行うことができる。承認信号が受信された場合、スレーブ局はその結果としてそのステータスが示されているデータバイトを出力する。
HEX2(0010):ステータスを読み、鎖錠信号をスレーブ局に供給する。スレーブ局が他のマスタ局によって鎖錠されている場合、この状況がデータバイトにおいて合図され、この要求しているマスタ局は再び試みなければならない。
HEX3(0011):データを読み、鎖錠信号をスレーブ局に供給する。答えが受信されない場合、以下に示すようなステータスが質問される。
ビット0=0:スレーブ局の送信バッファが空である。これは制御システムに合図される。
ビット2=1:スレーブ局が他のマスタ局によって鎖錠されている。制御システムは、再試行の指令を受ける。
ビット4=0:スレーブ局がデータを送信することができない。これは制御システムに合図される。
ビット0,2,4以外の全ての場合において、同じ制御コードを持つ新たなフレームを開始する。
HEX4(0100):スレーブ局が鎖錠される4ビットアドレスの内の下位2ビットを読む。スレーブ局が鎖錠されていない場合、このことがマスタの制御システムに不承認ビットによって合図される。
HEX5(0101):4ビットアドレスの最上位ビットに関してHEX4(0100)と同様に制御する。
HEX6(0110):スレーブのステータスを読み、解放する。スレーブ局が他のマスタ局によって鎖錠されている場合、このことは不承認ビットによって合図され、マスタはその試みを中止する。
HEX7(0111):データを読み、解放する。解放に関する以外は、コード0011に対応する。
HEX8(1000):保持要求を書き込む。不承認ビットが生じる場合、スレーブ局の属性/ステータスに関する質問がなされる。後者は次のように解釈される。
ビット1=1:スレーブの受信バッファが空でない。これは、マスタの制御システムに合図される。
ビット2=1:同上
ビット3=0:スレーブがメモリを持っていないので、属性/ステータスに関する要求に答えることができない。
3つのビットのどれもが答えを持たない場合、新たな試みを行う。
HEX A(1010):命令および鎖錠を書き込む。この結果ステータスが読まれ、不承認ビットの場合、次のように解釈される。
ビット1,2については同上。これらのどのビットも答えを持たない場合、新たな試みを行う。
HEX B(1011):データおよび鎖錠を書き込む。この結果としてステータスが読まれ、不承認ビットの場合、HEX Aと同様に解釈される。
HEX E(1110):命令および解放を書き込む。他はAと同様。
HEX F(1111):データおよび解放を書き込む。他はAと同様。
【0015】
各フレームの終わりにおいて、送信局(スレーブ局またはマスタ局)は、必要なすべてのバイトが送信されたかどうかを確かめる。されていない場合、マスタ局は新たなフレームを開始し、送信局は残りのバイトをローカル送信バッファに格納する。
【0016】
図3は、インタフェース回路の一実施例を示す。回路(60)は以下に示す機器に対する接続端子を具える。発振器(6MHz)から時計回りに見て、電源VCCと、接地GNDと、試験制御Testと、ローカル制御システムに関する8ビットデータと、同期(ストローブ)ピン
【外1】
と、読み出し/書き込み制御
【外2】
と、アドレスおよびデータ間の選択
【外3】
と、割り込み信号Intと、3つのプリセットアドレスビット(A0,A1,A2)と、TTLレベルのデータに対する2つのラインと、上述したような単一チャンネル通信の2芯より線(D2 B:Domestic Digital Bus)とを具える。素子62は、クロックと、電源電圧が印加される場合に回路をリセットする制御部分(POR=Power−On Reset)とを具える。「チップレディ」信号、POR信号およびクロック信号0P,1Pを、ここで発生する。「チップレディ」信号は、回路が起動またはリセット後に再び動作状態にあることを示す。
【0017】
ブロック64は、D2 BおよびTTLライン上の信号にフィルタを掛け、この信号を検出し、制御する回路である。D2 BおよびTTLライン上の信号のデータ内容は、次のような電気的な差を除いて同じである。TTLが一方向なのに対してD2 Bは双方向であり、電圧レベルが異なる。ライン65において、ラインビットをTTLレベルにおいて伝送する。ブロック66において、ラインビットと論理ビットとの間の変換を行う。ブロック67は、ブロック66とブロック68との間の2つの単一方向ラッチ回路を構成する。ライン69は、次のビットを活性化する信号を送信する。ブロック68は、インタフェース回路の心臓部を構成する。ここでパリティビットを形成し、承認ビットを検出し、もしあれば種々の制御ビットおよびステータスビットを質問に関して解析または格納する。さらに、情報を制御システムと交換し、RAMバッファ70による相互作用が構成される。バッファ70は8ビットのデータを有する。バイト数は、用途によって決定される。アドレスは、ライン71上に現れる。ブロック72は、8ビットのデータ幅を持ち、ローカル制御システム(図示せず)に接続するデータゲートである。信号モード0Pおよび1Pは、外部バスD2 B上の動作モードに依存して、0Pおよび1Pと同じ周波数または1/4の周波数を有する第2クロック信号である。ライン76は、種々のビット長に対してクロックのビットレベルへの切り換えを制御し、このビット長は、開始ビット、モード/アドレス/制御ビット、およびデータビットとで同じである必要はない。ライン75は、フレームレベルにおいて、同様の機能を有する。ライン77は許可ライン(EN)であり、ライン78および79は同期結合を与える。
【0018】
簡単な実施例において、本回路はモード0および1において使用するのに好適であり、さらに、スレーブ動作に加えてマスタ動作にも好適である。リセット信号(パワー−オン−リセット、POR)が発生されると、回路は初期化される。マイクロプロセッサは、インタフェース回路に対して与えられた回路アドレスを、いくつかの自由にアクセス可能なレジスタをロードすることによって生成することができる。さらに、用途の機能を示すいくつかのフラグビットが設定される(ローカルメモリが存在し、スレーブ局が送信機としても動作できる場合)。信号PORは、ローカル制御システムに対する割り込み信号としても作用する。回路のスレーブ部分のバスステータスを、スレーブステータスレジスタに格納する。回路が別の局によって鎖錠されている場合、この鎖錠している方の局のアドレスを鎖錠アドレスレジスタに格納する。回路をマスタ局として動作させるために、制御回路は、次のような情報を与える必要がある。
スレーブ局アドレス、制御コード、および、書き込み動作の場合には、マスタ局バッファ内にロードするために送信すべきデータバイトと、
使用すべきラインモードを示すモード信号、および、マスタ局命令レジスタ内にロードされたマスタ局要求信号。
【0019】
この結果、局はメッセージを開始し、必要なら関連する選定手順を行う。選定された後フレームが終了したとき、ローカル制御システムに対する割り込み信号(INT)が与えられる。その結果、ローカル制御システムは、割り込みレジスタ内の割り込み信号の原因(マスタ割り込み、スレーブ送信機割り込みまたは受信機割り込み)を読むことができる。マスタステータスレジスタは、所定数の承認ビットの数を含み、メッセージが成功したかどうかを示す。したがってこのマスタステータスレジスタは、カウンタとして動作する。さらに読み出し動作の場合には、割り込み信号の後、マスタバッファは、受信したデータを含むものとなる。割り込みレジスタは、読み出された後にリセットされる。これは、当該レジスタにおける完全な書き込み動作によって行われる。
【0020】
実質的には同様の動作が、スレーブ受信機機能に対して行われる。この場合、所定数の承認ビット数をスレーブ受信機レジスタに格納する。スレーブ受信バッファが読み出された場合、スレーブ受信機命令レジスタが情報00(HEX)によって満たされる。
【0021】
図4は、マスタ局によるフレーム送信の再試行手順のフローチャートである。本実施例において、鎖錠期間の最長値は300ミリ秒である。ブロック100は送信手段の開始を示し、当該局がどのデータをどのスレーブ局に送信するのかを知っているとする。この手順は、全体に、または部分的にスレーブ送信機局状況と関連させることができる。ブロック102において、再試行パラメータを0にリセットする。ブロック104において、マスタはフレームの送信を試みる。このブロックに選定手順を含めてもよい。当該フレームに関する開始および選定がマスタ局に関して成功するときには、ブロック106に進む。ブロック106において、スレーブ局が、それ自身のアドレスと、マスタ局がスレーブにある動作形式を要求することを示す制御コードCCとに対する承認を伝送しているかどうかを確認する。いろいろな可能性が存在する。その一つとして、制御コードは、単にスレーブにその動作状態を報告するように要求してもよく、このことは、鎖錠状態それ自身を意味する動作を妨げない。他の制御コードは、鎖錠されたスレーブによって許容されない、広範囲なデータ変換を要求する。一般に、承認された場合、システムはブロック108に進み、そこで操作が行われ、ついには完了する。ブロック106で承認されない場合、ブロック110において、再試行パラメータが試験される。この値が2以下の場合、ブロック116が短い待ち時間で行われ、ブロック120においてパラメータが増加される。104、106、110、116、120のループを、最高3回繰り返す。パラメータ値が3に達した場合、システムは長い待ち時間を要するブロック112、118に進む。この後者のループも、最高3回繰り返す。最後に、パラメータ値が6に達した場合、システムは失敗と認め、ブロック114に進む。この手順を実行するのに要する合計の時間は、324ミリ秒程度である。
【0022】
要約すると、エラーには3つのカテゴリーが存在する。
●原因:一時的な送信エラー、例えば電気的な妨害。タイミングルール:このエラーは大変短い時間しか持続しないであろうため、無い。
●原因:スレーブ受信バッファが満たされている。タイミングルール:スレーブが、その受信バッファチップを25ミリ秒以内に処理しなければならない。マスタ手順:3×8ミリ秒足す当該フレームの送信時間は25ミリ秒を越えるので、合間に少なくとも8ミリ秒の間隔をもって再送信を3回行う。
●原因:スレーブが他のマスタに鎖錠されている。タイミングルール:マスタはスレーブの鎖錠を300ミリ秒より長く保つことができない。すなわち、このエラーが発生した場合、スレーブはその300ミリ秒後には解放されるであろう。
【0023】
さらに、マスタが内部のエラーによってスレーブを解放しない状況において、スレーブが自分自身を解放する手順がある。これを図5および6に示す。図5のフローチャートは、フレームを受信するブロック130から始まる。その後、ブロック132において、受信バッファに存在するフレームを、この局のローカル処理装置に複製する。ブロック134において、獲得したフレームが解放コードを含んでいるかどうかを検出する。このフレームが解放合図を含んでいる場合(Y)、ブロック136において解放タイマを停止する。解放合図が見つからない場合(N)、ブロック138において解放タイマを再開させる。これらの個々の構成において各フレームは、解放(=最終フレーム)または鎖錠(=非最終フレーム)のどちらかを含む。どちらの場合においても、ブロック140においてフレームまたはメッセージを処理する。ブロック142において、この手順は終了する。図6において、鎖錠された局による自己解放手順を示す。ブロック144において、300ミリ秒経過後に解放タイマの終了が検出される。ブロック146において、スレーブは実際に解放される。ブロック148において、手順が終了する。もちろん、このことを知らないマスタ局は、未だ終了していないメッセージの次のフレームにおいて、当該スレーブ局を再び鎖錠することができる。
【0024】
図7は、図4の再試行手段のフローチャートを改良したものを示す。一般に、対応するブロックは、同じ符号で示してある。異なる点は次の通りである。ブロック101において、2個の再試行パラメータRetry およびRetry1を双方とも0にリセットする。前者については、図4に関してすでに記述した。ブロック103において、スレーブ局が自分自身のアドレスに関して承認を送ったかどうかを確かめる。この承認がされなかった場合、マスタ局はブロック109において、パラメータRetry1の値に対して試験を実行する。送信が行われた回数が2回以下の場合、ブロック113においてパラメータRetry1の値を1増加し、その後システムはブロック104に戻る。パラメータRetry1が値3に達すると、システムはブロック111に進み、マスタ局は他の動作を行う。上述したようにこのループは、ほとんど瞬時に実行される。これは、どんな方法でも、その反復時間が、次の遅いループの反復時間より相当短く、ブロック116内で十分に決定できることを意味する。遅延は、マイクロ秒程度とすることができるが、2,3ミリ秒としてもよい。
【0025】
ブロック103において承認が確認されたなら、ブロック105においてパラメータRetry1を、再び0にリセットする。このようにすることによって、ブロック113を3回通過してからブロック103においてYとなった後に、偶然にスレーブアドレスの承認がもう一度失敗してしまう場合に、ただちに終了してしまうのを避けることができる。しかしながら、ブロック105を省略してもよい。ブロック107において、制御コードCCに対する試験を実行する。起こり得る結果の双方において、システムは図4と同様に続く。
【図面の簡単な説明】
【図1】単一チャンネル通信バスシステムの一般的な構造を示す線図である。
【図2】通信動作の構成を示す線図である。
【図3】本発明によるインタフェース回路の一実施例を示す線図である。
【図4】本発明による再試行手順のフローチャートである。
【図5】本発明による解放手順のフローチャートである。
【図6】本発明による第2解放手順のフローチャートである。
【図7】本発明による改良した再試行手順のフローチャートである。
【符号の説明】
20 チャンネル
22、24、26 局
28、30、32、60 インタフェース回路
70 RAMバッファ
Claims (6)
- マスタ局とスレーブ局とを具え、全てのマスタ局が、フレームを基礎とする選定手段と、選定結果検出手段と、フレームフォーマット手段とを具え、前記フレームフォーマット手段が、前記選定に勝つことによってフレーム単位で構成されたメッセージを送信し、前記メッセージが、そのメッセージを構成する複数のフレームの継続時間の間アドレスされたスレーブ局の鎖錠および解放を各々行う鎖錠合図および解放合図を含むことによって、前記継続時間中に別のマスタ局による鎖錠されたスレーブ局へのアクセスが少なくとも個々に阻止されるようにした、多局通信バスシステムにおいて、前記別のマスタ局が、全体の時間が前記継続時間の標準的な最長値より十分に短い時間内に比較的頻繁に再試行を行う第1のシーケンスと、それに続く、全体の時間が前記継続時間の標準的な最長値より長い時間内に比較的頻繁でなく再試行を行う第2のシーケンスとを、前記阻止されていることを検出して実行するシーケンス手段を有することを特徴とする多局通信バスシステム。
- 請求項1に記載の通信バスシステムにおいて、前記別のマスタ局が、前記スレーブ局に送信したアドレスが承認されなかったことを検出するときには、前記スレーブ局へアドレスする試行をほとんど瞬時に行う第3のシーケンスを実行し、前記アドレスの承認を検出した場合のみ前記スレーブ局へのアクセスを行う第2のシーケンス手段を有する多局通信バスシステム。
- 請求項1または2に記載の通信バスシステムにおいて、前記第1および第2のシーケンスの少なくとも一方が、少なくとも3回の連続する試行を行う通信バスシステム。
- 請求項1、2または3に記載の通信バスシステムにおいて、前記バスがD2Bバスである通信バスシステム。
- マスタ局とスレーブ局とを具え、全てのマスタ局が、フレームを基礎とする選定手段と、選定結果検出手段と、フレームフォーマット手段とを具え、前記フレームフォーマット手段が、前記選定に勝つことによってフレーム単位で構成されたメッセージを送信し、前記メッセージが、そのメッセージを構成する複数のフレームの継続時間の間アドレスされたスレーブ局の鎖錠および解放を各々行う鎖錠合図および解放合図を含むことによって、前記継続時間中に別のマスタ局による鎖錠されたスレーブ局へのアクセスが少なくとも個々に阻止されるようにした、多局通信バスシステムにおいて、前記別のマスタ局が、全体の時間が前記継続時間の標準的な最長値より十分に短い時間内に比較的頻繁に再試行を行う第1のシーケンスと、それに続く、全体の時間が前記継続時間の標準的な最長値より長い時間内に比較的頻繁でなく再試行を行う第2のシーケンスとを、前記阻止されていることを検出して実行するシーケンス手段を有することを特徴とする多局通信バスシステムにおいて使用されるマスタ局。
- 請求項5に記載のマスタ局において、前記スレーブ局に送信したアドレスが承認されなかったことを検出するときには、前記スレーブ局へアドレスする試行をほとんど瞬時に行う第3のシーケンスを実行し、前記アドレスの承認を検出した場合のみ前記スレーブ局へのアクセスを行う第2のシーケンス手段を有するマスタ局。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB9406482:1 | 1994-03-31 | ||
| GB9406482A GB9406482D0 (en) | 1993-07-16 | 1994-03-31 | Communication bus system with mitigation of slave station locking problem and master station for use in such communication bus system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0884153A JPH0884153A (ja) | 1996-03-26 |
| JP3628056B2 true JP3628056B2 (ja) | 2005-03-09 |
Family
ID=10752875
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP03074895A Expired - Fee Related JP3628056B2 (ja) | 1994-03-31 | 1995-02-20 | 通信バスシステムおよびそれに用いるマスタ局 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3628056B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109388526B (zh) * | 2018-11-01 | 2023-01-24 | 郑州云海信息技术有限公司 | 一种控制电路及复位操作的方法 |
-
1995
- 1995-02-20 JP JP03074895A patent/JP3628056B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0884153A (ja) | 1996-03-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0513232B1 (en) | Method of error recovery in a data communication system | |
| US4439859A (en) | Method and system for retransmitting incorrectly received numbered frames in a data transmission system | |
| JP2709820B2 (ja) | 単一集積回路マイクロ制御器におけるマルチプロトコル通信制御器 | |
| EP0076880A1 (en) | A local area contention network data communication system | |
| US5128936A (en) | Communication bus system and station for use in such a communication bus system | |
| GB2252020A (en) | Flow control in data communication systems. | |
| US7650388B2 (en) | Wireless identification protocol with confirmation of successful transmission | |
| RU2122234C1 (ru) | Шинная система одноканальной многостанционной связи | |
| JP3628056B2 (ja) | 通信バスシステムおよびそれに用いるマスタ局 | |
| AU673756B2 (en) | Communication bus system with mitigation of slave station locking problem | |
| US5249182A (en) | Communication bus system with lock/unlock capability | |
| KR100334190B1 (ko) | 멀티스테이션통신버스시스템및이에사용되는마스터스테이션 | |
| CN116418369B (zh) | 双线通讯方法、电子设备和计算机可读存储介质 | |
| KR100567033B1 (ko) | 마스터와 슬레이브가 고정된 동기 시리얼 통신 방법 | |
| JPH08181721A (ja) | 調歩同期式通信によるデータ伝送装置 | |
| JPH0238029B2 (ja) | ||
| JPH0685876A (ja) | 通信制御装置 | |
| JPS61182152A (ja) | ダイレクトメモリアクセス式ブロツク送信装置 | |
| JPH0662079A (ja) | ホームバス・プロトコル・コントローラ | |
| JPS63228837A (ja) | デ−タ送受信システム | |
| JPH0444456B2 (ja) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041124 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041207 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |