(57)【要約】【課題】スタンバイモード復帰時にクロック制御がなされず、対象クロックが安定するまでの内部回路に与えられる参照クロックの精度は、対象クロックの精度よりも低いので、内部回路が安定して動作をしないという問題がある。【解決手段】水晶発振子２は、スタンバイモード復帰時において、自励発振回路３から出力されるクロックＣＬＫ１よりも安定するのに時間を要するクロックＣＬＫ２を出力する。判定回路４は、スタンバイモード復帰時において、クロックＣＬＫ１を用いて、クロックＣＬＫ２が安定したか否かを判定する。セレクタ５は、スタンバイモード復帰直後には、クロックＣＬＫ１およびクロックＣＬＫ２を供給せず、ＣＬＫ２が安定したと判定された後に、クロックＣＬＫ２をＣＰＵ６および周辺回路７に供給する。【選択図】図１
2014120102.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロック信号を出力する第１の発振回路を備え、スタンバイモード復帰時において、前記第１のクロック信号は、第２の発振回路から出力される第２のクロック信号よりも早く安定し、
スタンバイモード復帰時において、前記第１のクロック信号を用いて、前記第２のクロック信号が安定したか否かを判定する判定部と、
スタンバイモード復帰直後には、前記第１および前記第２のクロック信号を内部の回路に供給せず、前記第２のクロック信号が安定したと判定された後には、前記第２のクロック信号を前記内部の回路に供給するセレクタとを備える、マイクロコンピュータ。
【請求項２】
前記第１の発振回路は、スタンバイモード時においても前記第１のクロック信号を出力する、請求項１記載のマイクロコンピュータ。
【請求項３】
前記第２のクロック信号は、前記第１のクロック信号よりも高精度である、請求項１記載のマイクロコンピュータ。
【請求項４】
前記第２の発振回路は、前記マイクロコンピュータの外部に設けられる、請求項１記載のマイクロコンピュータ。
【請求項５】
前記第２のクロック信号が安定したと判定された後、前記第１の発振回路からの前記第１のクロック信号の出力を停止させるクロック制御部を備える、請求項４記載のマイクロコンピュータ。
【請求項６】
前記第２の発振回路は、水晶発振子である、請求項１記載のマイクロコンピュータ。
【請求項７】
前記第１の発振回路は、自励発振回路である、請求項１記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータに関し、たとえば、複数のクロックで動作するマイクロコンピュータに関する。
【背景技術】
【０００２】
従来から、２つのクロック発振器を備えた装置が知られている。
たとえば、特許文献１（特開２００８−２９９７３１号公報）の半導体集積回路は、周期的に低速クロック信号および高速クロック信号を受信する受信部と、低速クロック信号の受信間隔に基づいた所定期間において受信部により受信された高速クロック信号の数が、所定の範囲内に収まっているか判定する発振周期判定部とを備える、この半導体集積回路は、さらに肯定的な判定がなされた場合に、安定検知信号を出力する信号出力部を備える。
【０００３】
特許文献２（特開２００８−２３４０４６号公報）の半導体装置は、第１の発振回路と、第１の発振回路より長い発振安定時間を有する第２の発振回路と、第２の発振回路の発振安定時間の経過を示す安定信号を出力する信号生成回路とを備える。この半導体装置は、さらに選択信号に基づいて第１及び第２の発振回路の出力の一方を選択出力するスイッチ回路と、抑止信号に基づいて第２の発振回路の起動を抑止する抑止回路とを備える。第１及び第２の発振回路が同時に起動されてスイッチ回路により第１の発振回路の出力が選択出力された後に第２の発振回路の出力に切り替えられるモードと、第１の発振回路が起動されて抑止回路により第２の発振回路が起動されずスイッチ回路により第１の発振回路の出力のみが選択出力されるモードを有するように構成される。
【０００４】
特許文献３（特開２００５−１７３９２７号公報）の半導体装置は、外部発振子（１５）が接続された外部発振回路（１１）、自励発振回路（１２）、及び発振クロック監視回路（１３）を備える。発振クロック監視回路（１３）が、自励発振回路（１２）により生成されるクロック信号（Ｓ１１）を用いて、外部発振子（１５）の発振状態を監視し、その発振状態が安定したと判断した場合には、マイクロコンピュータの発振安定待ち時間を強制的に終了させる発振安定待ち時間終了信号（Ｓ１３）を出力する。
【０００５】
特許文献４（特開平０９−０９３０４０号公報）の発振制御回路は、外部の水晶発振子（４８）に接続されて、ＣＰＵに対するクロック信号（Ｓ１） を生成する水晶発振回路（２）と、一時的にクロック信号発生用として機能し、クロック信号（Ｓ２） を生成する自励発振回路（３）とを備える。この発振制御回路は、さらに、水晶発振回路（２）および自励発振回路（３）の発振動作の許可／停止を制御する発振制御信号（Ｓ３） を出力するリセット回路（４）を備える。この発振制御回路は、さらに、水晶発振回路（２）において生成されたクロック信号（Ｓ１） をカウントして出力するタイマ（１）と、自励発振回路（３）において生成されたクロック信号（Ｓ２）をカウントして出力するタイマ（２）とを備える。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２９９７３１号公報
【特許文献２】特開２００８−２３４０４６号公報
【特許文献３】特開２００５−１７３９２７号公報
【特許文献４】特開平０９−０９３０４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１、３および４には、スタンバイモード復帰時のクロック制御については記載されていない。
【０００８】
また、特許文献２は、対象クロックが安定するまでの期間は、参照クロックをＣＰＵ（Central Processing Unit）などの内部回路に供給する。参照クロックの精度は、対象クロックの精度よりも低いので、ＣＰＵなどの内部回路が安定して動作をしないという問題がある。
【０００９】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかであろう。
【課題を解決するための手段】
【００１０】
本発明の一実施形態のマイクロコンピュータにおいて、第１の発振回路は、第１のクロック信号を出力する。スタンバイモード復帰時において、第１のクロック信号は、第２の発振回路から出力される第２のクロック信号よりも早く安定する。判定部は、スタンバイモード復帰時において、第１のクロック信号を用いて、第２のクロック信号が安定したか否かを判定する。セレクタは、スタンバイモード復帰直後には、第１および第２のクロック信号を内部の回路に供給せず、第２のクロック信号が安定したと判定された後には、第２のクロック信号を内部の回路に供給する。
【発明の効果】
【００１１】
本発明の一実施形態によれば、スタンバイモード復帰時のクロック制御が可能であり、スタンバイモード復帰時に低精度のクロックを内部回路に供給するのを防止できる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態のマイクロコンピュータの構成を説明するための図である。
【図２】第１の実施形態における、スタンバイモード復帰時のクロックＣＬＫ１およびクロックＣＬＫ２の状態を表わす図である。
【図３】第１の実施形態におけるスタンバイモード復帰時の処理手順を表わすフローチャートである。
【図４】第２の実施形態における、スタンバイモード復帰時のクロックＣＬＫ１およびクロックＣＬＫ２の状態を表わす図である。
【図５】第２の実施形態におけるスタンバイモード復帰時の処理手順を表わすフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、図面を用いて説明する。
［第１の実施形態］
図１は、第１の実施形態のマイクロコンピュータの構成を説明するための図である。
【００１４】
図１を参照して、マイクロコンピュータ１は、セレクタ５と、自励発振回路３と、判定回路４と、システムコントローラ８と、内部回路であるＣＰＵ６および周辺回路７とを備える。
水晶発振子２は、マイクロコンピュータ１の外部に設けられ、クロックＣＬＫ１をマイクロコンピュータ１に供給する。
自励発振回路３は、リングオシレータなどで構成され、クロックＣＬＫ２を出力する。
【００１５】
クロックＣＬＫ２は、クロックＣＬＫ１よりも安定するのに時間を要する。クロックＣＬＫ２は、クロックＣＬＫ１よりも高精度である。
判定回路４は、スタンバイモード復帰時において、クロックＣＬＫ１を用いて、クロックＣＬＫ２が安定したか否かを判定する。
セレクタ５は、外部の水晶発振子２からクロックＣＬＫ２と、自励発振回路３からのクロックＣＬＫ１とを受けて、いずれかをＣＰＵ６および周辺回路７に供給する。
セレクタ５は、スタンバイモード復帰直後には、クロックＣＬＫ１およびクロックＣＬＫ２をＣＰＵ６および周辺回路７に供給しない。セレクタ５は、スタンバイモード復帰後、クロックＣＬＫ２が安定したと判定された後には、クロックＣＬＫ２をＣＰＵ６および周辺回路７に供給する。
【００１６】
システムコントローラ８は、マイクロコンピュータ１の全体を制御する。システムコントローラ８は、通常モードまたはスタンバイモードを表わすモードフラグを保持するモードレジスタ９を含む。
ＣＰＵ６は、クロックＣＬＫ２が安定したと判定された後、クロックＣＬＫ１の出力を停止させるための信号を出力するクロック制御部として機能する。
周辺回路７は、たとえば、シリアル通信を制御するシリアルインタフェース回路などである。
【００１７】
図２は、第１の実施形態における、スタンバイモード復帰時のクロックＣＬＫ１およびクロックＣＬＫ２の状態を表わす図である。
【００１８】
スタンバイモードからの復帰後、水晶発振子２および自励発振回路３が発振を開始する。スタンバイモードの復帰直後には、水晶発振子２からのクロックＣＬＫ２および自励発振回路３からのクロックＣＬＫ１は安定しないが、一定時間が経過後に、まず、クロックＣＬＫ１が安定する。
従来では、スタンバイモードからの復帰から一律に１ｍｓの時間を待ってから、ＣＰＵ６および周辺回路７にクロックＣＬＫ２を供給していた。
【００１９】
本実施の形態では、判定回路４が、発振が高速に安定するクロックＣＬＫ１を用いて、クロックＣＬＫ２が安定したか否かを判定する。
【００２０】
具体的には、判定回路４は、クロックＣＬＫ２の立ち上りエッジから次の立ち上りエッジまでの間にクロックＣＬＫ１のパルスの数をカウントし、カウント結果が一定回数（たとえば４回）連続して同一となったときに、クロックＣＬＫ２が安定したと判定する。図２の例では、クロックＣＬＫ２の立ち上り（＃０）からクロックＣＬＫ２の立ち上り（＃１）までの間のクロックＣＬＫ１のパルスの数が１９個である。クロックＣＬＫ２の立ち上り（＃１）からクロックＣＬＫ２の立ち上り（＃２）までの間のクロックＣＬＫ１のパルスの数が１６個である。
【００２１】
クロックＣＬＫ２の立ち上り（＃２）からクロックＣＬＫ２の立ち上り（＃３）までの間のクロックＣＬＫ１のパルスの数が７個である。クロックＣＬＫ２の立ち上り（＃３）からクロックＣＬＫ２の立ち上り（＃４）までの間のクロックＣＬＫ１のパルスの数が７個である。クロックＣＬＫ２の立ち上り（＃４）からクロックＣＬＫ２の立ち上り（＃５）までの間のクロックＣＬＫ１のパルスの数が７個である。クロックＣＬＫ２の立ち上り（＃５）からクロックＣＬＫ２の立ち上り（＃６）までの間のクロックＣＬＫ１のパルスの数が７個である。この時点（スタンバイモード復帰から３００μｓ後）で、カウント結果「７」が４回連続したため、クロックＣＬＫ２が安定したとみなされ、クロックＣＬＫ２がＣＰＵ６および周辺回路７に供給される。
【００２２】
図３は、第１の実施形態におけるスタンバイモード復帰時の処理手順を表わすフローチャートである。
【００２３】
まず、システムコントローラ８は、スタンバイモードからの復帰を設定する（ステップＳ１０１）。
【００２４】
次に、水晶発振子２および自励発振回路３が発振を開始する。セレクタ５は、スタンバイモード復帰直後には、クロックＣＬＫ１およびクロックＣＬＫ２のＣＰＵ６および周辺回路７への供給を停止する（ステップＳ１０２）。
【００２５】
次に、判定回路４が、クロックＣＬＫ１を用いて、クロックＣＬＫ２が安定したか否かを判定する。判定回路４が、クロックＣＬＫ２が安定したと判定した場合には（ステップＳ１０３でＹＥＳ）、セレクタ５は、ＣＰＵ６および周辺回路７にクロックＣＬＫ２を供給する（ステップＳ１０４）。
【００２６】
次に、ＣＰＵ６は、自励発振回路３によるクロックＣＬＫ１の出力を停止させるための信号を出力する（ステップＳ１０５）。
【００２７】
以上のように、本実施の形態によれば、本実施の形態では、スタンバイモードの復帰時にＣＰＵ６および周辺回路７に高精度のクロックＣＬＫ２を供給するまでの時間を従来よりも短くすることができる。
【００２８】
［第２の実施形態］
第２の実施形態では、水晶発振子２は、スタンバイモード時においても、クロックＣＬＫ１を出力する。
【００２９】
図４は、第２の実施形態における、スタンバイモード復帰時のクロックＣＬＫ１およびクロックＣＬＫ２の状態を表わす図である。
【００３０】
スタンバイモードからの復帰後、水晶発振子２が発振を開始する。自励発振回路３は、スタンバイモード時にも発振を継続している。スタンバイモードの復帰直後には、水晶発振子２からのクロックＣＬＫ２は安定しないが、一定時間が経過後に、クロックＣＬＫ２が安定する。
従来では、スタンバイモードからの復帰から一律に１ｍｓの時間を待ってから、ＣＰＵ６および周辺回路７にクロックＣＬＫ２を供給していた。
【００３１】
本実施の形態では、判定回路４が、高速に発振が安定するクロックＣＬＫ１を用いて、クロックＣＬＫ２が安定したか否かを判定する。
【００３２】
具体的には、判定回路４は、クロックＣＬＫ２の立ち上りエッジから次の立ち上りエッジまでの間にクロックＣＬＫ１のパルスの数をカウントし、カウント結果が一定回数（たとえば４回）連続して同一となったときに、クロックＣＬＫ２が安定したと判定する。クロックＣＬＫ２の立ち上り（＃０）からクロックＣＬＫ２の立ち上り（＃１）までの間にクロックＣＬＫ１のパルスの数が２２個である。クロックＣＬＫ２の立ち上り（＃１）からクロックＣＬＫ２の立ち上り（＃２）までの間にクロックＣＬＫ１のパルスの数が１６個である。
【００３３】
クロックＣＬＫ２の立ち上り（＃２）からクロックＣＬＫ２の立ち上り（＃３）までの間にクロックＣＬＫ１のパルスの数が７個である。クロックＣＬＫ２の立ち上り（＃３）からクロックＣＬＫ２の立ち上り（＃４）までの間にクロックＣＬＫ１のパルスの数が７個である。クロックＣＬＫ２の立ち上り（＃４）からクロックＣＬＫ２の立ち上り（＃５）までの間にクロックＣＬＫ１のパルスの数が７個である。クロックＣＬＫ２の立ち上り（＃５）からクロックＣＬＫ２の立ち上り（＃６）までの間にクロックＣＬＫ１のパルスの数が７個である。この時点（スタンバイモード復帰から３００μｓ後）で、カウント結果「７」が４回連続したため、クロックＣＬＫ２が安定したとみなされ、クロックＣＬＫ２がＣＰＵ６および周辺回路７に供給される。
【００３４】
図５は、第２の実施形態におけるスタンバイモード復帰時の処理手順を表わすフローチャートである。
【００３５】
まず、システムコントローラ８は、スタンバイモードからの復帰を設定する（ステップＳ２０１）。
【００３６】
次に、水晶発振子２が発振を開始する。自励発振回路３は、スタンバイモードの復帰前から発振している。セレクタ５は、スタンバイモード復帰直後には、クロックＣＬＫ１およびクロックＣＬＫ２のＣＰＵ６および周辺回路７への供給を停止する（ステップＳ２０２）。
【００３７】
次に、判定回路４が、クロックＣＬＫ１を用いて、クロックＣＬＫ２が安定したか否かを判定する。判定回路４が、クロックＣＬＫ２が安定したと判定した場合には（ステップＳ２０３でＹＥＳ）、セレクタ５は、ＣＰＵ６および周辺回路７にクロックＣＬＫ２を供給する（ステップＳ２０４）。
【００３８】
以上のように、本実施の形態では、第１の実施形態と同様に、スタンバイモードの復帰時にＣＰＵ６および周辺回路７に高精度のクロックＣＬＫ２を供給するまでの時間を従来よりも短くすることができる。
【００３９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【００４０】
１  マイクロコンピュータ、２  水晶発振子、３  自励発振回路、４  判定回路、５  セレクタ、６  ＣＰＵ、７  周辺回路、８  システムコントローラ、９  モードレジスタ。
【図１】
2014120102.tif 000003
【図２】
2014120102.tif 000004
【図３】
2014120102.tif 000005
【図４】
2014120102.tif 000006
【図５】
2014120102.tif 000007