(57)【特許請求の範囲】
【請求項１】
クロック信号のクロック数を計数したカウント値を、外部から入力されるパルス信号の電圧レベルの変移を指示する変移指示信号に基づいて出力する第１のタイマ回路と、
計数許可信号に応じて動作し、クロック信号のクロック数を計数したカウント値が所定のカウント値になった時に出力信号を出力する第２のタイマ回路と、
前記変移指示信号と内部にて発生する内部発生信号とを含む複数の信号のうちのいずれか１つを、前記第２のタイマ回路におけるクロック信号のクロック数の計数動作を制御する前記計数許可信号として出力する選択回路と、
を有することを特徴とするマイクロコンピュータ。
【請求項２】
前記内部発生信号はソフトウエアにて発生が制御される信号であることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項３】
選択指示信号に応じて前記選択回路は前記複数の信号のいずれか１つを前記計数許可信号として出力することを特徴とする請求項１または請求項２記載のマイクロコンピュータ。
【請求項４】
前記複数の信号には、前記パルス信号とは別に外部から入力される他のパルス信号の電圧レベルの変移を指示する変移指示信号を含むことを特徴とする請求項１〜３のいずれか１つに記載のマイクロコンピュータ。
【請求項５】
前記第１のタイマ回路は、前記変移指示信号を分周した分周信号を出力する分周回路を有し、該分周信号に応じて前記カウント値を出力するものであり、前記選択回路にて選択される前記複数の信号には前記分周信号を含むことを特徴とする請求項１〜４のいずれか１つに記載のマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体集積回路で構成されるマイクロコンピュータに関し、特に、マイクロコンピュータに内蔵されるタイマの動作制御に関する。
【０００２】
【従来の技術】
マイクロコンピュータは入力ポート、出力ポート、メモリ、中央処理装置（以下、ＣＰＵと称する）等を有している。マイクロコンピュータは、これらの回路をソフトウェアにて動作制御することで様々な機能を実現できる。このため、マイクロコンピュータは、家電製品の動作制御や車のエンジン制御等その適用範囲は広い。
【０００３】
また、マイクロコンピュータは、各機能の動作タイミングを制御するためにタイマが内蔵されている。マイクロコンピュータに内蔵されるタイマ回路には、例えば、インプットタイマとアウトプットタイマがある。
【０００４】
インプットタイマは、カウンタにてクロック信号のパルス数を計数する機能を有する。インプットタイマは、外部入力信号として入力ポートの１つから入力されるパルス信号の電圧レベルの変移（例えば、電源電圧ＶＤＤレベルから接地電圧ＶＳＳレベルへの立ち下がり）を検出することに応じて、カウンタが計数したパルス数をレジスタに転送し、出力するものである。つまり、入力ポートの１つから入力されるパルス信号の電圧レベルの変移が起こる間隔毎にパルス数のカウント値の転送が行われる。このため、インプットタイマの出力であるレジスタの出力により、外部入力信号の発生間隔を確認することができる。
【０００５】
例えば、車載用のマイクロコンピュータにおいては、エンジン部分に用いられる燃焼室のシリンダにおけるピストン動作の速度を求めるためにインプットタイマが用いられる。つまり、１回のピストン動作に伴って出力される信号を入力ポートの１つから入力されるパルス信号として用い、インプットタイマのレジスタに格納されるカウント値を用いて演算処理することでピストン動作の速度を求めることができる。
【０００６】
アウトプットタイマは、カウンタにてクロック信号のパルス数を計数する機能を有する。アウトプットタイマは計数されたパルス数が、設定された所定のパルス数に一致した時に、この一致を指示する信号を出力するものである。
【０００７】
例えば、車載用のマイクロコンピュータにおいては、エンジン部分に用いられる燃焼室へのプラグの点火制御タイミングを指示するためにアウトプットタイマが用いられる。つまり、設定された所定のパルス数に応じた時間にタイミングよくプラグを点火するために、アウトプットタイマからの一致を指示する信号が利用される。
【０００８】
【発明が解決しようとする課題】
インプットタイマとアウトプットタイマがともに上記のようなエンジン部分の制御に利用されるような場合には、それぞれの動作制御をより容易にするためには互いの動作がリンクすることが望ましい。
【０００９】
しかしながら、各タイマの使用用途は必ずしも上記のような場合とは限らない。このため、ユーザーの要求としては、２つのタイマをリンクさせて動作を制御すること、ソフトウェアにてそれぞれのタイマの動作を制御すること、あるいはマイクロコンピュータの外部からの信号によってそれぞれのタイマの動作を制御すること等様々である。
【００１０】
例えば、マイクロコンピュータの周辺回路にて、インプットタイマとアウトプットタイマとの動作をそれぞれ制御する２つの外部入力信号が準備されている場合には、これら２つの外部入力信号を用いてそれぞれのタイマの動作を制御することが要求される。また、マイクロコンピュータ内のプログラマブルメモリにて、２つのタイマの動作を制御するためのプログラムが組まれていた場合には、ソフトウェアにてそれぞれのタイマの動作を制御することが要求される。
【００１１】
本発明は、タイマ機能の動作制御の方法を任意に選択可能な汎用性の高いマイクロコンピュータを提供することを実現することを目的とする。
【００１２】
また、本発明は、上記目的を、回路規模の増大や制御の複雑化をすることなく実現することを目的とする。
【００１３】
【課題を解決するための手段】
上記目的を達成するために本発明は、クロック信号のクロック数を計数したカウント値を、外部から入力されるパルス信号の電圧レベルの変移を指示する変移指示信号に基づいて出力する第１のタイマ回路と、計数許可信号に応じて動作し、クロック信号のクロック数を計数したカウント値が所定のカウント値になった時に出力信号を出力する第２のタイマ回路と、変移指示信号と内部にて発生する内部発生信号とを含む複数の信号のうちのいずれか１つを、クロック信号のクロック数の計数動作を制御する計数許可信号として出力する選択回路を有するようにしている。
【００１４】
また、本発明は、内部発生信号をソフトウエアにて発生が制御される信号としてもよい。
【００１５】
また、本発明は、選択指示信号に応じて、選択回路は複数の信号のいずれか１つを計数許可信号として出力するようにしてもよい。
【００１６】
また、本発明は、複数の信号として、前述のパルス信号とは異なる、外部から入力される信号を含むようにしてもよい。
【００１７】
また、本発明は、第１のタイマ回路を、変移指示信号を分周した分周信号を出力する分周回路を有し、分周信号に応じてカウント値を出力するものとして、選択回路にて選択される複数の信号には分周信号を含むようにしてもよい。
【００１８】
【発明の実施の形態】
本発明のマイクロコンピュータについて、図面を用いて以下に詳細に説明する。図１は、本発明の第１の実施の形態におけるマイクロコンピュータに内蔵されたタイマ回路のブロック図である。
【００１９】
図１において、１００は、第１のタイマ回路であるインプットタイマであり、２００は第２のタイマ回路であるアウトプットタイマである。
【００２０】
インプットタイマ１００は、エッジ検出回路１１０、カウンタ１２０、ゲート回路１３０、レジスタ１４０、スイッチ回路１５０から構成されている。
【００２１】
エッジ検出回路１１０は、入力ポートの１つから入力される外部入力信号としてのパルス信号ＰＬの電圧レベルの変移（例えば、電源電圧ＶＤＤレベルから接地電圧ＶＳＳレベルへの立ち下がり）を検出して、この変移を指示する変移指示信号を出力するものである。なお、電源電圧ＶＤＤレベルは以下でＨレベルと称し、接地電圧ＶＳＳレベルは以下でＬレベルと称する。変移指示信号は、例えば、パルス信号ＰＬの立ち下がりを検出したときに、一時的にＨレベルとなるワンショットパルスを出力するものである。
【００２２】
カウンタ１２０は、スイッチ回路１５０が活性化状態の時に、スイッチ回路１５０を介して転送されるクロック信号ＣＫのクロック数を計数し、この計数したカウント値を出力するものである。カウンタ１２０は、例えば８ビットカウンタであれば、０〜２５５までのカウント値を出力し、オーバーフロー（カウント値が２５６に相当）すると、カウント値が０に戻るものである。スイッチ回路１５０が非活性化状態の時には、カウンタ１２０にクロック信号ＣＫが伝達されないため、カウンタ１２０の計数動作が禁止される。
【００２３】
スイッチ回路１５０は制御信号ＣＭにて活性化状態が制御されるものである。制御信号ＣＭは、例えば、ソフトウェアにて出力制御される信号である。例えば、制御信号ＣＭの電圧レベルがＨレベルの時にスイッチ回路１５０は活性化状態となり、制御信号ＣＭの電圧レベルがＬレベルの時にスイッチ回路１５０は非活性化状態となる。
【００２４】
ゲート回路１３０は、エッジ検出回路１１０の出力である変移指示信号の電圧レベルがＨレベルの時に、カウンタ１２０の出力であるカウント値をレジスタ１４０へ転送するものである。このため、変移指示信号の電圧レベルがＨレベルである時間は、少なくともレジスタ１４０がカウンタ１２０のカウント値を格納可能な時間必要となる。
【００２５】
レジスタ１４０は、ゲート回路１３０を介して転送されるカウント値を格納し、出力するものである。レジスタ１４０は例えば、クロック信号ＣＫの立ち上がりに応じて、カウント値を格納し、出力する。
【００２６】
このように、インプットタイマ１００は、パルス信号ＰＬの立ち下がりに応じて、カウンタ１２０のカウント値をレジスタ１４０に格納するものである。インプットタイマ１００の出力となるレジスタ１４０に格納されたカウント値は、マイクロコンピュータに内蔵される他の周辺回路に転送される。
【００２７】
例えば、レジスタ１４０に格納されたカウント値は演算回路に転送され、先に転送されたカウント値との減算処理が行われることにより、カウント値の変動状態が検出される。
【００２８】
インプットタイマ１００が車載用のマイクロコンピュータに内蔵されているとすると、パルス信号ＰＬがエンジン部分のシリンダの１回のピストン動作に応じて、１つのパルスを生ずるものであれば、この処理にて、エンジン部分のシリンダのピストン動作の速度が早くなっているか、遅くなっているか等が検出できる。カウンタ１２０における計数動作が禁止される、つまり、スイッチ回路１５０が非活性状態となるのは、例えば、エンジン部分のシリンダのピストン動作が止まっている時である。
【００２９】
アウトプットタイマ２００は、エッジ検出回路２１０、レジスタ２２０、選択回路２３０、カウンタ２４０、一致検出回路２５０、レジスタ２６０、出力回路２７０とから構成されている。
【００３０】
エッジ検出回路２１０は、入力ポートの１つから入力される外部入力信号としてのパルス信号ＰＳの電圧レベルの変移（例えば、ＨレベルからＬレベルへの立ち下がり）を検出して、この変移を指示する変移指示信号を出力するものである。変移指示信号は、例えば、パルス信号ＰＳの立ち下がりを検出したときに、一時的にＨレベルとなるワンショットパルスを出力するものである。
【００３１】
レジスタ２２０は、後述する選択回路２３０に入力される複数の信号のいずれを選択するかを指示する情報を格納し、その情報に応じた信号を配線２２１、２２に出力するものである。格納される情報については、選択回路２３０とともに説明する。このように、本実施の形態においては、レジスタ２２０は、２ビット分の情報を格納するため、例えば、２つのフリップフロップから構成されるものである。
【００３２】
選択回路２３０は、エッジ検出回路１１０の出力である変移指示信号と、エッジ検出回路２１０の出力である変移指示信号と、制御信号ＣＮと、レジスタ２２０の出力である配線２２１、２２２に出力される信号とを入力する。制御信号ＣＮはソフトウェアにて出力制御される信号である。
【００３３】
選択回路２３０は、３つの３入力１出力のＡＮＤゲート２３２、２３４、２３６と、１つの３入力１出力のＯＲゲート２３８とから構成されている。
【００３４】
ＡＮＤゲート２３２には、エッジ検出回路１１０の出力である変移指示信号と配線２２１、２２２にて伝達される信号が入力されている。このため、配線２２１、２２２に転送されている信号の電圧レベルがともにＨレベルの時には、エッジ検出回路１１０の出力である変移指示信号に応じた信号が、ＡＮＤゲート２３２の出力信号として出力される。配線２２１、２２２に転送されている信号の電圧レベルがその他の場合には、電圧レベルがＬレベルの信号が、ＡＮＤゲート２３２の出力信号として出力される。
【００３５】
ＡＮＤゲート２３４には、エッジ検出回路２１０の出力である変移指示信号と配線２２１にて伝達される信号と、配線２２２にて伝達される信号の電圧レベルを反転した信号が入力されている。このため、配線２２１に転送されている信号の電圧レベルがＨレベルで、配線２２２に転送されている信号の電圧レベルがＬレベルの時には、エッジ検出回路２１０の出力である変移指示信号に応じた信号が、ＡＮＤゲート２３４の出力信号として出力される。配線２２１、２２２に転送されている信号の電圧レベルがその他の場合には、電圧レベルがＬレベルの信号が、ＡＮＤゲート２３４の出力信号として出力される。
【００３６】
ＡＮＤゲート２３６には、制御信号ＣＮと配線２２１にて伝達される信号の電圧レベルが反転した信号と、配線２２２にて伝達される信号の電圧レベルが反転した信号が入力されている。このため、配線２２１、２２２に転送されている信号の電圧レベルがともにＬレベルの時には、制御信号ＣＮに応じた信号が、ＡＮＤゲート２３６の出力信号として出力される。配線２２１、２２２に転送されている信号の電圧レベルがその他の場合には、電圧レベルがＬレベルの信号が、ＡＮＤゲート２３６の出力信号として出力される。
【００３７】
このように、各ＡＮＤゲート２３２、２３４、２３６の出力は配線２２１、２２２に伝達される信号によって制御される。つまり、レジスタ２２０に格納された情報によりＡＮＤゲート２３２、２３４、２３６のいずれか１つが選択される。
【００３８】
例えば、レジスタ２２０内の２ビットの情報は、配線２２１にて下位ビットが伝達され、配線２２２にて上位ビットが伝達されるとすると、レジスタ２２０に２ビットのデータとして”１１”が格納されていた場合に、レジスタ２２０は配線２２１、２２２にともに電圧レベルがＨレベルの信号を出力する。この場合は、ＡＮＤゲート２３２が選択されることとなる。また、レジスタ２２０に２ビットのデータとして”０１”が格納されていた場合に、レジスタ２２０は配線２２１には電圧レベルがＨレベルの信号を出力し、配線２２２には電圧レベルがＬレベルの信号を出力する。この場合は、ＡＮＤゲート２３４が選択されることとなる。また、レジスタ２２０に２ビットのデータとして”００”が格納されていた場合に、レジスタ２２０は配線２２１、２２２にともに電圧レベルがＬレベルの信号を出力する。この場合は、ＡＮＤゲート２３６が選択されることとなる。
【００３９】
ＯＲゲート２３８は、ＡＮＤゲート２３２、２３４、２３６の選択されたいずれか１つの信号に応じた信号を出力するものである。例えば、ＡＮＤゲート２３２が選択された場合には、ＯＲゲート２３８の出力はエッジ検出回路１１０の出力である変移指示信号に応じた信号となる。ＡＮＤゲート２３４が選択された場合には、ＯＲゲート２３８の出力はエッジ検出回路２１０の出力である変移指示信号に応じた信号となる。、ＡＮＤゲート２３６が選択された場合には、ＯＲゲート２３８の出力は制御信号ＣＮに応じた信号となる。
【００４０】
このように、選択回路２３０は、レジスタ２２０に格納された情報に基づいて、エッジ検出回路１１０の出力である変移指示信号、エッジ検出回路２１０の出力である変移指示信号、制御信号ＣＮのいずれか１つに応じた信号を出力することができる。
【００４１】
カウンタ２４０は、スイッチ回路２８０が活性化状態の時に、スイッチ回路２８０を介して転送されるクロック信号ＣＫのクロック数を計数し、この計数したカウント値を出力するものである。カウンタ２４０は、例えば８ビットカウンタであれば、０〜２５５までのカウント値を出力し、オーバーフロー（カウント値が２５６に相当）すると、カウント値が０に戻るものである。つまり、この実施の形態においては、カウンタ２４０はカウンタ１２０と同様な機能を有するものである。このため、図１の２つのカウンタ１２０と２４０をどちらか１つのカウンタにすることもできる。このことについては後述する。スイッチ回路２８０が非活性化状態の時には、カウンタ２４０にクロック信号ＣＫが伝達されないため、カウンタ２４０の計数動作が禁止される。
【００４２】
スイッチ回路２８０は選択回路２３０の出力信号にて活性化状態が制御されるものである。例えば、選択回路２３０の出力信号の電圧レベルがＨレベルの時にスイッチ回路２３０は活性化状態となり、選択回路２３０の出力信号の電圧レベルがＬレベルの時にスイッチ回路２３０は非活性化状態となる。このように、選択回路２３０の出力信号はカウンタ２４０の計数動作を制御する計数許可信号としての役割をする。
【００４３】
レジスタ２６０は、カウンタ２４０で取り得るカウント値のいずれか１つを情報として格納し、出力するものである。レジスタ２６０に格納される情報については後述する。
【００４４】
一致検出回路２５０は、カウンタ２４０から出力されるカウント値とレジスタ２６０に格納され、出力されている所定のカウント値とを比較して、一致を検出するものである。一致検出回路２５０にて２つのカウント値の一致を検出した時に、所定の電圧レベルの一致検出信号を出力する。例えば、一致を検出した時には、一致検出信号の電圧レベルはＨレベルとなり、不一致を検出している時には、一致検出信号の電圧レベルはＬレべルとなる。
【００４５】
出力回路２７０は、一致検出回路２５０から出力される一致検出信号に応じて外部（例えば、周辺回路）に対する制御のための出力信号を出力するものである。出力回路２７０は、例えば、１つのフリップフロップから構成されるものである。このため、出力回路２７０の出力信号は、電圧レベルがＬレベルからＨレベルに変移した一致検出信号を受信した時に、Ｈレベルの出力信号を出力し、所定時間の後にリセット（出力回路２７０の出力信号の電圧レベルをＬレベルに戻す）されるようなものである。
【００４６】
なお、出力回路２７０の出力信号を受ける周辺回路によっては、出力回路２７０の出力信号が、電圧レベルＨレベルからＬレベルあるいはＬレベルからＨレベルのどちらかに変移した一致検出信号を受信した時に、出力信号の電圧レベルを変移するようなものでもよい。この場合、出力回路２７０に対してリセットする必要がないので、制御し易くなる。
【００４７】
このように、アウトプットタイマ２００は、インプットタイマ１００内のエッジ検出回路１１０から出力される変移指示信号、エッジ検出回路２１０によりパルス信号ＰＳの立ち下がりを検出した時に出力される変移指示信号、及びソフトウェアにて出力制御される制御信号ＣＮのいずれか１つにより、カウンタ２４０の計数動作が制御される。カウンタ２４０のカウント値とレジスタ２６０に格納された所定のカウンタ値とが一致した時に、出力回路２７０から一致の検出を指示する電圧レベルあるいは電圧レベルが変移する出力信号を出力するものである。このアウトプットタイマ２００の出力信号はマイクロコンピュータに内蔵された他の周辺回路に転送される。
【００４８】
例えば、アウトプットタイマ２００が車載用のマイクロコンピュータに内蔵されているとすると、出力回路２７０の出力信号はエンジン部分のプラグ点火を制御する回路に転送される。このため、レジスタ２６０にプラグを点火する時間間隔に相当するカウント値を格納しておけば、アウトプットタイマ２００の出力信号により、所定の間隔毎にプラグへの点火を行うことができる。カウンタ２４０における計数動作が禁止される、つまり、スイッチ回路２８０が非活性状態となるのは、例えば、マイクロコンピュータにおいて、プラグへの点火処理より優先される他の処理を行う時である。
【００４９】
なお、アウトプットタイマ２００のカウンタ２４０の計数動作は、３つの信号により制御されている。つまり、マイクロコンピュータとして、２つの入力ポートからそれぞれパルス信号ＰＬとパルス信号ＰＳが入力される場合には、選択回路２３０の出力である計数許可信号を、エッジ検出回路２１０に出力である変移指示信号に応じたものとすればよい。また、パルス信号ＰＬとパルス信号ＰＳとが同じ信号である場合には、選択回路２３０の出力である計数許可信号を、エッジ検出回路１１０に出力である変移指示信号に応じたものとすればよい。また、ソフトウェアで出力制御される制御信号ＣＮが有る場合には、選択回路２３０の出力である計数許可信号を、制御信号ＣＮに応じたものとすればよい。制御信号ＣＮを用いる場合は、エッジ検出回路を介さない信号にてスイッチ回路２８０を制御することができるため、スイッチ回路２８０を非活性化状態としておく時間をプログラムにて任意に設定することができる。
【００５０】
このように、本実施の形態におけるマイクロコンピュータにおいては、アウトプットタイマ２００における計数動作を３つの信号にて選択的に制御することができる。このため、マイクロコンピュータの外部の周辺回路や内部にて発生する信号にて選択的にアウトプットタイマ２００の計数動作が制御できるため、ユーザーの要求や周辺回路の機能に応じて、タイマ機能の動作制御の方法を任意に選択可能な汎用性の高いマイクロコンピュータを提供することができる。
【００５１】
また、本実施の形態におけるマイクロコンピュータにおいては、レジスタ２２０と選択回路２３０とによりアウトプットタイマ２００における計数動作を制御しているので、この制御のために大幅な回路構成の追加や制御の複雑化は極力低減している。
【００５２】
なお、本実地の形態におけるレジスタ２２０に格納される情報やレジスタ２６０に格納される所定のカウント値は変更可能にしてもよい。
【００５３】
例えば、２つの入力ポートからそれぞれパルス信号ＰＬとパルス信号ＰＳが入力され、選択的にエッジ検出回路１１０あるいは２１０に出力である変移指示信号に応じてアウトプットタイマ２００における計数動作を制御することも可能としたい場合には、アウトプットタイマ２００の計数動作の制御にどちらのエッジ変移指示信号を用いるかを選択指示する信号に応じてレジスタ２２０に格納された情報を変更するようにすればよい。さらに、制御信号ＣＮが出力される場合であっても、アウトプットタイマ２００の計数動作の制御に３つの信号のいずれを用いるかを選択指示する信号に応じてレジスタ２２０に格納された情報を変更するようにすればよい。
【００５４】
また、例えば、エンジン部分のシリンダのピストン動作の速度が早くなったことに伴い、プラグに点火する時間間隔を早めるような場合には、この要求に伴って出力される信号に応じて、レジスタ２６０に格納されたカウント値をその都度変更するようにすればよい。
【００５５】
また、上記実施の形態においては同様な機能のカウンタ１２０と２４０を２つのタイマにそれぞれ設けているが、これらタイマの出力信号を用いる周辺回路によっては、パルス信号ＰＬとパルス信号ＰＳが同じ信号の場合には、これを共有することもできる。さらに、２つのエッジ検出回路と２つのスイッチ回路もそれぞれ共有してもよい。つまり、共有化された１つのスイッチ回路の活性化状態は選択回路２３０からの出力により制御され、共有化された１つのカウンタのカウント値を共有化された１つのエッジ検出回路の変移指示信号に応じてゲート回路１３０を介してレジスタ１４０に格納するようにすればよい。さらに、共有化された１つのカウンタのカウント値は一致検出回路２５０に転送し、一致検出回路２５０にてレジスタ２６０に格納された所定のカウント値と比較するようにすればよい。選択回路２３０にて選択される信号は、共有化されたエッジ検出回路からの変移指示信号、制御信号ＣＭ、制御信号ＣＮのいずれかとなる。
【００５６】
このようにすれば、２つのタイマで共通の回路構成を共有化することができるため、タイマ部分の回路構成や配置面積が少なくできる。よって、集積化やコストの低減が期待できる。また、一致検出回路２５０に転送されるをカウント値をレジスタ１４０からではなく、レジスタ１４０と並列にゲート回路１３０から受けるようにしてもよい。この場合、タイマ機能としての動作速度の高速化も期待できる。
【００５７】
なお、第１の実施の形態のように、インプットタイマ１００とアウトプットタイマ２００とにそれぞれエッジ検出回路、スイッチ回路、カウンタを設ける場合には、インプットタイマとアウトプットタイマとをそれぞれ独立して制御できるので、共有化するのに比べて制御し易いことや周辺回路に対して適応し易くなる利点がある。
【００５８】
次に、本発明の第２の実施の形態におけるマイクロコンピュータについて図面を用いて説明する。図２は、本発明の第２の実施の形態におけるマイクロコンピュータに内蔵されたタイマ回路のブロック図である。図２において、図１と同様な構成要素に対しては図１と同様な符号を付している。
【００５９】
図２において、アウトプットタイマ３００には、エッジ検出回路に相当する構成要素が削除されている。エッジ検出回路が削除されていることに伴って、レジスタ３２０と選択回路３３０の機能が変更されている。図２におけるインプットタイマ１００及びその構成要素、アウトプットタイマ３００のその他の構成要素は図１の場合と同様である。
【００６０】
選択回路３３０は、２つの２入力１出力のＡＮＤゲート３３２、３３４と、１つの２入力１出力のＯＲゲート３３８とから構成されている。
【００６１】
ＡＮＤゲート３３２には、エッジ検出回路１１０の出力である変移指示信号とレジスタ３２０からの出力信号が入力されている。このため、レジスタ３２０の出力信号の電圧レベルがＨレベルの時には、エッジ検出回路１１０の出力である変移指示信号に応じた信号が、ＡＮＤゲート３３２の出力信号として出力される。レジスタ３２０の出力信号の電圧レベルがＬレベルの時には、電圧レベルがＬレベルの信号が、ＡＮＤゲート３３２の出力信号として出力される。
【００６２】
ＡＮＤゲート３３４には、ソフトウェアにて出力制御される制御信号ＣＮとレジスタ３２０からの出力信号の電圧レベルを反転した信号が入力されている。このため、レジスタ３２０の出力信号の電圧レベルがＬレベルの時には、制御信号ＣＮに応じた信号が、ＡＮＤゲート３３４の出力信号として出力される。レジスタ３２０の出力信号の電圧レベルがＨレベルの時には、電圧レベルがＬレベルの信号が、ＡＮＤゲート３３４の出力信号として出力される。
【００６３】
このように、各ＡＮＤゲート３３２、３３４の出力はレジスタ３２０の出力信号によって制御される。つまり、レジスタ３２０に格納された情報によりＡＮＤゲート３３２、３３４のどちらか１つが選択される。例えば、レジスタ３２０に１ビットのデータとして”１”が格納されていた場合に、レジスタ３２０は電圧レベルがＨレベルの出力信号を出力する。この場合は、ＡＮＤゲート３３２が選択されることとなる。また、レジスタ３２０に１ビットのデータとして”０”が格納されていた場合に、レジスタ３２０は電圧レベルがＬレベルの出力信号を出力する。この場合は、ＡＮＤゲート３３４が選択されることとなる。
【００６４】
ＯＲゲート３３８は、ＡＮＤゲート３３２、３３４の選択されたどちらか１つの信号に応じた信号を出力するものである。例えば、ＡＮＤゲート３３２が選択された場合には、ＯＲゲート３３８の出力はエッジ検出回路１１０の出力である変移指示信号に応じた信号となる。ＡＮＤゲート３３４が選択された場合には、ＯＲゲート３３８の出力は制御信号ＣＮに応じた信号となる。
【００６５】
このように、選択回路３３０は、レジスタ３２０に格納された情報に基づいて、エッジ検出回路１１０の出力である変移指示信号、または制御信号ＣＮのどちらか１つに応じた信号を出力することができる。
【００６６】
レジスタ３２０は、選択回路３３０に入力される２つの信号のいずれを選択するかを指示する情報を格納し、その情報に応じた信号を出力するものである。この格納される情報は、上述のように”０”または”１”である。本実施の形態においては、レジスタ３２０は、１ビット分の情報を格納するため、例えば、１つのフリップフロップから構成されるものである。
【００６７】
以上のように構成された第２の実施の形態におけるインプットタイマ１００とアウトプットタイマ３００は、入力ポートからはパルス信号ＰＬが入力され、パルス信号ＰＳが入力されないようなマイクロコンピュータに内蔵されているものである。つまり、第１の実施の形態におけるパルス信号ＰＳに対する構成が不要となるので、レジスタ３２０及び選択回路３３０の回路構成は第１の実施の形態におけるレジスタ２２０及び選択回路２３０に比べて簡略化することができ、制御もより容易にすることができる。この結果、パルス信号ＰＳが入力されないことが、予め分かっている場合には、第２の実施の形態のように構成することで、マイクロコンピュータ全体としての集積化や制御の容易化による高速動作化を実現できる。
【００６８】
なお、第２の実施の形態においても、レジスタ３２０に格納される情報やレジスタ２６０に格納される所定のカウント値は変更可能としてもよい。また、インプットタイマ１００とアウトプットタイマ３００とで共有化できる構成要素に対しては、共有化してもよい。
【００６９】
次に、本発明の第３の実施の形態におけるマイクロコンピュータについて図面を用いて説明する。図３は、本発明の第３の実施の形態におけるマイクロコンピュータに内蔵されたタイマ回路のブロック図である。図３において、図１と同様な構成要素に対しては図１と同様な符号を付している。
【００７０】
図３において、インプットタイマ４００には、分周回路４６０が追加されている。アウトプットタイマ５００には、エッジ検出回路に相当する構成要素が削除されている。エッジ検出回路が削除されていることに伴って、レジスタ５２０と選択回路５３０による信号の選択処理が変更されている。図３におけるインプットタイマ４００のその他の構成要素及びアウトプットタイマ５００のその他の構成要素は図１の場合と同様である。
【００７１】
分周回路４６０はエッジ検出回路１１０から出力される変移指示信号を分周して出力するものである。例えば、分周回路４６０が１／２分周するものとすれば、変移指示信号がワンショットパルスを発生したとしても、そのパルス幅を２倍にすることができる。この分周回路４６０はどの程度の分周を行うかを固定としても、変更可能としてもよい。固定とした場合には制御が容易であり、回路構成も簡略化できる。変更可能とした場合には、分周する程度を任意に設定できるので、周辺回路に対する適応性が高くなる。
【００７２】
分周回路４６０は、例えば、パルス信号ＰＬの入力される間隔が短くなった場合においても、ゲート回路１３０が安定して動作し、カウンタ１２０のカウント値をレジスタ１４０に確実に格納するために設けられているものである。
【００７３】
選択回路５３０は、３つの３入力１出力のＡＮＤゲート５３２、５３４、５３６と、１つの３入力１出力のＯＲゲート５３８とから構成されている。
【００７４】
ＡＮＤゲート５３２には、分周回路４６０からの出力信号と配線５２１、５２２にて伝達される信号が入力されている。このため、配線５２１、５２２に転送されている信号の電圧レベルがともにＨレベルの時には、分周回路４６０の出力信号に応じた信号が、ＡＮＤゲート５３２の出力信号として出力される。配線５２１、５２２に転送されている信号の電圧レベルがその他の場合には、電圧レベルがＬレベルの信号が、ＡＮＤゲート５３２の出力信号として出力される。
【００７５】
ＡＮＤゲート５３４には、エッジ検出回路１１０の出力である変移指示信号と配線５２１にて伝達される信号と、配線５２２にて伝達される信号の電圧レベルを反転した信号が入力されている。このため、配線５２１に転送されている信号の電圧レベルがＨレベルで、配線５２２に転送されている信号の電圧レベルがＬレベルの時には、エッジ検出回路１１０の出力である変移指示信号に応じた信号が、ＡＮＤゲート５３４の出力信号として出力される。配線５２１、５２２に転送されている信号の電圧レベルがその他の場合には、電圧レベルがＬレベルの信号が、ＡＮＤゲート５３４の出力信号として出力される。
【００７６】
ＡＮＤゲート５３６には、制御信号ＣＮと配線５２１にて伝達される信号の電圧レベルが反転した信号と、配線５２２にて伝達される信号の電圧レベルが反転した信号が入力されている。このため、配線５２１、５２２に転送されている信号の電圧レベルがともにＬレベルの時には、制御信号ＣＮに応じた信号が、ＡＮＤゲート５３６の出力信号として出力される。配線５２１、５２２に転送されている信号の電圧レベルがその他の場合には、電圧レベルがＬレベルの信号が、ＡＮＤゲート５３６の出力信号として出力される。
【００７７】
このように、各ＡＮＤゲート５３２、５３４、５３６の出力は配線５２１、５２２に伝達される信号によって制御される。つまり、レジスタ５２０に格納された情報によりＡＮＤゲート５３２、５３４、５３６のいずれか１つが選択される。
【００７８】
例えば、配線５２１に対応する情報を下位ビット、配線５２２に対応する情報を上位ビットとすれば、レジスタ５２０に２ビットのデータとして”１１”が格納されていた場合に、レジスタ５２０は配線５２１、５２２にともに電圧レベルがＨレベルの信号を出力する。この場合は、ＡＮＤゲート５３２が選択されることとなる。また、レジスタ５２０に２ビットのデータとして”０１”が格納されていた場合に、レジスタ５２０は配線５２１には電圧レベルがＨレベルの信号を出力し、配線５２２には電圧レベルがＬレベルの信号を出力する。この場合は、ＡＮＤゲート５３４が選択されることとなる。また、レジスタ５２０に２ビットのデータとして”００”が格納されていた場合に、レジスタ５２０は配線５２１、５２２にともに電圧レベルがＬレベルの信号を出力する。この場合は、ＡＮＤゲート５３６が選択されることとなる。
【００７９】
ＯＲゲート５３８は、ＡＮＤゲート５３２、５３４、５３６の選択されたいずれか１つの信号に応じた信号を出力するものである。例えば、ＡＮＤゲート５３２が選択された場合には、ＯＲゲート５３８の出力は分周回路４６０の出力信号に応じた信号となる。ＡＮＤゲート５３４が選択された場合には、ＯＲゲート５３８の出力はエッジ検出回路１１０の出力である変移指示信号に応じた信号となる。ＡＮＤゲート５３６が選択された場合には、ＯＲゲート５３８の出力は制御信号ＣＮに応じた信号となる。
【００８０】
このように、選択回路５３０は、レジスタ５２０に格納された情報に基づいて、エッジ検出回路１１０の出力である変移指示信号、分周回路４６０の出力信号、制御信号ＣＮのいずれか１つに応じた信号を出力することができる。
【００８１】
レジスタ５２０は、選択回路５３０に入力される３つの信号のいずれを選択するかを指示する情報を格納し、その情報に応じた信号を配線５２１、５２２に出力するものである。この格納される情報は、前述のように、”１１”、”０１”、”００”のいずれかである。このように、本実施の形態においては、レジスタ５２０は、２ビット分の情報を格納するため、例えば、２つのフリップフロップから構成されるものである。
【００８２】
以上のように構成された第３の実施の形態におけるマイクロコンピュータにおいては、選択回路５３０により選択される信号に分周回路４６０の出力信号を選択することを可能としたものである。第３の実施の形態におけるマイクロコンピュータに示されるように、各実施の形態の選択回路にて選択する信号は必要に応じて様々に適用可能である。選択回路にて選択する対象の信号の数を増やせば、周辺回路に対する適用性をより高めることができる。
【００８３】
なお、第３の実施の形態においても、レジスタ５２０に格納される情報やレジスタ２６０に格納される所定のカウント値は変更可能としてもよい。また、インプットタイマ４００とアウトプットタイマ５００とで共有化できる構成要素に対しては、共有化してもよい。
【００８４】
以上、各実施の形態についてを説明したが、本発明は上記実施の形態における構成に限定されるものではない。
【００８５】
例えば、スイッチ回路１５０や２８０は１つのトランジスタにて構成してもよい。上記各実施の形態の動作からすれば、スイッチ回路１５０や２８０は、一方の入力端子にクロック信号ＣＫが入力され、他方の入力端子には制御信号ＣＭあるいは選択回路から出力される計数許可信号を入力するＡＮＤゲートであってもよい。また、各選択回路は、上記実施の形態における機能を実現できるものであれば、他の構成としてもよい。また、各構成要素で入力あるいは出力される信号の電圧レベルも上記の実施の形態のものに限定されるものではない。
【００８６】
また、上記各実施の形態においては、アウトプットタイマにおいて、選択回路の出力信号である計数許可信号にて直接、スイッチ回路２８０の活性化状態を制御しているが、これに限るものではない。
【００８７】
例えば、Ｒ−Ｓフリップフロップから構成されるようなラッチ回路を用いることも可能である。例えば、このラッチ回路は、２つの２入力１出力のＮＯＲゲートから構成され、第１のＮＯＲゲートの一方の入力端子は、フリップフロップとしてのデータ端子として用い、他方の入力端子は第２のＮＯＲゲートの出力端子に接続され、第２のＮＯＲゲートの一方の入力端子は、フリップフロップとしてのリセット端子として用い、他方の入力端子は第１のＮＯＲゲートの出力端子に接続されている。第２のＮＯＲゲートの出力端子が、フリップフロップとしての出力端子として用いられる。
【００８８】
このラッチ回路の入力側のデータ端子に選択回路の出力信号である計数許可信号を入力し、入力側のリセット端子に、アウトプットタイマの出力信号に基づく周辺回路の制御状態に応じて出力されるリセット信号を入力し、ラッチ回路の出力端子から出力される信号にてスイッチ回路２８０の活性化状態を制御するようにすればよい。
【００８９】
この場合、まず、初期状態として、ラッチ回路のデータ端子及びリセット端子に電圧レベルがＬレベルの信号をそれぞれ入力しておくことで、ラッチ回路の出力信号の電圧レベルをＬレベルとしておく。選択回路からの出力信号である計数許可信号の電圧レベルがＬレベルからＨレベルに変移した時に、ラッチ回路の出力信号の電圧レベルがＬレベルからＨレベルにすることができる。その後、データ端子から入力される信号の電圧レベルがＬレベルに戻ったとしても、ラッチ回路の出力信号の電圧レベルはＨレベルを維持することができる。リセット信号の電圧レベルがＨレベルとなった時に、ラッチ回路の出力信号の電圧レベルはＬレベルの戻る。このため、ラッチ回路の出力信号により活性化状態が制御されるスイッチ回路２８０は活性化状態となる時間を所望の時間だけ確保することが可能となる。
【００９０】
また、上記実施の形態において、レジスタ２２０やレジスタ５２０に格納されないデータ”１０”を用いて、このデータ”１０”を、選択回路による選択動作を禁止する情報として格納するようにすることもできる。この場合、スイッチ回路２８０の状態を固定することができる。
【００９１】
また、各実施の形態においては、スイッチ回路１５０や２８０は電圧レベルがＨレベルの信号によりそれぞれ活性化状態になるものとしているが、これに限らず、電圧レベルがＬレベルの信号にてそれぞれ活性化状態になるようにしてもよいし、スイッチ回路１５０とスイッチ回路２８０との活性化状態を制御する信号のが、それぞれ異なる電圧レベルでスイッチ回路を活性化状態にするものであってもよい。このような設定は、インプットタイマやアウトプットタイマの使用状況等に応じて最適な電圧レベルにてスイッチ回路を制御すればよい。
【００９２】
このように、本発明は、上記実施の形態の構成に限定されず、種々の変更が可能である。
【００９３】
【発明の効果】
以上のように、本発明は、タイマ機能の動作制御の方法を任意に選択可能な汎用性の高いマイクロコンピュータを提供することを実現できる。
【００９４】
また、本発明は、上記目的を、回路規模の増大や制御の複雑化をすることなく実現できる。
【図面の簡単な説明】
【図１】図１は、本発明の第１の実施の形態におけるマイクロコンピュータに内蔵されたタイマ回路のブロック図である。
【図２】図２は、本発明の第２の実施の形態におけるマイクロコンピュータに内蔵されたタイマ回路のブロック図である。
【図３】図３は、本発明の第３の実施の形態におけるマイクロコンピュータに内蔵されたタイマ回路のブロック図である。
【符号の説明】
１００、４００    インプットタイマ
１１０    エッジ検出回路
１２０    カウンタ
１３０    ゲート回路
１４０    レジスタ
１５０    スイッチ回路
２００、３００、５００    アウトプットタイマ
２１０    エッジ検出回路
２２０、３２０、５２０    レジスタ
２３０、３３０、５３０    選択回路
２４０    カウンタ
２５０    一致検出回路
２６０    レジスタ
２７０    出力制御回路
２８０    スイッチ回路
４６０    分周回路
【図１】
0003626021.tif 000002
【図２】
0003626021.tif 000003
【図３】
0003626021.tif 000004