(57)【特許請求の範囲】
【請求項１】
マイクロコントローラの集積回路に組込まれ、前記集積回路の入出力端子を介して接続される外部回路との間でデータまたは信号の入出力を行う入出力回路において、
前記入出力端子に出力する前記データまたは前記信号を遅延させる遅延手段を備え、
前記遅延手段は、直列に接続された複数の遅延素子を有し、前記複数の遅延素子のうちの任意のいくつかの前記遅延素子の出力を用いて複数の遅延時間分遅延させた複数の遅延信号を生成し、制御情報に基づいて、生成された前記複数の遅延信号のいずれか１つあるいは、前記複数の遅延信号の任意のいくつかを組合せた信号を出力信号として前記入出力端子へ出力するものであることを特徴とする入出力回路。
【請求項２】
請求項１記載の入出力回路は、更に、
駆動能力の異なる複数の出力バッファを有し、前記出力バッファの中から予め選択された前記出力バッファを介して前記データまたは前記信号を前記入出力端子に出力する出力手段を備えたことを特徴とする入出力回路。
【請求項３】
請求項１または２記載の入出力回路は、更に、
入力特性の異なる複数の入力バッファを有し、前記入出力端子に与えられた前記データまたは前記信号を前記入力バッファの中から予め選択された前記入力バッファを介して入力する入力手段を備えたことを特徴とする入出力回路。
【請求項４】
入力モード時に、前記入出力端子を所定の電位にするか否かを選択的に制御可能な構成にしたことを特徴とする請求項３記載の入出力回路。
【請求項５】
前記遅延手段において、
前記制御情報は第１の情報と第２の情報とを有し、更に、
前記第１の情報に基づき、前記複数の遅延信号のうちのいくつかを選択的に出力する選択出力段と、
前記選択出力段から選択的に出力された信号に基づいて組合せた信号を生成し、前記第２の情報に基づき、前記複数の遅延信号のいずれか１つあるいは、前記複数の遅延信号の任意のいくつかを組合せた前記出力信号を出力する信号生成段と、
を有することを特徴とする請求項１〜４のいずれか１項に記載の入出力回路。
【請求項６】
前記信号生成段は、
選択的に出力された前記信号に基づいて組合せた前記信号を生成して出力する第１の信号生成回路と、
前記第２の情報に基づいて、前記第１の信号生成回路の出力から、前記出力信号を生成して出力する第２の信号生成回路と、
を有することを特徴とする請求項５記載の入出力回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロコントローラの集積回路において、外部回路を接続するための入出力回路に関するものである。
【０００２】
【従来の技術】
一般に、マイクロコンピュータ等のマイクロコントローラで用いられる入出力回路は、機能設定用レジスタをプログラムで書替えることにより、１つの外部接続用インタフェースを、ディジタル信号の入力または出力回路として切替えて使用することが出来るようになっている。更に、２次機能として外部バス用のアドレス信号及びデータ信号等の出力回路や、プルアップ付き入力回路として使用できるようになった入出力回路もある。
【０００３】
図２は、従来の入出力回路の一例を示す構成図である。
この入出力回路は、マイクロコンピュータの集積回路に組込まれるもので、内部バス１１に接続された入出力制御レジスタ１２、２次機能制御レジスタ１３、出力データレジスタ１４、及びプルアップ制御レジスタ１５等の機能設定用レジスタを有している。
【０００４】
入出力制御レジスタ１２は、内部バス１１を介して与えられる入力モードまたは出力モードの制御コマンドを保持して入出力動作の切替えを行うものである。出力データレジスタ１４は、出力モード時に内部バス１１を介して与えられる出力データを保持するものである。２次機能制御レジスタ１３は、出力モード時に、出力データレジスタ１４内のデータを出力するか、２次機能として与えられるアドレス信号等を出力するかの切替え用の制御情報を保持するものである。プルアップ制御レジスタ１５は、入力モード時に入力端子をプルアップするか否かの制御情報を保持するものである。
【０００５】
出力データレジスタ１４の出力側は、セレクタ１６の第１の入力側に接続され、このセレクタ１６の第２の入力側には、例えばアドレス信号等の２次機能出力信号が与えられるようになっている。セレクタ１６は、２次機能制御レジスタ１３から与えられる制御情報に基づいて、第１または第２の入力側の信号を選択して出力するものである。セレクタ１６の出力側は、出力バッファ１７を介して外部回路接続用の入出力端子１８に接続されている。出力バッファ１７は、入出力制御レジスタ１２から与えられる出力モード信号ＯＵＴがレベル“Ｈ”になったときに、セレクタ１６の出力信号を増幅して入出力端子１８に接続された外部回路を駆動するものである。出力モード信号ＯＵＴがレベル“Ｌ”のときは、出力バッファ１７の出力側はハイインピーダンス状態となって入出力端子１８から切離されるようになっている。
【０００６】
入出力端子１８には、入力バッファ１９の入力側が接続されている。入力バッファ１９は、入出力制御レジスタ１２から与えられる入力モード信号ＩＮが“Ｈ”になったときに、入出力端子１８に外部回路から与えられる入力信号を内部バス１１に出力するものである。入力モード信号ＩＮが“Ｌ”のときは、入力バッファ１９の出力側はハイインピーダンス状態となって内部バス１１から切離されるようになっている。
【０００７】
入出力制御レジスタ１２から出力される入力モード信号ＩＮとプルアップ制御レジスタ１５の出力信号は、２入力の否定的論理積ゲート（以下、「ＮＡＮＤ」という）２０の入力側に与えられるようになっている。ＮＡＮＤ２０の出力側は、ＰチャネルＭＯＳトランジスタ（以下、「ＰＭＯＳ」という）２１のゲートに接続されている。ＰＭＯＳ２１のソースは電源電位ＶＤＤに接続され、ドレインが入出力端子１８に接続されている。
【０００８】
このような入出力回路では、内部バス１１を介して入出力制御レジスタ１２に、入力モードまたは出力モードを設定することによって、入力回路とするか出力回路とするかの選択をすることができる。
入力モードを設定したときには、更にプルアップ制御レジスタ１５に制御信号を設定することにより、ＰＭＯＳ２１が導通状態になり、入出力端子１８をプルアップすることができる。そして、外部回路から入出力端子１８に入力された入力信号は入力バッファ１９を介して内部バス１１へ与えられる。
【０００９】
一方、出力モードを設定したときには、更に２次機能制御レジスタ１３に制御信号を設定することにより、出力データレジスタ１４に格納されたデータ、または２次機能出力信号のいずれかをセレクタ１６で選択して出力することができる。セレクタ１６で選択された出力信号は、出力バッファ１７で電力増幅されて入出力端子１８に出力され、この入出力端子１８に接続された外部回路が駆動される。
【００１０】
【発明が解決しようとする課題】
しかしながら、従来の入出力回路では、次のような課題があった。
図３は、スタティック・ランダムアクセス・メモリ（以下、「ＳＲＡＭ」という）のデータ書込み時の信号タイミングを示す信号波形図である。
【００１１】
この図３に示すように、ＳＲＡＭでは、まずアドレス信号を与え、所定のアドレスセンス時間が経過してＳＲＡＭ内のデコーダ等の状態が確定した時点で、ストローブ信号を与える（“Ｌ”にする）必要がある。また、書込むべきデータ信号を与えた後、所定のデータセットアップ時間が経過した後に、ストローブ信号を“Ｈ”にしなければならない。更に、ストローブ信号が“Ｈ”になった後も、所定のアドレスホールド時間の間、アドレス信号を変化させてはならない。また、所定のデータホールド時間の間、データ信号を変化させてはならない。これらのタイミング条件が満たされないと、ＳＲＡＭにデータを正常に書込むことができなくなる。
【００１２】
図２の入出力回路の出力モード時には、入出力端子１８に接続される外部回路および接続方法により、出力信号と入力側外部回路とでタイミングに不整合が発生した場合、その外部回路が使用できなくなることがある。例えばＳＲＡＭを外部回路として接続した場合、入出力端子１８からの出力信号であるアドレス信号、データ信号、ストローブ信号との間に適切なタイミング条件が整わないと、アクセスが困難になるという課題があった。更に、入力バッファ１９や出力バッファ１７の能力が、入出力端子１８に接続される外部回路の入出力条件に整合していない場合、入出力波形の劣化により、データ誤りやデータ速度の低下を引起こすという課題があった。
【００１３】
本発明は、前記従来技術が持っていた課題を解決し、入出力信号のタイミング調整や、入出力条件の選択が可能な入出力回路を提供するものである。
【００１４】
【課題を解決するための手段】
前記課題を解決するために、本発明のうちの請求項１に係る発明は、マイクロコントローラの集積回路に組込まれ、前記集積回路の入出力端子を介して接続される外部回路との間でデータまたは信号の入出力を行う入出力回路において、前記入出力端子に出力する前記データまたは前記信号を遅延させる遅延手段を備え、前記遅延手段は、直列に接続された複数の遅延素子を有し、前記複数の遅延素子のうちの任意のいくつかの前記遅延素子の出力を用いて複数の遅延時間分遅延させた複数の遅延信号を生成し、制御情報に基づいて、生成された前記複数の遅延信号のいずれか１つあるいは、前記複数の遅延信号の任意のいくつかを組合せた信号を出力信号として前記入出力端子へ出力するものであることを特徴とする。
【００１５】
請求項２に係る発明は、請求項１記載の入出力回路において、更に、駆動能力の異なる複数の出力バッファを有し、前記出力バッファの中から予め選択された前記出力バッファを介して前記データまたは前記信号を前記入出力端子に出力する出力手段を備えたことを特徴とする。
【００１６】
請求項３に係る発明は、請求項１または２記載の入出力回路において、更に、入力特性の異なる複数の入力バッファを有し、前記入出力端子に与えられた前記データまたは前記信号を前記入力バッファの中から予め選択された前記入力バッファを介して入力する入力手段を備えたことを特徴とする。
【００１７】
請求項４に係る発明は、請求項３記載の入出力回路において、入力モード時に、前記入出力端子を所定の電位にするか否かを選択的に制御可能な構成にしたことを特徴とする。
【００１８】
請求項５に係る発明は、請求項１〜４のいずれか１項に記載の入出力回路中の遅延手段において、前記制御情報は第１の情報と第２の情報とを有し、更に、前記第１の情報に基づき、前記複数の遅延信号のうちのいくつかを選択的に出力する選択出力段と、前記選択出力段から選択的に出力された信号に基づいて組合せた信号を生成し、前記第２の情報に基づき、前記複数の遅延信号のいずれか１つあるいは、前記複数の遅延信号の任意のいくつかを組合せた前記出力信号を出力する信号生成段とを有することを特徴とする。
【００１９】
請求項６に係る発明は、請求項５記載の入出力回路において、前記信号生成段は、  選択的に出力された前記信号に基づいて組合せた前記信号を生成して出力する第１の信号生成回路と、前記第２の情報に基づいて、前記第１の信号生成回路の出力から、前記出力信号を生成して出力する第２の信号生成回路とを有することを特徴とする。
【００２０】
【発明の実施の形態】
図１は、本発明の実施形態を示す入出力回路の構成図であり、図２中の要素と共通の要素には共通の符号が付されている。
この入出力回路は、マイクロコンピュータ等の集積回路に組込まれるものである。この入出力回路は、図２と同様の入出力制御レジスタ１２、２次機能制御レジスタ１３、出力データレジスタ１４、及びプルアップ制御レジスタ１５に加えて、出力切替レジスタ２２及び入力切替レジスタ２３の機能設定用レジスタを有している。これらのレジスタは、内部バス１１に接続されている。
【００２１】
入出力制御レジスタ１２は、内部バス１１を介して与えられる入力モードまたは出力モードを指定するための制御コマンドを保持し、入出力動作の切替えを行うものである。入出力制御レジスタ１２に入力モードが設定されたときには、“Ｈ”の入力モード信号ＩＮが出力され、出力モードが設定されたときには、“Ｈ”の出力モード信号ＯＵＴが出力されるようになっている。
【００２２】
出力データレジスタ１４は、出力モード時に内部バス１１を介して与えられる出力データを保持するものである。２次機能制御レジスタ１３は、出力モード時に、出力データレジスタ１４内のデータを出力するか、２次機能として与えられるアドレス信号等を出力するかの切替え用の制御情報を保持するものである。プルアップ制御レジスタ１５は、入力モード時に入出力端子１８をプルアップするか否かの制御情報を保持するものである。
【００２３】
一方、出力切替レジスタ２２は、出力バッファの駆動能力を切替えるための制御信号を保持するものである。例えば、駆動能力の高い出力バッファを選択するときには、出力切替レジスタ２２に“Ｈ”の制御信号を保持し、駆動能力の低い出力バッファを選択するときには、“Ｌ”の制御信号を保持するようになっている。また、入力切替レジスタ２３は、入力バッファの入力レベルを切替えるための制御信号を保持するものである。例えば、ＴＴＬレベルの入力バッファを選択するときには、入力切替レジスタに“Ｈ”の制御信号を保持し、ＣＭＯＳレベルの入力バッファを選択するときには、“Ｌ”の制御信号を保持するようになっている。
【００２４】
出力データレジスタ１４の出力側は、セレクタ１６の第１の入力側に接続され、このセレクタ１６の第２の入力側には、例えばアドレス信号等の２次機能出力信号が与えられるようになっている。セレクタ１６は、２次機能制御レジスタ１３から与えられる制御情報に基づいて、第１または第２の入力側の信号を選択して出力するものである。セレクタ１６の出力側は、遅延手段（例えば、遅延回路）３０の入力側に接続されている。
【００２５】
遅延回路３０は、セレクタ１６の出力信号を、内部バス１１から与えられる制御信号に基づいて遅延させるものであり、この遅延回路３０の出力側が、駆動能力の異なる出力バッファ１７ａ，１７ｂの入力側に接続されている。出力バッファ１７ａ，１７ｂの出力側は、外部回路接続用の入出力端子１８に接続されている。出力バッファ１７ａ，１７ｂは、いずれも制御端子に与えられる制御信号が“Ｈ”の時に、遅延回路３０の出力信号を増幅して入出力端子１８に接続された外部回路を駆動するものである。また、出力バッファ１７ａ，１７ｂの制御端子に与えられる制御信号が“Ｌ”の時には、その出力側がハイインピーダンス状態となって入出力端子１８から切離されるようになっている。なお、出力バッファ１７ａは、出力バッファ１７ｂに比べて駆動能力が大きく設定されている。
【００２６】
出力切替レジスタ２２の出力側には、デコーダ２４が接続されている。デコーダ２４は、例えば２入力の論理積ゲート（以下、「ＡＮＤ」という）２４ａ，２４ｂとインバータ２４ｃで構成されている。デコーダ２４は、入出力制御レジスタ１２から出力される出力モード信号ＯＵＴが“Ｈ”のとき、出力切替レジスタ２２の出力信号の“Ｈ”，“Ｌ”に対応して、それぞれＡＮＤ２４ａ，２４ｂから“Ｈ”の信号を出力するものである。ＡＮＤ２４ａ，２４ｂの出力側は、それぞれ出力バッファ１７ａ，１７ｂの制御端子に接続されている。
【００２７】
入出力端子１８には、入力バッファ１９ａ，１９ｂの入力側が接続されている。入力バッファ１９ａ，１９ｂは、制御端子に与えられる制御信号が“Ｈ”になったときに、入出力端子１８に外部回路から与えられる入力信号を内部バス１１に出力するものである。制御信号が“Ｌ”のときは、入力バッファ１９ａ，１９ｂの出力側はハイインピーダンス状態となって内部バス１１から切離されるようになっている。入力バッファ１９ａは、ＴＴＬレベルのバッファであり、また入力バッファ１９ｂはＣＭＯＳレベルのバッファである。
【００２８】
入力切替レジスタ２３の出力側には、デコーダ２５が接続されている。デコーダ２５は、例えば２入力のＡＮＤ２５ａ，２５ｂとインバータ２５ｃで構成されている。デコーダ２５は、入出力制御レジスタ１２から出力される入力モード信号ＩＮが“Ｈ”のとき、入力切替レジスタ２３の出力信号の“Ｈ”，“Ｌ”に対応して、それぞれＡＮＤ２５ａ，２５ｂから“Ｈ”の信号を出力するものである。ＡＮＤ２５ａ，２５ｂの出力側は、それぞれ入力バッファ１９ａ，１９ｂの制御端子に接続されている。
【００２９】
入出力制御レジスタ１２から出力される入力モード信号ＩＮとプルアップ制御レジスタ１５の出力信号は、２入力のＮＡＮＤ２０の入力側に与えられるようになっている。ＮＡＮＤ２０の出力側は、ＰＭＯＳ２１のゲートに接続されている。ＰＭＯＳ２１のソースは電源電位ＶＤＤに接続され、ドレインが入出力端子１８に接続されている。これらの入出力制御レジスタ１２、プルアップ制御レジスタ１５、ＮＡＮＤ２０、及びＰＭＯＳ２１により、入力モード時に、入出力端子１８を所定の電位（プルアップ）にするか否かを選択的に制御可能な構成になっている。
【００３０】
図４は、図１中の遅延回路３０の一例を示す回路図である。
この遅延回路３０は、セレクタ１６の出力信号が与えられる遅延素子３１ａとこの後段に接続された遅延素子３１ｂ、及び内部バス１１から制御信号が設定されるレジスタ３２を有している。レジスタ３２は、制御情報のうちの第１の情報を出力する出力端子Ａ，Ｂ，Ｃと、制御情報のうちの第２の情報を出力する出力端子Ｄとを有している。遅延素子３１ａの入力側と出力側、及び遅延素子３１ａの出力側は、それぞれ２入力のＡＮＤ３３ａ，３３ｂ，３３ｃからなる選択出力段の第１の入力側に接続されている。ＡＮＤ３３ａ〜３３ｃの第２の入力側は、それぞれレジスタ３２の出力端子Ａ，Ｂ，Ｃに接続されている。
【００３１】
ＡＮＤ３３ａ〜３３ｃの出力側は、３入力の論理和ゲート（以下、「ＯＲ」という）３４、及びＡＮＤ３５からなる第１の信号生成回路の入力側に接続されている。ＯＲ３４及びＡＮＤ３５の出力側は、それぞれ２入力のＡＮＤ３６，３７の第１の入力側に接続されている。ＡＮＤ３６の第２の入力側はレジスタ３２の出力端子Ｄに接続され、ＡＮＤ３７の第２の入力側はインバータ３８を介してレジスタ３２の出力端子Ｄに接続されている。更に、ＡＮＤ３６，３７の出力側は２入力のＯＲ３９の入力側に接続され、このＯＲ３９の出力側が出力バッファ１７ａ，１７ｂの入力側に接続されている。ＡＮＤ３６，３７及びＯＲ３９により、第２の信号生成回路が構成され、この第２の信号生成回路と、前記第１の信号生成回路とにより、信号生成段が構成されている。
【００３２】
図５は、図４の遅延回路３０の機能を説明するための信号波形図である。
図４において、入力された信号Ｓ１６は、遅延素子３１ａ，３１ｂで遅延されて、それぞれ信号Ｓ３１ａ，Ｓ３１ｂとなる。これらの信号Ｓ１６，Ｓ３１ａ，Ｓ３１ｂは、レジスタ３２の出力端子Ａ，Ｂ，Ｃ，Ｄから出力される４ビットの制御信号の内のビット０（Ａ），１（Ｂ），２（Ｃ）に対応している。制御信号の対応するビットが論理値“１”に設定された信号が、ＡＮＤ３３ａ〜３３ｃで選択され、ＯＲ３４及びＡＮＤ３５からそれぞれ信号Ｓ３４，Ｓ３５が出力される。信号Ｓ３４，Ｓ３５は、ＡＮＤ３６，３７、インバータ３８及びＯＲ３９で構成されるセレクタに入力され、レジスタ３２の出力端子Ｄから出力される制御信号に従って、いずれか一方が選択されて信号Ｓ３９として出力される。
【００３３】
図５に示すように、例えば時刻ｔ１で信号Ｓ１６が立上がると、この信号Ｓ１６は遅延素子３１ａで遅延され、時刻ｔ２で信号Ｓ３１ａが立上がる。更に信号Ｓ３１ａは遅延素子３１ｂで遅延され、時刻ｔ３で信号Ｓ３１ｂが立上がる。
時刻ｔ４で信号Ｓ１６が立下がると、この信号Ｓ１６は遅延素子３１ａで遅延され、時刻ｔ５で信号Ｓ３１ａが立下がる。更に信号Ｓ３１ａは遅延素子３１ｂで遅延され、時刻ｔ６で信号Ｓ３１ｂが立下がる。
【００３４】
ここで、レジスタ３２の設定値を“０００１”とすれば、信号Ｓ１６と同じタイミングの信号が信号Ｓ３９として出力される。また、レジスタ３２の設定値を“００１０”とすれば、信号Ｓ３１ａと同じタイミングの信号が信号Ｓ３９として出力され、更にレジスタ３２の設定値を“０１００”とすれば、信号Ｓ３１ｂと同じタイミングの信号が信号Ｓ３９として出力される。
【００３５】
また、レジスタ３２のビット０〜２の内の２ビットを“１”に設定することにより、信号Ｓ１６及び信号Ｓ３１ａ，３１ｂを組合わせたタイミングの信号を信号Ｓ３９として出力することができる。例えば、レジスタ３２の設定値を“００１１”とすれば、時刻ｔ１〜ｔ５の幅を有する信号Ｓ３９が得られる。また、レジスタ３２の設定値を“０１０１”とすれば、時刻ｔ１〜ｔ６の幅を有する信号Ｓ３９が得られ、この設定値を“０１１０”とすれば、時刻ｔ２〜ｔ６の幅を有する信号Ｓ３９が得られる。
【００３６】
更に、レジスタ３２のビット３を“１”に設定することにより、それぞれビット０〜２で指定した信号Ｓ１６，Ｓ３１ａ，Ｓ３１ｂ，Ｓ３９の反転信号を得ることができる。
【００３７】
次に、図１の動作を、（Ｉ）入力モードと、（II）出力モードに分けて説明する。
（Ｉ）  入力モード
内部バス１１を介して入出力制御レジスタ１２に、入力モードを設定すると、この入出力制御レジスタ１２から出力される入力モード信号ＩＮが“Ｈ”となる。一方、入出力制御レジスタ１２から出力される出力モード信号ＯＵＴは“Ｌ”となり、デコーダ２４の出力信号は２つとも“Ｌ”となって出力バッファ１７ａ，１７ｂの出力側はハイインピーダンス状態となって入出力端子１８から切離される。
【００３８】
また、入出力端子１８に接続される外部回路の出力条件がＴＴＬレベルかＣＭＯＳレベルかに基づいて、入力切替レジスタ２３に“１”または“０”を設定する。ここで、入力切替レジスタ２３に“１”を設定すると、デコーダ２５のＡＮＤ２５ａの出力信号が“Ｈ”となり、入出力端子１８はＴＴＬレベルの入力バッファ１９ａを介して内部バス１１に接続される。一方、入力切替レジスタ２３に“０”を設定すると、デコーダ２５のＡＮＤ２５ｂの出力信号が“Ｈ”となり、入出力端子１８はＣＭＯＳレベルの入力バッファ１９ｂを介して内部バス１１に接続される。
【００３９】
更に、入出力端子１８をプルアップする場合、プルアップ制御レジスタ１５に“１”を設定する。これにより、ＮＡＮＤ２０の出力信号が“Ｌ”となり、ＰＭＯＳ２１がオン状態になって入出力端子１８がプルアップされる。一方、プルアップ制御レジスタ１５に“０”を設定すると、ＮＡＮＤ２０の出力信号は“Ｈ”となり、ＰＭＯＳ２１はオフ状態となってプルアップは行われない。
【００４０】
このように、入力切替レジスタ２３によって入力レベルの設定を行って入力バッファ１９ａ，１９ｂのいずれかを選択し、プルアップ制御レジスタ１５によってプルアップの要否を設定することにより、この入出力回路は、外部回路のインタフェース条件に合った入力回路に設定される。そして、入出力端子１８に入力された入力信号は、入力バッファ１９ａまたは１９ｂを介して内部バス１１へ出力される。
【００４１】
（II）  出力モード
内部バス１１を介して入出力制御レジスタ１２に、出力モードを設定すると、この入出力制御レジスタ１２から出力される出力モード信号ＯＵＴが“Ｈ”となる。一方、入出力制御レジスタ１２から出力される入力モード信号ＩＮは“Ｌ”となり、デコーダ２５の出力信号は２つとも“Ｌ”となって入力バッファ１９ａ，１９ｂの出力側はハイインピーダンス状態となって内部バス１１から切離される。更に、ＮＡＮＤ２０の出力信号は“Ｈ”となって、ＰＭＯＳ２１はオフ状態となる。
【００４２】
また、入出力端子１８に接続される外部回路の負荷の大小に基づいて、出力切替レジスタ２２に“１”または“０”を設定する。ここで、出力切替レジスタ２２に“１”を設定すると、デコーダ２４のＡＮＤ２４ａの出力信号が“Ｈ”となり、遅延回路３０の出力側は、駆動能力の大きな出力バッファ１７ａを介して入出力端子１８に接続される。一方、出力切替レジスタ２２に“０”を設定すると、デコーダ２４のＡＮＤ２４ｂの出力信号が“Ｈ”となり、遅延回路３０の出力側は、駆動能力の小さな出力バッファ１７ｂを介して入出力端子１８に接続される。
【００４３】
更に、内部バス１１から遅延回路３０に対して遅延時間を設定すると共に、出力データレジスタ１４に格納されたデータ及び２次機能出力信号のいずれを出力するかの制御信号を、２次機能制御レジスタ１３に設定する。
これにより、セレクタ１６で選択された出力信号が、遅延回路３０で所定の時間だけ遅延され、出力バッファ１７ａまたは１７ｂで所定の電力に増幅されて入出力端子１８に出力され、この入出力端子１８に接続された外部回路が駆動される。
【００４４】
このように、本実施形態の入出力回路は、次の（１）〜（３）のような利点がある。
（１）  出力モード時に、アドレス信号等の２次機能出力信号や出力データの出力タイミングを任意の時間だけ遅延させたり、出力する信号の時間を増減することができる遅延回路３０を有している。これにより、この入出力回路を外部バス機能として使用した場合に、２次機能として出力するアドレス信号、データ信号、及びストローブ信号等の出力タイミングを変更することが可能となり、入出力端子１８に接続されるＳＲＡＭ等の外部回路のタイミング条件に合わせることができる。また、クロック同期式シリアルポートの出力回路として使用する場合、送信用クロック信号及び送信データのタイミングを変更することが可能であるので、通信相手となる外部回路の周辺装置に合わせて、送信データセットアップ時間や送信データホールド時間を調整することができる。これにより、接続可能な外部回路の種類を増やすことができる。
【００４５】
（２）  駆動能力の異なる出力バッファ１７ａ，１７ｂを有すると共に、これらの出力バッファ１７ａ，１７ｂを切替えるための出力切替レジスタ２２及びデコーダ２４を有している。これにより、外部回路の負荷容量の増大により、能力の小さな出力バッファ１７ｂでは駆動能力が不足した場合に、駆動能力の大きな出力バッファ１７ａに切替えることにより、出力信号の鈍りによる遅延を解消することができる。また、２次機能である外部バス機能及び同期式シリアルポート使用時にも、駆動能力を変更することができるので、出力信号の立上がりを速くしたり、遅くしたりすることで、出力信号のセットアップ時間及びホールド時間を調整することが可能である。
【００４６】
（３）  入力レベルの異なる入力バッファ１９ａ，１９ｂを有すると共に、これらの入力バッファ１９ａ，１９ｂを切替えるための入力切替レジスタ２３及びデコーダ２５を有している。これにより、外部回路の出力条件に合わせることができるので、接続可能な外部回路の種類を増やすことができる。また、外部バス機能及び同期式シリアルポート使用時にも、入力レベルを変更することができるので、入力信号の取り込みを速くしたり、遅くしたりすることで、入力信号のセットアップ時間及びホールド時間を調整することが可能である。
【００４７】
なお、本発明は、上記実施形態に限定されず、種々の変形が可能である。この変形例としては、例えば、次の（ａ）〜（ｆ）のようなものがある。
（ａ）  遅延回路３０の構成は、図４に限定されない。即ち、遅延素子を３個以上に増加して設定できる遅延時間の数を増やすことができる。これにより、時間調整範囲が広がり接続可能な外部回路の種類を更に増やすことができる。また、遅延素子にカウンタを用いることによりクロックベースで遅延時間の調整が可能である。
【００４８】
（ｂ）  遅延回路３０は、レジスタ３２によって遅延時間の設定がプログラム可能になっているが、このレジスタ３２に代えて遅延時間設定用のスイッチや外部端子を設けても良い。このような設定スイッチ等は、電源投入当初の初期設定以前に、正常な動作が必要な入出力回路の場合に有効である。
【００４９】
（ｃ）  選択可能な入力バッファや出力バッファの数は２つに限定されない。例えば、入力バッファの種類は、ＴＴＬやＣＭＯＳ等のレベル変換を行うものに限定されず、ヒステリシス特性を有するシュミット回路等を使用することもできる。入力バッファや出力バッファの数や種類を多くすることにより、接続可能な外部回路の種類を更に増やすことができる。
【００５０】
（ｄ）  プルアップ制御レジスタ１５と出力切替レジスタ２２は、同時に使用することはないので、共用することが可能である。或いは、入力切替レジスタ２３と出力切替レジスタ２２を共用しても良い。
【００５１】
（ｅ）  外部回路の出力レベルが、例えばＣＭＯＳに決まっているのであれば、２種類の入力バッファを設ける必要はない。その場合、入力切替レジスタ２３及びデコーダ２５は不要となる。
【００５２】
（ｆ）  外部回路に対する駆動能力を切替える必要がなければ、２種類の出力バッファを設ける必要はない。その場合、出力切替レジスタ２２及びデコーダ２４は不要となる。
【００５３】
【発明の効果】
以上詳細に説明したように、第１の発明（請求項１、５、６に係る発明）によれば、入出力端子に出力するデータまたは信号を、遅延させる遅延手段を有している。この遅延手段では、複数の遅延信号を生成して、これら遅延信号のいくつかを組合せた信号を生成してこれを出力信号として入出力端子へ出力する構成になっているので、入出力端子に出力する信号を任意の時間だけ遅延させたり、出力する信号の時間を増減することができる。これにより、外部回路のタイミング条件に合わせることが可能になり、タイミング条件が異なる各種のメモリや周辺回路に適合させて、効率の良い入出力動作が可能になる。
【００５４】
第２の発明（請求項２、５、６に係る発明）によれば、予め選択した駆動能力を有する出力バッファを介してデータまたは信号を出力する出力手段を有している。これにより、外部回路の負荷容量に見合った出力バッファを使用することが可能になり、効率の良い入出力動作が可能になる。
【００５５】
第３の発明（請求項３〜６に係る発明）によれば、予め選択した入力特性を有する入力バッファを介してデータまたは信号を入力する入力手段を有している。これにより、外部回路の出力条件に合致した入力バッファを使用することが可能になり、各種の外部回路に対応することができる。
【図面の簡単な説明】
【図１】本発明の実施形態を示す入出力回路の構成図である。
【図２】従来の入出力回路の一例を示す構成図である。
【図３】ＳＲＡＭのデータ書込み時の信号タイミングを示す信号波形図である。
【図４】図１中の遅延回路３０の一例を示す回路図である。
【図５】図４の遅延回路３０の機能を説明するための信号波形図である。
【符号の説明】
１１    内部バス
１２    入出力制御レジスタ
１３    ２次機能制御レジスタ
１４    出力データレジスタ
１５    プルアップ制御レジスタ
１６    セレクタ
１７ａ，１７ｂ    出力バッファ
１８    入出力端子
１９ａ，１９ｂ    入力バッファ
２０    ＮＡＮＤ
２１    ＰＭＯＳ
２２    出力切替レジスタ
２３    入力切替レジスタ
２４，２５    デコーダ
【図１】
0004384792.tif 000002
【図２】
0004384792.tif 000003
【図３】
0004384792.tif 000004
【図４】
0004384792.tif 000005
【図５】
0004384792.tif 000006