(57)【特許請求の範囲】
【請求項１】
メインユニットを収容するメインベースに接続されるパラレルバスに対してマルチドロップバスを介してそれぞれ増設ユニットを収容する複数の増設ベースを縦列接続し、上記メインユニットと上記増設ユニットとの間で上記パラレルバスを介して双方向にデータ伝送を行うパラレルバスシステムにおいて、
上記増設ベース内であって、上記パラレルバスと上記マルチドロップバスとの接続点と下段の増設ベースとの間のパラレルバス上に設けられる第１の双方向バッファと、
上記増設ベース内であって、上記接続点と上記増設ユニットとの間のマルチドロップバス上に設けられる第２の双方向バッファと、を設け、
上記メインユニットから送信されるバスリードイネーブル信号とバスゲートコントロール信号とにより上記第１の双方向バッファ及び上記第２の双方向バッファのリード方向とライト方向の切替を制御し、
上記パラレルバス上における各増設ベースでの多重反射および各増設ベース内における上記パラレルバスへのデータの反射を抑制する
ことを特徴とするパラレルバスシステムにおける衝突防止方法。
【請求項２】
パラレルバスに対してマルチドロップバスを介して増設ユニットが収容される複数の増設ベースを接続するメインベースに収容されるメインユニットにおいて、
上記増設ベース内であって、上記パラレルバスと上記マルチドロップバスとの接続点と次段の増設ベースとの間のパラレルバス上に設けられる第１の双方向バッファ、及び上記増設ベース内であって、上記接続点と上記増設ユニットとの間のマルチドロップバス上に設けられる第２の双方向バッファのリード方向とライト方向の切替を、自身から出力されるバスリードイネーブル信号とバスゲートコントロール信号とで制御し、
上記パラレルバス上における各増設ベースでの多重反射および各増設ベース内における上記パラレルバスへのデータの反射を抑制する
ことを特徴とするメインユニット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、パラレルデータ伝送方法および装置、パラレルバスシステムにおける衝突防止方法および装置に関し、詳しくは、メインベースに接続されるパラレルバスに複数の増設ベースを接続するととも、該増設ベース内のパラレルバス上に双方向バッファを設け、該双方向バッファによりパラレルバス上におけるデータの多重反射を防止したパラレルデータ伝送方法および装置、パラレルバスシステムにおける衝突防止方法および装置に関する。
【０００２】
【従来の技術】
従来、プログラマブルロジックコントローラ等においては、メインベースを構成するＣＰＵベースに対してパラレルバスを介して増設ベースを構成する複数の増設ベースを増設可能に接続することにより拡張性の高いシステムを構成する手法が知られている。
【０００３】
図７は、従来のＣＰＵベースに対して複数の増設ベースをパラレルバスを介して増設可能に接続することにより構成したプログラマブルロジックコントローラシステムの一例を示すシステム構成図である。
【０００４】
図７において、このプログラマブルロジックコントローラシステムは、ＣＰＵベース１０に接続されるパラレルバス（システムバス）３０にマルチドロップバス４０−１、４０−２、…、４０−Ｎを介して複数の増設ベース２０−１、２０−２、…、２０−Ｎ（増設ベース＃１〜＃Ｎ）を接続して構成される。
【０００５】
ここで、ＣＰＵベース１０は、このプログラマブルロジックコントローラシステムのメインベースを構成するもので、このＣＰＵベース１０には、ＣＰＵユニット１１、Ｉ／Ｏユニット等が収容されている。
【０００６】
また、増設ベース２０−１、２０−２、…、２０−Ｎは、ＣＰＵベース１０に対して増設可能に接続されるもので、それぞれ複数のＩ／Ｏユニット２１−１〜２１−Ｎが収容されている。
【０００７】
【発明が解決しようとする課題】
ところで、図７に示すような従来のマルチドロップ方式のプログラマブルロジックコントローラシステムにおいて、例えば、中距離、例えば１０ｍ程度のパラレルバス３０を用いてＣＰＵベース１０と複数の増設ベース２０−１、２０−２、…、２０−Ｎ（増設ベース＃１〜＃Ｎ）とを接続し、このパラレルバス３０を高速で動作させると、各増設ベース２０−１、２０−２、…、２０−Ｎにおける電気的な反射によって、いわゆる多重反射を起こし、このためにパラレルバス３０の信頼性が著しく低下するという問題があった。
【０００８】
この多重反射の問題を解決するために、各増設ベース２０−１、２０−２、…、２０−Ｎでパラレルバス３０の終端処理を行う構成も提案されているが、この場合は、システム全体のコストが高くなるという別の問題が生じた。
【０００９】
そこで、この発明は、中距離のパラレルバスを使用するパラレルバスシステムにおける高速動作および信頼性を安価に向上させることを可能にしたパラレルデータ伝送方法および装置を提供することを目的とする。
【００１０】
また、この発明は、メインユニットから送信されるメインベースと増設ベースとの間で伝送されるデータの伝送方向を切り替えるためのバスリードイネーブル信号の伝送遅延に基づくデータの衝突を防止するようにしたパラレルバスシステムにおける衝突防止方法および装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成させるため、請求項１記載の発明は、メインユニットを収容するメインベースに接続されるパラレルバスに対してマルチドロップバスを介してそれぞれ増設ユニットを収容する複数の増設ベースを縦列接続し、上記メインユニットと上記増設ユニットとの間で上記パラレルバスを介して双方向にデータ伝送を行うパラレルバスシステムにおいて、上記増設ベース内であって、上記パラレルバスと上記マルチドロップバスとの接続点と下段の増設ベースとの間のパラレルバス上に設けられる第１の双方向バッファと、上記増設ベース内であって、上記接続点と上記増設ユニットとの間のマルチドロップバス上に設けられる第２の双方向バッファと、を設け、上記メインユニットから送信されるバスリードイネーブル信号とバスゲートコントロール信号とにより上記第１の双方向バッファ及び上記第２の双方向バッファのリード方向とライト方向の切替を制御し、上記パラレルバス上における各増設ベースでの多重反射および各増設ベース内における上記パラレルバスへのデータの反射を抑制することを特徴とする。
【００１５】
従って、この発明によれば、ＣＰＵベース１０に接続されるパラレルバス（システムバス）にマルチドロップバスを介して複数の増設ベースを接続するとともに、各増設ベース内のパラレルバス上に双方向バッファを設けて構成したので、この双方向バッファによりパラレルバス上におけるデータの多重反射を抑制することができ、これにより中距離のパラレルバスを使用する場合のパラレルバスの高速動作および信頼性を向上させることができる。
【００１８】
また、請求項２記載の発明は、パラレルバスに対してマルチドロップバスを介して増設ユニットが収容される複数の増設ベースを接続するメインベースに収容されるメインユニットにおいて、上記増設ベース内であって、上記パラレルバスと上記マルチドロップバスとの接続点と次段の増設ベースとの間のパラレルバス上に設けられる第１の双方向バッファ、及び上記増設ベース内であって、上記接続点と上記増設ユニットとの間のマルチドロップバス上に設けられる第２の双方向バッファのリード方向とライト方向の切替を、自身から出力されるバスリードイネーブル信号とバスゲートコントロール信号とで制御し、上記パラレルバス上における各増設ベースでの多重反射および各増設ベース内における上記パラレルバスへのデータの反射を抑制することを特徴とする。
【００２０】
従って、この発明では、双方向バッファとしてイネーブル端子付きのバッファを用い、データの衝突が発生するバスリードイネーブル信号が変化するタイミングにおいて、バスゲートコントロール信号を用いて双方向バッファをディスネーブルに制御し、データバスをすべてハイインピーダンス（Ｈｉｇｈ−Ｚ）状態としてから双方向バッファのリード方向とライト方向の切替を行うように構成したので、双方向バッファに加わるバスリードイネーブル信号が異なる状態が生じても、データバス上におけるデータの衝突は発生せず、これによりデータの衝突が発生することなく増設ユニットに対するアクセスが可能になる。
【００２１】
【発明の実施の形態】
以下、この発明に係るパラレルデータ伝送方法および装置、パラレルバスシステムにおける衝突防止方法および装置の一実施の形態を添付図面を参照して詳細に説明する。
【００２２】
図１は、この発明に係るパラレルデータ伝送方法および装置、パラレルバスシステムにおける衝突防止方法および装置を適用して構成したプログラマブルロジックコントローラシステムの一実施の形態を示すシステム構成図である。
【００２３】
なお、図１において、図７に示した従来のプログラマブルロジックコントローラシステムと同様の機能を果たす部分には説明の便宜上図７で用いた符号と同一の符号を付する。
【００２４】
図１に示すこの発明に係るプログラマブルロジックコントローラシステムにおいては、ＣＰＵベース１０に接続されるパラレルバス（システムバス）３０にマルチドロップバス４０−１〜４０−Ｎを介して複数の増設ベース２０−１〜２０−Ｎ（増設ベース＃１〜＃Ｎ）を接続するとともに、各増設ベース２０−１〜２０−Ｎ内のパラレルバス３０上に双方向バッファ２３−１〜２３−（Ｎ−１）を設け、この双方向バッファ２３−１〜２３−（Ｎ−１）によりパラレルバス３０上におけるデータの多重反射を抑制し、これにより中距離のパラレルバス３０を使用する場合のパラレルバス３０の高速動作および信頼性を向上させるように構成される。
【００２５】
すなわち、図１において、このプログラマブルロジックコントローラシステムにおいては、図７に示した従来のプログラマブルロジックコントローラシステムと同様に、ＣＰＵベース１０に接続されるパラレルバス３０に対してマルチドロップバス４０−１、４０−２、…、４０−Ｎを介して複数の増設ベース２０−１、２０−２、…、２０−Ｎ（増設ベース＃１〜＃Ｎ）を接続して構成される。
【００２６】
また、ＣＰＵベース１０には、このプログラマブルロジックコントローラシステムのメインベースを構成するもので、このＣＰＵベース１０には、ＣＰＵユニット１１、Ｉ／Ｏユニット１２等が収容されており、増設ベース２０−１、２０−２、…、２０−Ｎには、それぞれ複数のＩ／Ｏユニット２１−１〜２１−Ｎが収容されている。
【００２７】
しかし、この図１に示すプログラマブルロジックコントローラシステムでは、図７に示した従来のプログラマブルロジックコントローラシステムと異なり、ＣＰＵベース１０内において、パラレルバス３０上に双方向バッファ１３が設けられており、また、増設ベース２０−１、２０−２、…、２０−Ｎにおいて、パラレルバス３０上にそれぞれ双方向バッファ２３−１、２３−２、…２３−（Ｎ−１）が設けられるとともに、そのマルチドロップバス４０−１、４０−２、…、４０−Ｎ上にそれぞれ双方向バッファ２２−１、２２−２、…２２−Ｎが設けられる。
【００２８】
そして、この図１に示すプログラマブルロジックコントローラシステムにおいては、双方向バッファ２３−１、２３−２、…２３−（Ｎ−１）によりパラレルバス３０が、各増設ベース２０−１、２０−２、…、２０−Ｎに対応して分離され、また、双方向バッファ２２−１、２２−２、…２２−Ｎによりパラレルバス３０と各マルチドロップバス４０−１、４０−２、…、４０−Ｎとが分離され、これによりディジィーチェーン式のパラレルバスを構成している。
【００２９】
このような構成によると、双方向バッファ１３および双方向バッファ２３−１、２３−２、…２３−（Ｎ−１）によりパラレルバス３０上における各増設ベース２０−１、２０−２、…、２０−Ｎでの多重反射が抑制され、また、双方向バッファ２２−１、２２−２、…２２−Ｎにより各増設ベース２０−１、２０−２、…、２０−Ｎ内におけるパラレルバス３０へのデータの反射が抑制されることになる。
【００３０】
これにより、パラレルバス３０の信頼性が向上し、双方向バッファ２３−１、２３−２、…２３−（Ｎ−１）および双方向バッファ２２−１、２２−２、…２２−Ｎでの遅延を考えても、従来のプログラマブルロジックコントローラシステムの７〜１０倍程度でパラレルバス３０上でのパラレルデータ転送が可能になる。
【００３１】
また、双方向バッファ１３および各双方向バッファ２３−１、２３−２、…２３−（Ｎ−１）および双方向バッファ２２−１、２２−２、…２２−Ｎとしては、安価なＣ−ＭＯＳロジックＩＣを用いることができるので、この双方向バッファ１３および各双方向バッファ２３−１、２３−２、…２３−（Ｎ−１）および双方向バッファ２２−１、２２−２、…２２−Ｎの追加によるコストアップは最小限に抑えることが可能になる。
【００３２】
さて、図１に示したようなディジィーチェーン式のパラレルバスを採用する場合において、ＣＰＵベース１０のＣＰＵユニット１１が増設ベース２０−１、２０−２、…、２０−Ｎに収容されるＩ／Ｏユニット２１−１〜２１−Ｎに対してデータのリード／ライトを行う場合、双方向バッファ１３および各双方向バッファ２３−１、２３−２、…２３−（Ｎ−１）および双方向バッファ２２−１、２２−２、…２２−Ｎの方向切替には、ＣＰＵユニット１１が生成するバスリードイネーブル信号ＲＤが用いられる。
【００３３】
しかし、ＣＰＵユニット１１が生成するバスリードイネーブル信号ＲＤを用いて、双方向バッファ１３および各双方向バッファ２３−１、２３−２、…２３−（Ｎ−１）および双方向バッファ２２−１、２２−２、…２２−Ｎの方向切替を行う手法を採用する場合に、パラレルバス３０の距離が伸びると、バスリードイネーブル信号ＲＤの伝送遅延により、パラレルバス３０をリード方向からライト方向に切り替える際にデータバス上でデータの衝突が発生する。
【００３４】
図２は、バスリードイネーブル信号ＲＤの伝送遅延により発生するデータの衝突を説明する図である。
【００３５】
図２において、２３−Ａおよび２３−Ｂは、パラレルバス３０上に設けられる双方向バッファを示しており、３０−１は、パラレルバス３０内のデータバス（ＤＡＴＡバス）を示し、３０−２は、パラレルバス３０内のバスリードイネーブル信号ＲＤを伝送する制御信号線を示す。
【００３６】
ここで、パラレルバス３０内の制御信号線３０−２によるバスリードイネーブル信号ＲＤの伝送遅延により、双方向バッファ２３−Ａの端子Ｄｉｒに加えられるバスリードイネーブル信号ＲＤがハイレベル（Ｈｉｇｈ）からローレベル（Ｌｏｗ）に切り替わっているのにも係らず双方向バッファ２３−Ｂの端子Ｄｉｒに加えられるバスリードイネーブル信号ＲＤがハイレベル（Ｈｉｇｈ）のままであるとする。
【００３７】
この場合、双方向バッファ２３−Ａおよび双方向バッファ２３−Ｂのライト方向およびリード方法は互いに逆方向になり、双方向バッファ２３−Ａと双方向バッファ２３−Ｂとの間のデータバス３０−１上でデータの衝突（Ｃｏｎｆｌｉｃｔ）が発生する。
【００３８】
このようなデータの衝突が重なると、双方向バッファ１３および各双方向バッファ２３−１、２３−２、…２３−（Ｎ−１）および双方向バッファ２２−１、２２−２、…２２−Ｎの構成するバッファＩＣの劣化の原因となり、機器の信頼性が低下する。
【００３９】
これを防止するために、バッファＩＣに抵抗をシリアルに接続して、データの衝突による過電流を抑える構成も提案されているが、この手法を採用する場合は、部品点数の増加、信号遅延等によるバスのコスト／性能に対する悪影響が問題になる。
【００４０】
そこで、次に示す実施の形態では、双方向バッファ１３および各双方向バッファ２３−１、２３−２、…２３−（Ｎ−１）および双方向バッファ２２−１、２２−２、…２２−Ｎとしてイネーブル端子付きのバッファを用い、データの衝突が発生するバスリードイネーブル信号ＲＤが変化するタイミングにおいて、バスゲートコントロール信号ＲＤＺを用いて双方向バッファ１３および各双方向バッファ２３−１、２３−２、…２３−（Ｎ−１）および双方向バッファ２２−１、２２−２、…２２−Ｎをディスネーブルに制御し、データバス３０−１をすべてハイインピーダンス（Ｈｉｇｈ−Ｚ）状態としてから双方向バッファ１３および各双方向バッファ２３−１、２３−２、…２３−（Ｎ−１）および双方向バッファ２２−１、２２−２、…２２−Ｎのリード方向とライト方向の切替を行うように構成される。
【００４１】
図３は、バスリードイネーブル信号ＲＤが変化するタイミングでバスゲートコントロール信号ＲＤＺを用いて双方向バッファをディスネーブルに制御するようにした構成を示すブロック図である。
【００４２】
図３において、２３−Ａおよび２３−Ｂは、パラレルバス３０上に設けられるそれぞれイネーブル端子Ｅｎを有する双方向バッファを示しており、３０−１は、パラレルバス３０内のデータバス（ＤＡＴＡバス）を示し、３０−２は、パラレルバス３０内のバスリードイネーブル信号ＲＤを伝送する制御信号線を示し、３０−３は、パラレルバス３０内のバスゲートコントロール信号ＲＤＺを伝送する制御信号線を示す。
【００４３】
ここで、ＣＰＵベース１０のＣＰＵユニット１１は、バスリードイネーブル信号ＲＤが変化するタイミングでバスゲートコントロール信号ＲＤＺを所定時間ハイレベル（Ｈｉｇｈ）に制御する。これにより、双方向バッファ２３−Ａおよび双方向バッファ２３−Ｂはディスネーブルに制御され、これにより、データバス３０−１はすべてハイインピーダンス（Ｈｉｇｈ−Ｚ）状態となるので、双方向バッファ２３−Ａおよび双方向バッファ２３−Ｂの端子Ｄｉｒに加わるバスリードイネーブル信号ＲＤが異なる状態が生じても、この状態でデータバス３０−１上におけるデータの衝突は発生しない。
【００４４】
図４は、図３に示す構成においてバスリードイネーブル信号ＲＤが変化するタイミングでバスゲートコントロール信号ＲＤＺを用いて双方向バッファをディスネーブルに制御する状態を示すタイミングチャートである。
【００４５】
図４（ａ）に示すように、バスリードイネーブル信号ＲＤが変化するタイミングにおいて、図４（ｂ）に示すように、バスゲートコントロール信号ＲＤＺは、ハイレベル（Ｈｉｇｈ）になるので、図４（ｃ）に示すように、このバスゲートコントロール信号ＲＤＺがハイレベルとなっている間、データバス３０−１はハイインピーダンス（Ｈｉｇｈ−Ｚ）状態となるので、双方向バッファ２３−Ａおよび双方向バッファ２３−Ｂの端子Ｄｉｒに加わるバスリードイネーブル信号ＲＤが異なる状態が生じても、この状態でデータバス３０−１上におけるデータの衝突は発生しない。
【００４６】
図５は、図４に示す構成を採用したプログラマブルロジックコントローラシステムの具体的構成を示す回路図である。
【００４７】
図５において、このプログラマブルロジックコントローラシステムは、ＣＰＵユニット１０１、Ｉ／Ｏユニット１０２、Ｉ／Ｏユニット１０３を収容するＣＰＵベース１００にＩ／Ｏユニット２０１、Ｉ／Ｏユニット２０２を収容する増設ベース２００をバスケーブル３００−１、３００−２で接続して構成される。
【００４８】
ここで、ＣＰＵベース１００に収容されるＣＰＵユニット１０１は、ＣＰＵベース１００に対してインターフェースをなすＡＳＩＣ１０１−１を有しており、Ｉ／Ｏユニット１０２は、ＣＰＵベース１００に対してインターフェースをなすＡＳＩＣ１０２−１を有しており、Ｉ／Ｏユニット１０３は、ＣＰＵベース１００に対してインターフェースをなすＡＳＩＣ１０３−１を有している。
【００４９】
また、増設ベース２００に収容されるＩ／Ｏユニット２０１は、増設ベース２００に対してインターフェースをなすＡＳＩＣ２０１−１を有しており、Ｉ／Ｏユニット２０２は、増設ベース２００に対してインターフェースをなすＡＳＩＣ２０２−１を有している。
【００５０】
さて、図５において、アドレスデータバス信号ＡＤは、ＣＰＵベース１００と増設ベース２００との間で相互に伝送される信号で、マスタ−スレーブ間のアドレスおよびデータを示す信号である。
【００５１】
また、バスリードイネーブル信号ＲＤは、ＣＰＵベース１００のＣＰＵユニット１０１から出力される信号で、増設ベース２００のＩ／Ｏユニット２０１および２０２のリードイネイブルとデータバスの方向切り替えに用いる信号である。
【００５２】
また、バスライトイネーブル信号ＷＲは、ＣＰＵベース１００のＣＰＵユニット１０１から出力される信号で、増設ベース２００のＩ／Ｏユニット２０１および２０２のライトイネーブルに用いる信号である。
【００５３】
また、バスゲートコントロール信号ＲＤＺは、ＣＰＵベース１００のＣＰＵユニット１０１から出力される信号で、データバスの方向切り替え時にデータの衝突を防止するために用いる信号またはＣＰＵベース１００の高速アクセス時に、増設ベース２００に対してアドレスデータバス信号ＡＤとバスアドレスストローブ信号ＡＳを出力させないために用いる信号である。
【００５４】
また、ユニット選択信号ＳＥＬは、ＣＰＵベース１００のＩ／Ｏユニット２０１または２０２若しくは増設ベース２００のＩ／Ｏユニット２０１または２０２のリード時にＣＰＵベース１００のＩ／Ｏユニット２０１または２０２若しくは増設ベース２００のＩ／Ｏユニット２０１または２０２から出力される信号で、自ラックに対するリード時における下段のベースからの信号をブロックするために用いる信号である。
【００５５】
さて、図５において、ＣＰＵベース１００は、一方向バッファ１１１、オア回路１１２、双方向バッファ１１３を具備して構成される。
【００５６】
ここで、一方向バッファ１１１は、ＣＰＵユニット１０１のＡＳＩＣ１０１−１から出力されるバスゲートコントロール信号ＲＤＺ、ＣＰＵユニット１０１のＡＳＩＣ１０１−１若しくはＩ／Ｏユニット１０２のＡＳＩＣ１０２−１から出力されるバスライトイネーブル信号ＷＲ、ＣＰＵユニット１０１のＡＳＩＣ１０１−１若しくはＩ／Ｏユニット１０２のＡＳＩＣ１０２−１から出力されるバスリードイネーブル信号ＲＤが入力され、その出力をバスケーブル３００−２に送出する。
【００５７】
また、双方向バッファ１１３は、ＣＰＵユニット１０１のＡＳＩＣ１０１−１から出力されるバスゲートコントロール信号ＲＤＺおよびＩ／Ｏユニット１０２のＡＳＩＣ１０２−１若しくはＩ／Ｏユニット１０３のＡＳＩＣ１０３−１から出力されるユニット選択信号ＳＥＬがオア回路１１２を介して端子Ｇに印加されるとともにＣＰＵユニット１０１のＡＳＩＣ１０１−１若しくはＩ／Ｏユニット１０２のＡＳＩＣ１０２−１から出力されるバスリードイネーブル信号ＲＤが端子Ｄに印加され、ＣＰＵユニット１０１のＡＳＩＣ１０１−１若しくはＩ／Ｏユニット１０２のＡＳＩＣ１０２−１若しくはＩ／Ｏユニット１０３のＡＳＩＣ１０３−１から出力されるアドレスデータバス信号ＡＤが入力されるとともにバスケーブル３００−１の信号が入力される。
【００５８】
また、増設ベース２００は、一方向バッファ２１１、双方向バッファ２１２、一方向バッファ２１３、オア回路２１４、双方向バッファ２１５を具備して構成される。
【００５９】
ここで、一方向バッファ２１１は、バスケーブル３００−２の信号が入力され、バスリードイネーブル信号ＲＤおよびバスライトイネーブル信号ＷＲをＩ／Ｏユニット２０１のＡＳＩＣ２０１−１およびＩ／Ｏユニット２０２のＡＳＩＣ２０１−２に出力する。
【００６０】
また、双方向バッファ２１２は、端子Ｇに一方向バッファ２１１から出力されるバスゲートコントロール信号ＲＤＺが印加されるとともに、端子ＤにＩ／Ｏユニット２０１のＡＳＩＣ２０１−１若しくはＩ／Ｏユニット２０２のＡＳＩＣ２０１−２から出力されるバスリードイネーブル信号ＲＤが印加され、バスケーブル３００−１の信号若しくはＩ／Ｏユニット２０１のＡＳＩＣ２０１−１若しくはＩ／Ｏユニット２０２のＡＳＩＣ２０１−２から出力されるアドレスデータバス信号ＡＤが入力される。
【００６１】
また、一方向バッファ２１３は、バスケーブル３００−２の信号を入力し、その出力を図示しない他の増設ベースに送出する。
【００６２】
また、双方向バッファ２１５は、端子Ｇに一方向バッファ２１１から出力されるバスゲートコントロール信号ＲＤＺ若しくはＩ／Ｏユニット２０１のＡＳＩＣ２０１−１若しくはＩ／Ｏユニット２０２のＡＳＩＣ２０１−２から出力されるユニット選択信号ＳＥＬがオア回路２１４を介して印加され、端子Ｄに一方向バッファ２１１から出力されるバスリードイネーブル信号ＲＤが印加され、バスケーブル３００−１の信号若しくは図示しない他の増設ベースからのアドレスデータバス信号ＡＤが入力される。
【００６３】
ここで、ＣＰＵベース１００の双方向バッファ１１３は、図３に示した双方向バッファ２３−Ａに対応し、増設ユニット２００の双方向バッファ２１５は、図３に示した双方向バッファ２３−Ｂに対応する。
【００６４】
すなわち、双方向バッファ１１３および双方向バッファ２１５は、それぞれバス方向切替端子Ｄおよびイネーブル端子Ｇを有しており、ＣＰＵユニット１０１のＡＳＩＣ１０１−１から出力されるバスリードイネーブル信号ＲＤがそれぞれのバス方向切替端子Ｄに印加され、ＣＰＵユニット１０１のＡＳＩＣ１０１−１から出力されるバスゲートコントロール信号ＲＤＺがそれぞれのイネーブル端子Ｇに印加されている。
【００６５】
そして、ＣＰＵユニット１０１のＡＳＩＣ１０１−１は、図４に示したように、バスリードイネーブル信号ＲＤが変化するタイミングでバスゲートコントロール信号ＲＤＺを所定時間ハイレベル（Ｈｉｇｈ）に制御する。これにより、双方向バッファ１１３および双方向バッファ２１２はディスネーブルに制御され、これにより、バスライン３００−１はハイインピーダンス（Ｈｉｇｈ−Ｚ）状態となり、バスリードイネーブル信号ＲＤの伝送遅延により双方向バッファ１１３および双方向バッファ２１２の端子Ｄに加わるバスリードイネーブル信号ＲＤが異なる状態が生じても、この状態でバスライン３００−１上におけるデータの衝突は発生しない。
【００６６】
また、図５に示す構成においては、増設ユニット２００の双方向バッファ２１２のイネーブル端子Ｇに、増設ユニット２００に収容されるＩ／Ｏユニット２０１または２０２からそのデータリード時に発生されるユニット選択信号ＳＥＬが印加されており、これにより増設ユニット２００に収容されるＩ／Ｏユニット２０１または２０２のリード時には、図示しない下段の増設ベースからのデータをブロックし、Ｉ／Ｏユニット２０１または２０２からのリードデータと下段のベースからのデータが衝突しないように構成されている。
【００６７】
すなわち、増設ユニット２００に収容されるＩ／Ｏユニット２０１または２０２からのデータリード時においては、このＩ／Ｏユニット２０１または２０２からのリードデータと下段の増設ユニットからのデータが衝突しないように、増設ユニット２００に収容されるＩ／Ｏユニット２０１または２０２が選択され、このＩ／Ｏユニット２０１または２０２からデータをリードする場合は、Ｉ／Ｏユニット２０１または２０２のそれぞれのＡＳＩＣは、ユニット選択信号ＳＥＬをハイレベル（Ｈｉｇｈ）にし、これにより双方向バッファ２１２の方向切り替えを行う。
【００６８】
この双方向バッファ２１２に印加されるバスリードイネーブル信号ＲＤ、バスゲートコントロール信号ＲＤＺ、ユニット選択信号ＳＥＬと双方向バッファ２１２の動作との関係を示すと以下のようになる。
【００６９】
１）増設ベース向けのアドレス／ライトデータ
ＤＬ＝Ｌ、  ＲＤＺ＝Ｌ、  ＳＥＬ＝Ｌ
この場合は上位ベースから下位ベースに対してアドレス／ライトデータが流れる。
【００７０】
２）下位ベースからのリードデータ
ＤＬ＝Ｈ、  ＲＤＺ＝Ｌ、  ＳＥＬ＝Ｌ
この場合は下位ベースからのリードデータが上位ベースに対して流れる。
【００７１】
３）自ベースからのリードデータ
ＤＬ＝Ｈ、  ＲＤＺ＝Ｌ、  ＳＥＬ＝Ｈ
この場合は下位ベースからのリードデータは遮断され、自ベースからのリードデータが上位ベースに対して流れる。
【００７２】
４）方向切り替え時
ＲＤＺ＝Ｈ
この場合は、バスラインはハイインピーダンスとなり、プルダウンによりローレベルとなる。
【００７３】
上記動作を図で示すと図６のようになる。
【００７４】
上述したように、この発明では、ＣＰＵベース１０に接続されるパラレルバス（システムバス）３０にマルチドロップバス４０−１〜４０−Ｎを介して複数の増設ベース２０−１〜２０−Ｎ（増設ベース＃１〜＃Ｎ）を接続するとともに、各増設ベース２０−１〜２０−Ｎ内のパラレルバス３０上に双方向バッファ２３−１〜２３−（Ｎ−１）を設けて構成したので、この双方向バッファ２３−１〜２３−（Ｎ−１）によりパラレルバス３０上におけるデータの多重反射を抑制することができ、これにより中距離のパラレルバス３０を使用する場合のパラレルバス３０の高速動作および信頼性を向上させることができる。
【００７５】
【発明の効果】
以上説明したように、この発明によれば、ＣＰＵベース１０に接続されるパラレルバス（システムバス）にマルチドロップバスを介して複数の増設ベースを接続するとともに、各増設ベース内のパラレルバス上に双方向バッファを設けて構成したので、この双方向バッファによりパラレルバス上におけるデータの多重反射を抑制することができ、これにより中距離のパラレルバスを使用する場合のパラレルバスの高速動作および信頼性を向上させることができる。
【００７６】
また、この発明によれば、双方向バッファとしてイネーブル端子付きのバッファを用い、データの衝突が発生するバスリードイネーブル信号が変化するタイミングにおいて、バスゲートコントロール信号を用いて双方向バッファをディスネーブルに制御し、データバスをすべてハイインピーダンス（Ｈｉｇｈ−Ｚ）状態としてから双方向バッファのリード方向とライト方向の切替を行うように構成したので、双方向バッファに加わるバスリードイネーブル信号が異なる状態が生じても、データバス上におけるデータの衝突は発生せず、これによりデータの衝突が発生することなく増設ユニットに対するアクセスが可能になるという効果を奏する。
【図面の簡単な説明】
【図１】この発明に係るパラレルデータ伝送方法および装置、パラレルバスシステムにおける衝突防止方法および装置を適用して構成したプログラマブルロジックコントローラシステムの一実施の形態を示すシステム構成図。
【図２】バスリードイネーブル信号ＲＤの伝送遅延により発生するデータの衝突を説明する図。
【図３】バスリードイネーブル信号ＲＤが変化するタイミングでバスゲートコントロール信号ＲＤＺを用いて双方向バッファをディスネーブルに制御するようにした構成を示すブロック図。
【図４】図３に示す構成においてバスリードイネーブル信号ＲＤが変化するタイミングでバスゲートコントロール信号ＲＤＺを用いて双方向バッファをディスネーブルに制御する状態を示すタイミングチャート。
【図５】図４に示す構成を採用したプログラマブルロジックコントローラシステムの具体的構成を示す回路図。
【図６】図５に示す増設ユニット内のＩ／Ｏユニットに接続される双方向バッファの制御によるデータの流れを示す図。
【図７】従来のＣＰＵベースに対して複数の増設ベースをパラレルバスを介して増設可能に接続することにより構成したプログラマブルロジックコントローラシステムの一例を示すシステム構成図。
【符号の説明】
１０    ＣＰＵベース
１１    ＣＰＵユニット
１２    Ｉ／Ｏユニット
２１−１〜２１−Ｎ    Ｉ／Ｏユニット
２０−１、２０−２、…、２０−Ｎ    増設ベース（増設ベース＃１〜＃Ｎ）
２２−１、２２−２、…２２−Ｎ    双方向バッファ
２３−１、２３−２、…２３−（Ｎ−１）    双方向バッファ
２３−Ａ、２３−Ｂ    双方向バッファ
３０    パラレルバス
３０−１    データバス（ＤＡＴＡバス）
３０−２、３０−３    制御信号線
４０−１、４０−２、…、４０−Ｎ    マルチドロップバス
１００    ＣＰＵベース
１０１    ＣＰＵユニット
１０１−１    ＡＳＩＣ
１０２    Ｉ／Ｏユニット
１０２−１    ＡＳＩＣ
１０３    Ｉ／Ｏユニット
１０３−１    ＡＳＩＣ
１１１    一方向バッファ
１０２    オア回路
１１３    双方向バッファ
２００    増設ベース
２０１    Ｉ／Ｏユニット
２０１−１    ＡＳＩＣ
２０２    Ｉ／Ｏユニット
２０１−１    ＡＳＩＣ
２１１    一方向バッファ
２１２    双方向バッファ
２１３    一方向バッファ
２１４    オア回路
２１５    双方向バッファ
【図１】
0003962969.tif 000002
【図２】
0003962969.tif 000003
【図３】
0003962969.tif 000004
【図４】
0003962969.tif 000005
【図５】
0003962969.tif 000006
【図６】
0003962969.tif 000007
【図７】
0003962969.tif 000008