(57)【特許請求の範囲】
【請求項１】
複数のマスタデバイスを相互に調停線でバス接続し、前記複数のマスタデバイスのうちの１つをバス制御権を有するバスマスタとして動作させ、前記調停線を前記バスマスタの故障検知とバス調停とに兼用する冗長化装置であって、
それぞれの前記マスタデバイスが、
当該マスタデバイスが正常状態であるか又は異常状態であるかを表示する状態信号を出力するウォッチドッグタイマと、
前記状態信号を受け取って、当該マスタデバイスが前記バスマスタとして正常に動作しているときには第１の論理状態の調停信号を前記調停線に出力すると共に、異常状態になったときには第２の論理状態の調停信号を出力するバスアービタであって、当該マスタデバイスが前記バスマスタではないとき、前記調停信号が前記第２の論理状態にあることを検知したのに応じて、当該マスタデバイスが新たなバスマスタとなり得るか否かを決定するよう動作するバスアービタと、
を備えることを特徴とする冗長化装置。
【請求項２】
それぞれに独自のユニットアドレスが割り当てられた複数のマスタデバイスを相互に調停線でバス接続し、前記複数のマスタデバイスのうちの１つをバス制御権を有するバスマスタとして動作させ、前記調停線を前記バスマスタの故障検知とバス調停とに兼用する冗長化装置におけるバス制御権切り換え方法であって、
それぞれの前記マスタデバイスが、
当該マスタデバイスが正常状態であるか又は異常状態であるかを表示する状態信号を出力するウォッチドッグタイマと、
前記状態信号を受け取って、当該マスタデバイスが前記バスマスタとして正常に動作しているときには第１の論理状態の調停信号を前記調停線に出力すると共に、異常状態になったときには第２の論理状態の調停信号を出力するバスアービタであって、当該マスタデバイスが前記バスマスタではないとき、前記調停信号が前記第２の論理状態にあることを検知したのに応じて、当該マスタデバイスが新たなバスマスタとなり得るか否かを決定するよう動作するバスアービタと、
を備えるバス制御権切り換え方法において、
前記バスマスタが異常状態になったときに、該バスマスタが前記調停線上に第１の論理状態の調停信号を出力する段階と、
前記第１の論理状態の調停信号を検知したとき、待機中の前記マスタデバイスがそれぞれ、当該マスタデバイスに割り当てられた前記ユニットアドレスに関連する異なる２つの時刻に、前記調停信号が前記第１の論理状態にあるか否かを判定する段階と、
前記の判定する段階の結果に基づいて、待機中の前記マスタデバイスのうち最もアドレスの小さいマスタデバイスをバスマスタとして決定する段階と、
を備えることを特徴とするバス制御権切り換え方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、マスタデバイスが冗長化され、１つのマスタデバイスから他のマスタデバイスへバス制御権を切り換えて装置の動作を自動的に継続させることができる冗長化装置、及び、該装置におけるバス制御権切り換え方法に関する。
【０００２】
【従来の技術】
マスタデバイスを冗長化した装置においては、バスマスタとして動作していたマスタデバイスが暴走し又は故障したときに予備のマスタデバイスへ切り替えねばならず、その際には、現用のマスタデバイスと予備のマスタデバイスとの間でバス制御権を調停する作業が必要になる。
【０００３】
従来、バス調停では優先順位を決定する調停線が、マスタデバイスとバスアービタとの間やマスタデバイス間においては、図１３のＡに示すスター配線方式や図１３のＢに示すディジーチェーン方式で接続されているため、以下に挙げるような制約があった。即ち、例えばＶＭＥバスのようなディジーチェーン方式にあっては、別ユニットとしてアービタを必要とすること、バスアービタが入るスロットが固定されていること、ＣＰＵカードをアービタに続いて詰めて配置しなければならないこと、チェーンの途中のマスタデバイスが故障した場合には装置全体の動作異常を生じる可能性があることといった問題がある。また、例えばＰＣＩバスのようなスター配線方式にあっては、マスタデバイスの数だけ調停線が必要であること、別ユニット又はバックプレーン上にバスアービタを配置することが必要であることといった問題がある。
【０００４】
このような問題が生じるのは、上記の何れの方式も、分散処理を目的としたバス調停を行うためにバスサイクルごとの調停を前提にして設計されているからである。したがって、活線挿抜に対応する必要があり且つマスタデバイスの数が変化し得る冗長化された装置には、こうした配線方式は適切でない。さらに、これらの配線方式を採用すると、多機能ではあるが構成が複雑になり、調停に必要な信号線も多くなる。
【０００５】
【発明が解決しようとする課題】
この発明は、上記の如き問題を解消するために提案されたものであり、この発明の目的は、複数個のマスタデバイス間を調停線でバス接続することにより、該調停線で故障検知とバス調停とを行うことができるようにした冗長化装置、及び該装置におけるバス制御権切り換え方法を提供することにある。
【０００６】
【課題を解決するための手段】
上記の目的を達成するために、請求項１の発明は、
複数のマスタデバイスを相互に調停線でバス接続し、前記複数のマスタデバイスのうちの１つをバス制御権を有するバスマスタとして動作させ、前記調停線を前記バスマスタの故障検知とバス調停とに兼用する冗長化装置であって、
それぞれの前記マスタデバイスが、
当該マスタデバイスが正常状態であるか又は異常状態であるかを表示する状態信号を出力するウォッチドッグタイマと、
前記状態信号を受け取って、当該マスタデバイスが前記バスマスタとして正常に動作しているときには第１の論理状態の調停信号を前記調停線に出力すると共に、異常状態になったときには第２の論理状態の調停信号を出力するバスアービタであって、当該マスタデバイスが前記バスマスタではないとき、前記調停信号が前記第２の論理状態にあることを検知したのに応じて、当該マスタデバイスが新たなバスマスタとなり得るか否かを決定するよう動作するバスアービタと、
を備えることを特徴とする冗長化装置、
を提供する。
【０００７】
また、請求項２の発明は、
それぞれに独自のユニットアドレスが割り当てられた複数のマスタデバイスを相互に調停線でバス接続し、前記複数のマスタデバイスのうちの１つをバス制御権を有するバスマスタとして動作させ、前記調停線を前記バスマスタの故障検知とバス調停とに兼用する冗長化装置におけるバス制御権切り換え方法であって、
それぞれの前記マスタデバイスが、
当該マスタデバイスが正常状態であるか又は異常状態であるかを表示する状態信号を出力するウォッチドッグタイマと、
前記状態信号を受け取って、当該マスタデバイスが前記バスマスタとして正常に動作しているときには第１の論理状態の調停信号を前記調停線に出力すると共に、異常状態になったときには第２の論理状態の調停信号を出力するバスアービタであって、当該マスタデバイスが前記バスマスタではないとき、前記調停信号が前記第２の論理状態にあることを検知したのに応じて、当該マスタデバイスが新たなバスマスタとなり得るか否かを決定するよう動作するバスアービタと、
を備えるバス制御権切り換え方法において、
前記バスマスタが異常状態になったときに、該バスマスタが前記調停線上に第１の論理状態の調停信号を出力する段階と、
前記第１の論理状態の調停信号を検知したとき、待機中の前記マスタデバイスがそれぞれ、当該マスタデバイスに割り当てられた前記ユニットアドレスに関連する異なる２つの時刻に、前記調停信号が前記第１の論理状態にあるか否かを判定する段階と、
前記の判定する段階の結果に基づいて、待機中の前記マスタデバイスのうち最もアドレスの小さいマスタデバイスをバスマスタとして決定する段階と、
を備えることを特徴とするバス制御権切り換え方法、
を提供する。
【０００８】
【発明の実施の形態】
図１は、マスタデバイスを冗長化してバス切り換えを実施することができる、この発明に係る冗長化装置の構成を概略的に示す図であって、該冗長化装置はバックプレーンと複数枚のドーターカードとを備え、ドーターカードをスロットに装脱着することができるものであり、マスタデバイスはドーターカードとしてバックプレーンの任意のスロットに装脱着され得る。図１においては、バックプレーンのスロットに３個のマスタデバイスＭ１〜Ｍ３と２個のターゲットデバイスＴ１〜Ｔ２がＭ１、Ｔ１、Ｍ２、Ｍ３、Ｔ２の順で装着されており、３個のマスタデバイスＭ１〜Ｍ３のうち、マスタデバイスＭ１がシステムを制御する現用のバスマスタとして動作し、残りの２個のマスタデバイスＭ１、Ｍ２は予備のマスタデバイスとして待機する。こうした装置を構成するマスタデイスＭ１〜Ｍ３は、図２に示すように、１本の調停線によって相互にバス接続される。
【０００９】
一般に、バックプレーンがＮ個のスロットを有するとき、それらのスロットには順にユニットアドレス（ＵＡ）０、１、２、・・、Ｎ−１が割り付けられる。図１においては、マスタデバイスＭ１、Ｍ２、Ｍ３はユニットアドレスが０、２、３であるスロットに装着されており、ターゲットユニットＴ１、Ｔ２はユニットアドレスが１、４であるスロットに装着されている。
【００１０】
このように、この発明に係る冗長化装置は、装置全体がバックプレーンとドーターカードからなる構成であり、調停線をバス接続したため、
バックプレーン上でマスタデバイスを任意のスロットに挿入することができる、多段の冗長化及び活線挿抜が可能である、
１本の調停線でバスマスタの故障検知とバス調停とを実施できる、
マスタデバイス同志がピア・ツ・ピアで調停を行うため、バックプレーン上に素子を必要としない、
という利点を有する。
【００１１】
それぞれのマスタデバイスは図３に例示する構成を有する。図３に示すとおり、マスタデバイスは中央処理装置（ＣＰＵ）２と、中央処理装置２から制御可能なタイマモジュール４と、中央処理装置２とは独立したウォッチドッグタイマ６を備え、さらにバスアービタ８を有している。ウォッチドッグタイマ６は、当該マスタデバイスが正常に動作しているときには論理「１」の、異常状態にあるときには論理「０」の状態信号ＳＡＦＥをバスアービタ８に与える。こうしたマスタデバイスの構成はハードウェアで実現することが可能である。
【００１２】
図１に示す冗長化装置においては、バスマスタとして動作してきたマスタデバイスが暴走し又は故障したとき、待機中のマスタデバイスの１つへバス制御権を移動させるために、待機中のマスタデバイス間で調停を実施する必要がある。その調停動作の概要は以下のとおりである。図１に示すとおり、それぞれのマスタデバイスＭ１〜Ｍ３には、それぞれユニットアドレス０、２、３が割り当てられている。起動時に、ユニットアドレスが最も小さいマスタデバイスＭ１が正常であるとき、そのマスタデバイスＭ１がバス制御権を持ち、バスマスタとなる。こうして装置が作動しているとき、バス制御権を有するマスタデバイスＭ１が暴走又は故障して制御不能に陥ったと仮定する（図４のＡ）。このとき、予備のマスタデバイスＭ２、Ｍ３が共に正常であるならば、これらマスタデバイスＭ２、Ｍ３間でバス調停を行い（図４のＡ）、これらの待機中のマスタデバイスのうち、最もユニットアドレスが小さいマスタデバイスＭ２を新たなバスマスタとして選択し、そこへバス制御権を移動させる（図４のＢ）。これによって装置全体が動作不良となるのを防止し、安定した動作を継続する。この後に、故障したマスタデバイスＭ１を正常なものと交換することができる（図４のＣ）。
【００１３】
冗長化装置の起動時に、ユニットアドレスが最も小さいマスタデバイスＭ１が故障状態のときには、次に大きいユニットアドレスを有するマスタデバイスＭ２がバス制御権を持つことになる。このようにして、冗長化装置の起動時には、正常なマスタデバイスのうち、最も小さいユニットアドレスを持つマスタデバイスが最初のバスマスタとなる。
【００１４】
なお、バス制御権を持つマスタデバイスが正常に動作しているならば、待機中のマスタデバイスが故障したりバックプレーンから抜き去られたりしても、調停は始まらず、システムの動作は変化しない。この場合には、冗長化装置の動作に影響を与えずに、故障したマスタデバイスのみを交換する。逆に、バス制御権を持つマスタデバイスが正常に動作しているならば、新たなマスタデバイスを追加したときにも調停は始まらず、新たに追加されたマスタデバイスは予備として待機する。また、制御権を持つマスタデバイスをバックプレーンから抜き去ったときには予備のマスタデバイス間でバス調停を開始させ、予備のマスタデバイスに制御権を移動させる。換言すれば、マスタデバイスを冗長化することによりマスタデバイスの活線挿抜に対応することができる。
【００１５】
図５は、図４を参照して説明したとおりのバス制御権の切り換えを実行するためのバスアービタ８の構成の一例を示している。図５において、バスアービタ８は、中央処理装置２から書き込み可能なレジスタ１０、１２を内蔵し、これらのレジスタのうちの一方１０は、中央処理装置２からＡＢＴ書き込みクロック及びデータを受け取って調停設定値ｉＡＢＴを出力する。他方のレジスタ１２は、ｉＢＵＳＥ書き込みクロック及びデータを受け取ってバス許可設定値ｉＢＵＳＥを出力する。さらに、バスアービタ８はウォッチドッグ・タイマ６から状態信号ＳＡＦＥを受け取り、状態信号ＳＡＦＥと調停設定値ｉＡＢＴとバス許可設定値ｉＢＵＳＥとを用いて調停信号ＡＢＴ及びバス許可信号ＢＵＳＥを生成する。
【００１６】
調停信号ＡＢＴはオープンドレインでマスタデバイスから出力され、バックプレーン上でバスに接続され、さらに、バックプレーン上でプルアップを施されてワイアド・オアを構成する。それぞれのマスタデバイスは調停信号ＡＢＴと自己のユニットアドレスとを常にバックプレーン上から読み出すことができるようになっている。
【００１７】
図６は、図５に示すバスアービタ８の動作を説明するための真理値表であり、状態信号ＳＡＦＥが論理「１」又は「０」のときの調停設定値ｉＡＢＴ、バス許可設定値ｉＢＵＳＥ、調停信号ＡＢＴ及びバス許可信号ＢＵＳＥの論理レベルを示している。状態信号ＳＡＦＥが論理「０」のとき及び状態信号ＳＡＦＥが論理「１」で調停設定値ｉＡＢＴが論理「０」のとき、調停信号ＡＢＴ及びバス許可信号ＢＵＳＥは共に論理「０」である。図の実施の形態においては、状態信号ＳＡＦＥは正論理であり、調停設定値ｉＡＢＴ、バス許可設定値ｉＢＵＳＥ、調停信号ＡＢＴ及びバス許可信号ＢＵＳＥは負論理である。
【００１８】
図７は、図４のＡ〜Ｃで説明した手順にしたがって、図５に示す構成のバスアービタを備えたマスタデバイス間でバス調停を実行するときの、即ち、バス制御権をマスタデバイスＭ１からマスタデバイスＭ２へ移動させるときのタイミングチャートを示している。以下、このタイミングチャートを、基準周期はＴ（例えば１ミリ秒）であり、スロット数は５であるとして説明する。なお、基準時間Ｔは各時刻における中央処理装置の処理時間に比べて充分長いように選択することが必要である。
【００１９】
いま、時刻ｔ＝０において、バス制御権を有するマスタデバイスＭ１が暴走し又は故障してバス制御が不能になったとする。このため、バスマスタであるマスタデバイスＭ１はオフの調停設定値ｉＡＢＴを出力し、バス上の調停信号ＡＢＴはオフになる（図６を参照されたい）。これが待機中のマスタデバイスＭ２、Ｍ３に割込み要求として入力されるので、マスタデバイスＭ２、Ｍ３はバスマスタが不在の状態になったことを知り、それぞれ調停プロセスを開始する。同時に、それぞれのマスタデバイスＭ２、Ｍ３は割り込みを禁止し、タイマ４を再スタートさせる。
【００２０】
マスタデバイスＭ２は、そのユニットアドレスＵＡが２であるため、ｔ＝２×Ｔのときに調停信号ＡＢＴの状態を読む。このときには調停信号ＡＢＴは既にオフになっているので、マスタデバイスＭ２はその内部のフラグ１をオンにし、さらに、自己の調停設定値ｉＡＢＴをオンにする。このため、調停信号ＡＢＴはオンになる。
【００２１】
マスタデバイスＭ３は、そのユニットアドレスが３であるため、ｔ＝３×Ｔのときに調停信号ＡＢＴを読む。このときには調停信号ＡＢＴはオンになっているので、マスタデバイスＭ３はその内部のフラグ１をオフに設定し、自己の調停設定値ｉＡＢＴをオンにする。
【００２２】
マスタデバイスＭ３は、ｔ＝（２×５−１−３）×Ｔ＝６×Ｔのとき（ここで、数字５はスロット数であり、数字３はマスタデバイスＭ３のユニットアドレスである）、調停設定値ｉＡＢＴをオフにし、調停信号ＡＢＴを再び読み出す。このときには、マスタデバイスＭ２からオンの調停設定値ｉＡＢＴが出力されているため、調停信号ＡＢＴもオンの状態を保つ。したがって、マスタデバイスＭ３はオンの調停信号ＡＢＴを読み出し、マスタデバイスＭ３はその内部のフラグ２をオフに設定する。
【００２３】
マスタデバイスＭ２は、ｔ＝（２×５−１−２）×Ｔ＝７Ｔのとき（ここで、数字５はスロット数であり、数字２はマスタデバイスＭ２のユニットアドレスである）、オフの調停設定値ｉＡＢＴを出力する。これにより、調停信号ＡＢＴをオンにするドーターカードは無くなったので、調停信号ＡＢＴはオフとなる。そこで、マスタデバイスＭ２はオフである調停信号ＡＢＴを読むことになり、マスタデバイスＭ２はその内部のフラグ２をオンにする。
【００２４】
マスタデバイスＭ２がオフの調停設定値ｉＡＢＴを出力した後、ｔ＝９×Ｔにおいて、調停は終了する。結局、内部のフラグ１及びフラグ２が共にオンであるマスタデバイスＭ２がｔ＝１０×Ｔにおいて調停設定値ｉＡＢＴをオンにし、バスの出力を許可してバスマスタとなる。
【００２５】
その後、ｔ＝１１×Ｔにおいて両方のマスタデバイスＭ２、Ｍ３はタイマ４を停止させて割り込み可能な状態となり、バスマスタではないマスタデバイスＭ３は次の調停まで待機する。この後、故障したマスタデバイスＭ１をスロットから抜き去り、そのスロットに新たなマスタデバイスを挿入しても、調停信号ＡＢＴには影響しないために調停は始まらず、マスタデバイスＭ２がバスマスタとしての動作を継続する。
【００２６】
図７で説明したバス制御権の移動を実施するために、マスタデバイスＭ２、Ｍ３のそれぞれにおいては、図８及び図９に示す調停アルゴリズムが実行される。まず図８において、バスマスタとして動作しているマスタデバイスＭ１が暴走又は故障すると、バスアービタ８から出力される調停信号ＡＢＴはオンの状態を継続することができず、バス上の調停信号ＡＢＴはオフとなる。これが割込み要求となって待機中のマスタデバイスＭ２、Ｍ３に伝達され、調停が開始される（ステップＳ１）。以後、ｔは時刻即ちタイマ４の現在値を、Ｔは基準周期を、Ｎはスロット数を、ＵＡはユニットアドレス（マスタデバイスＭ２においては２であり、マスタデバイスＭ３においては３である）を表すとして、以下のシーケンスが実行される。
【００２７】
まず、ステップＳ２においてタイマ４をリセットしてｔ＝０とし、タイマ４を再スタートさせて割り込みを禁止する。次いでステップＳ３において、タイマ４の現在値が自己のユニットアドレスのＴ倍に等しくなったとき、即ちｔ＝ＵＡ×Ｔのとき、調停信号ＡＢＴを読み取ってオフであるか否かを判定し（ステップＳ４）、該調停信号がオフであればステップＳ５においてフラグ１をオンにする。一方、ステップＳ４において調停信号ＡＢＴがオフでないと判定されたならば、ステップＳ６においてフラグ１をオフに設定する。この後、ステップ７において調停設定値ｉＡＢＴをオンにする。
【００２８】
次いで、タイマ４の値ｔが（２Ｎ−１−ＵＡ）×Ｔに等しくなったとき（ステップＳ８）、ステップＳ９において調停設定値ｉＡＢＴをオフにし、次いでステップＳ１０において調停信号ＡＢＴがオフであるか否かが判定される。ステップ１０において調停信号ＡＢＴがオフであると判定されたときには、ステップＳ１１において、内部のフラグ２をオンに設定する。しかし、ステップ１０において調停信号ＡＢＴがオフではないと判定されたときには、ステップＳ１２において、内部のフラグ２をオフに設定する。
【００２９】
この後、調停アルゴリズムは図９のステップＳ１３へ進み、タイマ４の値ｔが２Ｎ×Ｔに等しくなったとき、ステップＳ１４において、内部のフラグ１、フラグ２の状態を検査し、両方のフラグがオンであると判定されたマスタデバイスをバスマスタに決定して、ステップＳ１５において、そのマスタデバイスの調停設定値ｉＡＢＴ及びバス許可設定値ｉＢＵＳＥをオンにする。これによってバスを開き、他のマスタデバイスを待機状態とする。こうして、ｔ＝（２Ｎ＋１）×Ｔの時点で（ステップＳ１６）、タイマ４を停止させて割り込みを許可し（ステップＳ１７）、調停を終了する（ステップＳ１８）。
【００３０】
このように、１回の調停につき、待機中のマスタデバイスの優先順位を２回確認するので、優先順位の高い方のマスタデバイスを確実に決定してバス制御権を移動させることができる。
【００３１】
バスアービタ８は、図１０に示すように構成することができる。図１０においては、調停設定値ｉＡＢＴとバス許可設定値ｉＢＵＳＥとを共用する構成とされており、この点で、図１０のバスアービタは図５に示すバスアービタよりも単純化されている。図１０において、バスアービタ８は１個のレジスタ１４を備え、このレジスタ１４にＡＢＴ書き込みクロックとデータとが入力され、それらの入力信号の論理状態に応じた論理状態の調停設定値ｉＡＢＴがレジスタ１４から出力される。この調停設定値ｉＡＢＴとウォッチドッグタイマ６からの状態信号ＳＡＦＥを用いて調停信号ＡＢＴ及びバス許可信号ＢＵＳＥが生成される。
【００３２】
図１０に示すバスアービタを備えたマスタデバイス間で、図４のＡ、Ｂ、Ｃで説明した手順にしたがって行われるバス調停のタイミングチャートを図１１に示す。なお、図において、基準周期をＴ（例えば１ミリ秒）とするが、前記のとおり、基準周期Ｔは各時刻における中央処理装置の処理時間に比べて充分長いものとする。
【００３３】
図１１において、時刻ｔ＝０において、バスマスタとして動作してきたマスタデバイスＭ１が暴走又は故障してバス制御が不可能になったとき、マスタデバイスＭ１は調停設定値ｉＡＢＴをオフにするため、調停線上の調停信号ＡＢＴはオフとなる。これが割り込み要求となって待機中のマスタデバイスＭ２、Ｍ３に入力されるので、各マスタデバイスはバスマスタが不在になったことを知り、調停プロセスを開始する。まず、それぞれのマスタデバイス内のタイマ４をリセットして再スタートさせ、割り込みを禁止する。
【００３４】
マスタデバイスＭ２のユニットアドレスは２であるため、時刻ｔ＝２×Ｔにおいてタイマ４を停止させて調停信号ＡＢＴを読む。この時点には調停信号ＡＢＴはオフであるため、調停設定値ｉＡＢＴをオンにし、割り込みを許可してバスマスタとなる。一方、ユニットアドレスが３であるマスタデバイスＭ３は、時刻ｔ＝３×Ｔの時点でタイマ４を停止させ、調停信号ＡＢＴを読む。この時点には、先にマスタデバイスＭ２がその調停設定値ｉＡＢＴをオンにしているので、調停信号ＡＢＴはオンである。そこで、マスタデバイスＭ３は割り込みを禁止して待機状態となる。
【００３５】
図１２は、上で説明したタイミングチャートにしたがって、待機中のマスタデバイスにおいて実行される調停アルゴリズムを示している。バスマスタとして動作してきたマスタデバイスＭ１が暴走又は故障してバス制御が不可能になったとき、マスタデバイスＭ１は調停信号ＡＢＴをオンに維持しておくことができなくなるため、調停線上の調停信号ＡＢＴはオフとなる。これが割込み要求となり（ステップＳ２１）、待機中のマスタデバイスＭ１、Ｍ２に伝達されるので、それぞれのマスタデバイスはタイマ４をリセットして再スタートさせ、割り込みを禁止する（ステップＳ２２）。
【００３６】
次いで、タイマ４の値ｔがＵＡ×Ｔとなると（ステップＳ２３）、タイマ４を停止させ（ステップＳ２４）、調停信号ＡＢＴを読み取ってオフであるか否かを判定し（ステップＳ２５）、調停信号ＡＢＴがオフであると判定されたときには調停設定値ｉＡＢＴをオンにしてバスを獲得する（ステップＳ２６）。その後、ステップＳ２７において割り込みを許可し、ステップＳ２８におい処理を終了する。
【００３７】
【発明の効果】
以上、この発明の実施の形態について説明したところから明らかなとおり、この発明は、
（１）調停線のみでバスマスタの故障検知とバス調停とを行うことができる、
（２）一回の調停につき優先順位を２回確認するので、新たなバスマスタを確実に決定することができる、
（３）マスタデバイスどおしがピア・ツー・ピアで調停を行うため、バックプレーンに格別の素子を必要としない、
という格別の効果を奏する。
【図面の簡単な説明】
【図１】マスタデバイスを冗長化してバス制御権を切り換えることができる、この発明に係る冗長化装置の構成を概略的に示す図である。
【図２】図１のマスタデバイス間を１本の調停線でバス接続した状態を概略的に示す図である。
【図３】図２のマスタデバイスの構成を概略的に示す図である。
【図４】Ａ、Ｂ及びＣは、この発明に係る冗長化装置においてマスタデバイス間で行われるバス調停の動作手順を説明するための図である。
【図５】図３に示すバスアービタの構成の一例を示す図である。
【図６】図５のバスアービタの動作を説明するための真理値表である。
【図７】図５に示すバスアービタを備えたマスタデバイス間で行われるバス調停のタイミングチャートである。
【図８】図７のタイミングチャートにしたがって、待機中のマスタデバイスにおいて実行される調停アルゴリズムのステップを示す図である。
【図９】前記調停アルゴリズムの残りのステップを示す図である。
【図１０】図３に示すバスアービタの構成の他の例を示す図である。
【図１１】図１０に示す構成のバスアービタを備えたマスタデバイス間で行われるバス調停のタイミングチャートである。
【図１２】図１１のタイミングチャートにしたがって、待機中のマスタデバイスにおいて実行される調停アルゴリズムのステップを示す図である。
【図１３】公知の配線方式を示す図であり、Ａはスター配線方式を、Ｂはディジー・チェーン配線方式を示している。
【符号の説明】
Ｍ１、Ｍ２、Ｍ３：マスタデバイス、  ２：中央処理装置、  ４：タイマ、  ６：ウォッチドッグタイマ、  ８：バスアービタ、  １０、１２、１４：レジスタ、  Ｔ１、Ｔ２：ターゲットデバイス、
【図１】
0003976958.tif 000002
【図２】
0003976958.tif 000003
【図３】
0003976958.tif 000004
【図４】
0003976958.tif 000005
【図５】
0003976958.tif 000006
【図６】
0003976958.tif 000007
【図７】
0003976958.tif 000008
【図８】
0003976958.tif 000009
【図９】
0003976958.tif 000010
【図１０】
0003976958.tif 000011
【図１１】
0003976958.tif 000012
【図１２】
0003976958.tif 000013
【図１３】
0003976958.tif 000014