(57)【要約】【課題】時間計測に誤差が生じることを抑制することができるマイクロコンピュータを提供することを目的とする。【解決手段】クロックセレクタ１０から、クロック切り換え信号が切り換わると、クロック切り換え信号が切り換わった後から第１クロック信号または第２クロック信号と同じ信号である補正クロック信号を１パルス分出力させた後、切り換わった後のクロック信号を出力させ、セレクタ６０〜８０から、第１クロック信号が加算器９０に入力されるときには第１クロック用インクリメント値を示す信号を加算器９０に入力させ、第２クロック信号が加算器９０に入力されるときには第２クロック用インクリメント値を示す信号を加算器９０に入力させ、補正クロック信号が加算器９０に入力されるときには補正期間に対応するインクリメント値を示す信号を加算器９０に入力させる。【選択図】図１
2011204123.tif 000002
【特許請求の範囲】
【請求項１】
第１クロック信号および前記第１クロック信号より周期の長い第２クロック信号と、クロック切り換え信号とが入力され、前記クロック切り換え信号に基づいて前記第１クロック信号および前記第２クロック信号を選択して出力するクロックセレクタ（１０）と、
所定のインクリメント値を示す信号を出力するセレクタ（６０〜８０）と、
前記クロックセレクタ（１０）からクロック信号が入力されると共に、前記セレクタ（６０〜８０）から前記所定のインクリメント値を示す信号が入力され、前記クロック信号に同期して前記所定のインクリメント値を加算する加算器（９０）と、を有し、
前記クロックセレクタ（１０）は、前記クロック切り換え信号が切り換わると、前記クロック切り換え信号が切り換わった後から前記第１クロック信号または前記第２クロック信号と同じ信号である補正クロック信号を１パルス分出力した後、切り換わった後のクロック信号を出力し、
前記補正クロック信号が出力される直前のクロック信号の１周期が経過した時点から、前記補正クロック信号が出力された直後のクロック信号が出力される時点までの期間に相当する期間を補正期間とし、
前記セレクタ（６０〜８０）は、前記第１クロック信号が前記加算器（９０）に入力されるときには前記第１クロック信号の周期に対応する第１クロック用インクリメント値を示す信号を前記加算器（９０）に入力し、前記第２クロック信号が前記加算器（９０）に入力されるときには前記第２クロック信号の周期に対応する第２クロック用インクリメント値を示す信号を前記加算器（９０）に入力し、前記補正クロック信号が前記加算器（９０）に入力されるときには前記補正期間に対応するインクリメント値を示す信号を前記加算器（９０）に入力することを特徴とするマイクロコンピュータ。
【請求項２】
前記補正クロック信号が出力される直前のクロック信号が前記第１クロック信号であり、前記補正クロック信号が出力された直後のクロック信号が前記第２補正クロック信号であるときの補正期間に対応するインクリメント値を第１補正クロック用インクリメント値とすると共に、前記補正クロック信号が出力される直前のクロック信号が前記第２クロック信号であり、前記補正クロック信号が出力された直後のクロック信号が前記第１補正クロック信号であるときの補正期間に対応するインクリメント値を第２補正クロック用インクリメント値とし、
前記セレクタは、第１〜第３セレクタ（６０〜８０）を有し、
前記第１セレクタ（６０）は、前記第１クロック信号および前記クロック切り換え信号に基づいて、前記第１クロック用インクリメント値を示す信号および前記第１補正クロック用インクリメント値を示す信号のいずれか一方を前記第３セレクタ（８０）に出力し、
前記第２セレクタ（７０）は、前記第２クロック信号および前記クロック切り換え信号に基づいて、前記第２クロック用インクリメント値を示す信号および前記第１補正クロック用インクリメント値を示す信号のいずれか一方を前記第３セレクタ（８０）に出力し、
前記第３セレクタ（８０）は、前記第２クロック信号および前記クロック切り換え信号に基づいて、前記第１セレクタ（６０）および前記第２セレクタ（７０）から入力される信号のいずれか一方を前記加算器（９０）に入力することを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項３】
前記補正クロック信号が出力される直前のクロック信号が前記第１クロック信号であり、前記補正クロック信号が出力された直後のクロック信号が前記第２補正クロック信号であるときの補正期間に対応するインクリメント値を第１補正クロック用インクリメント値とすると共に、前記補正クロック信号が出力される直前のクロック信号が前記第２クロック信号であり、前記補正クロック信号が出力された直後のクロック信号が前記第１補正クロック信号であるときの補正期間に対応するインクリメント値を第２補正クロック用インクリメント値とし、
前記セレクタ（６０〜８０）は、第１〜第３セレクタ（６０〜８０）を有し、
前記第１セレクタ（６０）は、前記第１クロック信号および前記クロック切り換え信号に基づいて、前記第１クロック用インクリメント値を示す信号および前記第２補正クロック用インクリメント値を示す信号のいずれか一方を前記第３セレクタ（８０）に出力し、
前記第２セレクタ（７０）は、前記第２クロック信号および前記クロック切り換え信号に基づいて、前記第２クロック用インクリメント値を示す信号および前記第１補正クロック用インクリメント値を示す信号のいずれか一方を前記第３セレクタ（８０）に出力し、
前記第３セレクタ（８０）は、前記クロックセレクタ（１０）から出力される信号および前記クロック切り換え信号に基づいて、前記第１セレクタ（６０）および前記第２セレクタ（７０）から入力される信号のいずれか一方を前記加算器（９０）に入力することを特徴とする請求項１に記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１クロック信号および当該第１クロック信号より周期の長い第２クロック信号をカウントする加算器を備えたマイクロコンピュータに関するものである。
【背景技術】
【０００２】
従来より、クロック信号をカウントする加算器を備えたマイクロコンピュータが知られている（例えば、特許文献１参照）。このようなマイクロコンピュータでは、クロック信号が加算器に入力されると、例えば、クロック信号の立ち上がりに同期して所定のインクリメント値を加算することにより、時間計測を行っている。
【０００３】
また、このようなマイクロコンピュータとして、第１クロック信号をカウントする通常状態と、当該第１クロック信号より周期の長い第２クロック信号をカウントすることにより、通常状態より消費電力を低減することができるスリープ状態とを定期的に繰り返して時間計測を行うものがある。
【０００４】
具体的には、マイクロコンピュータは、例えば、第１クロック信号をカウントする第１カウンタと、第２クロック信号をカウントする第２カウンタと、高速クロック信号を発振する発振器および低速クロック信号を発振する発振器と接続され、第１カウンタおよび第２カウンタの値に基づいて時間計測を行うプロセッサとを備えた構成とされている。そして、このようなマイクロコンピュータでは、通常状態のときには高速クロック信号を第１カウンタにてカウントすると共にプロセッサが第１カウンタの値に基づいて経過時間を演算し、スリープ状態のときには低速クロック信号を第２カウンタにてカウントすると共にプロセッサが第２カウンタの値に基づいて経過時間を演算することにより、時間計測を行っている。また、例えば、通常状態からスリープ状態に切り換わるときには、プロセッサは切り換わる直前に低速クロック信号を発振させる発振器を作動させて、高速クロック信号を第１カウンタに入力しつつ、低速クロック信号を第２カウンタに入力し、通常状態からスリープ状態に切り換わった後、高速クロック信号を発振させる発振器を停止している。
【０００５】
上記技術は、例えば、バッテリによって駆動する電子機器で、長期間にわたり定期的、あるいは不定期的に所定の処理を繰り返す場合に低消費電力、かつ正確な時間管理を実現するために用いられる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１８６８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、このようなマイクロコンピュータでは、次のような問題がある。図１５は、このような従来のマイクロコンピュータのタイミングチャートである。
【０００８】
図１５に示されるように、このようなマイクロコンピュータでは、通常状態からスリープ状態に切り換わるとき、切り換わる直前の高速クロック信号が第１カウンタでカウントされた後、当該高速クロック信号の１周期が経過する前に、低速クロック信号が第２カウンタでカウントされることがあり、第１カウンタと第２カウンタとで重複した期間をカウントすることがある。この場合、実際の経過時間と演算した経過時間との間に誤差が生じてしまうという問題がある。また、このような問題は、マイクロコンピュータを通常状態からスリープ状態に切り換えたときのみでなく、スリープ状態から通常状態に切り換えたときにも同様に発生する問題となる。
【０００９】
本発明は上記点に鑑みて、第１クロック信号と当該第１クロック信号より周期の長い第２クロック信号とをカウントすることにより時間計測を行うマイクロコンピュータにおいて、時間計測に誤差が生じることを抑制することができるマイクロコンピュータを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、請求項１に記載の発明では、第１クロック信号および第１クロック信号より周期の長い第２クロック信号と、クロック切り換え信号とが入力され、クロック切り換え信号に基づいて第１クロック信号および第２クロック信号を選択して出力するクロックセレクタ（１０）と、所定のインクリメント値を示す信号を出力するセレクタ（６０〜８０）と、クロックセレクタ（１０）からクロック信号が入力されると共に、セレクタ（６０〜８０）から所定のインクリメント値を示す信号が入力され、クロック信号に同期して所定のインクリメント値を加算する加算器（９０）と、を有し、以下の点を特徴としている。
【００１１】
すなわち、クロックセレクタ（１０）は、クロック切り換え信号が切り換わると、クロック切り換え信号が切り換わった後から第１クロック信号または第２クロック信号と同じ信号である補正クロック信号を１パルス分出力した後、切り換わった後のクロック信号を出力し、補正クロック信号が出力される直前のクロック信号の１周期が経過した時点から、補正クロック信号が出力された直後のクロック信号が出力される時点までの期間に相当する期間を補正期間とし、セレクタ（６０〜８０）は、第１クロック信号が加算器（９０）に入力されるときには第１クロック信号の周期に対応する第１クロック用インクリメント値を示す信号を加算器（９０）に入力し、第２クロック信号が加算器（９０）に入力されるときには第２クロック信号の周期に対応する第２クロック用インクリメント値を示す信号を加算器（９０）に入力し、補正クロック信号が加算器（９０）に入力されるときには補正期間に対応するインクリメント値を示す信号を加算器（９０）に入力することを特徴としている。
【００１２】
このようなマイクロコンピュータでは、加算器（９０）は、第１クロック信号に対して第１クロック用インクリメント値を加算すると共に、第２クロック信号に対して第２クロック用インクリメント値を加算し、補正クロック信号に対して、補正クロック信号が出力される直前のクロック信号の１周期が経過した時点から、補正クロック信号が出力された直後のクロック信号が出力される時点までの期間に相当する期間に対応するインクリメント値を加算している。このため、期間を重複してカウントすることを抑制することができ、実際の経過時間との誤差が発生することを抑制することができる。
【００１３】
また、請求項２および３に記載の発明では、補正クロック信号が出力される直前のクロック信号が第１クロック信号であり、補正クロック信号が出力された直後のクロック信号が第２補正クロック信号であるときの補正期間に対応するインクリメント値を第１補正クロック用インクリメント値とすると共に、補正クロック信号が出力される直前のクロック信号が第２クロック信号であり、補正クロック信号が出力された直後のクロック信号が第１補正クロック信号であるときの補正期間に対応するインクリメント値を第２補正クロック用インクリメント値としている。
【００１４】
そして、請求項２に記載の発明のように、セレクタを第１〜第３セレクタ（６０〜８０）を有するものとし、第１セレクタ（６０）から、第１クロック信号およびクロック切り換え信号に基づいて、第１クロック用インクリメント値を示す信号および第１補正クロック用インクリメント値を示す信号のいずれか一方を第３セレクタ（８０）に出力させ、第２セレクタ（７０）から、第２クロック信号およびクロック切り換え信号に基づいて、第２クロック用インクリメント値を示す信号および第１補正クロック用インクリメント値を示す信号のいずれか一方を第３セレクタ（８０）に出力させ、第３セレクタ（８０）から、第２クロック信号およびクロック切り換え信号に基づいて、第１セレクタ（６０）および第２セレクタ（７０）から入力される信号のいずれか一方を加算器（９０）に入力させることができる。
【００１５】
また、請求項３に記載の発明のように、セレクタ（６０〜８０）を第１〜第３セレクタ（６０〜８０）を有するものとし、第１セレクタ（６０）から、第１クロック信号およびクロック切り換え信号に基づいて、第１クロック用インクリメント値を示す信号および第２補正クロック用インクリメント値を示す信号のいずれか一方を第３セレクタ（８０）に出力させ、第２セレクタ（７０）から、第２クロック信号およびクロック切り換え信号に基づいて、第２クロック用インクリメント値を示す信号および第１補正クロック用インクリメント値を示す信号のいずれか一方を第３セレクタ（８０）に出力させ、  第３セレクタ（８０）から、クロックセレクタ（１０）から出力される信号およびクロック切り換え信号に基づいて、第１セレクタ（６０）および第２セレクタ（７０）から入力される信号のいずれか一方を加算器（９０）に入力させることができる。
【００１６】
なお、この欄および特許請求の範囲で記載した各手段の括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示すものである。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１実施形態にかかるマイクロコンピュータのブロック図である。
【図２】（ａ）は図１に示すクロックセレクタの回路図であり、（ｂ）はクロックセレクタのタイミングチャートである。
【図３】（ａ）は図１に示す第１切り換え信号生成部の回路図であり、（ｂ）は（ａ）に示す第１切り換え信号生成部のタイミングチャートである。
【図４】（ａ）は図１に示す第２切り換え信号生成部の回路図であり、（ｂ）は（ａ）に示す第２切り換え信号生成部のタイミングチャートである。
【図５】（ａ）は図１に示す第３切り換え信号生成部の回路図であり、（ｂ）は（ａ）に示す第３切り換え信号生成部のタイミングチャートである。
【図６】クロック切り換え信号がハイレベルからローレベルに切り換わるときのマイクロコンピュータのタイミングチャートである。
【図７】クロック切り換え信号がローレベルからハイレベルに切り換わるときのマイクロコンピュータのタイミングチャートである。
【図８】本発明の第２実施形態にかかるマイクロコンピュータのブロック図である。
【図９】（ａ）は図８に示すクロックセレクタの回路図であり、（ｂ）はクロックセレクタのタイミングチャートである。
【図１０】（ａ）は図８に示す第１切り換え信号生成部の回路図であり、（ｂ）は（ａ）に示す第１切り換え信号生成部のタイミングチャートである。
【図１１】（ａ）は図８に示す第２切り換え信号生成部の回路図であり、（ｂ）は（ａ）に示す第２切り換え信号生成部のタイミングチャートである。
【図１２】（ａ）は図８に示す第３切り換え信号生成部の回路図であり、（ｂ）は（ａ）に示す第３切り換え信号生成部のタイミングチャートである。
【図１３】クロック切り換え信号がハイレベルからローレベルに切り換わるときのマイクロコンピュータのタイミングチャートである。
【図１４】クロック切り換え信号がローレベルからハイレベルに切り換わるときのマイクロコンピュータのタイミングチャートである。
【図１５】従来のマイクロコンピュータのタイミングチャートである。
【発明を実施するための形態】
【００１８】
（第１実施形態）
本発明の第１実施形態について説明する。図１は、本実施形態にかかるマイクロコンピュータのブロック図であり、この図に基づいて説明する。なお、本実施形態のマイクロコンピュータは、第１クロック信号と、当該第１クロック信号より周期の長い第２クロック信号をカウントすることにより時間計測を行うものであり、例えば、スマートエントリ（登録商標）システムを備えた車両に搭載され、ＥＣＵ等に供給されるクロック信号と同じクロック信号をカウントすることにより時間計測を行うものとして利用されると好適である。すなわち、このような車両では、例えば、駐車中であってもユーザが車両に接近したことを無線検知し、ドアロック解除等の制御を行う必要があるが、常時ユーザからの信号を監視する期間とすると消費電力が増加する。このため、マイクロコンピュータにより時間計測を行って、定期的に監視期間を間欠作動させることにより、言い換えると、マイクロコンピュータと同様に通常状態とスリープ状態とを交互に行うことにより、消費電力の低減を図ることができるためである。
【００１９】
図１に示されるように、本実施形態のマイクロコンピュータは、クロックセレクタ１０、第１〜第３切り換え信号生成部３０〜５０、第１〜第３セレクタ６０〜８０および加算器９０を備えた構成とされている。
【００２０】
クロックセレクタ１０は、外部に設けられた発振回路で生成された高速クロック信号および当該高速クロック信号より周期が長い低速クロック信号が入力されると共に、ローレベルまたはハイレベルのクロック切り換え信号が入力され、クロック切り換え信号に基づいて、高速クロック信号および低速クロック信号のうちいずれか一方を出力するものである。なお、本実施形態では、高速クロック信号が本発明の第１クロック信号に相当し、低速クロック信号が本発明の第２クロック信号に相当している。また、本実施形態では、高速クロック信号は周期が１ｍｓとされており、低速クロック信号は周期が５ｍｓとされている。
【００２１】
クロックセレクタ１０は、通常、クロック切り換え信号がハイレベルのときには高速クロック信号を選択して出力すると共に、クロック切り換え信号がローレベルのときには低速クロック信号を選択して出力する。そして、クロック切り換え信号が切り換わると、クロック切り換え信号が切り換わった後から高速クロック信号または低速クロック信号と同じ信号である補正クロック信号を１パルス分出力した後、切り換わった後のクロック信号を出力する。以下に、本実施形態のクロックセレクタ１０について説明する。また、以下では、補正クロック信号が出力される直前のクロック信号の１周期が経過した時点から、補正クロック信号が出力された直後のクロック信号が出力される時点までの期間に相当する期間を補正期間として説明する。
【００２２】
図２（ａ）は本実施形態にかかるクロックセレクタ１０の回路図であり、図２（ｂ）はクロックセレクタ１０のタイミングチャートである。
【００２３】
図２（ａ）に示されるように、クロックセレクタ１０は、高速クロック信号の立ち上がりで作動するフリップフロップ１１、高速クロック信号の立ち下がりで作動するフリップフロップ１２、低速クロック信号の立ち上がりで作動するフリップフロップ１３、低速クロック信号の立ち下がりで作動するフリップフロップ１４と、四個のＡＮＤゲート１５〜１８、ＮＯＴゲート１９およびＯＲゲート２０を備えた構成とされている。以下では、フリップフロップのことを単にＦＦと記載して説明する。
【００２４】
ＦＦ１２のＱＮ出力端子はＡＮＤゲート１７の一方の入力端子に備えられており、ＦＦ１４のＱＮ出力端子はＡＮＤゲート１５の一方の入力端子に備えられている。また、ＡＮＤゲート１６は、ＦＦ１２のＱ出力端子が一方の入力端子に備えられ、高速クロック信号が他方の入力端子から入力されるようになっており、ＡＮＤゲート１８は、ＦＦ１４からのＱ出力端子が一方の入力端子に備えられ、低速クロック信号が他方の入力端子に入力にされるようなっている。そして、ＯＲゲート２０は、ＡＮＤゲート１６の出力端子が一方の入力端子に備えられていると共に、ＡＮＤゲート１８の出力端子が他方の入力端子に備えられている。
【００２５】
このようなクロックセレクタ１０は、図２（ｂ）に示されるように、クロック切り換え信号がハイレベルであるときには、高速クロック信号を選択して出力する。そして、時点Ｔ１にてクロック切り換え信号がハイレベルからローレベルに切り換わると、ＦＦ１１およびＦＦ１２が作動してＦＦ１２のＱＮ出力がハイレベルになった後であって、かつＦＦ１３およびＦＦ１４が作動してＦＦ１４からＡＮＤゲート１８にハイレベルの信号が入力されるようになった後、低速クロック信号を出力する。
【００２６】
すなわち、クロックセレクタ１０は、時点Ｔ１にてクロック切り換え信号がハイレベルからローレベルに切り換わると、クロック切り換え信号が切り換わった後から高速クロック信号である補正クロック信号を１パルス分出力すると共に、補正クロック信号の立ち上がり時点Ｔ２から低速クロック信号の１周期より長い時間が経過した時点Ｔ６から低速クロック信号を出力する。また、クロック切り換え信号がローレベルからハイレベルに切り換わるときには、クロック切り換え信号がハイレベルからローレベルに切り換わるときと反対に、低速クロック信号である補正クロック信号を１パルス分出力すると共に、補正クロック信号の立ち上がり時点から高速クロック信号の１周期より長い時間が経過した後、高速クロック信号を出力する。
【００２７】
次に、このようなクロックセレクタ１０を用いた場合の補正期間について説明する。クロック切り換え信号がハイレベルからローレベルに切り換わったときの補正期間は、補正クロック信号が出力される直前のクロック信号の１周期が経過した時点Ｔ２から、補正クロック信号が出力された直後のクロック信号が出力される時点Ｔ６までの期間に相当する期間である。すなわち、時点Ｔ２から時点Ｔ３までの補正クロック信号である高速クロック信号の半周期分の期間と、時点Ｔ３からＴ４までの期間と、時点Ｔ４から時点Ｔ６までの低速クロック信号の１周期分の期間との和となる。また、時点Ｔ３から時点Ｔ４までの期間は、クロック切り換え信号が何度も切り換わるものとすると、平均して低速クロック信号の半周期分の期間とすることができる。したがって、クロック切り換え信号がハイレベルからローレベルに切り換わったときの補正期間は、０．５×（高速クロック信号の周期）＋１．５×（低速クロック信号の周期）で示すことができる。
【００２８】
同様に、クロック切り換え信号がローレベルからハイレベルに切り換わったときには、補正クロック信号である低速クロック信号の半周期分の期間と、平均すると高速クロック信号の半周期分となる期間と、高速クロック信号の１周期分の期間との和となる。したがって、クロック切り換え信号がローレベルからハイレベルに切り換わったときの補正期間は、０．５×（低速クロック信号の周期）＋１．５×（高速クロック信号の周期）で示される。
【００２９】
また、図１に示されるように、第１切り換え信号生成部３０は第１セレクタ６０に第１切り換え信号を入力するものであり、第２切り換え信号生成部４０は第２セレクタ７０に第２切り換え信号を入力するものであり、第３切り換え信号生成部５０は第３セレクタ８０に第３切り換え信号を入力するものである。図３（ａ）〜図５（ａ）は図１に示す第１〜第３切り換え信号生成部３０〜５０の回路図であり、図３（ｂ）〜図５（ｂ）は図３（ａ）〜図５（ａ）に示す第１〜第３切り換え信号生成部３０〜５０のタイミングチャートである。
【００３０】
第１切り換え信号生成部３０は、図３（ａ）に示されるように、高速クロック信号の立ち上がりで作動するＦＦ３１、高速クロック信号の立ち下がりで作動するＦＦ３２、ＮＯＴゲート３３およびＡＮＤゲート３４を備えた構成とされている。具体的には、ＡＮＤゲート３４の一方の入力端子にＮＯＴゲート３３の出力端子が備えられ、ＡＮＤゲート３４の他方の入力端子にＦＦ３２のＱ出力端子が備えられている。そして、クロック切り換え信号がＮＯＴゲート３３を介してＡＮＤゲート３４の一方の入力端子に入力されると共に、クロック切り換え信号がＦＦ３１、３２を介してＡＮＤゲート３３の他方の入力端子に入力されるようになっている。このような第１切り換え信号生成部３０は、高速クロック信号およびクロック切り換え信号に基づいて、ハイレベル、またはローレベルの第１切り換え信号を出力する。以下に、第１切り換え信号生成部３０の作動について簡単に説明する。
【００３１】
図３（ｂ）に示されるように、ＦＦ３２のＱ出力端子は、クロック切り換え信号がハイレベルからローレベルに切り換わる時点Ｔ１以前では、クロック切り換え信号がハイレベルであるためハイレベルの信号を出力する。そして、時点Ｔ１にて、クロック切り換え信号がハイレベルからローレベルに切り換わると、時点Ｔ１後に高速クロック信号が立ち上がった後に立ち下がる時点Ｔ３までハイレベルの信号を出力し、時点Ｔ３以後にローレベルの信号を出力する。
【００３２】
したがって、第１切り換え信号生成部３０は、時点Ｔ１以前のクロック切り換え信号がハイレベルのときは、ローレベルの第１切り換え信号を出力する。そして、時点Ｔ１にてクロック切り換え信号がハイレベルからローレベルに切り換わった後から時点Ｔ３のＦＦ３２のＱ出力端子からローベルの信号が出力されるまで、ハイレベルの第１切り換え信号を出力し、時点Ｔ３以後では再びローレベルの第１切り換え信号を出力する。言い換えると、第１切り換え信号生成部３０は、時点Ｔ１から時点Ｔ３の期間以外では、ローレベルの信号を出力する。
【００３３】
第２切り換え信号生成部４０は、図４（ａ）に示されるように、低速クロック信号の立ち上がりで作動するＦＦ４１、低速クロック信号の立ち下がりで作動するＦＦ４２、ＮＯＴゲート４３およびＡＮＤゲート４４を備えた構成とされている。具体的には、ＡＮＤゲート４４の一方の入力端子にクロック切り換え信号が入力され、ＡＮＤゲート４４の他方の入力端子にＦＦ４２のＱ出力端子がＮＯＴゲート４３を介して備えられている。そして、クロック切り換え信号がＡＮＤゲート４４の一方の入力端子に入力されると共に、クロック切り換え信号がＦＦ４１、４２およびＮＯＴゲート４３を介してＡＮＤゲート４４の他方の入力端子に入力されるようになっている。このような第２切り換え信号生成部４０は、低速クロック信号およびクロック切り換え信号に基づいて、ハイレベル、またはローレベルの第２切り換え信号を出力する。以下に、２切り換え信号生成部４０の作動について簡単に説明する。
【００３４】
図４（ｂ）に示されるように、ＦＦ４２のＱ出力端子は、クロック切り換え信号がローレベルからハイレベルに切り換わる時点Ｔ１１以前では、クロック切り換え信号がローレベルであるためローレベルの信号を出力する。そして、時点Ｔ１１にて、クロック切り換え信号がローレベルからハイレベルに切り換わると、時点Ｔ１１後に低速クロック信号が立ち上がった後に立ち下がる時点Ｔ１３までローレベルの信号を出力し、時点Ｔ１３以後にハイレベルの信号を出力する。
【００３５】
したがって、第２切り換え信号生成部４０は、時点Ｔ１１以前のクロック切り換え信号がローレベルのときは、ローレベルの第１切り換え信号を出力する。そして、時点Ｔ１１にてクロック切り換え信号がローレベルからハイレベルに切り換わった後から時点Ｔ１３のＦＦ４２のＱ出力端子からハイベルの信号が出力されるまで、ハイレベルの第２切り換え信号を出力し、時点Ｔ１３以後では再びローレベルの第２切り換え信号を出力する。言い換えると、第２切り換え信号生成部４０は、時点Ｔ１１から時点Ｔ１３の期間以外では、ローレベルの信号を出力する。
【００３６】
第３切り換え信号生成部５０は、図５（ａ）に示されるように、低速クロック信号の立ち上がりで作動するＦＦ５１と、低速クロック信号の立ち下がりで作動するＦＦ５２とを備えた構成されており、低速クロック信号とクロック切り換え信号に基づいて、ハイレベル、またはローレベルの第３切り換え信号を出力する。以下に、第３切り換え信号生成部５０の作動について簡単に説明する。
【００３７】
図５（ｂ）に示されるように、第３切り換え信号生成部５０は、クロック切り換え信号がハイレベルからローレベルに切り換わる時点Ｔ１以前では、クロック切り換え信号がハイレベルであるためハイレベルの第３切り換え信号を出力する。そして、時点Ｔ１にて、クロック切り換え信号がハイレベルからローレベルに切り換わると、時点Ｔ１後に低速クロック信号が立ち上がった後に立ち下がる時点Ｔ５までハイレベルの第３切り換え信号を出力し、時点Ｔ５以後にローレベルの第３切り換え信号を出力する。また、時点Ｔ５からクロック切り換え信号がローレベルからハイレベルに切り換わる時点Ｔ１１の期間では、クロック切り換え信号がローレベルであるためローレベルの第３切り換え信号を出力する。そして、時点Ｔ１１にて、クロック切り換え信号がローレベルからハイレベルに切り換わると、時点Ｔ１１後に低速クロック信号が立ち上がった後に立ち下がる時点Ｔ１４までローレベルの第３切り換え信号を出力し、時点Ｔ１４以後にハイレベルの第３切り換え信号を出力する。
【００３８】
また、図１に示されるように、第１〜第３セレクタ６０〜８０は、インクリメント値を示す信号が複数入力され、第１〜第３切り換え信号３０〜５０から入力される切り換え信号に基づいていずれか１つのインクリメント値を示す信号を選択して出力するものである。
【００３９】
第１セレクタ６０は、高速クロック信号の周期に対応する高速クロック用インクリメント値を示す信号およびクロック切り換え信号がハイレベルからローレベルに切り換わった後の補正期間に対応する第１補正クロック用インクリメント値を示す信号と、第１切り換え信号生成部３０から第１切り換え信号が入力される。そして、第１切り換え信号がローレベルのときに高速クロック用インクリメント値を示す信号を出力し、第１切り換え信号がハイレベルのときに第１補正クロック用インクリメント値を示す信号を出力する。なお、クロック切り換え信号がハイレベルからローレベルに切り換わった後の補正期間とは、上記のように、補正クロック信号が出力される直前のクロック信号が高速クロック信号であり、補正クロック信号が出力された直後のクロック信号が低速クロック信号であるときの補正期間である。
【００４０】
第２セレクタ７０は、低速クロック信号の周期に対応する低速クロック用インクリメント値を示す信号およびクロック切り換え信号がローレベルからハイレベルに切り換わったときの補正期間に対応する第２補正クロック用インクリメント値を示す信号と、第１切り換え信号生成部４０から第２切り換え信号が入力される。そして、第２切り換え信号がローレベルのときに低速クロック用インクリメント値を示す信号を出力し、第２切り換え信号がハイレベルのとき第２補正クロック用インクリメント値を示す信号を出力する。なお、クロック切り換え信号がローレベルからハイレベルに切り換わった後の補正期間とは、上記のように、補正クロック信号が出力される直前のクロック信号が低速クロック信号であり、補正クロック信号が出力された直後のクロック信号が高速クロック信号であるときの補正期間である。
【００４１】
また、本実施形態では、上記インクリメント値は期間（周期）に対応するものとされており、１ｍｓに対しして１とされている。すなわち、高速クロック用インクリメント値は１、低速クロック用インクリメント値は５とされている。また、上記のように、クロック切り換え信号がハイレベルからローレベルに切り換わったときの補正期間は、０．５×（高速クロック信号の周期）＋１．５×（低速クロック信号の周期）で示されるため、この期間は８ｍｓとなる。したがって、第１補正クロック用インクリメント値は８とされている。同様に、クロック切り換え信号がローレベルからハイレベルに切り換わったときの補正期間は、０．５×（低速クロック信号の周期）＋１．５×（高速クロック信号の周期）で示されるため、この期間は４ｍｓとなる。したがって、第２補正クロック用インクリメント値は４とされている。
【００４２】
また、第３セレクタ８０は、第１セレクタ６０からの出力および第２セレクタ７０からの出力と、第３切り換え信号生成部５０から第３切り換え信号が入力され、第３切り換え信号がハイレベルのときに第１セレクタ６０からの入力を出力し、第３切り換え信号がローレベルのとき第２セレクタ７０からの入力を出力する。すなわち、高速クロック用インクリメント値、低速クロック用インクリメント値、第１補正クロック用インクリメント値、第２補正クロック用インクリメント値を示す信号のいずれか一つの信号を出力する。
【００４３】
加算器９０は、レジスタ９１と接続されると共に、クロックセレクタ１０から出力されるクロック信号と、第３セレクタ８０から出力されるインクリメント値を示す信号が入力される。そして、クロック信号の立ち上がりに同期して、レジスタ９１に記憶されているカウント値に、高速クロック用インクリメント値、低速クロック用インクリメント値、第１補正クロック用インクリメント値、第２補正クロック用インクリメント値のいずれかの値を加算し、加算した値をレジスタに記憶させる。
【００４４】
レジスタ９１は、加算器９０にて加算されたカウント値を記憶しておくものであり、本実施形態では、ＬＳＢ（least significant bit）が１ｍｓとされている。また、レジスタ９１は、図示しないＡＬＵやプロセッサ等の外部機器とバスを介して接続されており、外部機器とデータの送受信が可能となっている。
【００４５】
次に、本実施形態の作動について説明する。まず、クロック切り換え信号がハイレベルからローレベルに切り換わるとき、言い換えるとマイクロコンピュータが通常状態からスリープ状態に切り換わるときの作動について説明する。図６は、クロック切り換え信号がハイレベルからローレベルに切り換わるときのマイクロコンピュータのタイミングチャートである。なお、本実施形態では、定期的にクロック切り換え信号が切り換わるものとして説明する。
【００４６】
図６に示されるように、クロック切り換え信号がハイレベルである時点Ｔ１以前では、クロックセレクタ１０は、高速クロック信号を加算器９０に入力する。第１セレクタ６０は、第１切り換え信号生成部３０からローレベルの第１切り換え信号が入力されるため、高速クロック用インクリメント値を示す信号を第３セレクタ８０に入力する。また、第３セレクタ８０は、第３切り換え信号生成部５０からハイレベルの第３切り換え信号が入力されるため、第１セレクタ６０からの入力である高速クロック用インクリメント値を示す信号を加算器９０に入力する。
【００４７】
以上より、時点Ｔ１以前では、加算器９０は、クロックセレクタ１０から高速クロック信号が入力されると共に、第３セレクタ８０から高速クロック用インクリメント値を示す信号が入力されるため、高速クロック信号の立ち上がりに同期してレジスタ９１に記憶されているカウント値に対して高速クロック用インクリメント値を加算する。
【００４８】
次に、時点Ｔ１にてクロック切り換え信号がハイレベルからローレベルに切り換わると、クロックセレクタ１０は、クロック切り換え信号が切り換わった後から高速クロック信号である補正クロック信号を１パルス分加算器９０に入力した後、時点Ｔ６から低速クロック信号を加算器９０に入力する。第１セレクタ６０は、時点Ｔ１から補正クロック信号が立ち下がる時点Ｔ３の期間では第１切り換え信号生成部３０からハイレベルの第１切り換え信号が入力されるため、時点Ｔ１から時点Ｔ３の期間では、第１補正クロック用インクリメント値を示す信号を第３セレクタ８０に入力する。また、第３セレクタ８０は、時点Ｔ１以前から時点Ｔ５までは第３切り換え信号生成部５０からハイレベルの第３切り換え信号が入力されるため、時点Ｔ１から時点Ｔ３の期間では、第１セレクタ６０からの入力である第１補正クロック用インクリメント値を示す信号を加算器９０に入力する。
【００４９】
以上より、時点Ｔ１から時点Ｔ３の期間は、加算器９０は、クロックセレクタ１０から高速クロック信号である補正クロック信号が入力されると共に、第３セレクタ８０から第１補正クロック用インクリメント値を示す信号が入力されるため、補正クロック信号の立ち上がりに同期してレジスタ９１に記憶されているカウント値に対して第１補正クロック用インクリメント値を加算する。
【００５０】
そして、時点Ｔ５以降では、第３セレクタ８０は、第３切り換え信号生成部５０からローレベルの第３切り換え信号が入力されるため、第２セレクタ７０から入力される信号を加算器９０に入力する。第２セレクタ７０は、上記のように、時点Ｔ１１から時点Ｔ１３の期間以外では第２切り換え信号生成部４０からローレベルの第２切り換え信号が入力されるため、低速クロック用インクリメント値を示す信号を第３セレクタ８０に入力する。
【００５１】
したがって、加算器９０は、時点Ｔ５以降では第３セレクタ８０から低速クロック用インクリメント値を示す信号が入力され、時点Ｔ６以降からクロックセレクタ１０から低速クロック信号が入力されるため、低速クロック信号の立ち上がりに同期してレジスタ９１に記憶されているカウント値に対して低速クロック用インクリメント値を加算する。
【００５２】
続いて、クロック切り換え信号がローレベルからハイレベルに切り換わるとき、言い換えるとマイクロコンピュータがスリープ状態から通常状態に切り換わるときの作動について説明する。図７はクロック切り換え信号がローレベルからハイレベルに切り換わるときのマイクロコンピュータのタイミングチャートである。
【００５３】
図７に示されるように、クロック切り換え信号がローレベルである時点Ｔ１１以前では、クロックセレクタ１０は、低速クロック信号を加算器９０に入力する。第２セレクタ７０は、第２切り換え信号生成部４０からローレベルの第２切り換え信号が入力されるため、低速クロック用インクリメント値を示す信号を第３セレクタ８０に入力する。また、第３セレクタ８０は、第３切り換え信号生成部５０からローレベルの第３切り換え信号が入力されるため、第２セレクタ７０からの入力である低速クロック用インクリメント値を示す信号を加算器９０に入力する。
【００５４】
以上より、時点Ｔ１１以前では、加算器９０は、クロックセレクタ１０から低速クロック信号が入力されると共に、第３セレクタ８０から低速クロック用インクリメント値を示す信号が入力されるため、低速クロック信号の立ち上がりに同期してレジスタ９１に記憶されているカウント値に対して低速クロック用インクリメント値を加算する。
【００５５】
次に、時点Ｔ１１にて、クロック切り換え信号がローレベルからハイレベルに切り換わると、クロックセレクタ１０は、クロック切り換え信号が切り換わった後から低速クロック信号である補正クロック信号を１パルス分加算器９０に入力した後、時点Ｔ１４から高速クロック信号を加算器９０に入力する。第２セレクタ７０は、時点Ｔ１１から補正クロック信号が立ち下がる時点Ｔ１３まで第２切り換え信号生成部４０からハイレベルの第２切り換え信号が入力されるため、時点Ｔ１１から時点Ｔ１３の期間では、第２補正クロック用インクリメント値を示す信号を第３セレクタ８０に入力する。また、第３セレクタ８０は、時点Ｔ１１以前から時点Ｔ１３までは第３切り換え信号生成部５０からローレベルの第３切り換え信号が入力されるため、時点Ｔ１１から時点Ｔ１３の期間では、第２セレクタ７０からの入力である第２補正クロック用インクリメント値を示す信号を加算器９０に入力する。
【００５６】
以上より、時点Ｔ１１から時点Ｔ１３の期間は、加算器９０は、クロックセレクタ１０から低速クロック信号である補正クロック信号が入力されると共に、第３セレクタ８０から第２補正クロック用インクリメント値を示す信号が入力されるため、補正クロック信号の立ち上がりに同期してレジスタ９１に記憶されているカウント値に対して第２補正クロック用インクリメント値を加算する。
【００５７】
そして、時点Ｔ１３以降では、第３セレクタ８０は、第３切り換え信号生成部５０からハイレベルの第３切り換え信号が入力されるため、第１セレクタ６０から入力される信号を加算器９０に入力する。第１セレクタ６０は、上記のように、時点Ｔ１から時点Ｔ３の期間以外では、第１切り換え信号生成部３０からローレベルの第１切り換え信号が入力されるため、高速クロック用インクリメント値を示す信号を第３セレクタ８０に入力する。
【００５８】
したがって、加算器９０は、時点Ｔ１３以降では第３セレクタ８０から高速クロック用インクリメント値を示す信号が入力され、時点Ｔ１４以降からクロックセレクタ１０から高速クロック信号が入力されるため、高速クロック信号の立ち上がりに同期してレジスタ９１に記憶されているカウント値に対して高速クロック用インクリメント値を加算する。
【００５９】
以上説明したように、本実施形態のマイクロコンピュータでは、クロック切り換え信号が切り換わると、すなわち通常状態とスリープ状態とが切り換わると、加算器９０には、切り換わる前の信号と同じ信号である補正クロック信号が１パルス分加算器９０に入力された後、切り替わった後のクロック信号が加算器９０に入力される。そして、加算器９０では、高速クロック信号に対して高速クロック用インクリメント値を加算すると共に、低速クロック信号に対して低速クロック用インクリメント値を加算し、補正クロック信号に対して、補正クロック信号が出力される直前のクロック信号の１周期が経過した時点から、補正クロック信号が出力された直後のクロック信号が出力される時点までの期間に相当する期間に対応するインクリメント値を加算している。このため、期間を重複してカウントすることを抑制することができ、実際の経過時間との誤差が発生することを抑制することができる。
【００６０】
また、本実施形態のマイクロコンピュータでは、１つの加算器で高速クロック信号および低速クロック信号のカウントを連続して行っていると共に、各信号に対してそれぞれ期間（周期）に対応したインクリメント値を加算している。このため、高速クロック信号をカウントする第１カウンタ、低速クロック信号をカウントする第２カウンタ、第１カウンタおよび第２カウンタのカウント値から経過時間を演算するプロセッサを備えた従来のマイクロコンピュータ（以下、単に従来のマイクロコンピュータという）と比較して、以下の効果を得ることができる。
【００６１】
すなわち、従来のマイクロコンピュータでは、第１カウンタのＬＳＢと第２カウンタのＬＳＢとが異なっていたため、プロセッサは各カウンタに対して異なるＬＳＢ処理を行わなければならず、カウンタから経過時間を演算するのに所定の時間が必要であった。しかながら、本実施形態のマイクロコンピュータでは、各信号に対してそれぞれ期間（周期）に対応したインクリメント値を加算しているため、ＬＳＢ処理を行う必要がなく、従来のマイクロコンピュータより経過時間の演算を早く行うことができる。言い換えると、ＬＳＢ変換時のタイムラグを抑制することができる。
【００６２】
（第２実施形態）
本発明の第２実施形態について説明する。本実施形態のマイクロコンピュータは、第１実施形態に対して、クロックセレクタ１０、第１〜第３切り換え信号生成部３０〜５０の構成を変更し、第１セレクタ６０に高速クロック用インクリメント値を示す信号を入力すると共に第２補正クロック用インクリメント値を示す信号を入力し、第２セレクタ７０に低速クロック用インクリメント値を示す信号を入力すると共に第１補正クロック用インクリメント値を示す信号を入力するようにしたものであり、その他に関しては上記第１実施形態と同様であるため、ここでは説明を省略する。図８は本実施形態にかかるマイクロコンピュータのブロック図である。
【００６３】
図８に示されるように、本実施形態のマイクロコンピュータは、第１セレクタ６０に高速クロック用インクリメント値を示す信号が入力されると共に第２補正クロック用インクリメント値を示す信号が入力され、第２セレクタ７０に低速クロック用インクリメント値を示す信号が入力されると共に第１補正クロック用インクリメント値を示す信号が入力されるようにしたものである。
【００６４】
まず、本実施形態にかかるクロックセレクタ１０について説明する。図９（ａ）は本実施形態にかかるクロックセレクタ１０の回路図であり、図９（ｂ）はクロックセレクタ１０のタイミングチャートである。
【００６５】
図９（ａ）に示されるように、本実施形態のクロックセレクタ１０は、高速クロック信号の立ち下がりで作動するＦＦ１２、低速クロック信号の立ち下がりで作動するＦＦ１４と、四個のＡＮＤゲート１５〜１８、ＮＯＴゲート１９およびＯＲゲート２０を備えた構成とされている。すなわち、上記第１実施形態のクロックセレクタ１０と比較して、高速クロック信号の立ち上がりで作動するＦＦ１１と、低速クロック信号の立ち上がりで作動するＦＦ１３とを接続しない構成とされている。
【００６６】
このようなクロックセレクタ１０では、図９（ｂ）に示されるように、クロック切り換え信号がハイレベルであるときには、高速クロック信号を選択して出力する。そして、時点Ｔ２１にてクロック切り換え信号がハイレベルからローレベルに切り換わると、ＦＦ１２が作動してＦＦ１２のＱＮ出力がハイレベルになった後であって、かつＦＦ１４が作動してＦＦ１４からＡＮＤゲート１８にハイレベルの信号が入力されるようになった後、低速クロック信号を出力する。
【００６７】
すなわち、クロックセレクタ１０は、時点Ｔ２１にてクロック切り換え信号がハイレベルからローレベルに切り換わると、クロック切り換え信号が切り換わった後から低速クロック信号である補正クロック信号を１パルス分出力した後、時点Ｔ２７から低速クロック信号を出力する。また、クロック切り換え信号がローレベルからハイレベルに切り換わるときには、クロック切り換え信号がハイレベルからローレベルに切り換わるときと反対に、高速信号である補正クロック信号を１パルス分出力した後、高速クロック信号を出力する。
【００６８】
次に、このようなクロックセレクタ１０を用いた場合の補正期間について説明する。クロック切り換え信号がハイレベルからローレベルに切り換わったときの補正期間は、補正クロック信号が出力される直前のクロック信号の１周期が経過した時点Ｔ２４から、補正クロック信号が出力された直後のクロック信号が出力される時点Ｔ２７までの期間に相当する期間である。すなわち、時点Ｔ２２から時点Ｔ２３までの期間と、時点Ｔ２３から時点Ｔ２７までの低速クロック信号の１．５周期分の期間との和から、時点Ｔ２２から時点Ｔ２４までの高速クロック信号の半周期分の期間の差を演算した期間となる。また、時点Ｔ２２から時点Ｔ２３までの期間は、クロック切り換え信号が何度も切り換わるものとすると、平均して低速クロック信号の半周期分の期間とすることができる。したがって、クロック切り換え信号がハイレベルからローレベルに切り換わったときの補正期間は、１．５×（低速クロック信号の周期）−０．５×（高速クロック信号の周期）で示すことができる。
【００６９】
同様に、クロック切り換え信号がローレベルからハイレベルに切り換わったときには、時点Ｔ２２から時点Ｔ２３の期間に相当する平均すると高速クロック信号の半周期分となる期間と、時点Ｔ２３から時点Ｔ２７の期間に相当する高速クロック信号の１．５周期分の期間との和から、時点Ｔ２２から時点Ｔ２４の期間に相当する低速クロック信号の半周期分の期間の差を演算した期間とすることができる。したがって、クロック切り換え信号がローレベルからハイレベルに切り換わったときの補正期間は、１．５×（高速クロック信号の周期）−０．５×（低速クロック信号の周期）で示される。
【００７０】
次に、本実施形態の第１〜第３切り換え信号生成部３０〜５０について説明する。図１０（ａ）〜図１２（ａ）は、本実施形態における第１〜第３切り換え信号生成部３０〜５０の回路図であり、図１０（ｂ）〜図１２（ｂ）は図１０（ａ）〜図１２（ａ）に示す第１〜第３切り換え信号生成部３０〜５０のタイミングチャートである。
【００７１】
第１切り換え信号生成部３０は、図１０（ａ）に示されるように、上記第１実施形態に対して、ＦＦ３１の代わりに高速クロック信号の立ち下がりで作動するＦＦ３５を追加したものである。そして、クロック切り換え信号がＡＮＤゲート３４の一方の入力端子に入力されると共に、クロック切り換え信号がＦＦ３５、３２およびＮＯＴゲート３３を介してＡＮＤゲート３３の他方の入力端子に入力されるようになっている。以下に、この第１切り換え信号生成部３０の作動について簡単に説明する。
【００７２】
図１０（ｂ）に示されるように、ＦＦ３２のＱ出力端子は、時点Ｔ３１以前では、クロック切り換え信号がローレベルであるためローレベルの信号を出力する。そして、時点Ｔ３１にて、クロック切り換え信号がローレベルからハイレベルに切り換わると、時点Ｔ３１後に高速クロック信号が二回立ち下がる時点Ｔ３３までローレベルの信号を出力し、時点Ｔ３３以後にハイレベルの信号を出力する。
【００７３】
したがって、第１切り換え信号生成部３０は、時点Ｔ３１以前のクロック切り換え信号がローレベルのときは、ローレベルの第１切り換え信号を出力する。そして、時点Ｔ３１にてクロック切り換え信号がローレベルからハイレベルに切り換わると、時点Ｔ３１から時点Ｔ３３のＦＦ３２のＱ出力端子からハイベルの信号が出力されるまで、ハイレベルの第１切り換え信号を出力し、時点Ｔ３３以後では再びローレベルの第１切り換え信号を出力する。言い換えると、本実施形態の第１切り換え信号生成部３０は、時点Ｔ３１から時点Ｔ３３の期間以外では、ローレベルの信号を出力する。
【００７４】
第２切り換え信号生成部４０は、図１１（ａ）に示されるように、上記第１実施形態に対して、ＦＦ４１の代わりに低速クロック信号の立ち下がりで作動するＦＦ４５を追加したものである。そして、クロック切り換え信号がＮＯＴゲート４３を介してＡＮＤゲート４４の一方の入力端子に入力されると共に、クロック切り換え信号がＦＦ４５、４２を介してＡＮＤゲート４４の他方の入力端子に入力されるようになっている。以下に、この第２切り換え信号生成部４０の作動について簡単に説明する。
【００７５】
図１１（ｂ）に示されるように、ＦＦ４２のＱ出力端子は、時点Ｔ２１前では、クロック切り換え信号がハイレベルであるためハイレベルの信号を出力する。そして、時点Ｔ２１にて、クロック切り換え信号がハイレベルからローレベルに切り換わると、時点Ｔ２１後に低速クロック信号が二回立ち下がる時点Ｔ２６までハイレベルの信号を出力し、時点Ｔ２６以後にローレベルの信号を出力する。
【００７６】
したがって、第２切り換え信号生成部４０は、時点Ｔ２１以前のクロック切り換え信号がハイレベルのときは、ローレベルの第２切り換え信号を出力する。そして、時点Ｔ２１にてクロック切り換え信号がハイレベルからローレベルに切り換わると、時点Ｔ２１から時点Ｔ２６のＦＦ４６のＱ出力端子からローベルの信号が出力されるまで、ハイレベルの第２切り換え信号を出力し、時点Ｔ２６以後では再びローレベルの第２切り換え信号を出力する。言い換えると、本実施形態の第２切り換え信号生成部４０は、時点Ｔ２１から時点Ｔ２６の期間以外では、ローレベルの信号を出力する。
【００７７】
第３切り換え信号生成部５０は、図１２（ａ）に示されるように、上記第１実施形態に対して、ＦＦ５１、５２の代わりに、クロックセレクタ１０から入力されるクロック信号の立ち下がりで作動するＦＦ５３を備えたものである。以下に、この第３切り換え信号生成部５０の作動について簡単に説明する。
【００７８】
図１２（ｂ）に示されるように、第３切り換え生成部５０は、時点Ｔ２１以前では、クロック切り換え信号がハイレベルであるためハイレベルの第３切り換え信号を出力する。そして、時点Ｔ２１にてクロック切り換え信号がハイレベルからローレベルに切り換わると、時点Ｔ２１後にクロック信号が立ち下がる時点Ｔ２２までハイレベルの第３切り換え信号を出力し、時点Ｔ２２後にローレベルの第３切り換え信号を出力する。そして、時点Ｔ２２からクロック切り換え信号がローレベルからハイレベルに切り換わる時点Ｔ３１の期間では、クロック切り換え信号がローレベルであるためローレベルの第３切り換え信号を出力する。その後、時点Ｔ３１にてクロック切り換え信号がローレベルからハイレベルに切り換わると、時点Ｔ３１後のクロック信号が立ち下がる時点Ｔ３２までローレベルの第３切り換え信号を出力し、時点Ｔ３２以後にハイレベルの第３切り換え信号を出力する。
【００７９】
続いて、本実施形態にかかる第１〜第３セレクタ６０〜８０について説明する。
【００８０】
第１セレクタ６０は、高速クロック用インクリメント値を示す信号および第２補正クロック用インクリメント値を示す信号と、第１切り換え信号生成部３０から第１切り換え信号が入力される。そして、第１切り換え信号がローレベルのときに高速クロック用インクリメント値を示す信号を出力し、第１切り換え信号がハイレベルのときに第２補正クロック用インクリメント値を示す信号を出力する。
【００８１】
第２セレクタ７０は、低速クロック用インクリメント値を示す信号および第１補正クロック用インクリメント値を示す信号と、第２切り換え信号生成部４０から第２り換え信号が入力される。そして、第２切り換え信号がローレベルのときに低速クロック用インクリメント値を示す信号を出力し、第２切り換え信号がハイレベルのときに第２補正クロック用インクリメント値を示す信号を出力する。
【００８２】
第３セレクタ８０は、第１セレクタ６０からの出力および第２セレクタ７０からの出力と、第３切り換え信号が入力され、第３切り換え信号がハイレベルのときに第１セレクタ６０からの入力を出力し、第３切り換え信号がローレベルのときに第２セレクタ７０からの入力を出力する。
【００８３】
次に、本実施形態の作動について説明する。まず、クロック切り換え信号がハイレベルからローレベルに切り換わるとき、言い換えるとマイクロコンピュータが通常状態からスリープ状態に切り換わるときの作動について説明する。図１３はクロック切り換え信号がハイレベルからローレベルに切り換わるときのマイクロコンピュータのタイミングチャートである。
【００８４】
図１３に示されるように、クロック切り換え信号がハイレベルである時点Ｔ２１以前では、加算器９０は、クロックセレクタ１０から高速クロック信号が入力されると共に、第３セレクタ８０から高速クロック用インクリメント値を示す信号が入力されるため、高速クロック信号の立ち上がりに同期してレジスタ９１に記憶されているカウント値に対して高速クロック用インクリメント値を加算する。
【００８５】
次に、時点Ｔ２１にてクロック切り換え信号がハイレベルからローレベルに切り換わると、クロックセレクタ１０は、クロック切り換え信号が切り換わった後から低速クロック信号である補正クロック信号を１パルス分加算器９０に入力した後、時点Ｔ２７から低速クロック信号を加算器９０に入力する。
【００８６】
第２セレクタ７０は、時点Ｔ２１から補正クロック信号が立ち下がる時点Ｔ２６まで第２切り換え信号生成部４０からハイレベルの第２切り換え信号が入力されるため、時点Ｔ２１から時点Ｔ２６の期間では、第１補正クロック用インクリメント値を示す信号を第３セレクタ８０に入力する。また、第３セレクタ８０は、時点Ｔ２２以降では第３切り換え信号生成部５０からローレベルの第３切り換え信号が入力されるため、時点Ｔ２２以降では、第２セレクタ７０からの入力である第２補正クロック用インクリメント値を示す信号を加算器９０に入力する。
【００８７】
以上より、時点Ｔ２２から時点Ｔ２６の期間は、加算器９０は、クロックセレクタ１０から低速クロック信号である補正クロック信号が入力されると共に、第３セレクタ８０から第２補正クロック用インクリメント値を示す信号が入力されるため、補正クロック信号の立ち上がりに同期してレジスタ９１に記憶されているカウント値に対して第２補正クロック用インクリメント値を加算する。
【００８８】
そして、時点Ｔ２６以降では、第２セレクタ７０は、第２切り換え信号生成部４０からローレベルの信号が入力されるため、低速クロック用インクリメント値を示す信号を第３セレクタ８０に入力する。
【００８９】
このため、加算器９０は、時点Ｔ２６以降では第３セレクタ８０から低速クロック用インクリメント値を示す信号が入力され、時点Ｔ２７以降からクロックセレクタ１０から低速クロック信号が入力されるため、低速クロック信号の立ち上がりに同期してレジスタ９１に記憶されているカウント値に対して低速クロック用インクリメント値を加算する。
【００９０】
次に、クロック切り換え信号がハイレベルからローレベルに切り換わるとき、言い換えるとマイクロコンピュータがスリープ状態から通常状態に切り換わるときの作動について説明する。図１４はクロック切り換え信号がローレベルからハイレベルに切り換わるときのマイクロコンピュータのタイミングチャートである。
【００９１】
図１４に示されるように、クロック切り換え信号がローレベルである時点Ｔ３１以前では、加算器９０は、クロックセレクタ１０から低速クロック信号が入力されると共に、第３セレクタ８０から低速クロック用インクリメント値を示す信号が入力されるため、低速クロック信号の立ち上がりに同期してレジスタ９１に記憶されているカウント値に対して低速クロック用インクリメント値を加算する。
【００９２】
次に、時点Ｔ３１にて、クロック切り換え信号がローレベルからハイレベルに切り換わると、クロックセレクタ１０は、クロック切り換え信号が切り換わった後から高速クロック信号である補正クロック信号を１パルス分加算器９０に入力した後、時点Ｔ３４から高速クロック信号を加算器９０に入力する。
【００９３】
第１セレクタ６０は、第１切り換え信号生成部３０から時点Ｔ３１から補正クロック信号が立ち下がる時点Ｔ３３までハイレベルの第１切り換え信号が入力されるため、時点Ｔ３１から時点Ｔ３３の期間では、第２補正クロック用インクリメント値を示す信号を第３セレクタ８０に入力する。また、第３セレクタ８０は、時点Ｔ３２以降では第３切り換え信号生成部５０からハイレベルの第３切り換え信号が入力されるため、時点Ｔ３２以降では、第１セレクタ６０からの入力である第２補正クロック用インクリメント値を示す信号を加算器９０に入力する。
【００９４】
以上より、時点Ｔ３２から時点Ｔ３３の期間は、加算器９０は、クロックセレクタ１０から高速クロック信号である補正クロック信号が入力されると共に、第３セレクタ８０から第２補正クロック用インクリメント値を示す信号が入力されるため、補正クロック信号の立ち上がりに同期してレジスタ９１に記憶されているカウント値に対して第２補正クロック用インクリメント値を加算する。
【００９５】
そして、時点Ｔ３３以降では、第１セレクタ６０は、第１切り換え信号生成部３０からローレベルの信号が入力されるため、高速クロック用インクリメント値を示す信号を第３セレクタ８０に入力する。
【００９６】
このため、加算器９０は、時点Ｔ３３以降では第３セレクタ８０から高速クロック用インクリメント値を示す信号が入力され、時点Ｔ３４以降からクロックセレクタ１０から高速クロック信号が入力されるため、高速クロック信号の立ち上がりに同期してレジスタ９１に記憶されているカウント値に対して高速クロック用インクリメント値を加算する。
【００９７】
以上説明したように、このようなマイクロコンピュータとしても、補正クロック信号に対して、補正クロック信号が出力される直前のクロック信号の１周期が経過した時点から、補正クロック信号が出力された直後のクロック信号が出力される時点までの期間に相当する期間に対応するインクリメント値を加算しており、上記第１実施形態と同様の効果を得ることができる。
【００９８】
（他の実施形態）
上記第１実施形態では、高速クロック信号の周期が１ｍｓであり、低速クロック信号の周期が５ｍｓであるため、高速クロック用インクリメント値を１とし、低速クロック用インクリメント値を５とし、第１補正クロック用インクリメント値が８、第２補正クロック用インクリメント値が４となるため、レジスタ９１のＬＳＢを１ｍｓとして説明した。しかしながら、第１補正クロック用インクリメント値や第２補正クロック用インクリメント値が整数として表示できない場合には、レジスタ９１のＬＳＢの値を外部機器等からの制御により適宜変更することが好ましい。例えば、高速クロック信号の周期が２ｍｓであり、低速クロック信号の周期が７ｍｓであり、高速クロック用インクリメント値を２、低速クロック用インクリメント値を７とした場合には、第１補正クロック用インクリメント値が１１．５となり、第２補正クロック用インクリメント値が６．５となる。このような場合は、外部機器等を制御して、レジスタ９１のＬＳＢを、例えば、０．５ｍｓにするのが好ましい。
【００９９】
また、上記第１実施形態では、加算器９０は、クロックセレクタ１０から入力されるクロック信号の立ち上がりに同期して所定のインクリメント値を加算するものについて説明したが、例えば、クロックセレクタ１０から入力されるクロック信号の立ち下がりに同期して所定のインクリメント値を加算するものとすることもできる。この場合は、第１、第２切り換え信号生成部３０、４０を、例えば、次のように構成すればよい。
【０１００】
すなわち、上記第１切り換え信号生成部３０において、ＦＦ３１とＦＦ３２の接続順序を反対にしてＡＮＤゲート３４の他方の入力端子にＦＦ３１のＱ出力端子を備えればよい。また、第２切り換え信号生成部４０において、ＦＦ４１とＦＦ４２の接続順序を反対にしてＡＮＤゲート４４の他方の入力端子にＦＦ４１のＱ出力端子を備えればよい。
【０１０１】
同様に、上記第２実施形態においても、加算器９０をクロック信号の立ち下がりに同期して所定のインクリメント値を加算するものとすることができ、この場合も第１〜第３切り換え信号生成部３０〜５０を適宜変更すればよい。
【０１０２】
さらに、上記第１、第２実施形態で説明したクロックセレクタ１０や第１〜第３切り換え信号生成部３０〜５０についても、もちろんこれらに限定されるものではなく、ＦＦやＡＮＤゲート、ＮＯＴゲート等を適宜組み合わせることにより、変更可能である。
【０１０３】
また、上記第１、第２実施形態においては、通常状態とスリープ状態とを定期的に切り換える場合について説明したが、もちろん、外部からの信号により不定期に通常状態に切り換わるような場合についても本発明は適用可能である。
【０１０４】
そして、上記第１、第２実施形態において、例えば、通常状態からスリープ状態に切り替わった場合、すなわち、クロック切り換え信号がハイレベルからローレベルに切り替わった場合には、所定期間経過後に、クロックセレクタ１０に低速クロック信号のみが入力されるようにしてもよい。
【符号の説明】
【０１０５】
１０    クロックセレクタ
３０    第１切り換え信号生成部
４０    第２切り換え信号生成部
５０    第３切り換え信号生成部
６０    第１セレクタ
７０    第２セレクタ
８０    第３セレクタ
９０    加算器
【図１】
2011204123.tif 000003
【図２】
2011204123.tif 000004
【図３】
2011204123.tif 000005
【図４】
2011204123.tif 000006
【図５】
2011204123.tif 000007
【図６】
2011204123.tif 000008
【図７】
2011204123.tif 000009
【図８】
2011204123.tif 000010
【図９】
2011204123.tif 000011
【図１０】
2011204123.tif 000012
【図１１】
2011204123.tif 000013
【図１２】
2011204123.tif 000014
【図１３】
2011204123.tif 000015
【図１４】
2011204123.tif 000016
【図１５】
2011204123.tif 000017