(57)【要約】【課題】ポート回路の制御に必要なプログラムメモリ容量が少なく、データ入出力実行処理時間が短い入出力ポート回路を提供する。【解決手段】入出力ポート回路１は、それぞれ汎用端子を有する第１のポート回路（ＰＯＲＴ０）２および第２のポート回路（ＰＯＲＴ１）３と、一括制御用コントロールレジスタ５と一括制御データレジスタ４から構成される。前記一括制御用コントロールレジスタ５の出力と前記一括制御データレジスタ４の出力は、第１および第２のポート回路２および３に分散している汎用端子のコントロールレジスタ２１とデータレジスタ２７にそれぞれ入力されて、複数の汎用端子の入出力状態をまとめて制御し、データを入出力する。【選択図】  図１
2004280332.tif 000002
【特許請求の範囲】
【請求項１】
複数の汎用端子と、
各汎用端子に接続されたデータ出力制御手段、この出力制御手段に出力するデータを記憶するデータレジスタ、前記汎用端子に与えられたデータの入力を制御するためのデータ入力制御手段、および前記データ入力制御手段と前記出力制御手段との制御を行うためのデータを記憶するコントロールレジスタを有する複数のポート手段と、
各ポート手段の前記データレジスタに共通接続され、且つ前記データ出力制御手段に出力するためのデータを記憶する一括制御データレジスタと、
各ポート手段の前記コントロールレジスタに共通接続され、且つ前記データ入力制御手段および前記データ出力制御手段の入出力制御を行うためのデータを記憶する一括制御用コントロールレジスタとを具備したことを特徴とする入出力ポート回路。
【請求項２】
更に、前記ポート手段は、別の汎用端子と、この汎用端子に接続されたデータ出力制御手段、このデータ出力制御手段に出力するデータを記憶するデータレジスタ、およびこの汎用端子に与えられたデータの入力を制御するためのデータ入力制御手段を有するポート部とを備え、
前記ポート部の前記データ出力制御手段およびデータ入力制御手段は、前記ポート手段の前記コントロールレジスタに共通接続されていることを特徴とする請求項１記載の入出力ポート回路。
【請求項３】
第１の汎用端子と、
この第１の汎用端子に接続された第１のデータ出力制御手段、この第１のデータ出力制御手段に出力するデータを記憶する第１のデータレジスタ、前記汎用端子に与えられたデータの入力を制御するための第１のデータ入力制御手段、および前記データ入力制御手段と前記データ出力制御手段との制御を行うデータを記憶する第１のコントロールレジスタを有する第１のポート手段と、
第２の汎用端子と、
この第２の汎用端子に接続された第２のデータ出力制御手段、この第２のデータ出力制御手段に出力するデータを記憶する第２のデータレジスタ、前記第２の汎用端子に与えられたデータの入力を制御するための第２のデータ入力制御手段、および前記第２のデータ入力制御手段と前記第２のデータ出力制御手段との制御を行うデータを記憶する第２のコントロールレジスタを有する第２のポート手段と、
前記汎用端子に出力するデータを記憶する一括制御データレジスタと、
前記汎用端子の入出力制御を行うデータを記憶する一括制御用コントロールレジスタと、
切替セレクタ制御用コントロールレジスタと、
第１および第２のデータ選択手段と、
第１および第２のコントロール選択手段とを具備し、
前記切替セレクタ制御用コントロールレジスタの一方の出力は、前記第１のデータ選択手段と前記第１のコントロール選択手段にそれぞれ入力され、且つ他方の出力は、前記第２のデータ選択手段と前記第２のコントロール選択手段にそれぞれ入力され、
前記一括制御データレジスタの一方の出力は、前記第１のデータ選択手段の一方のデータ入力に入力され、且つ他方の出力は、前記第２のデータ選択手段の一方のデータ入力に入力され、
前記一括制御用コントロールレジスタの一方の出力は、前記第１のコントロール選択手段の一方のデータ入力に入力され、且つ他方の出力は、前記第２のデータ選択手段の一方のデータ入力に入力され、
前記第１のポート手段の前記第１のデータレジスタの出力は、前記第１のデータ選択手段の他方のデータ入力に入力され、且つ前記第２のポート手段の前記第２のデータレジスタの出力は、前記第２のデータ選択手段の他方のデータ入力に入力され、
前記第１のポート手段の前記第１のコントロールレジスタの出力は、前記第１のコントロール選択手段の他方のデータ入力に入力され、且つ前記第２のポート手段の前記第２のコントロールレジスタの出力は、前記第２のコントロール選択手段の他方のデータ入力に入力されてなり、
前記第１および第２のポート手段の汎用端子は、第１および第２のコントロール選択手段の出力で入出力制御され、第１および第２のデータ選択手段の出力を出力することを特徴とする入出力ポート回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ポート入出力を一括制御する機能を有する入出力ポート回路に関するものである。
【０００２】
【従来の技術】
近年、半導体集積回路の集積度の向上に伴い、マイクロコントローラなどの半導体集積回路を使用した電子機器の小型化、高性能化が顕著である。マイクロコントローラは、プログラムを実行してデータ処理や後述の内部ブロックや回路を制御するＣＰＵ部と、主としてプログラムを記憶するＲＯＭや計算結果やコントロールデータを一時的に記憶するＲＡＭなどのメモリ部と、タイマーなどの機能マクロブロック部と、マイクロコントローラ周辺の外部回路と入出力端子を介してデータ入出力を行う入出力ポート回路などから構成されるシングルチップマイクロコンピュータ（以下マイクロコンピュータという）で、電子機器を制御するのに適している（例えば、非特許文献１参照。）。
【０００３】
電子機器のさらなる小型化、低コスト化のため、マイクロコンピュータの外部回路で実現されていた各種の信号処理と制御機能をマイクロコンピュータに取り込むことが盛んに行われている。しかしながら、同種の電子機器であっても仕様はそれぞれ異なり、それに伴いマイクロコンピュータに取り込む各種の信号処理や制御機能も異なったものとなる。
【０００４】
そして、それら異なる仕様に対応したマイクロコンピュータを個別に開発準備することは費用や開発時間の点から適当でなく、取り込む外部回路の仕様の違いをマイクロコンピュータに内蔵するタイマーやシリアルＩ／Ｏ（入出力）などの機能マクロブロックをプログラムで制御して信号を入出力端子から入出力することや、プログラムによって直接入出力端子を制御してデータを入出力することや、また両者の組み合わせで対応して、同一構成のマイクロコンピュータを異なる仕様の電子機器に用いることで費用と開発時間を削減することが行われている。
【０００５】
このように、マイクロコンピュータの入出力端子には、内部の機能マクロブロックに対して信号の入出力を行う専用端子と、プログラムでデータの入出力を制御する汎用端子と、更に、専用端子と汎用端子の機能を同一の端子で実現する兼用端子がある。これら端子の種類に応じて、種類毎に回路構成の異なるポート回路部で入出力制御が行われる。なお、本明細書の発明の詳細な説明において、各端子毎に設けられたものを端子のポート回路部、外部回路の機能に対応して纏められた複数のポート回路部から構成されたものをポート回路、全体を入出力ポート回路と称する。
【０００６】
また、従来のマイクロコンピュータの入出力ポート回路では、入出力端子の入出力プログラムを作成する時の端子の扱いを容易にするために外部と入出力する機能の単位で端子をグループ化してポート回路を設けることが多い。例えば、外部回路で発生するクロック信号を入力して内部の機能マクロブロックのカウンタで計数し、外部回路の表示装置にクロック信号の入力数が設定値より大きくなってオーバフローしたことを表示するような用途の外部回路を有する電子機器向けには、それぞれの端子を別個のポート回路として扱うのではなく、２個の端子を有する２ビット幅のポート回路として扱うようにすることが多い。
【０００７】
マイクロコンピュータに内蔵された従来の入出力ポート回路について図９乃至図１１を参照して説明する。図９は、入出力ポート回路の構成を示すブロック図、図１０は、入出力ポート回路のレジスタのメモリマップ、図１１は、入出力ポート回路の端子からデータを入出力する処理手順を示すフローチャートである。
【０００８】
図９に示すように、入出力ポート回路１００には、第１のポート回路（ＰＯＲＴ０）１０２と第２のポート回路（ＰＯＲＴ１）１０３が設けられている。第１のポート回路１０２は端子Ａ１０４および端子Ｂ１０５を有し、また第２のポート回路１０３は端子Ｃ１０６および端子Ｄ１０７を有している。端子Ａ１０４と端子Ｃ１０６は専用端子で、端子Ｂ１０５および端子Ｄ１０７は汎用端子である。
【０００９】
なお、第２のポート回路１０３は、第１のポート回路１０２と同一回路構成であり、図示および説明を省略する。
【００１０】
第１のポート回路１０２には、端子Ａ１０４のポート回路部１５０と端子Ｂ１０５のポート回路部１５１が設けられている。
【００１１】
ポート回路部１５０は、端子Ａ１０４が図示略の内部マクロブロックとデータ入出力する専用端子であるため、データ入力制御回路１１３およびデータ出力制御回路１１４と、それら制御回路を制御するコントロールレジスタ１１１から構成される。
【００１２】
ポート回路部１５１は、端子Ｂ１０５がプログラムでデータの入出力を行う汎用端子であるため、データレジスタ１２７とデータ入力制御回路１２３およびデータ出力制御回路１２４と、それら制御回路を制御するコントロールレジスタ１２１とから構成される。
【００１３】
端子Ａ１０４は、コントロールレジスタ１１１の出力１１２で制御されるデータ入力制御回路１１３と出力制御回路１１４を介して内部マクロブロックの入力と出力に接続される。
【００１４】
端子Ｂ１０５は、コントロールレジスタ１２１の出力１２２で制御されるデータ入力制御回路１２３と出力制御回路１２４を介して図示略の内部データバスとデータレジスタ１２７の出力に接続される。
【００１５】
更に、コントロールレジスタ１１１、１２１とデータレジスタ１２７は、内部データバスに接続されていて、マイクロコンピュータがプログラムを実行することで個別にデータの書き込みが可能である。
【００１６】
なお、ここでは、内部データバスを介して行われる、コントロールレジスタ１１１、１２１、データレジスタ１２７へのデータの書き込みおよびデータ入力制御回路１２３からの読み出し動作のための、制御信号並びに回路は、図示を省略している。
【００１７】
以下、入出力ポート回路１００の回路動作を、図１１のマイクロコンピュータのプログラムによる処理フローとともに説明する。
【００１８】
ここでは、入出力ポート回路１００の端子Ａ１０４と端子Ｃ１０６が、それぞれの内部マクロブロックにデータを入力するように制御され、端子Ｂ１０５と端子Ｄ１０７は、それぞれプログラムによってデータを出力するように制御される場合の回路動作について説明する。
【００１９】
マイクロコンピュータは、図１１のステップＳ１０１で書き込み命令を実行して、図１０のメモリマップ１５５に示される２番地のコントロールレジスタ（図中ＰＯＲＴ０コントロールレジスタと記す）に０１Ｂ（２進数）を書き込むことにより、端子Ａ１０４を入力状態に、そして端子Ｂ１０５を出力状態となるように設定する。
【００２０】
この書き込み命令の実行により、内部データバスに接続されたコントロールレジスタ制御信号（以下、ＣＲ制御信号と称す）Ａ１１０とＣＲ制御信号Ｂ１２０を介して、コントロールレジスタＡ１１１に入力状態とするデータ０（以下、「０」と表す）が書き込まれ、コントロールレジスタＢ１２１に出力状態とするデータ１（以下、「１」と表す）が書き込まれる。
【００２１】
コントロールレジスタＡ１１１の出力信号１１２が入力状態の「０」となると、データ出力制御回路Ａ１１４の出力Ａ１１５は、内部マクロブロックの出力であるデータ出力Ａ１１９を出力するのではなく、ハイインピーダンス状態となって、端子Ａ１０４を電気的に駆動しない。このため、端子Ａ１０４の状態は、端子Ａ１０４に接続された図示略のマイクロコンピュータの外部回路が出力するデータの状態となる。
【００２２】
また、コントロールレジスタＡ１１１の出力信号１１２が「０」となると、データ入力制御回路Ａ１１３は、外部回路の出力データとなっている端子Ａ１０４の状態を入力して、データ入力Ａ１１６を介して内部マクロブロックにデータを入力する。
【００２３】
一方、コントロールレジスタＢ１２１の出力信号１２２が出力状態の「１」となると、データ入力制御回路Ｂ１２３は入力信号をバッファして内部データバスに出力可能とする入力動作を行わない。また、出力信号１２２が「１」となるとデータ出力制御回路Ｂ１２４は、データレジスタＢ１２７の出力１２９のデータを入力して出力１２５から端子Ｂ１０５に出力可能な状態となる。
【００２４】
次いで、マイクロコンピュータは、ステップＳ１０２で書き込み命令を実行して、メモリマップ１５５に示される３番地のコントロールレジスタ（図中ＰＯＲＴ１コントロールレジスタと記す）に０１Ｂを書き込むことにより、端子Ｃ１０６を入力状態に、そして端子Ｄ１０７を出力状態となるように設定する。
【００２５】
この書き込み命令の実行により行われる第２のポート回路１０３のデータレジスタとコントロールレジスタと制御回路の動作は、ステップＳ１０１における第１のポート回路１０２のデータレジスタとコントロールレジスタと制御回路の動作と同様であり、説明を省略する。
【００２６】
次いで、マイクロコンピュータは、ステップＳ１０３で書き込み命令を実行して、メモリマップ１５５に示される０番地のデータレジスタ（図中ＰＯＲＴ０データレジスタと記す）に出力するデータを書き込む。
【００２７】
この書き込み命令の実行により、内部データバスに接続されたデータ出力Ｂ１２８を介して、データレジスタＢ１２７に出力するデータが書き込まれる。この書き込み動作と連携してデータレジスタＢ１２７の出力１２９のデータは、データ出力制御回路Ｂ１２４に入力され、そしてデータ出力制御回路Ｂ１２４の出力１２５となり、端子Ｂ１０５に所望の出力するデータが出力される。
【００２８】
次いで、マイクロコンピュータは、ステップＳ１０４で書き込み命令を実行して、メモリマップ１５５に示される１番地のデータレジスタ（図中ＰＯＲＴ１データレジスタと記す）に出力するデータを書き込む。
【００２９】
この書き込み命令の実行により行われる第２のポート回路１０３のデータレジスタとコントロールレジスタと制御回路の動作は、ステップＳ１０３における第１のポート回路１０２のデータレジスタとコントロールレジスタと制御回路の動作と同様であり、説明を省略する。
【００３０】
このような入出力ポート回路１００で、第１のポート回路と第２のポート回路の端子がそれぞれのポート回路の端子のグループ化において想定した外部回路の仕様と異なる外部回路と接続される時、第１のポート回路と第２のポート回路の端子で外部回路で使用されない端子が存在することになる。
【００３１】
この時、使用されない端子（特に汎用端子機能を有するもの）を個別の信号の入出力に使用するのではなく、まとめて複数ビット幅を持つ新たなポート回路として扱えることは端子の使用用途が増えて望ましい。
【００３２】
しかし、別のポート回路に存在する汎用端子からデータを入出力させる場合、それぞれのポート回路の汎用端子を所望の入出力状態に設定した後、データの入出力を行うことになり、例えば、２つのポート回路に分散している汎用端子Ｂと汎用端子Ｄを、異なる仮想的な１個のポート回路の端子のようにまとめて扱おうとしても、上述のように、最低でも４ステップが必要となる。
【００３３】
このように、汎用端子を有するポート回路が複数個存在し、それらの汎用端子を仮想的に新たなポート回路として動作させる場合、それぞれのポート回路の汎用端子の入出力を設定し、データを入出力する必要があり、取り纏められる汎用端子を有するポートの数だけ、コントロールレジスタとデータレジスタとを設定する必要があり、そのために、使用する命令ステップが増えるという問題がある。
【００３４】
【非特許文献１】
８ビットマイクロコントローラ  ＴＬＣＳ−８７０シリーズ（１）  １９９９年版  製品別マニュアル  資料番号０２４４２Ｄ１ＢＥ、［ｏｎｌｉｎｅ］、１９９９年１月、株式会社東芝  セミコンダクター社、［平成１４年１０月１日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｓｅｍｉｃｏｎ．ｔｏｓｈｉｂａ．ｃｏ．ｊｐ／ｐｒｄ／ｃｉｓｃ／ｆｔ＿ｃｉｓｃ．ｈｔｍｌ＞  （第４頁）
【００３５】
【発明が解決しようとする課題】
上述した従来の入出力ポート回路は、汎用端子を有するポート回路が、複数個存在し、それぞれのポート回路の汎用端子が、外部回路の仕様上当初設定されているポート回路の他の端子と連携して使用されない場合に、それら複数の汎用端子を別個の仮想的なポート回路として使用する場合は、汎用端子を有するポートの数だけ、コントロールレジスタとデータレジスタを設定する必要があり、そのため、使用する命令ステップが増えて、プログラムを記憶するメモリ容量の増加や、処理時間が低下する問題があった。
【００３６】
本発明は、上記問題を解決するためになされたもので、複数のポート回路に存在する汎用端子の入出力の設定に要する実行命令ステップ数が少ない入出力ポート回路を提供することを目的とする。
【００３７】
【課題を解決するための手段】
上記目的を達成するために、本発明の入出力ポート回路は、複数の汎用端子と、各汎用端子に接続されたデータ出力制御手段、この出力制御手段に出力するデータを記憶するデータレジスタ、前記汎用端子に与えられたデータの入力を制御するためのデータ入力制御手段、および前記データ入力制御手段と前記データ出力制御手段との制御を行うためのデータを記憶するコントロールレジスタを有する複数のポート手段と、各ポート手段の前記データレジスタに共通接続され、且つ前記データ出力制御手段に出力するためのデータを記憶する一括制御データレジスタと、各ポート手段の前記コントロールレジスタに共通接続され、且つ前記データ入力制御手段および前記データ出力制御手段の入出力制御を行うためのデータを記憶する一括制御用コントロールレジスタとを具備したことを特徴とする。
【００３８】
また、上記目的を達成するために、本発明の入出力ポート回路は、第１の汎用端子と、この第１の汎用端子に接続された第１のデータ出力制御手段、この第１のデータ出力制御手段に出力するデータを記憶する第１のデータレジスタ、前記汎用端子に与えられたデータの入力を制御するための第１のデータ入力制御手段、および前記データ入力制御手段と前記データ出力制御手段との制御を行うためのデータを記憶する第１のコントロールレジスタを有する第１のポート手段と、第２の汎用端子と、この第２の汎用端子に接続された第２のデータ出力制御手段、この第２のデータ出力制御手段に出力するデータを記憶する第２のデータレジスタ、前記第２の汎用端子に与えられたデータの入力を制御するための第２のデータ入力制御手段、および前記第２のデータ入力制御手段と前記第２のデータ出力制御手段との制御を行うためのデータを記憶する第２のコントロールレジスタを有する第２のポート手段と前記汎用端子に出力するデータを記憶する一括制御データレジスタと、前記汎用端子の入出力制御を行うデータを記憶する一括制御用コントロールレジスタと、切替セレクタ制御用コントロールレジスタと、第１および第２のデータ選択手段と、第１および第２のコントロール選択手段とを具備し、前記切替セレクタ制御用コントロールレジスタの一方の出力は、前記第１のデータ選択手段と前記第１のコントロール選択手段にそれぞれ入力され、且つ他方の出力は、前記第２のデータ選択手段と前記第２のコントロール選択手段にそれぞれ入力され、前記一括制御データレジスタの一方の出力は、前記第１のデータ選択手段の一方のデータ入力に入力され、且つ他方の出力は、前記第２のデータ選択手段の一方のデータ入力に入力され、前記一括制御用コントロールレジスタの一方の出力は、前記第１のコントロール選択手段の一方のデータ入力に入力され、且つ他方の出力は、前記第２のデータ選択手段の一方のデータ入力に入力され、前記第１のポート手段の前記第１のデータレジスタの出力は、前記第１のデータ選択手段の他方のデータ入力に入力され、且つ前記第２のポート手段の前記第２のデータレジスタの出力は、前記第２のデータ選択手段の他方のデータ入力に入力され、前記第１のポート手段の前記第１のコントロールレジスタの出力は、前記第１のコントロール選択手段の他方のデータ入力に入力され、且つ前記第２のポート手段の前記第２のコントロールレジスタの出力は、前記第２のコントロール選択手段の他方のデータ入力に入力されてなり、前記第１および第２のポート手段の汎用端子は、第１および第２のコントロール選択手段の出力で入出力制御され、第１および第２のデータ選択手段の出力を出力することを特徴とする。
【００３９】
このように構成された本発明の入出力ポート回路によれば、複数のポートの汎用端子の入出力を設定する場合、一括制御用コントロールレジスタと一括制御データレジスタへの設定を行えばよく、命令ステップが削減されて、プログラムを記憶するメモリ容量の削減と実行処理時間の短縮が可能となる。
【００４０】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
【００４１】
（第１の実施の形態）
本発明の第１の実施の形態に係る入出力ポート回路を図１乃至図３を参照して説明する。図１は入出力ポート回路の構成を示すブロック図、図２は入出力ポート回路のレジスタのメモリマップ、図３は入出力ポート回路よりデータを端子に出力する処理手順を示すフローチャートである。
【００４２】
図１に示すように、本実施の形態の入出力ポート回路１は、第１のポート回路（ＰＯＲＴ０）２および第２のポート回路（ＰＯＲＴ１）３と、一括制御データレジスタ４および一括制御用コントロールレジスタ５とを有する。また、第１のポート回路２は端子Ａ６および端子Ｂ７を有し、第２のポート回路３は端子Ｃ８および端子Ｄ９を有している。端子Ａ６と端子Ｃ８は専用端子で、端子Ｂ７および端子Ｄ９は汎用端子である。
【００４３】
そして、一括制御データレジスタ４の出力は、第１のポート回路２および第２のポート回路３におけるデータレジスタＢとＤに入力され、一括制御用コントロールレジスタ５の出力は、それぞれ第１のポート回路２および第２のポート回路３におけるコントロールレジスタＢおよびＤに入力される。
【００４４】
一括制御データレジスタ４の出力４１および４３は、第１のポート回路２のデータレジスタＢ２７および図示略の第２のポート回路３のデータレジスタＤにそれぞれ入力され、一括制御用コントロールレジスタ５の出力３１および３３は、第１のポート回路２のコントロールレジスタＢ２１および図示略の第２のポート回路３のコントロールレジスタＤにそれぞれ入力されている。
【００４５】
第１のポート回路２は、端子Ａ６のポート回路部５０と端子Ｂ７のポート回路部５１がそれぞれ設けられている。
【００４６】
端子Ａ６のポート回路部５０は、端子Ａ６が図示略の内部マクロブロックとの間でデータの入出力する専用端子であるため、内部マクロブロックのデータ入力Ａに接続されるデータ入力制御回路１３、内部マクロブロックのデータ出力Ａに接続されるデータ出力制御回路１４およびこれらの制御回路を制御するコントロールレジスタ１１から構成される。
【００４７】
端子Ｂ７のポート回路部５１は、端子Ｂ７がプログラムでデータの入出力を行う汎用端子であるため、図示略の内部データバスのデータ出力Ｂ２８と接続されるデータレジスタＢ２７、内部データバスのデータ入力Ｂ２６と接続されるデータ入力制御回路２３、データレジスタＢ２７の出力に接続されるデータ出力制御回路２４、これらの制御回路を制御するコントロールレジスタ２１とから構成される。
【００４８】
また、第２のポート回路３は第１のポート回路２と同一回路構成となっており、図示および説明を省略する。
【００４９】
更に、コントロールレジスタ１１、２１とデータレジスタ２７と一括制御データレジスタ４と一括制御用コントロールレジスタ５は、内部データバスに接続され、マイクロコンピュータのプログラム実行により個別にデータの書き込みが可能となっている。
【００５０】
なお、内部データバスを介してコントロールレジスタ１１、２１とデータレジスタ２７と一括制御データレジスタ４と一括制御用コントロールレジスタ５へのデータの書き込みとデータ入力制御回路２３からの読み出し動作のための制御信号と回路は、図示を省略している。
【００５１】
以下、入出力ポート回路１の回路動作を、図３のマイクロコンピュータのプログラムによる処理フローを用いて説明する。但し、第１のポート回路２と第２のポート回路３をそれぞれ個別のポート回路としてプログラムで制御し、端子からデータの入出力を行う場合は、一括制御データレジスタ４および一括制御用コントロールレジスタ５は何ら動作せず、上述の従来のそれぞれのポート回路の動作と同様であるため説明を省略する。
【００５２】
まず、入出力ポート回路１の一括制御データレジスタ４および一括制御用コントロールレジスタ５を用いて、端子Ｂ７および端子Ｄ９からデータを出力する場合について説明する。
【００５３】
マイクロコンピュータは、図３のステップＳ１１で、図２のメモリマップ５５に示される５番地の一括制御用コントロールレジスタ５に１１Ｂを書き込む命令を実行して、端子Ｂ７および端子Ｄ９を出力状態となるように設定する。
【００５４】
この書き込み命令の実行により、内部データバスに接続されたコントロールレジスタ制御信号（以下、ＣＲ制御信号と称す）Ｂａ３０とＣＲ制御信号Ｄａ３２を介して、一括制御用コントロールレジスタ５に端子を出力状態とする「１」が書き込まれる。
【００５５】
一括制御用コントロールレジスタ５の出力３１および３３が「１」となると共に一括制御用コントロールレジスタ５への書き込み動作と連携して、出力３１および３３を介して、第１のポート回路２のコントロールレジスタＢ２１および第２のポート回路３のコントロールレジスタＤに「１」がそれぞれ書き込まれ、各コントロールレジスタＢ２１およびＤの出力は「１」となる。
【００５６】
端子Ｂのポート回路部５１のコントロールレジスタＢ２１の出力２２が出力状態の「１」になると、データ入力制御回路Ｂ２３は入力信号をバッファして内部データバスに入力信号を出力可能とする入力動作を行わない。更に、出力信号２２が「１」になるとデータ出力制御回路Ｂ２４は、データレジスタＢ２７の出力２９のデータを入力して出力２５から端子Ｂ７へデータ出力可能な状態となる。
【００５７】
コントロールレジスタＤの出力が「１」となると、端子Ｂのポート回路部５１と同様に端子Ｄのポート回路部が動作して端子Ｄ９へデータ出力可能な状態となる。
【００５８】
次いで、マイクロコンピュータは、図３のステップＳ１２で、図２のメモリマップ５５に示される４番地の一括制御データレジスタ４に端子へ出力する所望のデータを書き込む命令を実行する。
【００５９】
この書き込み命令の実行により、内部データバスに接続されたデータ出力Ｂａ４０およびデータ出力Ｄａ４２を介して一括制御データレジスタ４にそれぞれ端子へ出力する所望のデータが書き込まれる。
【００６０】
一括制御データレジスタ４の出力４１および４３が所望のデータとなると共に一括制御データレジスタ４への書き込み動作と連携して第１のポート回路２のデータレジスタＢ２７および第２のポート回路３のデータレジスタＤに出力４１および４３を介してそれぞれ所望のデータが書き込まれる。
【００６１】
更に、第１のポート回路２のデータレジスタＢ２７への書き込み動作と連携してデータレジスタＢ２７の出力２９のデータは、データ出力制御回路Ｂ２４に入力され、且つデータ出力制御回路Ｂ２４の出力２５となり、端子Ｂ７に所望のデータが出力される。第２のポート回路３のデータレジスタＤへの書き込み動作においても、同様に動作して、端子Ｄ９に所望のデータが出力される。
【００６２】
上述のように、マイクロコンピュータは複数ポートに分散している汎用端子をまとめて出力状態に制御してデータ出力を行うことを、２ステップで実現できる。
【００６３】
このような第１の実施の形態の入出力ポート回路によれば、複数ポートに分散している汎用端子のコントロールレジスタとデータレジスタへの制御を、一括制御用コントロールレジスタおよび一括制御データレジスタによってまとめて行うことが可能となり、マイクロコンピュータの命令ステップが削減されて、プログラムを記憶するメモリ容量が削減されると共に、実行処理時間が短縮される。
【００６４】
従って、端子からのデータ入出力処理に必要なプログラムメモリ容量が少なく、データ入出力実行時間が短縮される入出力ポート回路が実現できる。
【００６５】
（第２の実施の形態）
次に、本発明の第２の実施の形態に係る入出力ポート回路を図４乃至図７を参照して説明する。図４は入出力ポート回路の構成を示すブロック図、図５は切替セレクタ回路のブロック図、図６は入出力ポート回路のレジスタのメモリマップ、図７は入出力ポート回路よりデータを端子に出力する処理手順を示すフローチャートである。
【００６６】
この第２の実施の形態に係る入出力ポート回路においては、上記第１の実施の形態に係る入出力ポート回路と同一部分には同一符号を付し、詳細な説明を省略する。
【００６７】
この第２の実施の形態の入出力ポート回路６１が、第１の実施の形態の入出力ポート回路１と異なる点は、１個の切替セレクタ制御用コントロールレジスタ６２と、４個の切替セレクタ６５、６７、７１、７３が構成に追加されていることである。なお、切替セレクタ６５、６７、７１、７３は、図５に示すように、２入力１出力のセレクタ回路８０であって、セレクト信号８１の入力状態により、入力信号Ａ８２または入力信号Ｂ８３を出力信号Ｃ８４として出力する。なお、第１および第２の切替セレクタ６７および７３は、第１のポート回路２のデータレジスタ２７および第２のポート回路３のデータレジスタのデータを出力するための第１および第２のデータ選択回路として機能する。一方、第３および第４の切替セレクタ６５および７１は、第１のポート回路２のデータ入力制御回路２３並びにデータ出力制御回路２４、および第２のポート回路３のデータ入力制御回路並びにデータ出力制御回路を制御するデータを出力するための第１および第２のコントロール選択回路として機能する。
【００６８】
図４に示すように、第２の実施の形態の入出力ポート回路６１は、切替セレクタ制御用コントロールレジスタ６２の一方の出力６４が、それぞれ第１の切替セレクタ６７および第３の切替セレクタ６５のセレクト信号に入力され、他方の出力７０が、それぞれ第２の切替セレクタ７３および第４の切替セレクタ７１のセレクト信号に入力されている。
【００６９】
また、第１のポート回路２のコントロールレジスタＢ２１の出力２２および第２のポート回路３のコントロールレジスタＤの出力が、それぞれ第３の切替セレクタ６５および第４の切替セレクタ７１の入力信号に入力され、データレジスタＢ２７の出力２９およびデータレジスタＤの出力が、それぞれ第１の切替セレクタ６７および第２の切替セレクタ７３の入力信号に入力されている。
【００７０】
また、一括制御用コントロールレジスタ５の一方の出力３１および他方の出力３３が、それぞれ第３切替セレクタ６５および第４の切替セレクタ７１の他の一方の入力信号に入力され、一括制御データレジスタ４の一方の出力４１および他方の出力４３が、それぞれ第１の切替セレクタ６７および第２の切替セレクタ７３の他の一方の入力信号に入力される。
【００７１】
そして、第３の切替セレクタ６５の出力６６は、第１のポート回路２の端子Ｂのポート回路部５１のデータ入力制御回路Ｂ２３およびデータ出力制御回路Ｂ２４の制御信号として入力される。また、第１の切替セレクタ６７の出力６８は、第１のポート回路２の端子Ｂのポート回路部５１のデータ出力制御回路Ｂ２４のデータ入力として入力される。また、第４の切替セレクタ７１の出力７２は、同様に第２のポート回路３の端子Ｄのポート回路部のデータ入力制御回路とデータ出力制御回路にそれぞれ入力される。また第２の切替セレクタ７３の出力７４は、同様に第２のポート回路３の端子Ｄのポート回路部のデータ出力制御回路のデータ入力として入力される。
【００７２】
また、切替セレクタ制御用コントロールレジスタ６２は、内部データバスに接続されていて、マイクロコンピュータがプログラムを実行することでデータの書き込みが可能となる。なお、内部データバスを介して切替セレクタ制御用コントロールレジスタ６２への書き込み動作のための制御信号と回路は、図示を省略している。
【００７３】
以下、入出力ポート回路６１の回路動作を、図７のマイクロコンピュータのプログラムによる処理フローを用いて説明するが、切替セレクタ制御用コントロールレジスタ６２の設定が、一括制御用コントロールレジスタ５および一括制御データレジスタ４の出力を選択しない場合は、切替セレクタを信号が経由するものの第１のポート回路２の端子Ｂのポート回路部５１および第２のポート回路３の端子Ｄのポート回路部は、従来の入出力ポート回路のそれぞれの端子のポート回路部と論理的に等価で、しかも動作も同様であるため説明を省略する。
【００７４】
本発明の第２の実施の形態の入出力ポート回路６１の一括制御用コントロールレジスタ５と一括制御データレジスタ４に、端子Ｂ７と端子Ｄ９を出力状態にするデータと出力データを設定した後、切替セレクタ制御用コントロールレジスタ６２を、一括制御用コントロールレジスタ５と一括制御データレジスタ４が選択されるようにして端子Ｂ７と端子Ｄ９からデータを出力する場合を例に、説明する。
【００７５】
マイクロコンピュータは、図７のステップＳ２１で、図６のメモリマップ９０に示される５番地の一括制御用コントロールレジスタ５に１１Ｂを書き込む命令を実行する。
【００７６】
この書き込み命令の実行により、一括制御用コントロールレジスタ５に、内部データバスに接続されたＣＲ制御信号Ｂａ３０とＣＲ制御信号Ｄａ３２を介して端子を出力状態とする「１」が書き込まれて、一括制御用コントロールレジスタ５の出力３１および出力３３はそれぞれ「１」となる。
【００７７】
次いで、マイクロコンピュータは、図７のステップＳ２２で、図６のメモリマップ９０に示される４番地の一括制御データレジスタ４に端子へ出力する所望のデータを書き込む命令を実行する。
【００７８】
この書き込み命令の実行により、内部データバスに接続されたデータ出力Ｂａ４０およびデータ出力Ｄａ４２を介して、一括制御データレジスタ４に端子へ出力する所望のデータが書き込まれ、一括制御データレジスタ４の出力４１および４３はそれぞれ所望のデータとなる。
【００７９】
次いで、マイクロコンピュータは、図７のステップＳ２３で、図６の６番地の切替セレクタ制御用コントロールレジスタ６２に１１Ｂを書き込む命令を実行して、切替セレクタの出力は一括制御用コントロールレジスタ５と一括制御データレジスタ４の出力が選択されるように設定する。
【００８０】
この書き込み命令の実行により、内部データバスに接続されたセレクト信号Ｂ６３およびセレクト信号Ｄ６９を介して、切替セレクタ制御用コントロールレジスタ６２に切替セレクタの入力選択が一括制御用コントロールレジスタ５と一括制御データレジスタ４の出力となる「１」が書き込まれる。
【００８１】
切替セレクタ制御用コントロールレジスタ６２の出力６４が「１」となると、第３の切替セレクタ６５に入力された一括制御用コントロールレジスタ５の出力３１が出力６６となり、第１の切替セレクタ６７に入力された一括制御データレジスタ４の出力４１が出力６８となる。また、切替セレクタ制御用コントロールレジスタ６２の出力７０が「１」となると、第４の切替セレクタ７１に入力された一括制御用コントロールレジスタ５の出力３３が出力７２となり、第２の切替セレクタ７３に入力された一括制御データレジスタ４の出力４３が出力７４となる。
【００８２】
これら切替セレクタのセレクト信号の変化に伴い、第１のポート回路２の端子Ｂのポート回路部５１のデータ入力制御回路Ｂ２３とデータ出力制御回路Ｂ２４および第２のポート回路３の端子Ｄのポート回路部のデータ入力制御回路とデータ出力制御回路がそれぞれの回路の制御入力とデータ入力に従って動作する。
【００８３】
即ち、一括制御用コントロールレジスタ５の出力３１が、第３の切替セレクタ６５の出力６６となるためにデータ入力制御回路Ｂ２３の制御入力は「１」となり、入力動作を行わない。更に、出力６６が「１」となるとデータ出力制御回路Ｂ２４は、第１の切替セレクタ６７の出力６８のデータを入力して出力２５から端子Ｂ７へデータ出力可能な状態となる。
【００８４】
また、第１の切替セレクタ６７のセレクト信号の変化と連携して、一括制御データレジスタ４の出力４１が、第１の切替セレクタ６７の出力６７となるとともに、データ出力制御回路Ｂ２４にデータとして入力され、そしてデータ出力制御回路Ｂ２４の出力２５となり、端子Ｂ７に所望のデータが出力される。
【００８５】
第４および第２の切替セレクタ７１および７３のセレクト信号の変化に連携して、第２のポート回路３の端子Ｄのポート回路部の入力制御回路と出力制御回路も同様に動作して端子Ｄ９より所望のデータが出力される。
【００８６】
なお、第１のポート回路２の端子Ｂのポート回路部５１と第２のポート回路３の端子Ｄのポート回路部のデータ入力制御回路とデータ出力制御回路は、切替セレクタのセレクト信号の変化に連携するだけでなく、切替セレクタのセレクト信号の選択状態に基づいて、一括制御用コントロールレジスタ５および一括制御データレジスタ４への書き込み信号、または、各ポート回路部のコントロールレジスタとデータレジスタへの書き込み信号と連携して動作するように回路が構成されている。
【００８７】
このように制御されるため、上述のステップ２１とステップ２２の命令が実行されるときに、切替セレクタ制御用コントロールレジスタ６２に、既に一括制御用コントロールレジスタ５と一括制御データレジスタ４の出力を選択するデータが設定されている場合は、ステップＳ２１とステップＳ２２において、データ入力制御回路とデータ出力制御回路が動作して端子に所望のデータが出力される。
【００８８】
上述のように、マイクロコンピュータは、複数ポートに分散している汎用端子をまとめて出力状態に制御してデータ出力を行うことを３ステップで実現できる。
【００８９】
更に、第２の実施の形態の入出力ポート回路においては、端子Ｂと端子Ｄを一括してデータ入出力制御およびデータ出力を行った後も、第１のポート回路２の端子Ｂ７、および第２のポート回路３の端子Ｄ９に対して、それぞれのポート回路であらかじめ設定した入出力制御データと出力データがそれぞれのコントロールレジスタとデータレジスタに保存されていて、切替セレクタ制御用コントロールレジスタの設定データを切替えることで、端子Ｂ７および端子Ｄ９の入出力の制御状態を事前の状態に復帰させることが可能となる。
【００９０】
これにより、例えば、サブプログラムにおいてのみ端子Ｂと端子Ｄを一括制御するようにした場合に、メインプログラムは、サブプログラムを呼び出してサブプログラムで端子Ｂや端子Ｄを制御する前に、端子Ｂや端子Ｄのそれぞれのコントロールレジスタやデータレジスタのデータをメモリなどに保存し、サブプログラムからメインプログラムに復帰する前にメモリに保存したデータを再び該当のコントロールレジスタやデータレジスタに設定する命令ステップが不要となるため、端子からのデータ入出力処理に必要なプログラムメモリ容量をさらに少なくすることができ、データ入出力実行時間も短縮することができる。
【００９１】
このような第２の実施の形態の入出力ポート回路においても、第１の実施の形態と同様に、一括制御用コントロールレジスタと一括制御データレジスタによって複数ポートの汎用端子をまとめて制御することが可能となり、更に切替セレクタ制御コントロールレジスタによって個々のポートの端子として制御された情報を保存し復帰させることが可能となるため、端子からのデータ入出力処理に必要なプログラムメモリ容量が少なく、データ入出力実行時間が短縮される入出力ポート回路が実現できる。
【００９２】
本発明は、上記実施の形態に限定されるものではなく、発明の要旨を逸脱しない範囲で、種々、変形して実施できることは勿論である。
【００９３】
例えば、あらかじめ選択した兼用端子において、汎用端子機能を実現するコントロールレジスタおよびデータレジスタとデータ出力制御回路とデータ入力制御回路に、一括制御用コントロールレジスタと一括制御データレジスタの出力または、切替セレクタの出力を入力してもよく、この場合は、一括で制御できる汎用端子数を増加させることができる。
【００９４】
また、図８に示すように、一定数の汎用端子で一定のビット幅を持つデータの入出力を行う時、該当の複数の汎用端子の入出力制御回路を、一定数の単位でコントロールレジスタまたは一括制御用コントロールレジスタの１ビットを割り付けてその出力で制御するようにしてもよく、この場合はコントロールレジスタ回路の素子数を減らすことが出来て入出力ポート回路を小型化できる。
【００９５】
【発明の効果】
本発明によれば、必要なプログラムメモリ容量が少なく、実行速度が向上した入出力ポート回路を実現できる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る入出力ポート回路のブロック図。
【図２】本発明の第１の実施の形態に係る入出力ポート回路のレジスタのメモリマップ。
【図３】本発明の第１の実施の形態に係る入出力ポート回路における入出力端子からデータを出力する時の処理手順を示すフローチャート。
【図４】本発明の第２の実施の形態に係る入出力ポート回路のブロック図。
【図５】切替セレクタのブロック図
【図６】本発明の第２の実施の形態に係る入出力ポート回路のレジスタのメモリマップ。
【図７】本発明の第２の実施の形態に係る入出力ポート回路における入出力端子からデータを出力する時の処理手順を示すフローチャート。
【図８】本発明の入出力ポート回路の変形例を示すブロック図。
【図９】従来の入出力ポート回路のブロック図。
【図１０】従来の入出力ポート回路のレジスタのメモリマップ。
【図１１】従来の入出力ポート回路における入出力端子からデータを入出力する時の処理手順を示すフローチャート。
【符号の説明】
１、６１、９１、１００  入出力ポート回路
２、３、１０２、１０３  ポート回路
４  一括制御データレジスタ
５  一括制御用コントロールレジスタ
６、７、８、９、１０４、１０５、１０６、１０７  端子
２０、１１０、１２０  コントロールレジスタの入力
１１、２１、１１１、１２１  コントロールレジスタ
１２、２２、１１２、１２２  コントロールレジスタの出力
１３、２３、１１３、１２３  データ入力制御回路
１４、２４、１１４、１２４  データ出力制御回路
２５、１１５、１２５  データ出力制御回路の出力
２６、１１６、１２６  データ入力
２７、１２７  データレジスタ
２８、１１９、１２８  データ出力
２９、１２９  データレジスタの出力
３０、３２  一括制御用コントロールレジスタの入力
３１、３３  一括制御用コントロールレジスタの出力
４０、４２  データ出力
４１、４３  一括制御データレジスタの出力信号
５０、５１、１５０、１５１  ポート回路部
５５、９０、１５５  入出力ポート回路のレジスタ群のメモリマップ
６２  切替セレクタ制御用コントロールレジスタ
６３、６９  切替セレクタ制御用コントロールレジスタの入力
６４、７０  切替セレクタ制御用コントロールレジスタの出力
６５、６７、７１、７３、８０  切替セレクタ
６６、６８、７２、７４、８４  切替セレクタの出力
８１  切替セレクタのセレクト入力
８２、８３  切替セレクタの入力
【図１】
2004280332.tif 000003
【図２】
2004280332.tif 000004
【図３】
2004280332.tif 000005
【図４】
2004280332.tif 000006
【図５】
2004280332.tif 000007
【図６】
2004280332.tif 000008
【図７】
2004280332.tif 000009
【図８】
2004280332.tif 000010
【図９】
2004280332.tif 000011
【図１０】
2004280332.tif 000012
【図１１】
2004280332.tif 000013