(57)【要約】      （修正有）【課題】  処理の高速化及び簡素化できる入出力ポート拡張装置及び入出力ポート拡張システムを提供する。【解決手段】  データ及びアドレス情報を伝送する第１バス３０及び第２バス３１と、バッファ回路１１と、データラッチ回路１２と、データ入出力端子、第１バス３０にアドレス情報を出力するアドレス出力端子、及び制御信号（ＣＳ、ＲＤ／ＷＲ信号）を出力する制御出力端子を有するＣＰＵ１０と、第１バス３０が伝送するアドレス情報をクロック信号の立ち上がりでラッチして、第２バス３１に出力するＤＦＦ回路１３〜１５と、前記制御信号が第１状態から第２状態に切り替わった時に、該切り替えから所定の時間経過後、自動的に前記クロック信号をロウからハイに切り替えるとともに、自動的に何れをも選択しないことを示すアドレス情報が第２バス３１に出力されるようにＤＦＦ回路１３〜１５を制御する自動アドレス調整手段２８とを備える。【選択図】        図１
2005292897.tif 000002
【特許請求の範囲】
【請求項１】
データ及びアドレス情報を伝送する第１バス及び第２バスと、
前記第２バスが伝送するデータを入力し、該入力されたデータを自身が選択された時に前記第１バスに出力するバッファ回路と、
第１の所定のタイミングにて前記第１バスが伝送するデータをラッチし、該ラッチしたデータを自身が選択された時に前記第２バスに出力するデータラッチ回路と、
当該制御部による出力動作時に前記第１バスにデータを出力する一方、入力動作時に前記第１バスからのデータを入力するデータ入出力端子、前記第１バスにアドレス情報を出力するアドレス出力端子、及び前記バッファ回路または前記データラッチ回路を選択するための信号及び前記ラッチのタイミングを制御する信号の基となる制御信号を出力する制御出力端子を有する制御部と、
クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第２電位から第１電位に切り替わった時に前記第１バスが伝送するアドレス情報をラッチして、該ラッチしたアドレス情報を前記第２バスに出力するアドレスラッチ回路と、
前記制御信号が第１状態から第２状態に切り替わった時に前記クロック信号を第１電位から第２電位に切り替え、該切り替えから第１の所定の時間経過後、自動的に前記クロック信号を第２電位から第１電位に切り替えるとともに、その後、前記制御信号が前記第２状態から前記第１状態に戻った時から第２の所定の時間経過後、自動的に外部に設けられた入出力ポートの何れをも選択しないことを示すアドレス情報が第２バスに出力されるように前記アドレスラッチ回路を制御する自動アドレス調整手段と
を備えたことを特徴とする入出力ポート拡張装置。
【請求項２】
データ及びアドレス情報を伝送する第１バス及び第２バスと、
前記第２バスが伝送するデータを入力し、該入力されたデータを自身が選択された時に前記第１バスに出力するバッファ回路と、
クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第４電位から第３電位に切り替わった時に前記第１バスが伝送するデータをラッチし、該ラッチしたデータを自身が選択された時に前記第２バスに出力するデータラッチ回路と、
当該制御部による出力動作時に前記第１バスにデータを出力する一方、入力動作時に前記第１バスからのデータを入力するデータ入出力端子、前記第１バスにアドレス情報を出力するアドレス出力端子、及び前記バッファ回路または前記データラッチ回路を選択するための信号及び前記データラッチ回路に対する前記クロック信号の基となる制御信号を出力する制御出力端子を有する制御部と、
クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第２電位から第１電位に切り替わった時に前記第１バスが伝送するアドレス情報をラッチして、該ラッチしたアドレス情報を前記第２バスに出力するアドレスラッチ回路と、
前記制御信号の変化により前記データラッチ回路に対するクロック信号が第３電位となる第１状態から第４電位となる第２状態に切り替わった時に前記アドレスラッチ回路に対する前記クロック信号を第１電位から第２電位に切り替え、該切り替えから第１の所定の時間経過後、自動的に前記クロック信号を第２電位から第１電位に切り替えるとともに、その後、前記制御信号が前記第２状態から前記第１状態に戻った時から第２の所定の時間経過後、自動的に外部に設けられた入出力ポートの何れをも選択しないことを示すアドレス情報が第２バスに出力されるように前記アドレスラッチ回路を制御する自動アドレス調整手段と
を備えたことを特徴とする入出力ポート拡張装置。
【請求項３】
データ及びアドレス情報を伝送する第１バス及び第２バスと、
前記第２バスが伝送するデータを入力し、該入力されたデータを自身が選択された時に前記第１バスに出力するバッファ回路と、
第１の所定のタイミングにて前記第１バスが伝送するデータをラッチし、該ラッチしたデータを自身が選択された時に前記第２バスに出力するデータラッチ回路と、
当該制御部による出力動作時に前記第１バスにデータを出力する一方、入力動作時に前記第１バスからのデータを入力するデータ入出力端子、前記第１バスにアドレス情報を出力するアドレス出力端子、及び前記バッファ回路または前記データラッチ回路を選択するための信号及び前記ラッチのタイミングを制御する信号の基となる制御信号を出力する制御出力端子を有する制御部と、
クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第２電位から第１電位に切り替わった時に前記第１バスが伝送するアドレス情報をラッチして、該ラッチしたアドレス情報を前記第２バスに出力するアドレスラッチ回路と、
前記制御信号が第１状態から第２状態に切り替わった時に前記クロック信号を第１電位から第２電位に切り替え、該切り替えから第１の所定の時間経過後、自動的に前記クロック信号を第２電位から第１電位に切り替える自動アドレス調整手段と
を備えたことを特徴とする入出力ポート拡張装置。
【請求項４】
データ及びアドレス情報を伝送する第１バス及び第２バスと、
前記第２バスが伝送するデータを入力し、該入力されたデータを自身が選択された時に前記第１バスに出力するバッファ回路と、
第１の所定のタイミングにて前記第１バスが伝送するデータをラッチし、該ラッチしたデータを自身が選択された時に前記第２バスに出力するデータラッチ回路と、
当該制御部による出力動作時に前記第１バスにデータを出力する一方、入力動作時に前記第１バスからのデータを入力するデータ入出力端子、前記第１バスにアドレス情報を出力するアドレス出力端子、及び前記バッファ回路または前記データラッチ回路を選択するための信号及び前記ラッチのタイミングを制御する信号の基となる制御信号を出力する制御出力端子を有する制御部と、
クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第２電位から第１電位に切り替わった時に前記第１バスが伝送するアドレス情報をラッチして、該ラッチしたアドレス情報を前記第２バスに出力するアドレスラッチ回路と、
外部からのデータを入力し、該入力されたデータを自身が選択された時に前記第２バスに出力する入力ポートと、
第２の所定のタイミングにて前記第２バスが伝送するデータをラッチし、該ラッチしたデータを外部に出力する出力ポートと、
前記第２バスが伝送するアドレス情報に基づいて、前記入力ポート及び出力ポートの夫々に選択または非選択の信号を出力するデコーダと、
前記デコーダと前記入力ポート及び前記出力ポートとの間に介在し、前記デコーダが出力する前記信号のパルスの幅が第３の所定の時間以下の場合に前記パルスを除去する波形整形手段と、
前記制御信号が第１状態から第２状態に切り替わった時に前記クロック信号を第１電位から第２電位に切り替え、該切り替えから第１の所定の時間経過後、自動的に前記クロック信号を第２電位から第１電位に切り替えるとともに、その後、前記制御信号が前記第２状態から前記第１状態に戻った時から第２の所定の時間経過後、自動的に前記入力ポート及び前記出力ポートの全てに非選択の信号が出力されることに対応するアドレス情報が第２バスに出力されるように前記アドレスラッチ回路を制御する自動アドレス調整手段と
を備えたことを特徴とする入出力ポート拡張システム。
【請求項５】
データ及びアドレス情報を伝送する第１バス及び第２バスと、
前記第２バスが伝送するデータを入力し、該入力されたデータを自身が選択された時に前記第１バスに出力するバッファ回路と、
クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第４電位から第３電位に切り替わった時に前記第１バスが伝送するデータをラッチし、該ラッチしたデータを自身が選択された時に前記第２バスに出力するデータラッチ回路と、
当該制御部による出力動作時に前記第１バスにデータを出力する一方、入力動作時に前記第１バスからのデータを入力するデータ入出力端子、前記第１バスにアドレス情報を出力するアドレス出力端子、及び前記バッファ回路または前記データラッチ回路を選択するための信号及び前記データラッチ回路に対する前記クロック信号の基となる制御信号を出力する制御出力端子を有する制御部と、
クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第２電位から第１電位に切り替わった時に前記第１バスが伝送するアドレス情報をラッチして、該ラッチしたアドレス情報を前記第２バスに出力するアドレスラッチ回路と、
外部からのデータを入力し、該入力されたデータを自身が選択された時に前記第２バスに出力する入力ポートと、
第２の所定のタイミングにて前記第２バスが伝送するデータをラッチし、該ラッチしたデータを外部に出力する出力ポートと、
前記第２バスが伝送するアドレス情報に基づいて、前記入力ポート及び出力ポートの夫々に選択または非選択の信号を出力するデコーダと、
前記デコーダと前記入力ポート及び前記出力ポートとの間に介在し、前記デコーダが出力する前記信号のパルスの幅が第３の所定の時間以下の場合に前記パルスを除去する波形整形手段と、
前記制御信号の変化により前記データラッチ回路に対するクロック信号が第３電位となる第１状態から第４電位となる第２状態に切り替わった時に前記アドレスラッチ回路に対する前記クロック信号を第１電位から第２電位に切り替え、該切り替えから第１の所定の時間経過後、自動的に前記クロック信号を第２電位から第１電位に切り替えるとともに、その後、前記制御信号が前記第２状態から前記第１状態に戻った時から第２の所定の時間経過後、自動的に前記入力ポート及び前記出力ポートの全てに非選択の信号が出力されることに対応するが第２バスに出力されるように前記アドレスラッチ回路を制御する自動アドレス調整手段と
を備えたことを特徴とする入出力ポート拡張システム。
【請求項６】
前記入出力ポート拡張装置は、単一または複数の前記入力ポートと、単一または複数の前記出力ポートとを備え、
前記デコーダは、前記入力ポート及び前記出力ポートのうち、１以下の入力ポートまたは１以下の出力ポートに対して選択の信号を出力し、
各出力ポートは、前記デコーダからの選択または非選択の信号を受けるクロック入力端子を有し、該クロック入力端子が受けた信号が選択から非選択に切り替わった時に前記第２バスが伝送するデータをラッチする
ことを特徴とする請求項４または請求項５に記載の入出力ポート拡張システム。
【請求項７】
前記アドレス情報は、ｎビット（ｎは２以上の整数）から成り、
前記デコーダは、前記アドレス情報を複合化した情報を出力するための２n本の出力端子を有し、該２n本の出力端子の一部を前記入力ポート及び前記出力ポートの夫々に選択または非選択の信号を出力するための出力端子として用いる
ことを特徴とする請求項４または請求項５に記載の入出力ポート拡張システム。
【請求項８】
前記第２バスが異なるプリント基板にわたって配置されている
ことを特徴とする請求項７に記載の入出力ポート拡張システム。
【請求項９】
データ及びアドレス情報を伝送する第１バス及び第２バスと、
第１の所定のタイミングにて前記第１バスが伝送するデータをラッチし、該ラッチしたデータを前記第２バスに出力するデータラッチ回路と、
前記第１バスにデータを出力するデータ出力端子、前記第１バスにアドレス情報を出力するアドレス出力端子、及び前記ラッチのタイミングを制御する信号の基となる制御信号を出力する制御出力端子を有する制御部と、
クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第２電位から第１電位に切り替わった時に前記第１バスが伝送するアドレス情報をラッチして、該ラッチしたアドレス情報を前記第２バスに出力するアドレスラッチ回路と、
前記制御信号が第１状態から第２状態に切り替わった時に前記クロック信号を第１電位から第２電位に切り替え、該切り替えから第１の所定の時間経過後、自動的に前記クロック信号を第２電位から第１電位に切り替えるとともに、その後、前記制御信号が前記第２状態から前記第１状態に戻った時から第２の所定の時間経過後、自動的に外部に設けられた出力ポートの何れをも選択しないことを示すアドレス情報が第２バスに出力されるように前記アドレスラッチ回路を制御する自動アドレス調整手段と
を備えたことを特徴とする出力ポート拡張装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部に設けられたバッファ回路等からなる入力ポート、及びラッチ回路等からなる出力ポートを用いて、ＣＰＵ（Central Processing Unit：中央処理装置）等の入出力端子（入出力ポート）を拡張する入出力ポート拡張装置及び入出力ポート拡張システムに関する。
【背景技術】
【０００２】
図７は、従来の入出力ポート拡張装置を備えた入出力ポート拡張システム１００の回路図（従来例１）を示したものである。制御部としてのＣＰＵ１１０のデータ入出力端子Ｃ０、Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５、Ｃ６及びＣ７（全て不図示）は、夫々データバス１３０を構成する第１ラインＤ０、Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｄ６及びＤ７に接続されている。データ入出力端子Ｃ０〜Ｃ７は、時分割で入力端子としても機能するし、出力端子としても機能する。
【０００３】
第１ラインＤ０、Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｄ６及びＤ７は、夫々８回路入りＤフリップフロップから成る出力ポートＯＵＴ１０１のＤ端子Ｄａ、Ｄｂ、Ｄｃ、Ｄｄ、Ｄｅ、Ｄｆ、Ｄｇ及びＤｈに接続され、また夫々８回路入りＤフリップフロップから成る出力ポートＯＵＴ１０２のＤ端子Ｄａ、Ｄｂ、Ｄｃ、Ｄｄ、Ｄｅ、Ｄｆ、Ｄｇ及びＤｈに接続され、また夫々８回路入りスリーステートバッファから成る入力ポートＩＮ１０１の出力端子Ｙａ、Ｙｂ、Ｙｃ、Ｙｄ、Ｙｅ、Ｙｆ、Ｙｇ及びＹｈに接続され、また夫々８回路入りスリーステートバッファから成る入力ポートＩＮ１０２の出力端子Ｙａ、Ｙｂ、Ｙｃ、Ｙｄ、Ｙｅ、Ｙｆ、Ｙｇ及びＹｈに、接続されている。
【０００４】
ＣＰＵ１１０のリセット（ＲＥＳＥＴ）出力端子は、デコーダ１２０のイネーブル入力端子Ｇ１、出力ポートＯＵＴ１０１のクリア（ＣＬＲ）入力端子、及び出力ポートＯＵＴ１０２のクリア（ＣＬＲ）入力端子に共通接続され、それらにＲＥＳＥＴ信号を供給する。ＣＰＵ１１０のチップセレクト（ＣＳ）出力端子は、デコーダ１２０のイネーブル入力端子Ｇ２Ａ及びイネーブル入力端子Ｇ２Ｂに共通接続され、それらにＣＳ信号を供給する。
【０００５】
ＣＰＵ１１０のアドレス０（Ａ０）出力端子、アドレス１（Ａ１）出力端子及びリード／ライト（ＲＤ／ＷＲ）出力端子は、夫々デコーダ１２０のセレクト端子Ａ、Ｂ、Ｃに接続され、それらに夫々Ａ０アドレス信号、Ａ１アドレス信号及びＲＤ／ＷＲ信号を供給する。デコーダ１２０は、出力端子Ｙ０、Ｙ１、Ｙ２、Ｙ３、Ｙ４、Ｙ５、Ｙ６及びＹ７を備えており、該出力端子Ｙ０及びＹ１は、夫々出力ポートＯＵＴ１０１のクロック（ＣＬＫ）入力端子、及び出力ポートＯＵＴ１０２のクロック（ＣＬＫ）入力端子に接続され、該出力端子Ｙ４は、入力ポートＩＮ１０１のイネーブル入力端子１Ｇ及び２Ｇに共通接続され、該出力端子Ｙ５は、入力ポートＩＮ１０２のイネーブル入力端子１Ｇ及び２Ｇに共通接続されている。
【０００６】
図７におけるデコーダ１２０の入力信号に対する出力信号の関係について説明する。図８に、デコーダ１２０の真理値表を示す。以下、高電位の信号レベルを単にハイ（Ｈ）と示し、低電位の信号レベルを単にロウ（Ｌ）と示す。図８に示すように、デコーダ１２０においては、イネーブル入力端子Ｇ１がロウ、イネーブル入力端子Ｇ２Ａがハイ、またはイネーブル入力端子Ｇ２Ｂがハイの何れかが成立する場合は、セレクト入力端子Ａ〜Ｃの如何によらず、全ての出力端子Ｙ０〜Ｙ７は、ハイとなる。入力端子（Ｇ１、Ｇ２Ａ、Ｇ２Ｂ）＝（Ｈ、Ｌ、Ｌ）が成立する場合においては、セレクト入力端子（Ｃ、Ｂ、Ａ）に加わる信号に応じて、一つの出力端子が選択される（ロウとなる）。具体的には、図８に示すように、（Ｃ、Ｂ、Ａ）＝（Ｌ、Ｌ、Ｌ）、（Ｌ、Ｌ、Ｈ）、（Ｌ，Ｈ、Ｌ）、（Ｌ、Ｈ、Ｈ）、（Ｈ、Ｌ、Ｌ）、（Ｈ、Ｌ、Ｈ）、（Ｈ、Ｈ、Ｌ）、（Ｈ、Ｈ、Ｈ）が成立するときに、それぞれ出力端子Ｙ０、Ｙ１、Ｙ２、Ｙ３、Ｙ４、Ｙ５、Ｙ６、Ｙ７が選択される。
【０００７】
図７における出力ポートＯＵＴ１０１の入力信号に対する出力信号の関係について説明する。出力ポートＯＵＴ１０１は、一般的なＤフリップフロップと同様、自身のクロック入力端子に入力される信号がロウからハイに立ち上がった時に、自身のＤ端子Ｄａ、Ｄｂ、Ｄｃ、Ｄｄ、Ｄｅ、Ｄｆ、Ｄｇ及びＤｈに入力されている信号をラッチして、夫々そのまま（極性反転せずに）自身のＱ端子Ｑａ、Ｑｂ、Ｑｃ、Ｑｄ、Ｑｅ、Ｑｆ、Ｑｇ及びＱｈから出力する。そのラッチされた信号は、次回自身のクロック入力端子に入力される信号がロウからハイに立ち上がるか、或は自身のクリア入力端子にロウが入力されるまで保持される。自身のクリア入力端子にロウが入力されている状態では、自身の全てのＱ端子から出力される信号はロウとなる。また、出力ポートＯＵＴ１０２の入力信号に対する出力信号の関係も、出力ポートＯＵＴ１０１のそれと同様である。
【０００８】
入力ポートＩＮ１０１の入力信号に対する出力信号の関係について説明する。入力ポートＩＮ１０１は、共通接続されたイネーブル入力端子１Ｇと２Ｇの入力信号がロウの場合に選択されて活性となり、自身の入力端子Ａａ、Ａｂ、Ａｃ、Ａｄ、Ａｅ、Ａｆ、Ａｇ及びＡｈに入力されている信号をラッチすることなく、夫々そのまま（極性反転せずに）自身の出力端子Ｙａ、Ｙｂ、Ｙｃ、Ｙｄ、Ｙｅ、Ｙｆ、Ｙｇ及びＹｈから出力する。一方、共通接続されたイネーブル入力端子１Ｇと２Ｇの入力信号がハイである場合は不活性となり、入力端子Ａａ〜Ａｇの信号状態の如何に拘らず、出力端子Ｙａ〜Ｙｈは全て高抵抗状態になる。
【０００９】
上記入出力ポート拡張システム１００においては、ＣＰＵ１１０が、ＲＥＳＥＴ信号、ＣＳ信号、ＲＤ／ＷＲ信号、Ａ１、Ａ０アドレス信号、及びデータ入出力端子Ｃ０〜Ｃ７を適切に制御することにより、ＣＰＵ１１０は、出力ポートＯＵＴ１０１及びＯＵＴ１０２から１６ビットのデータ（ＯＵＴ＿１０〜ＯＵＴ＿１７、ＯＵＴ＿２０〜ＯＵＴ＿２７）を出力可能であり、入力ポートＩＮ１０１及びＩＮ１０２から１６ビットのデータ（ＩＮ＿１０〜ＩＮ＿１７、ＩＮ＿２０〜ＩＮ＿２７）を入力可能である。即ち、ＣＰＵ１１０の８個のデータ入出力端子Ｃ０〜Ｃ７を、あたかも計３２個の入出力端子として機能させる。これら夫々１６ビットのデータ（計３２ビットのデータ）を、以下総称して「外部入出力データ」という。
【００１０】
図７においては、ＣＰＵ１１０、デコーダ１２０、出力ポートＯＵＴ１０１、ＯＵＴ１０２、入力ポートＩＮ１０１及びＩＮ１０２は、全て同一のプリント基板（プリント回路板；不図示）上に配備されている。出力ポートＯＵＴ１０１及びＯＵＴ１０２からの出力データは、破線部１４０に配置されるコネクタ（不図示）を介して他のプリント基板（不図示）上の半導体素子等（不図示）に与えられ、入力ポートＩＮ１０１及びＩＮ１０２は、破線部１４０に配置されるコネクタ（不図示）を介して他のプリント基板上の半導体素子等（不図示）から入力データを受ける。
【００１１】
従って、この入出力ポート拡張システム１００においては、ＣＰＵ１１０が配置されるプリント基板と外部の他のプリント基板との間には、３２本の信号線が介在することとなり、信号線を中継するコネクタのピン数が多くなると共に、プリント基板上のスペースが大量に必要となってしまう。
【００１２】
図９は、他の従来の入出力ポート拡張システム１８０の回路図（従来例２）を示したものである。図９において、図７と同一の部分は同一の符号を付して説明を省略する。図９における入出力ポート拡張システム１８０が、図７における入出力ポート拡張システム１００と相違するのは、配置されるコネクタ（不図示）の位置が違うだけである。
【００１３】
つまり、デコーダ１２０、出力ポートＯＵＴ１０１、ＯＵＴ１０２、入力ポートＩＮ１０１及びＩＮ１０２が、同一のプリント基板（不図示）上に配備され、ＣＰＵ１１０は他のプリント基板（不図示）に配置される。そして、ＣＰＵ１１０とデコーダ１２０等を破線部１５０に配置されるコネクタ（不図示）を介して接続するのである。従って、この入出力ポート拡張システム１８０においては、ＣＰＵ１１０が配置されるプリント基板と出力ポートＯＵＴ１０１等が配置されるプリント基板との間には、１３本の信号線（データバス１３０の８本と、ＲＥＳＥＴ信号等に係わる信号線が５本）が介在することとなる。
【００１４】
この入出力ポート拡張システム１８０においては、図７に示すシステム１００に比べて、コネクタのピン数及びプリント基板上のスペースの削減を実現することができるものの、他の問題が発生する。即ち、ＣＰＵ１１０の出力端子が直接コネクタに接続されるため、ＣＰＵ１１０からの高い周波数成分を含む信号がノイズとして外部に放射されてしまう。また、システムの中核を担うＣＰＵ１１０に対して外部からのノイズが混入しやすくなる。
【００１５】
図１０及び図１１は、他の従来の入出力ポート拡張システム２００の回路図（従来例３）を示したものである。
【００１６】
ＣＰＵ２１０のデータ入出力端子Ｃ０、Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５、Ｃ６及びＣ７（全て不図示）は、夫々第１ラインＤ０、Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｄ６及びＤ７に接続されている。また、ＣＰＵ２１０のアドレス出力端子Ａ０、Ａ１及びＡ２は、夫々第１ラインＤ８、Ｄ９及びＤ１０に接続されている。これら第１ラインＤ０〜Ｄ１０から第１バス２３０は構成されている。また、データ入出力端子Ｃ０〜Ｃ７は、時分割で入力端子としても機能するし、出力端子としても機能する。
【００１７】
第１ラインＤ０、Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｄ６及びＤ７は、夫々８回路入りＤフリップフロップから成るデータラッチ回路２１２のＤ端子Ｄａ、Ｄｂ、Ｄｃ、Ｄｄ、Ｄｅ、Ｄｆ、Ｄｇ及びＤｈに接続され、また夫々８回路入りスリーステートバッファから成るバッファ回路２１１の出力端子Ｙａ、Ｙｂ、Ｙｃ、Ｙｄ、Ｙｅ、Ｙｆ、Ｙｇ及びＹｈに接続されている。第１ラインＤ８、Ｄ９及びＤ１０は、夫々Ｄフリップフロップ（ＤＦＦ）回路２１３のＤ端子、ＤＦＦ回路２１４のＤ端子及びＤＦＦ回路２１５のＤ端子に接続されている。
【００１８】
ＣＰＵ２１０のリセット（ＲＥＳＥＴ）出力端子は、ＤＦＦ回路２１３〜２１５の夫々のプリセット（ＰＲ）入力端子、デコーダ２５０のイネーブル入力端子Ｇ１、出力ポートＯＵＴ２０１のクリア（ＣＬＲ）入力端子及び出力ポートＯＵＴ２０２のクリア（ＣＬＲ）入力端子に共通接続され、それらにＲＥＳＥＴ信号を供給する。ＣＰＵ２１０のチップセレクト（ＣＳ）出力端子は、オア回路２１７の一方の入力端子及びオア回路２１８の一方の入力端子に共通接続され、それらにＣＳ信号を供給する。ＣＰＵ２１０のリード／ライト（ＲＤ／ＷＲ）出力端子は、オア回路２１８の他方の入力端子及びインバータ回路２１６の入力端子に共通接続され、それらにＲＤ／ＷＲ信号を供給する。
【００１９】
インバータ回路２１６の出力端子はオア回路２１７の他方の入力端子に接続され、オア回路２１７の出力端子は、インバータ回路２１９の入力端子とバッファ回路２１１のイネーブル入力端子１Ｇ及び２Ｇに共通接続されている。また、オア回路２１８の出力端子は、データラッチ回路２１２のクロック（ＣＬＫ）入力端子及びＤＦＦ回路２１３〜２１５の夫々のクロック（ＣＫ）入力端子に共通接続されている。また、インバータ回路２１９の出力端子は、データラッチ回路２１２のイネーブル入力端子ＯＣに接続されている。尚、ＤＦＦ回路２１３〜２１５の夫々のクリア（ＣＬ）入力端子は、ハイレベルにプルアップされている。
【００２０】
第２ラインＤＢ０、ＤＢ１、ＤＢ２、ＤＢ３、ＤＢ４、ＤＢ５、ＤＢ６及びＤＢ７は、夫々バッファ回路２１１の入力端子Ａａ、Ａｂ、Ａｃ、Ａｄ、Ａｅ、Ａｆ、Ａｇ及びＡｈに接続され、また夫々データラッチ回路２１２のＱ端子Ｑａ、Ｑｂ、Ｑｃ、Ｑｄ、Ｑｅ、Ｑｆ、Ｑｇ及びＱｈに接続され、また夫々８回路入りＤフリップフロップから成る出力ポートＯＵＴ２０１のＤ端子Ｄａ、Ｄｂ、Ｄｃ、Ｄｄ、Ｄｅ、Ｄｆ、Ｄｇ及びＤｈに接続され、また夫々８回路入りＤフリップフロップから成る出力ポートＯＵＴ２０２のＤ端子Ｄａ、Ｄｂ、Ｄｃ、Ｄｄ、Ｄｅ、Ｄｆ、Ｄｇ及びＤｈに接続され、また夫々８回路入りスリーステートバッファから成る入力ポートＩＮ２０１の出力端子Ｙａ、Ｙｂ、Ｙｃ、Ｙｄ、Ｙｅ、Ｙｆ、Ｙｇ及びＹｈに接続され、また夫々８回路入りスリーステートバッファから成る入力ポートＩＮ２０２の出力端子Ｙａ、Ｙｂ、Ｙｃ、Ｙｄ、Ｙｅ、Ｙｆ、Ｙｇ及びＹｈに接続されている。
【００２１】
第２ラインＤＢ８、ＤＢ９及びＤＢ１０は、夫々ＤＦＦ回路２１３〜２１５の夫々のＱ端子に接続され、また夫々デコーダ２５０のセレクト入力端子Ａ、セレクト入力端子Ｂ、並びにイネーブル入力端子Ｇ２Ａ及びＧ２Ｂに接続されている。これら第２ラインＤＢ０〜ＤＢ１０から第２バス２３１は構成されている。
【００２２】
デコーダ２５０の出力端子Ｙ０、Ｙ１、Ｙ４及びＹ５は、夫々出力ポートＯＵＴ２０１のクロック（ＣＬＫ）入力端子、出力ポートＯＵＴ２０２のクロック（ＣＬＫ）入力端子、入力ポートＩＮ２０１のイネーブル入力端子１Ｇ及び２Ｇ、並びに入力ポートＩＮ２０２のイネーブル入力端子１Ｇ及び２Ｇに接続されている。
【００２３】
デコーダ２５０の入力信号に対する出力信号の関係は図７におけるデコーダ１２０と同様であり、出力ポートＯＵＴ２０１及びＯＵＴ２０２の入力信号に対する出力信号の関係は図７における出力ポートＯＵＴ１０１と同様であり、バッファ回路２１１、入力ポートＩＮ２０１及び入力ポートＩＮ２０２の入力信号に対する出力信号の関係は図７における入力ポートＩＮ１０１と同様であるため、それらの関係の説明を省略する。
【００２４】
図１０におけるデータラッチ回路２１２の入力信号に対する出力信号の関係について説明する。データラッチ回路２１２は、イネーブル入力端子付きの一般的なＤフリップフロップと同様、自身のクロック入力端子に入力される信号がロウからハイに立ち上がった時に、自身のＤ端子Ｄａ、Ｄｂ、Ｄｃ、Ｄｄ、Ｄｅ、Ｄｆ、Ｄｇ及びＤｈに入力されている信号をラッチし、自身が選択されている（自身のイネーブル入力端子ＯＣにロウが入力されている）場合は、そのラッチした信号を夫々そのまま（極性反転せずに）自身のＱ端子Ｑａ、Ｑｂ、Ｑｃ、Ｑｄ、Ｑｅ、Ｑｆ、Ｑｇ及びＱｈから出力する。そのラッチされた信号は、次回自身のクロック入力端子に入力される信号がロウからハイに立ち上がるまで保持される。但し、自身のイネーブル入力端子ＯＣにハイが入力されている状態では、自身の全てのＱ端子は高抵抗状態となる。
【００２５】
図１０におけるＤＦＦ回路２１３の入力信号に対する出力信号の関係について説明する。ＤＦＦ回路２１３は、一般的なＤフリップフロップと同様、自身のクロック入力端子に入力される信号がロウからハイに立ち上がった時に、自身のＤ端子に入力されている信号をラッチして、そのまま（極性反転せずに）自身のＱ端子から出力すると共に、その極性反転信号を反転Ｑ端子（♯Ｑ）から出力する。そのラッチされた信号は、次回自身のクロック入力端子に入力される信号がロウからハイに立ち上がるか、或は自身のクリア端子にロウが入力されるか、或は自身のプリセット入力端子にロウが入力されるまで保持される。
自身のクリア入力端子にロウが入力されている状態では、Ｑ端子から出力される信号はロウとなると共に反転Ｑ端子から出力される信号はハイとなり、自身のプリセット入力端子にロウが入力されている状態では、Ｑ端子から出力される信号はハイとなると共に反転Ｑ端子から出力される信号はロウとなる。また、ＤＦＦ回路２１４及び２１５の夫々の入力信号に対する出力信号の関係も、ＤＦＦ回路２１３のそれと同様である。
【００２６】
上記入出力ポート拡張システム２００においては、ＣＰＵ２１０が、ＲＥＳＥＴ信号、ＣＳ信号、ＲＤ／ＷＲ信号、アドレス出力端子Ａ０〜Ａ２、及びデータ入出力端子Ｃ０〜Ｃ７を適切に制御することにより、ＣＰＵ２１０は、出力ポートＯＵＴ２０１及びＯＵＴ２０２から１６ビットのデータ（ＯＵＴ＿１０〜ＯＵＴ＿１７、ＯＵＴ＿２０〜ＯＵＴ＿２７）を出力可能であり、入力ポートＩＮ２０１及びＩＮ２０２から１６ビットのデータ（ＩＮ＿１０〜ＩＮ＿１７、ＩＮ＿２０〜ＩＮ＿２７）を入力可能である。即ち、図７の入出力ポート拡張システム１００や図９の入出力ポート拡張システム１８０と同様、ＣＰＵ２１０の８個のデータ入出力端子Ｃ０〜Ｃ７を、あたかも計３２個の入出力端子として機能させ、計３２ビットの外部入出力データを取り扱うことができる。
【００２７】
上記入出力ポート拡張システム２００においては、図１０におけるＣＰＵ２１０、バッファ回路２１１、データラッチ回路２１２、ＤＦＦ回路２１３〜２１５、インバータ回路２１６、オア回路２１７及び２１８が、同一のプリント基板（不図示）上に配備されている。また、図１１におけるデコーダ２５０、出力ポートＯＵＴ２０１、ＯＵＴ２０２、入力ポートＩＮ２０１及びＩＮ２０２が、ＣＰＵ２１０の配備されるプリント基板とは異なる他のプリント基板（不図示）上に配備されている。そして、ＣＰＵ２１０やバッファ回路２１１等と出力ポートＯＵＴ２０１やデコーダ２５０等を接続する信号線には、破線部２４０に配置されるコネクタ（不図示）が介在している。従って、この入出力ポート拡張システム２００においては、ＣＰＵ２１０が配置されるプリント基板と出力ポートＯＵＴ２０１等が配置されるプリント基板との間には、１２本の信号線（第２バス２３１の１１本と、ＲＥＳＥＴ信号に係わる信号線が１本）が介在することとなる。
【００２８】
上記入出力ポート拡張システム２００におけるデータの出力動作を、図１２を参照して説明する。まず、ステップＵ１において、ＣＳ信号とＲＤ／ＷＲ信号を適切に制御することにより、ＣＰＵ２１０からのデータを第２ラインＤＢ０〜ＤＢ７に出力する。続いて、ステップＵ２では、第２ラインＤＢ９にロウの信号を出力するとともに、第２ラインＤＢ８に所望の出力ポートを選択するための信号を出力する。このように、ＣＰＵ２１０から出力されるデータを所望のタイミングで第２ラインＤＢ０〜ＤＢ７に出力した後、そのデータを出力させる出力ポートを選択する処理を行う。
【００２９】
更にステップＵ３にて、第２ラインＤＢ１０にロウの信号を出力する。これにより、デコーダ２５０は、第２ラインＤＢ８の信号に基づいて自身の出力端子Ｙ０またはＹ１の出力信号をロウに切り替える。このステップＵ２とＵ３を同時に行うと、誤った入力ポートまたは出力ポートが一時的に選択されてしまう（ハザード）おそれがあるため、ステップＵ２とＵ３は分離して行う必要がある。また、ＣＰＵ２１０からのデータが誤って選択された出力ポートから出力されたり、ＣＰＵ２１０が誤って選択された入力ポートからのデータを受け取ったりしないように、データとアドレス情報の第２バスへの出力は、時間をずらして別個に行う必要があり、この意味においてステップＵ１〜Ｕ３の処理を統合することができない。
【００３０】
そして、最後にステップＵ４において第２ラインＤＢ１０にハイの信号を出力し、ロウとなっていたデコーダ２５０の出力端子Ｙ０またはＹ１をハイの状態に戻す。これにより、第２ラインＤＢ０〜ＤＢ７が伝送するデータを出力ポートＯＵＴ２０１またはＯＵＴ２０２がラッチし、該ラッチされたデータが外部に出力される。また、このステップＵ４の処理は、システムを出力動作開始前の状態に戻しＣＰＵ２１０による制御の煩雑化を防止するという観点からも、通常行われる。
【００３１】
次に、入出力ポート拡張システム２００における、データの入力動作を図１３を参照して説明する。まず、ステップＵ５において、第２ラインＤＢ９にハイの信号を出力するとともに、第２ラインＤＢ８に所望の入力ポートを選択するための信号を出力する。続いてステップＵ６にて、第２ラインＤＢ１０にロウの信号を出力する。これにより、デコーダ２５０は、第２ラインＤＢ８の信号に基づいて自身の出力端子Ｙ４またはＹ５の出力信号をロウに切り替える。このステップＵ５とＵ６を同時に行うと、誤った入力ポートまたは出力ポートが一時的に選択されてしまう（ハザード）おそれがあるため、ステップＵ５とＵ６は分離して行う必要がある。
【００３２】
続いてステップＵ７では、ステップＵ６の処理により第２ラインＤＢ０〜ＤＢ７に出力された外部からのデータを、バッファ回路２１１を介してＣＰＵ２１０に入力する。そして、最後にステップＵ８において第２ラインＤＢ１０にハイの信号を出力し、ロウとなっていたデコーダ２５０の出力端子Ｙ４またはＹ５をハイの状態に戻す。この最後のステップＵ８を行わずに入力動作の処理を完了してしまうと、入力ポートＩＮ２０１、ＩＮ２０２の何れかによる第２バス２３１へのデータの出力が維持され、次にデータラッチ回路２１２がイネーブルとなった時に（イネーブル入力端子ＯＣがロウとなった時に）、データラッチ回路２１２と入力ポートの出力同士がショートしてしまう。該ショートを回避するために、ステップＵ８の処理は必要である。
【発明の開示】
【発明が解決しようとする課題】
【００３３】
図１０及び図１１における入出力ポート拡張システム２００においては、図７に示すシステム１００や図９に示すシステム１８０に比べて、コネクタのピン数及びプリント基板上のスペースの削減を実現することができるものの、制御部としてのＣＰＵ２１０が配置されるプリント基板と出力ポートＯＵＴ２０１等が配置されるプリント基板との間には、未だ１２本の信号線が介在し、無駄がある。
【００３４】
また、図１２や図１３に示したように、処理が煩雑であり、処理速度が遅いという問題ある。
【００３５】
本発明は、上記の点に鑑み、処理の高速化及び簡素化を実現することのできる入出力ポート拡張装置及び入出力ポート拡張システムを提供することを目的とする。また、本発明は、デコーダと入出力ポートを最小の信号線の本数で動作させることができる入出力ポート拡張システムを提供することを目的とする。また、処理の高速化及び簡素化を実現することのできる出力ポート拡張装置を提供することを目的とする。
【課題を解決するための手段】
【００３６】
上記目的を達成するために本発明に係る入出力ポート拡張装置は、データ及びアドレス情報を伝送する第１バス及び第２バスと、前記第２バスが伝送するデータを入力し、該入力されたデータを自身が選択された時に前記第１バスに出力するバッファ回路と、第１の所定のタイミングにて前記第１バスが伝送するデータをラッチし、該ラッチしたデータを自身が選択された時に前記第２バスに出力するデータラッチ回路と、当該制御部による出力動作時に前記第１バスにデータを出力する一方、入力動作時に前記第１バスからのデータを入力するデータ入出力端子、前記第１バスにアドレス情報を出力するアドレス出力端子、及び前記バッファ回路または前記データラッチ回路を選択するための信号及び前記ラッチのタイミングを制御する信号の基となる制御信号を出力する制御出力端子を有する制御部と、クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第２電位から第１電位に切り替わった時に前記第１バスが伝送するアドレス情報をラッチして、該ラッチしたアドレス情報を前記第２バスに出力するアドレスラッチ回路と、前記制御信号が第１状態から第２状態に切り替わった時に前記クロック信号を第１電位から第２電位に切り替え、該切り替えから第１の所定の時間経過後、自動的に前記クロック信号を第２電位から第１電位に切り替えるとともに、その後、前記制御信号が前記第２状態から前記第１状態に戻った時から第２の所定の時間経過後、自動的に外部に設けられた入出力ポートの何れをも選択しないことを示すアドレス情報が第２バスに出力されるように前記アドレスラッチ回路を制御する自動アドレス調整手段とを備えている。
【００３７】
入出力ポート拡張装置においては、外部からのデータを受けて制御部にそのデータを与えるバッファ回路や、制御部からのデータをラッチして外部にそのデータを出力するデータラッチ回路のほか、外部に設けられた複数の入出力ポートの何れを選択するかを示すアドレス情報をラッチし、該情報を外部に出力するアドレスラッチ回路が必要である。前記複数の入出力ポートは、単一または複数の出力ポートと単一または複数の入力ポートとから構成されており、これらの入出力ポートは第２バスに接続されることとなる。
【００３８】
また、制御部は制御信号の状態を変化させることで、バッファ回路またはデータラッチ回路を択一的に選択したり、データラッチ回路にラッチ動作を行わせたりする必要があり、制御信号を第１状態から第２状態に切り替えた後、再び第２状態に戻すといった処理が、通常に行われる。
【００３９】
また、制御部からのデータが誤って選択された出力ポートから出力されたり、制御部が誤って選択された入力ポートからのデータを受け取ったりしないように、データとアドレス情報の第２バスへの出力は、時間をずらして別個に行う必要がある。
【００４０】
ところが、上記入出力ポート拡張装置によれば、アドレスラッチ回路は、制御信号の第１状態から第２状態への切り替わりを受け、前記第１の所定の時間が経過した後、自動的に制御部からのアドレス情報をラッチして第２バスに出力する。この第１の所定の時間を適切に設定すれば、データとアドレス情報は時間的にずれて第２バスに出力され、アドレス情報を第２バスに出力するためのアドレスラッチ回路に対する処理を別個に行う必要がなくなる。これにより、処理の高速化、及び処理の簡素化が図られる。
【００４１】
また、その後第２状態から第１状態に戻ると、自動アドレス調整手段は、入出力ポートの何れをも選択しないことを示すアドレス情報（非選択を示すアドレス情報）が出力されるように、アドレスラッチ回路を制御する。この非選択を示すアドレス情報を第２バスに出力する処理は、入出力ポートを制御するシステムにおいては通常に必要となる処理であるが、この処理も上述の如く自動的に行われる。従って、これによっても処理の高速化、及び処理の簡素化が図られることとなる。また、例えば、上記第１電位とは高電位の信号レベル（ハイ）であり、上記第２電位とは低電位の信号レベル（ロウ）を意味する。勿論、その逆でもよい。
【００４２】
また、上記入出力ポート拡張装置は、具体的には、データ及びアドレス情報を伝送する第１バス及び第２バスと、前記第２バスが伝送するデータを入力し、該入力されたデータを自身が選択された時に前記第１バスに出力するバッファ回路と、クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第４電位から第３電位に切り替わった時に前記第１バスが伝送するデータをラッチし、該ラッチしたデータを自身が選択された時に前記第２バスに出力するデータラッチ回路と、当該制御部による出力動作時に前記第１バスにデータを出力する一方、入力動作時に前記第１バスからのデータを入力するデータ入出力端子、前記第１バスにアドレス情報を出力するアドレス出力端子、及び前記バッファ回路または前記データラッチ回路を選択するための信号及び前記データラッチ回路に対する前記クロック信号の基となる制御信号を出力する制御出力端子を有する制御部と、クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第２電位から第１電位に切り替わった時に前記第１バスが伝送するアドレス情報をラッチして、該ラッチしたアドレス情報を前記第２バスに出力するアドレスラッチ回路と、前記制御信号の変化により前記データラッチ回路に対するクロック信号が第３電位となる第１状態から第４電位となる第２状態に切り替わった時に前記アドレスラッチ回路に対する前記クロック信号を第１電位から第２電位に切り替え、該切り替えから第１の所定の時間経過後、自動的に前記クロック信号を第２電位から第１電位に切り替えるとともに、その後、前記制御信号が前記第２状態から前記第１状態に戻った時から第２の所定の時間経過後、自動的に外部に設けられた入出力ポートの何れをも選択しないことを示すアドレス情報が第２バスに出力されるように前記アドレスラッチ回路を制御する自動アドレス調整手段とを備えるようにするとよい。
【００４３】
尚、上記構成において、例えば、上記第３電位とは高電位の信号レベル（ハイ）であり、上記第４電位とは低電位の信号レベル（ロウ）を意味する。勿論、その逆でもよい。
【００４４】
また、上記目的を達成するために本発明に係る入出力ポート拡張装置は、データ及びアドレス情報を伝送する第１バス及び第２バスと、前記第２バスが伝送するデータを入力し、該入力されたデータを自身が選択された時に前記第１バスに出力するバッファ回路と、第１の所定のタイミングにて前記第１バスが伝送するデータをラッチし、該ラッチしたデータを自身が選択された時に前記第２バスに出力するデータラッチ回路と、当該制御部による出力動作時に前記第１バスにデータを出力する一方、入力動作時に前記第１バスからのデータを入力するデータ入出力端子、前記第１バスにアドレス情報を出力するアドレス出力端子、及び前記バッファ回路または前記データラッチ回路を選択するための信号及び前記ラッチのタイミングを制御する信号の基となる制御信号を出力する制御出力端子を有する制御部と、クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第２電位から第１電位に切り替わった時に前記第１バスが伝送するアドレス情報をラッチして、該ラッチしたアドレス情報を前記第２バスに出力するアドレスラッチ回路と、前記制御信号が第１状態から第２状態に切り替わった時に前記クロック信号を第１電位から第２電位に切り替え、該切り替えから第１の所定の時間経過後、自動的に前記クロック信号を第２電位から第１電位に切り替える自動アドレス調整手段とを備えている。
【００４５】
上記入出力ポート拡張装置によれば、アドレスラッチ回路は、制御信号の第１状態から第２状態への切り替わりを受け、前記第１の所定の時間が経過した後、自動的に制御部からのアドレス情報をラッチして第２バスに出力する。この第１の所定の時間を適切に設定すれば、データとアドレス情報は時間的にずれて第２バスに出力され、アドレス情報を第２バスに出力するためのアドレスラッチ回路に対する処理を別個に行う必要がなくなる。これにより、処理の高速化、及び処理の簡素化が図られる。
【００４６】
また、上記目的を達成するために本発明に係る入出力ポート拡張システムは、データ及びアドレス情報を伝送する第１バス及び第２バスと、前記第２バスが伝送するデータを入力し、該入力されたデータを自身が選択された時に前記第１バスに出力するバッファ回路と、第１の所定のタイミングにて前記第１バスが伝送するデータをラッチし、該ラッチしたデータを自身が選択された時に前記第２バスに出力するデータラッチ回路と、当該制御部による出力動作時に前記第１バスにデータを出力する一方、入力動作時に前記第１バスからのデータを入力するデータ入出力端子、前記第１バスにアドレス情報を出力するアドレス出力端子、及び前記バッファ回路または前記データラッチ回路を選択するための信号及び前記ラッチのタイミングを制御する信号の基となる制御信号を出力する制御出力端子を有する制御部と、クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第２電位から第１電位に切り替わった時に前記第１バスが伝送するアドレス情報をラッチして、該ラッチしたアドレス情報を前記第２バスに出力するアドレスラッチ回路と、外部からのデータを入力し、該入力されたデータを自身が選択された時に前記第２バスに出力する入力ポートと、第２の所定のタイミングにて前記第２バスが伝送するデータをラッチし、該ラッチしたデータを外部に出力する出力ポートと、前記第２バスが伝送するアドレス情報に基づいて、前記入力ポート及び出力ポートの夫々に選択または非選択の信号を出力するデコーダと、前記デコーダと前記入力ポート及び前記出力ポートとの間に介在し、前記デコーダが出力する前記信号のパルスの幅が第３の所定の時間以下の場合に前記パルスを除去する波形整形手段と、前記制御信号が第１状態から第２状態に切り替わった時に前記クロック信号を第１電位から第２電位に切り替え、該切り替えから第１の所定の時間経過後、自動的に前記クロック信号を第２電位から第１電位に切り替えるとともに、その後、前記制御信号が前記第２状態から前記第１状態に戻った時から第２の所定の時間経過後、自動的に前記入力ポート及び前記出力ポートの全てに非選択の信号が出力されることに対応するアドレス情報が第２バスに出力されるように前記アドレスラッチ回路を制御する自動アドレス調整手段とを備えている。
【００４７】
入出力ポート拡張システムにおいては、制御部は制御信号の状態を変化させることで、バッファ回路またはデータラッチ回路を択一的に選択したり、データラッチ回路にラッチ動作を行わせたりする必要があり、制御信号を第１状態から第２状態に切り替えた後、再び第２状態に戻すといった処理が、通常に行われる。
【００４８】
また、制御部からのデータが誤って選択された出力ポートから出力されたり、制御部が誤って選択された入力ポートからのデータを受け取ったりしないように、データとアドレス情報の第２バスへの出力は、時間をずらして別個に行う必要がある。
【００４９】
ところが、上記入出力ポート拡張システムによれば、アドレスラッチ回路は、制御信号の第１状態から第２状態への切り替わりを受け、前記第１の所定の時間が経過した後、自動的に制御部からのアドレス情報をラッチして第２バスに出力する。この第１の所定の時間を適切に設定すれば、データとアドレス情報は時間的にずれて第２バスに出力され、アドレス情報を第２バスに出力するためのアドレスラッチ回路に対する処理を別個に行う必要がなくなる。これにより、処理の高速化、及び処理の簡素化が図られる。
【００５０】
また、その後第２状態から第１状態に戻ると、自動アドレス調整手段は、入力ポート及び前記出力ポートの全てに非選択の信号が出力されることに対応するアドレス情報（非選択を示すアドレス情報）が出力されるように、アドレスラッチ回路を制御する。この非選択を示すアドレス情報を第２バスに出力する処理は、入出力ポートを制御するシステムにおいては通常に必要となる処理であるが、この処理も上述の如く自動的に行われる。従って、これによっても処理の高速化、及び処理の簡素化が図られることとなる。また、例えば、上記第１電位とは高電位の信号レベル（ハイ）であり、上記第２電位とは低電位の信号レベル（ロウ）を意味する。勿論、その逆でもよい。
【００５１】
また、従来の入出力ポート拡張システムにおいては、第２バスが伝送するアドレス情報を受けることによりデコーダが何れの入力ポートまたは出力ポートを選択するかを決定した（選択の決定）後、別のタイミングで実際にその選択に係る信号を入力ポートまたは出力ポートに出力する（選択の実行）。選択の決定と選択の実行を同時に行うと、誤った入力ポートまたは出力ポートが一時的に選択されてしまう（ハザード）おそれがあるため、このように選択の決定と選択の実行を時間的に分離するのである。
【００５２】
しかしながら、上記入出力ポート拡張システムにおいては、波形整形手段が、デコーダの出力信号のうち、パルスの幅が第３の所定時間以下の信号を除去するため、上記ハザードの問題が発生しない。従って、選択の決定と選択の実行を同時に行うことが可能となり、処理の高速化、及び処理の簡素化が図られることになる。
【００５３】
また、上記入出力ポート拡張システムは、具体的には、データ及びアドレス情報を伝送する第１バス及び第２バスと、前記第２バスが伝送するデータを入力し、該入力されたデータを自身が選択された時に前記第１バスに出力するバッファ回路と、クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第４電位から第３電位に切り替わった時に前記第１バスが伝送するデータをラッチし、該ラッチしたデータを自身が選択された時に前記第２バスに出力するデータラッチ回路と、当該制御部による出力動作時に前記第１バスにデータを出力する一方、入力動作時に前記第１バスからのデータを入力するデータ入出力端子、前記第１バスにアドレス情報を出力するアドレス出力端子、及び前記バッファ回路または前記データラッチ回路を選択するための信号及び前記データラッチ回路に対する前記クロック信号の基となる制御信号を出力する制御出力端子を有する制御部と、クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第２電位から第１電位に切り替わった時に前記第１バスが伝送するアドレス情報をラッチして、該ラッチしたアドレス情報を前記第２バスに出力するアドレスラッチ回路と、外部からのデータを入力し、該入力されたデータを自身が選択された時に前記第２バスに出力する入力ポートと、第２の所定のタイミングにて前記第２バスが伝送するデータをラッチし、該ラッチしたデータを外部に出力する出力ポートと、前記第２バスが伝送するアドレス情報に基づいて、前記入力ポート及び出力ポートの夫々に選択または非選択の信号を出力するデコーダと、前記デコーダと前記入力ポート及び前記出力ポートとの間に介在し、前記デコーダが出力する前記信号のパルスの幅が第３の所定の時間以下の場合に前記パルスを除去する波形整形手段と、前記制御信号の変化により前記データラッチ回路に対するクロック信号が第３電位となる第１状態から第４電位となる第２状態に切り替わった時に前記アドレスラッチ回路に対する前記クロック信号を第１電位から第２電位に切り替え、該切り替えから第１の所定の時間経過後、自動的に前記クロック信号を第２電位から第１電位に切り替えるとともに、その後、前記制御信号が前記第２状態から前記第１状態に戻った時から第２の所定の時間経過後、自動的に前記入力ポート及び前記出力ポートの全てに非選択の信号が出力されることに対応するが第２バスに出力されるように前記アドレスラッチ回路を制御する自動アドレス調整手段とを備えるようにするとよい。
【００５４】
尚、上記構成において、例えば、上記第３電位とは高電位の信号レベル（ハイ）であり、上記第４電位とは低電位の信号レベル（ロウ）を意味する。勿論、その逆でもよい。
【００５５】
また、例えば、上記入出力ポート拡張システムは、単一または複数の前記入力ポートと、単一または複数の前記出力ポートとを備え、前記デコーダは、前記入力ポート及び前記出力ポートのうち、１以下の入力ポートまたは１以下の出力ポートに対して選択の信号を出力し、各出力ポートは、前記デコーダからの選択または非選択の信号を受けるクロック入力端子を有し、該クロック入力端子が受けた信号が選択から非選択に切り替わった時に前記第２バスが伝送するデータをラッチするようにするとよい。
【００５６】
また、例えば、上記入出力ポート拡張システムにおいて、前記アドレス情報は、ｎビット（ｎは２以上の整数）から成り、前記デコーダは、前記アドレス情報を複合化した情報を出力するための２n本の出力端子を有し、該２n本の出力端子の一部を前記入力ポート及び前記出力ポートの夫々に選択または非選択の信号を出力するための出力端子として用いるようにするとよい。
【００５７】
例えば、入力ポート及び出力ポートの全てを非選択とするときは、出力端子の前記一部以外の出力端子をデコーダは選択すればよい。そして、上記構成とすることにより、第２バスはデータのビット数に対応する信号線と、上記ｎの本数の信号線のみで構成することができるため、第２バスを構成する信号線を必要最小限に抑えることができる。従って、コネクタ等を介して第２バスが異なるプリント基板にわたって配置されている場合は、コネクタのピン数及びプリント基板上のスペースを最低限にまで削減することができる。つまり、デコーダと入出力ポートを最小の信号線の本数で動作させることができる。
【００５８】
また、上記目的を達成するために本発明に係る出力ポート拡張装置は、データ及びアドレス情報を伝送する第１バス及び第２バスと、第１の所定のタイミングにて前記第１バスが伝送するデータをラッチし、該ラッチしたデータを前記第２バスに出力するデータラッチ回路と、前記第１バスにデータを出力するデータ出力端子、前記第１バスにアドレス情報を出力するアドレス出力端子、及び前記ラッチのタイミングを制御する信号の基となる制御信号を出力する制御出力端子を有する制御部と、クロック入力端子を有し、該クロック入力端子に入力されるクロック信号が第２電位から第１電位に切り替わった時に前記第１バスが伝送するアドレス情報をラッチして、該ラッチしたアドレス情報を前記第２バスに出力するアドレスラッチ回路と、前記制御信号が第１状態から第２状態に切り替わった時に前記クロック信号を第１電位から第２電位に切り替え、該切り替えから第１の所定の時間経過後、自動的に前記クロック信号を第２電位から第１電位に切り替えるとともに、その後、前記制御信号が前記第２状態から前記第１状態に戻った時から第２の所定の時間経過後、自動的に外部に設けられた出力ポートの何れをも選択しないことを示すアドレス情報が第２バスに出力されるように前記アドレスラッチ回路を制御する自動アドレス調整手段とを備えている。
【００５９】
出力ポート拡張装置においては、制御部からのデータをラッチして外部にそのデータを出力するデータラッチ回路のほか、外部に設けられた複数の出力ポートの何れを選択するかを示すアドレス情報をラッチし、該情報を外部に出力するアドレスラッチ回路が必要である。複数の出力ポートは第２バスに接続されることとなる。
【００６０】
また、制御部は制御信号の状態を変化させることで、データラッチ回路にラッチ動作を行わせる必要があり、制御信号を第１状態から第２状態に切り替えた後、再び第２状態に戻すといった処理が、通常に行われる。また、制御部からのデータが誤って選択された出力ポートから出力されることがないように、データとアドレス情報の第２バスへの出力は、時間をずらして別個に行う必要がある。
【００６１】
ところが、上記出力ポート拡張装置によれば、アドレスラッチ回路は、制御信号の第１状態から第２状態への切り替わりを受け、前記第１の所定の時間が経過した後、自動的に制御部からのアドレス情報をラッチして第２バスに出力する。この第１の所定の時間を適切に設定すれば、データとアドレス情報は時間的にずれて第２バスに出力され、アドレス情報を第２バスに出力するためのアドレスラッチ回路に対する処理を別個に行う必要がなくなる。これにより、処理の高速化、及び処理の簡素化が図られる。
【００６２】
また、その後第２状態から第１状態に戻ると、自動アドレス調整手段は、出力ポートの何れをも選択しないことを示すアドレス情報（非選択を示すアドレス情報）が出力されるように、アドレスラッチ回路を制御する。この非選択を示すアドレス情報を第２バスに出力する処理は、複数の出力ポートを制御するシステムにおいては通常に必要となる処理であるが、この処理も上述の如く自動的に行われる。従って、これによっても処理の高速化、及び処理の簡素化が図られることとなる。また、例えば、上記第１電位とは高電位の信号レベル（ハイ）であり、上記第２電位とは低電位の信号レベル（ロウ）を意味する。勿論、その逆でもよい。
【発明の効果】
【００６３】
上述した通り、本発明に係る入出力ポート拡張装置及び入出力ポート拡張システムによれば、処理の高速化及び簡素化を実現することのできる。また、デコーダと入出力ポートを最小の信号線の本数で動作させることができる。
【発明を実施するための最良の形態】
【００６４】
以下、本発明に係る入出力ポート拡張装置の実施形態を図面を参照して説明する。図１及び図２は、本発明の実施形態に係る入出力ポート拡張装置を備えた入出力ポート拡張システム１の回路図である。
【００６５】
ＣＰＵ１０のデータ入出力端子Ｃ０、Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５、Ｃ６及びＣ７（全て不図示）は、夫々第１ラインＤ０、Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｄ６及びＤ７に接続されている。また、ＣＰＵ１０のアドレス出力端子Ａ０、Ａ１及びＡ２は、夫々第１ラインＤ８、Ｄ９及びＤ１０に接続されており、３ビットから成るアドレス情報を出力する。これら第１ラインＤ０〜Ｄ１０から第１バス３０は構成されている。また、データ入出力端子Ｃ０〜Ｃ７は、時分割で入力端子としても機能するし、出力端子としても機能する。つまり、当該システムにおける出力動作時にはＣＰＵ１０から第１バス３０にデータを出力し、当該システムにおける入力動作時には第１バス３０からデータを入力する。
【００６６】
第１ラインＤ０、Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｄ６及びＤ７は、夫々８回路入りＤフリップフロップから成るデータラッチ回路１２のＤ端子Ｄａ、Ｄｂ、Ｄｃ、Ｄｄ、Ｄｅ、Ｄｆ、Ｄｇ及びＤｈに接続され、また夫々８回路入りスリーステートバッファから成るバッファ回路１１の出力端子Ｙａ、Ｙｂ、Ｙｃ、Ｙｄ、Ｙｅ、Ｙｆ、Ｙｇ及びＹｈに接続されている。第１ラインＤ８、Ｄ９及びＤ１０は、夫々Ｄフリップフロップ（ＤＦＦ）回路１３のＤ端子、ＤＦＦ回路１４のＤ端子及びＤＦＦ回路１５のＤ端子に接続されている。
【００６７】
ＣＰＵ１０のリセット（ＲＥＳＥＴ）出力端子は、ＤＦＦ回路１３〜１５の夫々のプリセット（ＰＲ）入力端子、及びＤＦＦ回路３４のクリア（ＣＬ）入力端子に共通接続され、それらにＲＥＳＥＴ信号を供給する。  ＣＰＵ１０のチップセレクト（ＣＳ）出力端子は、オア回路１７の一方の入力端子、オア回路１８の一方の入力端子、アンド回路２０の一方の入力端子、及びノア（ＮＯＲ）回路２２の一方の入力端子に共通接続され、それらにＣＳ信号を供給する。ＣＰＵ１０のリード／ライト（ＲＤ／ＷＲ）出力端子は、オア回路１８の他方の入力端子、インバータ回路１６の入力端子、ノア回路２２の他方の入力端子、及びインバータ回路２４の入力端子に共通接続され、それらにＲＤ／ＷＲ信号を供給する。
【００６８】
ＣＳ信号とＲＤ／ＷＲ信号を基にして、バッファ回路１１またはデータラッチ回路１２を選択する信号（バッファ回路１１のイネーブル入力端子１Ｇ及び２Ｇに対する信号やデータラッチ回路１２のイネーブル入力端子ＯＣに対する信号）や、データラッチ回路１２のクロック（ＣＬＫ）入力端子に対する信号が生成される。上記ＣＳ出力端子及びＲＤ／ＷＲ出力端子は、制御出力端子としての機能を有し、ＣＳ信号及びＲＤ／ＷＲ信号は、制御信号としての機能を有する。
【００６９】
オア回路１７の出力端子はインバータ回路１９の入力端子とオア回路３５の一方の入力端子に共通接続され、オア回路１８の出力端子はＤＦＦ回路３４のプリセット入力端子とデータラッチ回路１２のクロック（ＣＬＫ）入力端子に共通接続されている。また、インバータ回路１９の出力端子はＤＦＦ回路３４のクロック（ＣＫ）入力端子に接続されている。
【００７０】
ＤＦＦ回路３４のＤ端子は接地され、Ｑ端子はオア回路３５の他方の入力端子に接続されている。また、ＤＦＦ回路３４の反転Ｑ端子はオア回路３６の一方の入力端子に接続されていると共に、抵抗Ｒ７とコンデンサＣ７から成るローパスフィルタを介してオア回路３６の他方の入力端子に接続されている。オア回路３７の一方の入力端子には、オア回路３６の出力端子が接続され、他方の入力端子にはＤＦＦ回路１５のＱ端子が接続されている。オア回路３７の出力端子はデータラッチ回路１２のイネーブル入力端子ＯＣに接続され、オア回路３５の出力端子はバッファ回路１１のイネーブル入力端子１Ｇ及び２Ｇに共通接続されている。
【００７１】
インバータ回路２４の出力端子は、抵抗Ｒ１とコンデンサＣ１から成るローパスフィルタを介してシュミットトリガインバータ回路２６（以下、単にインバータ回路２６と記すことがある）の入力端子に接続されている。インバータ回路２６の出力端子はナンド（ＮＡＮＤ）回路２７の一方の入力端子及びアンド回路２０の他方の入力端子に共通接続されている。
【００７２】
また、ノア回路２２の出力端子は、ナンド回路２７の他方の入力端子に接続されており、ナンド回路２７の出力端子は、ＤＦＦ回路１３〜１５の夫々のクロック（ＣＫ）入力端子に共通接続されている。また、アンド回路２０の出力端子はナンド回路２１の一方の入力端子に接続されており、ナンド回路２１の出力端子はＤＦＦ回路１３〜１５の夫々のクリア（ＣＬ）入力端子に共通接続されている。また、ＤＦＦ回路１５の反転Ｑ端子は、ナンド回路２１の他方の入力端子に接続されている。
【００７３】
上記アンド回路２０、ナンド回路２１、ノア回路２２、インバータ回路２４、抵抗Ｒ１、コンデンサＣ１、インバータ回路２６及びナンド回路２７は、自動アドレス調整回路２８を構成する。
【００７４】
第２ラインＤＢ０、ＤＢ１、ＤＢ２、ＤＢ３、ＤＢ４、ＤＢ５、ＤＢ６及びＤＢ７は、夫々バッファ回路１１の入力端子Ａａ、Ａｂ、Ａｃ、Ａｄ、Ａｅ、Ａｆ、Ａｇ及びＡｈに接続され、また夫々データラッチ回路１２のＱ端子Ｑａ、Ｑｂ、Ｑｃ、Ｑｄ、Ｑｅ、Ｑｆ、Ｑｇ及びＱｈに接続され、また夫々８回路入りＤフリップフロップから成る出力ポートＯＵＴ１のＤ端子Ｄａ、Ｄｂ、Ｄｃ、Ｄｄ、Ｄｅ、Ｄｆ、Ｄｇ及びＤｈに接続され、また夫々８回路入りＤフリップフロップから成る出力ポートＯＵＴ２のＤ端子Ｄａ、Ｄｂ、Ｄｃ、Ｄｄ、Ｄｅ、Ｄｆ、Ｄｇ及びＤｈに接続され、また夫々８回路入りスリーステートバッファから成る入力ポートＩＮ１の出力端子Ｙａ、Ｙｂ、Ｙｃ、Ｙｄ、Ｙｅ、Ｙｆ、Ｙｇ及びＹｈに接続され、また夫々８回路入りスリーステートバッファから成る入力ポートＩＮ２の出力端子Ｙａ、Ｙｂ、Ｙｃ、Ｙｄ、Ｙｅ、Ｙｆ、Ｙｇ及びＹｈに接続されている。
【００７５】
第２ラインＤＢ８、ＤＢ９及びＤＢ１０は、夫々ＤＦＦ回路１３〜１５の夫々のＱ端子に接続され、また夫々デコーダ５０のセレクト入力端子Ａ、セレクト入力端子Ｂ及びセレクト入力端子Ｃに接続されている。これら第２ラインＤＢ０〜ＤＢ１０から第２バス３１は構成されている。
【００７６】
デコーダ５０の出力端子Ｙ１、Ｙ２、Ｙ４、Ｙ５及びＹ７は、夫々抵抗Ｒ２及びコンデンサＣ２からなるローパスフィルタ、抵抗Ｒ３及びコンデンサＣ３からなるローパスフィルタ、抵抗Ｒ４及びコンデンサＣ４からなるローパスフィルタ、抵抗Ｒ５及びコンデンサＣ５からなるローパスフィルタ、及び抵抗Ｒ６及びコンデンサＣ６からなるローパスフィルタを介して、夫々出力ポートＯＵＴ１のクロック（ＣＬＫ）入力端子、出力ポートＯＵＴ２のクロック（ＣＬＫ）入力端子、入力ポートＩＮ１のイネーブル入力端子１Ｇ及び２Ｇ、入力ポートＩＮ２のイネーブル入力端子１Ｇ及び２Ｇ、並びに出力ポートＯＵＴ１のクリア（ＣＬＲ）入力端子及び出力ポートＯＵＴ２のクリア（ＣＬＲ）入力端子に接続されている。
【００７７】
また、デコーダ５０のイネーブル入力端子Ｇ２Ａ及びＧ２Ｂは、夫々接地されているとともに、デコーダ５０のイネーブル入力端子Ｇ１は、入力端子が接地されたインバータ回路５１の出力端子に接続されている。
【００７８】
また、抵抗Ｒ２〜Ｒ６とコンデンサＣ２〜Ｃ６は、波形整形回路６０を構成している。入出力ポート拡張システム１においては、デコーダ５０のセレクト入力端子Ａ、Ｂ、Ｃに対する信号が同時に変化する場合があり、その際、デコーダ５０が一時的に望まない出力動作（ハザード）を行う場合がある。上記波形整形回路６０は、この一時的に望まない出力動作が後段である出力ポートＯＵＴ１等に対して影響を与えないようにするものであり、第２バス３１等を介して混入したノイズを除去する効果もある。言い換えれば、波形整形回路６０は、デコーダ５０の出力する「選択」の信号の幅（具体的には、ロウの信号の幅）が、抵抗Ｒ２〜Ｒ６とコンデンサＣ２〜Ｃ６による時定数で定まる時間より短い場合は、その「選択」の信号パルスを除去する機能を有するのであり、同様の機能を有するものであれば、どのような構成を採用しても良い。
【００７９】
また、ＤＦＦ回路１３、１４及び１５は、ＣＰＵ１０のアドレス出力端子Ａ０〜Ａ２が出力するアドレス情報をラッチして、第２バス３１に出力する機能を有するアドレスラッチ回路であると言える。
【００８０】
デコーダ５０の入力信号に対する出力信号の関係は図７におけるデコーダ１２０と同様であり、出力ポートＯＵＴ１及びＯＵＴ２の入力信号に対する出力信号の関係は図７における出力ポートＯＵＴ１０１と同様であり、バッファ回路１１、入力ポートＩＮ１及び入力ポートＩＮ２の入力信号に対する出力信号の関係は図７における入力ポートＩＮ１０１と同様であり、ＤＦＦ回路１３〜１５、３４の入力信号に対する出力信号の関係は図１０におけるＤＦＦ回路２１３と同様であり、データラッチ回路１２の入力信号に対する出力信号の関係は図１０におけるデータラッチ回路２１２と同様であるため、それらの関係の説明を省略する。
【００８１】
上記入出力ポート拡張システム１においては、ＣＰＵ１０が、ＲＥＳＥＴ信号、ＣＳ信号、ＲＤ／ＷＲ信号、アドレス出力端子Ａ０〜Ａ２、及びデータ入出力端子Ｃ０〜Ｃ７を適切に制御することにより、ＣＰＵ１０は、出力ポートＯＵＴ１及びＯＵＴ２から１６ビットのデータ（ＯＵＴ＿１０〜ＯＵＴ＿１７、ＯＵＴ＿２０〜ＯＵＴ＿２７）を出力可能であり、入力ポートＩＮ１及びＩＮ２から１６ビットのデータ（ＩＮ＿１０〜ＩＮ＿１７、ＩＮ＿２０〜ＩＮ＿２７）を入力可能である。即ち、ＣＰＵ１０の８個のデータ入出力端子Ｃ０〜Ｃ７を、あたかも計３２個の入出力端子として機能させ、計３２ビットの外部入出力データを取り扱うことができる。尚、出力ポートＵＯＵＴ１及びＯＵＴ２、並びに入力ポートＩＮ１及びＩＮ２を総称して、以下「入出力ポート」という。
【００８２】
上記入出力ポート拡張システム１においては、図１におけるＣＰＵ１０、バッファ回路１１、データラッチ回路１２、ＤＦＦ回路１３〜１５、インバータ回路１６、１９、オア回路１７、１８、及び自動アドレス調整回路２８が、同一のプリント基板（不図示）上に配備されている。また、図２におけるデコーダ５０、出力ポートＯＵＴ１、ＯＵＴ２、入力ポートＩＮ１、ＩＮ２、インバータ回路５１、及び波形整形回路６０がＣＰＵ１０の配備されるプリント基板とは異なる他のプリント基板（不図示）上に配備されている。そして、ＣＰＵ１０やバッファ回路１１等と出力ポートＯＵＴ１やデコーダ５０等を接続する信号線には、破線部４０に配置されるコネクタ（不図示）が介在している。従って、この入出力ポート拡張システム１においては、ＣＰＵ１０が配置されるプリント基板と出力ポートＯＵＴ１等が配置されるプリント基板との間には、１１本の信号線（第２バス３１の１１本）が介在することとなる。
【００８３】
次に、図３に示す波形図を用いて、ＣＰＵ１０の出力するデータを出力ポートＯＵＴ１から外部に出力する動作について説明する。図３においては、上からそれぞれ、ＣＳ信号（図１の（Ｄ）部に対応）、ＲＤ／ＷＲ信号（図１の（Ｅ）部に対応）、ＤＦＦ回路１３〜１５の夫々のクロック入力端子に加わるクロック信号（図１の（Ｆ）部に対応しており、以下単に信号（Ｆ）と記すことがある）、ＤＦＦ回路１３〜１５の夫々のクリア入力端子に加わる信号（図１の（Ｇ）部に対応しており、以下単に信号（Ｇ）と記すことがある）、インバータ回路２６への入力信号、バッファ回路１１のイネーブル入力端子１Ｇ及び２Ｇに加わる信号、ＤＦＦ回路３４の反転Ｑ端子から出力される信号、データラッチ回路１２のイネーブル入力端子ＯＣに加わる信号、同回路１２のクロック入力端子に加わるクロック信号、ＣＰＵ１０のデータ入出力端子Ｃ０〜Ｃ７が出力する信号（Ｄ０〜Ｄ７に対応）、ＣＰＵ１０のアドレス出力端子Ａ０〜Ａ２が出力する信号（Ｄ８〜Ｄ１０に対応）、第２ラインＤＢ０〜ＤＢ７の信号、第２ラインＤＢ８〜ＤＢ１０の信号（夫々図１における（Ａ）（Ｂ）（Ｃ）に対応）、デコーダ５０の出力端子Ｙ０の信号、デコーダ５０の出力端子Ｙ１の信号、デコーダ５０の出力端子Ｙ２〜Ｙ７の信号を示している。
【００８４】
尚、図３及び後述する図４中において、ＲＥＳＥＴ信号はハイであるとする。また、図中、「不定」とは信号状態がロウであるかハイであるかが定まらない状態を示し、「Ｈｉ−ｚ」とは、ＣＰＵ１０のデータ入出力端子Ｃ０〜Ｃ７が高抵抗状態になっていることを示す。
まず、初期状態であるタイミングＴ０においては、ＣＳ信号、ＲＤ／ＷＲ信号が双方ハイである。それに従い、信号（Ｆ）はハイである。また、信号（Ｇ）は、不定であり、第２ラインＤＢ８〜ＤＢ１０の信号状態も不定である。また、このタイミングでのＣＰＵ１０のデータ入出力端子Ｃ０〜Ｃ７は高抵抗状態となっている。また、アドレス出力端子Ａ０〜Ａ２の出力は任意である。
【００８５】
タイミングＴ１において、ＣＰＵ１０がＣＳ信号をロウに切り替えると（ＲＤ／ＷＲ信号はハイを維持）、信号（Ｇ）のハイが確定する。また、データラッチ回路１２が非選択状態（自身のイネーブル入力端子ＯＣへの信号がハイであり、自身のＱ端子が高抵抗となる状態）となる一方、バッファ回路１１が選択状態（自身のイネーブル入力端子１Ｇ及び２Ｇへの信号がロウであり、自身の出力端子Ｙａ〜Ｙｈが信号を出力する状態）となる。
続いてタイミングＴ２において、ＣＰＵ１０がＲＤ／ＷＲ信号をロウに切り替えると、信号（Ｆ）及びデータラッチ回路１２のクロック入力端子に加わる信号が双方ロウに切り替わり、バッファ回路１１が非選択状態（自身のイネーブル入力端子１Ｇ及び２Ｇへの信号がハイであり、自身の出力端子Ｙａ〜Ｙｈが高抵抗となる状態）に切り替わる。また、このタイミングＴ２において、ＣＰＵ１０はデータ入出力端子Ｃ０〜Ｃ７より８ビットから成るデータを出力すると共に、アドレス出力端子Ａ０〜Ａ２より、該データを出力ポートＯＵＴ１から出力させるために必要なアドレス情報を出力する。このアドレス情報は、具体的には（Ａ０、Ａ１、Ａ２）＝（Ｈ、Ｌ、Ｌ）である。
【００８６】
更に、ＲＤ／ＷＲ信号がロウに切り替わった時点からインバータ回路２４の出力が切り替わることにより、図３に示す如くインバータ回路２６の入力電圧がロウレベルから徐々に上昇を開始する。尚、このタイミングにおけるデータラッチ回路１２は、抵抗Ｒ７とコンデンサＣ７とから成るローパスフィルタの機能により非選択状態となっている。
【００８７】
タイミングＴ３においては、インバータ回路２６の入力電圧が、インバータ回路２６のハイレベルの閾値電圧Ｖｐに達し、インバータ回路２６の出力電圧がロウに切り替わる。これに伴って、信号（Ｆ）がハイに切り替わることにより、ＤＦＦ回路１３〜１５がＣＰＵ１０の出力するアドレス情報をラッチして第２ラインＤＢ８〜ＤＢ１０に出力する。そして、この第２ラインＤＢ８〜ＤＢ１０が伝送するアドレス情報を受けてデコーダ５０の出力端子Ｙ１が選択され、出力ポートＯＵＴ１のクロック入力端子に対する信号がロウに切り替わる。
【００８８】
また、タイミングＴ３と後述するタイミングＴ４の間において、抵抗Ｒ７とコンデンサＣ７との接続点の電位がオア回路３６の入力閾値電位を下回り、データラッチ回路１２が選択状態（自身のイネーブル入力端子ＯＣへの信号がロウであり、自身のＱ端子が信号を出力する状態）に遷移する。
【００８９】
続いてタイミングＴ４においては、ＣＰＵ１０がＲＤ／ＷＲ信号をハイに切り替える。これにより、データラッチ回路１２のクロック入力端子に加わる信号がロウからハイに切り替わり、データラッチ回路１２はＣＰＵ１０のデータ入出力端子Ｃ０〜Ｃ７が出力しているデータをラッチする。そのラッチされたデータは、第２ラインＤＢ０〜ＤＢ７を介して出力ポートＯＵＴ１等に与えられる。
【００９０】
また、タイミングＴ４においてＲＤ／ＷＲ信号がハイに切り替わった時点からインバータ回路２４の出力が切り替わることにより、図３に示す如くインバータ回路２６の入力電圧がハイレベルから徐々に下降を開始する。
【００９１】
続いてタイミングＴ５において、ＣＰＵ１０はＣＳ信号をハイに切り替える。また、ＣＰＵ１０は、データの出力を停止してデータ入出力端子Ｃ０〜Ｃ７を高抵抗状態に切り替える。
【００９２】
続いてタイミングＴ６では、インバータ回路２６の入力電圧が、インバータ回路２６のロウレベルの閾値電圧Ｖｎに達し、インバータ回路２６の出力電圧がハイに切り替わる。これに伴って、信号（Ｇ）がロウに切り替わることにより、ＤＦＦ回路１３〜１５は全てクリアとなる。即ち、第２ラインＤＢ８〜ＤＢ１０は、（Ｌ、Ｌ，Ｌ）となって、デコーダ５０の出力端子Ｙ０が選択されるようになる。
【００９３】
また、デコーダ５０の出力端子Ｙ１がロウからハイに切り替わることにより、出力ポートＯＵＴ１のクロック入力端子の信号もロウからハイに切り替わるので、出力ポートＯＵＴ１は、第２ラインＤＢ０〜ＤＢ７のデータ（ＣＰＵ１０が出力したデータである）をラッチして、自身のＱ端子から出力する。これにより、ＣＰＵ１０が出力するデータを出力ポートＯＵＴ１から出力するという目的が達成される。また、タイミングＴ１〜Ｔ６に至るまでの一連の動作が制御部としてのＣＰＵ１０が行う出力動作である。
【００９４】
図３に示す出力動作のフローチャートを示したものが図５である。出力動作の処理は、図１２に示す従来例では４つのステップＵ１〜Ｕ４が必要であるのに対し、入出力ポート拡張システム１においては、図５に示す如く、第２ラインＤＢ０〜ＤＢ１０へのデータ及びアドレス情報の出力（ステップＳ１）だけで完了しており、処理の高速化及び簡素化が実現されている。この理由について、以下考察する。
【００９５】
従来の入出力ポート拡張システムにおいては、ＣＰＵからのデータが誤って選択された出力ポートから出力されたり、ＣＰＵが誤って選択された入力ポートからのデータを受け取ったりしないように、データとアドレス情報の第２バスへの出力は、時間をずらして別個に行う必要がある。また、上記ハザードによる不都合を解消する必要もある。従って、図１０及び図１１に示す入出力ポート拡張システム２００においては、ステップＵ１〜Ｕ３（図１２参照）という具合に処理を分離する必要があった。
【００９６】
ところが、上記入出力ポート拡張システム１によれば、データラッチ回路１２のクロック入力端子に加わる信号がハイである第１状態からロウである第２状態に切り替わるタイミングＴ２より所定の時間が経過したタイミングＴ３において、ＤＦＦ回路１３〜１５は自動的にＣＰＵ１０からのアドレス情報をラッチして第２バス３１に出力する。そして、タイミングＴ３から時間がずれたタイミングＴ４においてＣＰＵ１０からのデータが第２バス３１に出力される。従って、ＣＰＵ１０はアドレス情報を第２バス３１に出力するためのＤＦＦ回路１３〜１５に対する処理を別個に行う必要がない。更に、波形整形回路６０の作用等によりハザードが発生することもない。以上の理由により、本実施形態に係る入出力ポート拡張システム１においては、従来では３つに分離されていたステップＵ１〜Ｕ３を統合可能となっている。
【００９７】
また、データラッチ回路１２のクロック入力端子に加わる信号がロウである第２状態からハイである第１状態に戻るタイミングＴ４より所定の時間が経過したタイミングＴ６において、自動的にＤＦＦ回路１３〜１５のクリア（ＣＬ）入力端子の夫々にロウ信号が入力される。これにより入力ポートＩＮ１、ＩＮ２、出力ポートＯＵＴ１、ＯＵＴ２の何れをも選択されない状態が自動的に実現される。また、このタイミングＴ６におけるデコーダ５０の出力の変化により、出力ポートＯＵＴ１が第２バス３１により伝送されたデータをラッチし、所望の出力動作が完了する。
【００９８】
つまり、タイミングＴ６における動作は、第１バス３０が伝送するデータを第２バスに出力するために必要な動作（タイミングＴ４におけるＲＤ／ＷＲ信号のハイへの切り替え）を行うことによって、自動的に実現される。従って、本実施形態に係る入出力ポート拡張システム１においては、従来では必要であったステップＵ４を別途行う必要がない。上記の理由から、入出力ポート拡張システム１における処理の高速化及び簡素化の実現が理解される。
【００９９】
次に、図４に示す波形図を用いて、外部から入力ポートＩＮ１に与えられているデータをＣＰＵ１０が入力する動作について説明する。図４においては、上からそれぞれ、ＣＳ信号（図１の（Ｄ）部に対応）、ＲＤ／ＷＲ信号（図１の（Ｅ）部に対応）、ＤＦＦ回路１３〜１５の夫々のクロック入力端子に加わるクロック信号、ＤＦＦ回路１３〜１５の夫々のクリア入力端子に加わる信号、インバータ回路２６への入力信号、バッファ回路１１のイネーブル入力端子１Ｇ及び２Ｇに加わる信号、ＤＦＦ回路３４の反転Ｑ端子から出力される信号、データラッチ回路１２のイネーブル入力端子ＯＣに加わる信号、同回路１２のクロック入力端子に加わるクロック信号、ＣＰＵ１０のデータ入出力端子Ｃ０〜Ｃ７が出力する信号（Ｄ０〜Ｄ７に対応）、ＣＰＵ１０のアドレス出力端子Ａ０〜Ａ２が出力する信号（Ｄ８〜Ｄ１０に対応）、第２ラインＤＢ０〜ＤＢ７の信号、第２ラインＤＢ８〜ＤＢ１０の信号（夫々図１における（Ａ）（Ｂ）（Ｃ）に対応）、デコーダ５０の出力端子Ｙ０の信号、デコーダ５０の出力端子Ｙ４の信号、デコーダ５０の出力端子Ｙ１〜Ｙ３及びＹ５〜Ｙ７の信号を示している。
【０１００】
まず、初期状態であるタイミングＸ０においては、ＣＳ信号、ＲＤ／ＷＲ信号が双方ハイである。それに従い、信号（Ｆ）はハイである。また、信号（Ｇ）は、不定であり、第２ラインＤＢ８〜ＤＢ１０の信号状態も不定である。また、このタイミングでのＣＰＵ１０のデータ入出力端子Ｃ０〜Ｃ７は高抵抗状態となっている。また、アドレス出力端子Ａ０〜Ａ２の出力は任意である。
【０１０１】
タイミングＸ１において、ＣＰＵ１０がＣＳ信号をロウに切り替えると（ＲＤ／ＷＲ信号はハイを維持）、信号（Ｇ）のハイが確定する。また、データラッチ回路１２が非選択状態となる一方、バッファ回路１１が選択状態となる。
【０１０２】
続いてタイミングＸ２において、ＣＰＵ１０がＲＤ／ＷＲ信号をロウに切り替えると、信号（Ｆ）及びデータラッチ回路１２のクロック入力端子に加わる信号が双方ロウに切り替わり、バッファ回路１１が非選択状態に切り替わる。また、このタイミングＸ２において、ＣＰＵ１０はアドレス出力端子Ａ０〜Ａ２より、入力ポートＩＮ１を選択する（入力ポートＩＮ１のイネーブル入力端子１Ｇ及び２Ｇをロウとする）ために必要なアドレス情報を出力する。このアドレス情報は、具体的には（Ａ０、Ａ１、Ａ２）＝（Ｌ、Ｌ、Ｈ）である。
【０１０３】
更に、ＲＤ／ＷＲ信号がロウに切り替わった時点からインバータ回路２４の出力が切り替わることにより、図４に示す如くインバータ回路２６の入力電圧がロウレベルから徐々に上昇を開始する。尚、このタイミングにおけるデータラッチ回路１２は、抵抗Ｒ７とコンデンサＣ７とから成るローパスフィルタの機能により非選択状態となっている。
【０１０４】
タイミングＸ３においては、インバータ回路２６の入力電圧が、インバータ回路２６のハイレベルの閾値電圧Ｖｐに達し、インバータ回路２６の出力電圧がロウに切り替わる。これに伴って、信号（Ｆ）がハイに切り替わることにより、ＤＦＦ回路１３〜１５がＣＰＵ１０の出力するアドレス情報をラッチして第２ラインＤＢ８〜ＤＢ１０に出力する。そして、この第２ラインＤＢ８〜ＤＢ１０が伝送するアドレス情報を受けてデコーダ５０の出力端子Ｙ４が選択され、入力ポートＩＮ１のイネーブル入力端子１Ｇ及び２Ｇに対する信号がロウに切り替わる。すると、入力ポートＩＮ１は活性となって、自身の入力端子Ａａ〜Ａｈに与えられている信号を自身の出力端子Ｙａ〜Ｙｈに出力する。即ち、外部から入力ポートＩＮ１に与えられたデータが第２バス３１を構成する第２ラインＤＢ０〜ＤＢ７にあらわれる。
【０１０５】
続いてタイミングＸ４においては、ＣＰＵ１０がＲＤ／ＷＲ信号をハイに切り替える。この切り替え時点からインバータ回路２４の出力が切り替わることにより、図４に示す如くインバータ回路２６の入力電圧がハイレベルから徐々に下降を開始する。
【０１０６】
続いてタイミングＸ５において、ＣＰＵ１０はＣＳ信号をハイに切り替える。また、タイミングＸ６においては、インバータ回路２６の入力電圧が、インバータ回路２６のロウレベルの閾値電圧Ｖｎに達し、インバータ回路２６の出力電圧がハイに切り替わるが、信号（Ｇ）はハイのままである。これは、ＤＦＦ回路１０の反転Ｑ端子がロウとなっているからである。
【０１０７】
続くタイミングＸ７において、ＣＰＵ１０はＣＳ信号をロウに切り替える。これにより、バッファ回路１１が選択状態となって、第２ラインＤＢ０〜ＤＢ７が伝送している外部からのデータが第１ラインＤ０〜Ｄ７にあらわれる。ＣＰＵ１０は、データ入出力端子Ｃ０〜Ｃ７からこのデータを取得した後、タイミングＸ８でＣＳ信号をハイに切り替えて入力動作を完了する。タイミングＸ１〜Ｘ８に至るまでの一連の動作が制御部としてのＣＰＵ１０が行う入力動作である。
【０１０８】
図４に示す入力動作のフローチャートを示したものが図６である。入力動作の処理は、図１３に示す従来例では４つのステップＵ５〜Ｕ８が必要であるのに対し、入出力ポート拡張システム１においては、図６に示す如く、第２ラインＤＢ８〜ＤＢ１０へのアドレス情報の出力の後（ステップＳ２）、第２ラインＤＢ０〜ＤＢ７にデータを出力する（ステップＳ３）という２つのステップだけで入力動作が完了する。このため、処理の高速化及び簡素化が実現されている。この理由について、以下考察する。
【０１０９】
従来の入出力ポート拡張システムにおいては、上記ハザードによる不都合を解消する必要があるため、例えば図１０及び図１１に示す入出力ポート拡張システム２００においては、ステップＵ５、Ｕ６（図１３参照）という具合に処理を分離する必要があった。
【０１１０】
ところが、上記入出力ポート拡張システム１によれば、波形整形回路６０の作用等によりハザードは発生しない。従って、本実施形態に係る入出力ポート拡張システム１においては、従来では２つに分離されていたステップＵ５及びＵ６を統合可能となっている。
【０１１１】
また、従来の入出力拡張システムにおいては、データラッチ回路と入力ポートの出力同士がショートしてしまうという問題の発生問題の発生を回避するために、ステップＵ８（図１３参照）の処理は必要であった。しかしながら、上述の出力動作及び入力動作から理解されるように、本実施形態に係る入出力ポート拡張システム１においては、そのような問題が発生しない。従って、本実施形態に係る入出力ポート拡張システム１においては、従来では必要であったステップＵ８を省略可能となっている。上記の理由から、入力ポート拡張システム１における処理の高速化及び簡素化の実現が理解される。
【０１１２】
また、入出力ポート拡張システム１においては、ＣＰＵ１０が配置されるプリント基板と出力ポートＯＵＴ１等が配置されるプリント基板との間には、従来例よりも少ない１１本の信号線（第２バス３１の１１本）しか介在しない。従って、これらの信号線を中継するコネクタのピン数の極小化、ひいてはプリント基板上の必要スペースの極小化を図ることができる。
【０１１３】
尚、ＣＰＵ１０におけるデータ入出力端子Ｃ０〜Ｃ７は、データの出力を行うときはデータ出力端子、入力を行うときはデータ入力端子と言い換えることもでき、ＣＰＵ１０からのデータが出力される点にのみ着目すれば、入出力ポート拡張システム１は出力ポート拡張装置を備えた出力ポート拡張システムとも言え、ＣＰＵ１０へデータが入力される点にのみ着目すれば、入出力ポート拡張システム１は入力ポート拡張装置を備えた入力ポート拡張システムとも言える。
【産業上の利用可能性】
【０１１４】
上述した通り、本発明に係る入出力ポート拡張装置及び入出力ポート拡張システムによれば、処理の高速化及び簡素化を実現することのできる。また、デコーダと入出力ポートを最小の信号線の本数で動作させることができる。
【図面の簡単な説明】
【０１１５】
【図１】本発明の実施形態に係る入出力ポート拡張システムを表わす回路図である。
【図２】本発明の実施形態に係る入出力ポート拡張システムを表わす回路図である。
【図３】図１及び図２における入出力ポート拡張システムの出力動作を示す波形図である。
【図４】図１及び図２における入出力ポート拡張システムの入力動作を示す波形図である。
【図５】図１及び図２における入出力ポート拡張システムの出力動作を示すフローチャートである。
【図６】図１及び図２における入出力ポート拡張システムの入力動作を示すフローチャートである。
【図７】従来の第１の入出力ポート拡張システムを表わす回路図である。
【図８】図７におけるデコーダの真理値表である。
【図９】従来の第２の入出力ポート拡張システムを表わす回路図である。
【図１０】従来の第３の入出力ポート拡張システムを表わす回路図である。
【図１１】従来の第３の入出力ポート拡張システムを表わす回路図である。
【図１２】図１０及び図１１における入出力ポート拡張システムの出力動作を示すフローチャートである。
【図１３】図１０及び図１１における入出力ポート拡張システムの入力動作を示すフローチャートである。
【符号の説明】
【０１１６】
１    入出力ポート拡張システム
１０    ＣＰＵ
１１    バッファ回路
１２    データラッチ回路
１３、１４、１５、３４    ＤＦＦ回路
２８    自動アドレス調整回路
５０    デコーダ
６０    波形整形回路
ＯＵＴ１、ＯＵＴ２    出力ポート
ＩＮ１、ＩＮ２    入力ポート
３０    第１バス
３１    第２バス
Ｄ０〜Ｄ１０    第１ライン
ＤＢ０〜ＤＢ１０    第２ライン
【図１】
2005292897.tif 000003
【図２】
2005292897.tif 000004
【図３】
2005292897.tif 000005
【図４】
2005292897.tif 000006
【図５】
2005292897.tif 000007
【図６】
2005292897.tif 000008
【図７】
2005292897.tif 000009
【図８】
2005292897.tif 000010
【図９】
2005292897.tif 000011
【図１０】
2005292897.tif 000012
【図１１】
2005292897.tif 000013
【図１２】
2005292897.tif 000014
【図１３】
2005292897.tif 000015