(57)【要約】  【課題】本発明の目的は、省電力化を図った発振回路を提供することにある。  【解決手段】本発明の観点では、省電力発振回路は、第１発振回路（１１）と第２発振回路（１２）と制御回路（１５）と発振制御回路（１３）とを具備している。第１発振回路（１１）は、第１発振制御信号（ＣＬＲＬａ）に応答して発振する。第２発振回路（１２）は、第２発振制御信号（ＣＴＲＬｂ）に応答して前記第１発振回路の出力（ＣＬＫａ）に基づいて発振する。制御回路（１５）は、前記第２発振回路の出力（ＣＬＫｂ）に基づいたクロック信号により動作する。発振制御回路（１３）は、前記制御回路（１５）が出力する発振停止要求信号（ＳＴＰＱ）と周辺回路により生成される発振要求信号（ＢＵＳＹ）とに基づいて第１発振制御信号（ＣＴＲＬａ）と第２発振制御信号（ＣＴＲＬｂ）とを出力する。  【選択図】図１
2005078573.tif 000002
【特許請求の範囲】
【請求項１】
第１発振制御信号に応答して発振する第１発信回路と、
第２発振制御信号に応答して前記第１発振回路の出力に基づいて発振する第２発信回路と、
前記第２発振回路の出力に基づいて動作する制御回路と、
前記制御回路が出力する発振停止要求信号と、外部から入力される発振要求信号とに基づいて生成した前記第１発振制御信号と前記第２発振制御信号とを出力する発振制御回路と
を具備する省電力発振回路。
【請求項２】
請求項１に記載の省電力発振回路において、
前記第１発振回路は、前記第１発振回路の発振が安定するまで前記第１発振回路の出力を抑制する第１出力制御回路を備え、
前記第２発振回路は、前記第２発振回路の発振が安定するまで前記第２発振回路の出力を抑制する第２出力制御回路を備える省電力発振回路。
【請求項３】
請求項２に記載の省電力発振回路において、
前記第１出力制御回路は、前記第１発振回路の発振したパルス数を計数し、計数した結果が予め設定された数に満たないとき前記第１発振回路の出力を抑制する省電力発振回路。
【請求項４】
請求項２または請求項３に記載の省電力発振回路において、
前記第２出力制御回路は、前記第１発振回路の出力のパルス数を計数し、計数した結果が予め設定された数に満たないとき前記第２発振回路の出力を抑制する省電力発振装置。
【請求項５】
請求項１から請求項４のいずれかに記載の省電力発振回路において、
前記第１発振制御信号は、前記発振要求信号に基づいて前記第１発振回路に発振を指示し、前記発振停止要求信号と前記発振要求信号とに基づいて前記第１発振回路に発振の停止を指示し、
前記第２発振制御信号は、前記発振要求信号に基づいて前記第２発振回路に発振を指示し、前記発振停止要求信号と前記発振要求信号とに基づいて前記第２発振回路に発振の停止を指示する省電力発振回路。
【請求項６】
請求項１から請求項４のいずれかに記載の省電力発振回路において、
前記第１発振制御信号は、前記発振要求信号に基づいて前記第１発振回路に発振を指示し、前記発振停止要求信号と前記発振要求信号とに基づいて前記第１発振回路に発振の停止を指示し、
前記第２発振制御信号は、前記発振要求信号に基づいて前記第２発振回路に発振を指示し、前記発振停止要求信号に基づいて前記第２発振回路に発振の停止を指示する省電力発振回路。
【請求項７】
請求項１から請求項４のいずれかに記載の省電力発振回路において、
外部に前記第１発振回路の出力に基づいて動作する第１周辺回路と、前記第２発振回路の出力に基づいて動作する第２周辺回路とを備え、
前記発振要求信号は、前記第1周辺回路から出力される第１発振要求信号と、前記第２周辺回路から出力される第２発振要求信号とを含み、
前記第１発振制御信号は、前記第１発振要求信号と、前記第２発振要求信号とに基づいて前記第１発振回路に発振を指示し、前記発振停止要求信号と前記第１発振要求信号と前記第２発振要求信号とに基づいて前記第１発振回路に発振の停止を指示し、
前記第２発振制御信号は、前記第２発振要求信号に基づいて前記第２発振回路に発振を指示し、前記発振停止要求信号と前記第２発振要求信号とに基づいて前記第２発振回路に発振の停止を指示する省電力発振回路。
【請求項８】
請求項１から請求項７のいずれかに記載の省電力発振回路において、
前記制御回路は、通常の動作より低消費電力で動作する低消費電力モードを有するマイクロプロセッサである省電力発振回路。
【請求項９】
請求項１から請求項８のいずれかに記載の省電力発振回路を備える携帯端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発振回路に関し、特に、消費電力を減少させる発振回路に関する。
【背景技術】
【０００２】
電池など容量が限定される電源を使用する携帯用装置では、動作時間を延長させるように消費電力を極力削減する工夫がなされている。一般的にクロック信号に基づいて動作する回路は、動作速度が速くなると消費電力が増加し、動作速度が遅くなると消費電力は減少する。回路が動作していないときには、そのクロック信号の供給を停止すると消費電力をさらに削減することができる。そのため、回路の動作速度を低速にし、さらに非動作時にはクロック信号にゲートをかけてクロック信号の供給を停止することがなされている。
【０００３】
例えば、特開２０００−２９５６０号公報では、消費電力を低減するためのフリップフロップを用いて動作クロック信号を停止させる簡単な構成の回路による技術が知られていた。ＣＰＵのセット命令によりフリップフロップＦＦ１がセットされると、バッファ回路ＢＵＦ１から出力する次のクロック信号の立ち上がり時刻にフリップフロップＦＦ２がセットされる。フリップフロップＦＦ２がセットしてから次のクロック信号の立ち下がりエッジ時刻にフリップフロップＦＦ３がセットされ、アンド回路ＡＮＤ２は内部回路３に動作クロック信号を出力する。ＣＰＵ１が停止処理でフリップフロップＦＦ１をリセットしてから、次のクロック信号の立ち上がり時刻にフリップフロップＦＦ２をリセットし、このクロック信号の立ち下がりエッジ時刻にフリップフロップＦＦ３をリセットし、アンド回路ＡＮＤ２から出力している動作クロック信号を停止させる。
【０００４】
特開２００２−６９７９号公報では、性能低下を招くことなく各部に供給されるクロック信号の供給を停止して、効果的かつ簡素に低消費電力化を図るクロック制御装置を提供する技術が知られていた。ＣＰＵコア及びキャッシュ装置を含むマイクロコンピュータにおいて、キャッシュ装置でキャッシュミスが発生したとき、外部に接続されたメモリ装置にアクセスするためのプログラマブル・ウェイト・コントローラにおいて、アクセスされるアドレス領域に対応して設定されるウェイト数に応じたクロック数だけ基準クロックの動作を停止させるクロック供給停止信号を生成する。クロック供給停止信号は、第１のクロックドライバからＣＰＵコア及びキャッシュ装置に供給される基準クロックのうち少なくとも一方を停止する。このようにして低消費電力化を図る。
【０００５】
特開２００２−４１４９５号公報では、マイクロコンピュータにおける消費電力の増加を抑制する技術が知られている。マイクロコンピュータを構成するバス制御回路は、ＣＰＵが周辺回路にアクセスする場合にだけ、ＣＰＵがコアアドレスバスに出力したアドレスを周辺アドレスバスに出力する。また、クロック発生器は、ＣＰＵによる設定に応じて分周したクロック信号を周辺回路に供給するか、または、周辺回路に対する分周クロック信号の供給を停止する。このようにクロック信号の供給／停止をすることにより消費電力の増加を抑制する。
【０００６】
特開２００２−１６４８４１号公報では、消費電力を抑えることができ、しかも待ち受け後の処理時間を減らすことのできる携帯電話の制御装置及び制御方法が知られている。携帯電話の制御装置は、メインクロック発生器によって発生されたメインクロックによって動作するメインカウンタを備えている。処理装置は、待ち受け状態に入る前にメインクロック発生器からのメインクロックの発生を停止させ、メインカウンタの動作を停止させる。待ち受け状態から出る時にメインカウンタの動作が停止されなかったようにメインカウンタの内容を変更する。このようにして、消費電力を抑えることができ、しかも待ち受け後の処理時間を減らすことができる。
【０００７】
特開平８−２２１１４８号公報では、消費電力を低減するとともに、本来の動作は支障なく行うことができる情報処理装置を提供する技術が知られている。システム制御部は、ＣＰＵと周辺制御部とモデムを含み、所定のクロック信号ＣＬＫが供給されて動作する。所定の時間内にこのシステム制御部への外部からの入力がない場合に、ＣＰＵは周辺制御部を介してクロック停止信号を出力する。そして、システム制御部への外部からの入力でクロック再開信号を出力するＡＮＤゲートと、クロック停止信号に基づいてシステム制御部へ供給するクロック信号を停止する一方、クロック再開信号に基づいてシステム制御部へ供給するクロック信号の停止を解除するクロック制御部とを備えている。
【０００８】
特開平１０−１４５４４６号公報では、ＣＰＵがスリープモード状態の時、ＣＰＵに動作クロックを供給の発振回路を停止することにより消費電力を低減する携帯端末を提供する技術が知られている。ＣＰＵと動作クロックを発する発振回路を具備し、時分割方式で通信し、且つＣＰＵのスリープモード機能を有する携帯端末に適用される。発振回路を起動／停止する発振制御手段（発振停止／復帰制御回路、クロック供給制御回路）及び発振安定タイマを設けられている。携帯端末が通信中において、間欠受信状態に入りＣＰＵがスリープモードになるとき、発振制御手段で発振回路を停止してＣＰＵへの動作クロックの供給を停止する。データを受信した際、発振制御手段で発振回路を起動し、発振安定タイマで発振回路の初期の不安定期間を測定する。不安定期間を経過した後、発振制御手段でＣＰＵへ動作クロックを供給し、ＣＰＵを通常モードへ復帰させる。このようにして消費電力を低減する携帯端末を提供する。
【０００９】
特開平１１−３０５８８７号公報では、低消費電力モード移行時に周辺回路の処理が無効にならないマイクロコントローラの制御方法及びマイクロコントローラを提供する技術が知られている。マイクロコントローラは、ＣＰＵと、周辺回路と、ＰＵを駆動するＣＰＵ用クロック及び周辺回路を駆動する周辺クロックとを個別に出力可能なクロック供給制御部とを備える。マイクロコントローラの制御方法は、周辺回路が動作しているかどうかを判断する工程と、クロックを切り換える工程とを含む。判断する工程において周辺回路が動作していないと判断された場合には、ＣＰＵクロックおよび周辺クロックを低消費電力モードに切り替える。判断する工程において周辺回路が動作していると判断された場合には、ＣＰＵクロックは低消費電力モードに切り替えるが、周辺クロックは周辺回路の動作が終了した後に低消費電力モードに切り替える。このようにすると周辺回路の処理が無効にならない。
【００１０】
【特許文献１】特開２０００−２９５６０号公報
【特許文献２】特開２００２−６９７９号公報
【特許文献３】特開２００２−４１４９５号公報
【特許文献４】特開２００２−１６４８４１号公報
【特許文献５】特開平８−２２１１４８号公報
【特許文献６】特開平１０−１４５４４６号公報
【特許文献７】特開平１１−３０５８８７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、省電力化を図った発振回路を提供することにある。
【００１２】
本発明の他の目的は、発振開始後の不安定な発振状態のない安定したクロック信号を供給する発振回路を提供することにある。
【００１３】
また、本発明の他の目的は、ソフトウェアの開発期間を短縮する発振回路を提供することにある。
【課題を解決するための手段】
【００１４】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１５】
本発明の観点では、省電力発振回路は、第１発振回路（１１）と第２発振回路（１２）と制御回路（１５）と発振制御回路（１３）とを具備する。第１発振回路（１１）は、第１発振制御信号（ＣＬＲＬａ）に応答して発振する。第２発振回路（１２）は、第２発振制御信号（ＣＴＲＬｂ）に応答して前記第１発振回路の出力（ＣＬＫａ）に基づいて発振する。制御回路（１５）は、前記第２発振回路の出力（ＣＬＫｂ）に基づいたクロック信号により動作する。発振制御回路（１３）は、前記制御回路（１５）が出力する発振停止要求信号（ＳＴＰＱ）と、外部から入力される発振要求信号（ＢＵＳＹ）に基づいて、前記第１発振制御信号（ＣＴＲＬａ）と前記第２発振制御信号（ＣＴＲＬｂ）とを生成し、それぞれ前記第１発振回路（１１）と前記第２発振回路（１２）に出力する。
【００１６】
本発明の省電力発振回路において、前記第１発振回路（１１）は、前記第１発振回路（１１）の発振が安定するまで前記第１発振回路（１１）の出力を抑制する第１出力制御回路（２３）を備える。前記第２発振回路（１２）は、前記第２発振回路（１２）の発振が安定するまで前記第２発振回路（１２）の出力を抑制する第２出力制御回路（２８）を備える。
【００１７】
本発明の省電力発振回路において、前記第１出力制御回路（２３）は、前記第１発振回路（２１）の発振したパルス数を計数し、計数した結果が予め設定された数に満たないときに前記第１発振回路（１１）の出力を抑制し、予め設定された数を超えたときに出力させる。
【００１８】
本発明の省電力発振回路において、前記第２出力制御回路（２８）は、前記第１発振回路（１１）の出力のパルス数を計数し、計数した結果が予め設定された数に満たないときに前記第２発振回路（１２）の出力を抑制し、予め設定された数を超えたときに出力させる。
【００１９】
本発明の省電力発振回路において、前記第１発振制御信号（ＣＴＲＬａ）は、前記発振要求信号（ＢＵＳＹ）に基づいて前記第１発振回路（１１）に発振を指示し、前記発振停止要求信号（ＳＴＰＱ）と前記発振要求信号（ＢＵＳＹ）に基づいて前記第１発振回路（１１）に発振の停止を指示する。前記第２発振制御信号（ＣＴＲＬｂ）は、前記発振要求信号（ＢＵＳＹ）に基づいて前記第２発振回路（１２）に発振を指示し、前記発振停止要求信号（ＳＴＰＱ）と前記発振要求信号（ＢＵＳＹ）に基づいて前記第２発振回路に発振の停止を指示する。
【００２０】
本発明の省電力発振回路において、前記第１発振制御信号（ＣＴＲＬａ）は、前記発振要求信号（ＢＵＳＹ）に基づいて前記第１発振回路（１１）に発振を指示し、前記発振停止要求信号（ＳＴＰＱ）と前記発振要求信号（ＢＵＳＹ）に基づいて前記第１発振回路（１１）に発振の停止を指示する。前記第２発振制御信号（ＣＴＲＬｂ）は、前記発振要求信号（ＢＵＳＹ）に基づいて前記第２発振回路（１２）に発振を指示し、前記発振停止要求信号（ＳＴＰＱ）に基づいて前記第２発振回路に発振の停止を指示する。
【００２１】
本発明の省電力発振回路において、外部に存在する周辺回路（１６）は、第１周辺回路（１７）と第２周辺回路（１８）とを備える。第１周辺回路（１７）は、前記第１発振回路（１１）の出力（ＣＬＫａ）に基づいて生成されたクロック信号により動作する。また、第１周辺回路（１７）は、第１発振要求信号（ＢＵＳＹａ）を出力する。第２周辺回路（１８）は、第２発振回路（１２）の出力（ＣＬＫｂ）に基づいて生成されたクロック信号により動作する。また、第２周辺回路（１７）は、第２発振要求信号（ＢＵＳＹｂ）を出力する。前記第１発振制御信号（ＣＴＲＬａ）は、前記第１発振要求信号（ＢＵＳＹａ）と前記第２発振要求信号（ＢＵＳＹｂ）に基づいて前記第１発振回路（１１）に発振を指示し、前記発振停止要求信号（ＳＴＰＱ）と前記第１発振要求信号（ＢＵＳＹａ）と前記第２発振要求信号（ＢＵＳＹｂ）に基づいて前記第１発振回路（１１）に発振の停止を指示する。前記第２発振制御信号（ＣＴＲＬｂ）は、前記第２発振要求信号（ＢＵＳＹｂ）に基づいて前記第２発振回路（１２）に発振を指示し、前記発振停止要求信号（ＳＴＰＱ）と前記第２発振要求信号（ＢＵＳＹｂ）に基づいて前記第２発振回路（１２）に発振の停止を指示する。
【００２２】
本発明の省電力発振回路において、前記制御回路（１５）は、通常動作より低消費電力で動作する低消費電力モードを有するマイクロプロセッサである。
【００２３】
本発明の省電力発振回路は、携帯端末装置に備えられる。
【発明の効果】
【００２４】
本発明によれば、発振回路の発振を停止することにより、発振器自体と発振器の出力を使用する回路の省電力化を図った発振回路を提供することができる。
【００２５】
本発明の他の目的は、ゲート回路によって発振開始後の不安定な発振状態の出力を抑制するため、安定したクロック信号を供給する発振回路を提供することができる。
【００２６】
また、本発明によれば、ハードウェアを意識することなく発振停止要求命令を使用することができ、ソフトウェアの開発期間を短縮する発振回路を提供することができる。
【発明を実施するための最良の形態】
【００２７】
図１から図３を参照して、本発明の第１の実施の形態を説明する。
【００２８】
図１は、本実施の形態に係る装置の構成を示すブロック図である。本装置は、第１発振回路１１、第２発振回路１２、発振器制御回路１３、割り込み入力回路１４、ＣＰＵ１５、周辺回路１６を具備している。
【００２９】
第１発振回路１１は、発振器制御回路１３から発振制御信号ＣＴＲＬａを入力し、クロック信号ＣＬＫａを第２発振回路１２に出力する。第２発振回路１２は、発振器制御回路１３から発振制御信号ＣＴＲＬｂと、第１発振回路１１からクロック信号ＣＬＫａとを入力し、クロック信号ＣＬＫｂを出力する。クロック信号ＣＬＫｂは、ＣＰＵ１５と周辺回路１６に供給される。発振器制御回路１３は、ＣＰＵ１５から発振停止要求信号ＳＴＰＱと、周辺回路１６から発振要求信号ＢＵＳＹとを入力し、第１発振回路１１に発振制御信号ＣＴＲＬａを、第２発振回路１２に発振制御信号ＣＴＲＬｂを出力する。
【００３０】
ＣＰＵ１５は、第２発振回路１２から出力されるクロック信号ＣＬＫｂと、割り込み入力回路１４から出力される割り込み信号ＩＮＴとを入力し、発振停止要求信号ＳＴＰＱを出力し、周辺回路１６と制御やデータなどの各種信号ＳＧＮＬを入出力する。ＣＰＵ１５へのクロック信号は、ここではクロック信号ＣＬＫｂを直接供給しているが、分周回路やドライブ回路などを介して供給されてもよい。
【００３１】
割り込み入力回路１４は、周辺回路１６から割り込み要求信号ＲＥＱを入力し、ＣＰＵ１５に割り込み信号ＩＮＴを出力する。周辺回路１６は、第２発振回路１２から出力されるクロック信号ＣＬＫｂを入力し、発振器制御回路１３に発振要求信号ＢＵＳＹを、割り込み入力回路１４に割り込み要求信号ＲＥＱを出力し、ＣＰＵ１５と制御やデータなどの各種信号ＳＧＮＬを入出力する。
【００３２】
第１発振回路１１は、発振制御信号ＣＴＲＬａの制御によって発振を開始し、停止する。第２発振回路１２は、発振制御信号ＣＴＲＬｂの制御によって発振を開始し、停止する。
【００３３】
発振器制御回路１３は、周辺回路１６から入力する発振要求信号ＢＵＳＹが活性化すると、発振制御信号ＣＴＲＬａと発振制御信号ＣＴＲＬｂとを活性化し、発振を指示する。ＣＰＵから発振停止要求信号ＳＴＰＱが入力すると発振器制御回路１３は、発振要求信号ＢＵＳＹが活性化状態でなければ発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを非活性にし、発振停止を指示する。
【００３４】
割り込み入力回路１４は、周辺回路１６から入力する割り込み要求信号ＲＥＱが活性化すると、ＣＰＵ１５に対して割り込み信号ＩＮＴを活性化し、割り込み要求があったことを通知する。ＣＰＵ１５は、動作の基準信号としてクロック信号ＣＬＫｂを入力し、動作する。ＣＰＵ１５は周辺回路１６との間で各種信号ＳＧＮＬを入出力し、周辺回路１６を制御し、情報の入出力を行う。割り込み入力回路１４から入力する割り込み信号ＩＮＴが活性化すると、ＣＰＵ１５は割り込みに応じて一連の割り込み処理を行う。ＣＰＵ１５における処理が終了すると、ＣＰＵ１５は第１発振回路１１と第２発振回路１２の発振を停止させるために発振器停止要求命令を実行し、発信停止要求信号ＳＴＰＱを活性化する。その後ＣＰＵ１５は低電力モード指定命令を実行し、動作モードを低電力モードに移行する。
【００３５】
周辺回路１６は、第２発振回路１２が出力するクロック信号ＣＬＫｂを入力してクロック信号を必要とする回路部分は動作する。周辺回路１６は、ＣＰＵ１５との間で各種信号ＳＧＬＮを入出力し、ＣＰＵ１５の制御を受けて情報の入出力を行う。また、本装置のスイッチを入れるなどの操作が行われると、周辺回路１６はクロック信号に依存せずに発振要求信号ＢＵＳＹを活性化する。さらに、操作が行われたことをＣＰＵ１５に通知するため、割り込み入力回路１４に対して割り込み要求信号ＲＥＱを活性化する。割り込み要求信号ＲＥＱは、発振要求信号ＢＵＳＹとは異なりクロック信号に同期して出力されてもよい。
【００３６】
第１発振回路１１は、発振器２１とカウンタ２２とゲート回路２３とを備えている。発振器２１は、発振制御信号ＣＴＲＬａが活性化すると発振を開始する。発振器２１の出力は、カウンタ２２とゲート回路２３に入力する。カウンタ２２は、発振制御信号ＣＴＲＬａが活性化すると発振器２１の出力のパルス数を計数する。パルス数が予め設定された数を超過するとゲート回路２３を制御して発振器２１の出力をクロック信号ＣＬＫａとして出力する。この計数するパルス数は、発振器２１の発振が安定するようになるまでの時間を設定する。カウンタ２２は、発振器２１の発振が安定するようになるまでのパルス数を計数するので、設定されたパルス数以上は計数しなくてもよい。よって、第１発振回路１１の出力であるクロック信号ＣＬＫａは、発振が安定してから出力されることになる。
【００３７】
第２発振回路１２は、ＰＬＬ回路２６とカウンタ２７とゲート回路２８とを備えている。ＰＬＬ回路２６は、発振制御信号ＣＴＲＬｂが活性化すると、クロック信号ＣＬＫａを逓倍させた信号を発振する。ＰＬＬ回路２６の出力は、カウンタ２７とゲート回路２８に入力する。カウンタ２７は、発振制御信号ＣＴＲＬｂが活性化するとＰＬＬ回路２６の出力のパルス数を計数する。パルス数が予め設定された数を超過するとゲート回路２８を制御してＰＬＬ回路２６の出力をクロック信号ＣＬＫｂとして出力する。このパルス数を計数して得られる時間は、ＰＬＬ回路２６がクロック信号ＣＬＫａを供給されて発振し、逓倍された目的の周波数になるまでのＰＬＬロック時間である。ＰＬＬ回路２６の発振が安定するようになるまでのパルス数を計数するので、設定されたパルス数以上は計数しなくてもよい。よって、第２発振回路１２の出力であるクロック信号ＣＬＫｂは、発振が安定してから出力されることになる。
【００３８】
図２は、本実施の形態に係るＣＰＵ１５のソフトウェア動作を示すフローチャートである。ＣＰＵ１５では、ベースとなるメイン処理と割り込み信号によって起動される割り込み処理が行われる。メイン処理は、割り込みが発生する前の処理Ａと割り込み発生後の処理Ｂに分けられているが、割り込みがなければ処理を分割しなくてよく、ステップＳ１１、ステップＳ１２が連続して処理される。処理が終了すると、発振器停止要求命令を実行する（ステップＳ１３）。発振器停止要求命令が実行されると、ＣＰＵ１５から出力される発振停止要求信号が活性化する。続いてＣＰＵ１５の動作状態を低電力モードに移行するため、低電力モード指定命令を実行する（ステップＳ１４）。低電力モード指定命令は、ＣＰＵ１５自体に対する命令である。次に起動されるまで待機する状態にするため、ＣＰＵ１５を停止状態にして消費電力を削減するものである。低電力モードでは、ＣＰＵ１５はクロック信号の入力は不要である。
【００３９】
割り込み処理は、割り込み信号ＩＮＴが活性化すると実行される。割り込み処理が開始すると、割り込み要因の解析、割り込み要因に対応した処理など、割り込みに関する処理が実行される（ステップＳ２１）。その後、発振器を停止するため、発振器停止要求命令を実行し（ステップＳ２２）、発振停止要求信号を活性化する。メイン処理を実行中に割り込みが発生した場合は、割り込み処理が終了すると割り込み発生前に実行していた処理に戻るため、メイン処理を実行中の割り込み処理かどうかを判定し（ステップＳ２３）、実行中であればそのまま割り込み処理を終了する（ステップＳ２３：ＹＥＳ）。メイン処理実行中でなければ（ステップＳ２３：ＮＯ）、割り込み処理を終了するとその後の処理はないので、低電力モード指定命令を実行して低電力モードに移行する（ステップＳ２４）。
【００４０】
メイン処理と割り込み処理について時間を追って説明する。メイン処理の処理Ａ（ステップＳ１１）が終了したところで割り込みが発生すると、割り込み処理に移行する。割り込みに関する処理が実行され（ステップＳ２１）、発振器停止要求命令が実行され（ステップＳ２２）、メイン処理が実行中であるため（ステップＳ２３：ＹＥＳ）、割り込み処理を終了し、メイン処理に戻る。メイン処理では、割り込み発生前の続きの処理Ｂを実行する（ステップＳ１２）。処理Ｂが終了すると、発振器停止要求命令を実行し（ステップＳ１３）、低電力モード指定命令を実行して低電力モードに移行する（ステップＳ１４）。低電力モードは待機状態であり、例えば、スイッチを押すなどの操作があると、処理すべき事象が発生したので割り込みが発生する。低電力モード中にクロック信号が入力されて割り込み信号ＩＮＴが活性化すると、割り込み処理が起動され、割り込みに関する処理が実行される（ステップＳ２１）。割り込みに関する処理が終了すると、発振器停止要求命令を実行し（ステップＳ２２）、メイン処理は実行していないときの割り込み処理であるから（ステップＳ２３：ＮＯ）、低電力モード指定命令を実行し（ステップＳ２４）、割り込み処理を終了して低電力モードの待機状態となる。
【００４１】
図３は、本実施の形態に係るタイミングチャートである。メイン処理実行中に割り込みが発生し、メイン処理を中断して割り込み処理を実行する。割り込み処理終了後、メイン処理を続行する。メイン処理終了後、低電力モードで待機する。待機中に操作があって割り込みが発生する。
【００４２】
電源投入によって発振器２１（ｇ）は発振し、第１発振回路１１からクロック信号ＣＬＫａ（ｈ）が出力される。クロック信号ＣＬＫａが第２発振回路１２に入力されると、ＰＬＬ回路２６（ｉ）は発振器２１より高い周波数でクロック信号ＣＬＫａに位相同期して発振し、第２発振回路１２はクロック信号ＣＬＫｂ（ｊ）を出力する。クロック信号ＣＬＫｂは、直接或いは間接的にＣＰＵ１５と周辺回路１６にクロック信号として供給され、ＣＰＵ１５と周辺回路１６が動作する。ＣＰＵ１５（ｂ）は、メイン処理（処理Ａ）を実行し、周辺回路１６（ｄ）は動作中で、発振要求信号ＢＵＳＹ（ｅ）は活性化している。
【００４３】
ＣＰＵ１５がメイン処理（処理Ａ）を実行中に、時刻Ｔ１１において操作が加わり、周辺回路１６から割り込み入力回路１４を通して割り込み信号ＩＮＴが活性化する。時刻Ｔ１２においてＣＰＵ１５は割り込みを認知して割り込み処理を開始する。
【００４４】
割り込み処理終了直前ＣＰＵ１５は発振器停止要求命令を実行し（図２：ステップＳ２２）、時刻Ｔ１３において発振器制御回路１３に入力される発振停止要求信号ＳＴＰＱが活性化する。周辺回路１６が動作中で発振要求信号ＢＵＳＹが活性化しているため、発振停止要求信号ＳＴＰＱが活性化したことを示す情報は、発振器制御回路１３内に保持されるが、発振制御信号ＣＴＲＬａおよびＣＴＲＬｂは活性化（発振指示）したままとなる。
【００４５】
ＣＰＵ１５は割り込み処理を終了してメイン処理（処理Ｂ）を続行する。メイン処理（処理Ｂ）が終了すると、発振器停止要求命令を実行し（図２：ステップＳ１３）、時刻Ｔ１４において発振停止要求信号ＳＴＰＱが活性化する。ＣＰＵ１５は、低電力モード指定命令を実行して低電力モードになる。周辺回路１６は動作中で発振要求信号ＢＵＳＹが活性化しているため、発振停止要求信号ＳＴＰＱが活性化した情報は、発振器制御回路１３内に保持され、発振制御信号ＣＴＲＬａおよびＣＴＲＬｂは活性化（発振指示）したままとなる。
【００４６】
時刻Ｔ１５において、周辺回路１６の動作が完了して停止状態になると、発振要求信号ＢＵＳＹが非活性となリ、発振器制御回路１３は内部に保持していた発振停止要求に基づいて発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを非活性（発振停止）にする。発振制御信号ＣＴＲＬａおよびＣＴＲＬｂが非活性になると、発振器２１とＰＬＬ回路２６は発振を停止する。クロック信号ＣＬＫａ／ｂが停止するため、ＣＰＵ１５および周辺回路１６にはクロック信号が供給されず、消費電力を抑制することが可能となる。
【００４７】
時刻Ｔ１６において、スイッチを入れるなどの操作が加わると、周辺回路１６のその操作に対応する回路部分により発振要求信号ＢＵＳＹが活性化する。発振要求信号ＢＵＳＹが活性化すると、発振器制御回路１３は、発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを活性化する。発振制御信号ＣＴＲＬａが活性化すると、発振器２１が発振を開始する。発振器２１の出力はカウンタ２２により計数され、時間ｔａ後に予め設定されたカウント数を超えるとゲート回路２３が発振器２１の出力をクロック信号ＣＬＫａとして出力する。カウント数は、発振を開始してから発振状態が安定するまでの時間ｔａになるように設定しておく。発振が不安定な時期にパルス数を計数するのであるから、計数するパルス数は概数でよい。
【００４８】
時刻Ｔ１７においてクロック信号ＣＬＫａが出力されると、ＰＬＬ回路２６が発振を開始するとともに、カウンタ２７はクロック信号ＣＬＫａのパルス数をカウントし、ＰＬＬ回路２６の発振が安定するまでの時間ｔｂを計測する。時間ｔｂは、ＰＬＬ回路２６が第１発振回路１１から供給されるクロック信号ＣＬＫａを逓倍させて目的の周波数になるまでのＰＬＬロック時間である。カウンタ２７が予め設定されたパルス数を計数すると、ＰＬＬ回路２６の発振は安定しているものとしてゲート回路２８はクロック信号ＣＬＫｂを出力する。
【００４９】
時刻Ｔ１８においてクロック信号ＣＬＫｂが出力されると周辺回路１６は、クロックによる動作をはじめ、時刻Ｔ１６において操作された事象を処理し、割り込み入力回路１４への割り込み要求信号ＲＥＱを活性化する。割り込み入力回路１４は、クロック信号ＣＬＫｂが供給されて待機状態であったＣＰＵ１５に割り込み信号ＩＮＴを与える。
【００５０】
ＣＰＵ１５は、時刻Ｔ１９において割り込み処理を開始し、時刻Ｔ２１において発振器停止要求命令を実行して発振停止要求信号ＳＴＰＱが活性化する。このとき、周辺回路１６は、まだ動作中であり、クロック信号ＣＬＫｂの供給を停止できないため、発振器制御回路１３は、内部に発振停止要求の情報を保持して周辺回路１６の動作終了を待つ。
【００５１】
時刻Ｔ２２に周辺回路１６の動作が終了すると、発振要求信号ＢＵＳＹが非活性になり、発振器制御回路１３は、発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを非活性にし、発振器２１およびＰＬＬ回路２６は発振停止状態になる。
【００５２】
時刻Ｔ２３において、スイッチを入れるなどの操作が加わると、時刻Ｔ１６の場合と同様に、周辺回路１６のその操作に対応する回路部分により発振要求信号ＢＵＳＹが活性化し、発振器制御回路１３は発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを活性化し、発振器２１が発振を開始する。発振器２１が発振を開始して時間ｔａ後にクロック信号ＣＬＫａが出力され、その時間ｔｂ後にクロック信号ＣＬＫｂが出力される。
【００５３】
クロック信号ＣＬＫｂが供給されると、周辺回路１６は動作を開始する。時刻Ｔ２６においてＣＰＵ１５に割り込みを発生させ、ＣＰＵ１５は割り込み処理を開始する。
【００５４】
周辺回路１６は、時刻Ｔ２５において動作を終了して停止状態になり、発振要求信号ＢＵＳＹは非活性になる。このときＣＰＵ１５は割り込み処理の最中であり、まだ発振停止要求信号を出力していない。そのため、発振器制御回路１３は、発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを活性化したままとなる。
【００５５】
時刻Ｔ２６においてＣＰＵ１５が発振器停止要求命令を実行して発振停止要求信号が活性化すると、発振器制御回路１３は発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを非活性にし、発振器２１およびＰＬＬ回路２６の発振を停止させる。
【００５６】
このようにして発振回路の発振を制御することによって、発振回路自体の消費電力を削減することはもとより、ＣＰＵ１５、周辺回路１６の待機中の消費電力も削減することが可能となる。また、ゲート回路２３、２８によって発振が安定するまで発振回路からクロック信号は出力されず、クロック信号は常に安定した状態となる。さらに、メイン処理、割り込み処理において処理終了直前に発振器停止要求命令を実行するだけでハードウェアの状態に合わせて発振器の停止が可能となリ、ソフトウェアデバッグが簡略化でき、開発期間を短縮できる。
【００５７】
図４から図６を参照して、本発明の第２の実施の形態を説明する。本実施の形態では、周辺回路１６のクロック動作は比較的遅く、周辺回路１６はクロック信号ＣＬＫａにより動作し、ＣＰＵ１５は、クロック信号ＣＬＫｂで動作する。
【００５８】
図４は、本実施の形態に係る装置の構成を示すブロック図である。本装置は、第１発振回路１１、第２発振回路１２、発振器制御回路１３、割り込み入力回路１４、ＣＰＵ１５、周辺回路１６を具備している。
【００５９】
第１発振回路１１は、発振器制御回路１３から発振制御信号ＣＴＲＬａを入力し、クロック信号ＣＬＫａを第２発振回路１２と周辺回路１６に出力する。第２発振回路１２は、発振器制御回路１３から発振制御信号ＣＴＲＬｂと、第１発振回路１１からクロック信号ＣＬＫａとを入力し、クロック信号ＣＬＫｂを出力する。クロック信号ＣＬＫｂは、ＣＰＵ１５に供給される。発振器制御回路１３は、ＣＰＵ１５から発振停止要求信号ＳＴＰＱと、周辺回路１６から発振要求信号ＢＵＳＹとを入力し、第１発振回路１１に発振制御信号ＣＴＲＬａを、第２発振回路１２に発振制御信号ＣＴＲＬｂを出力する。
【００６０】
ＣＰＵ１５は、第２発振回路１２から出力されるクロック信号ＣＬＫｂと、割り込み入力回路１４から出力される割り込み信号ＩＮＴとを入力し、発振停止要求信号ＳＴＰＱを出力し、周辺回路１６と制御やデータなどの各種信号ＳＧＮＬを入出力する。ＣＰＵ１５へのクロック信号は、ここではクロック信号ＣＬＫｂを直接供給しているが、分周回路やドライブ回路などを介して供給されてもよい。
【００６１】
割り込み入力回路１４は、周辺回路１６から割り込み要求信号ＲＥＱを入力し、ＣＰＵ１５に割り込み信号ＩＮＴを出力する。周辺回路１６は、第１発振回路１１から出力されるクロック信号ＣＬＫａを入力し、発振器制御回路１３に発振要求信号ＢＵＳＹを、割り込み入力回路１４に割り込み要求信号ＲＥＱを出力し、ＣＰＵ１５と制御やデータなどの各種信号ＳＧＮＬを入出力する。
【００６２】
第１発振回路１１は、発振制御信号ＣＴＲＬａの制御によって発振を開始し、停止する。第２発振回路１２は、発振制御信号ＣＴＲＬｂの制御によって発振を開始し、停止する。
【００６３】
発振器制御回路１３は、周辺回路１６から入力する発振要求信号ＢＵＳＹが活性化すると、発振制御信号ＣＴＲＬａと発振制御信号ＣＴＲＬｂとを活性化し、発振を指示する。ＣＰＵから発振停止要求信号ＳＴＰＱが入力すると発振器制御回路１３は、発振制御信号ＣＴＲＬｂを非活性にし、第2発振回路１２に発振停止を指示する。また、発振要求信号ＢＵＳＹが活性化状態でなければ発振制御信号ＣＴＲＬａを非活性にして第１発振回路１１に発振停止を指示し、発振要求信号ＢＵＳＹが活性化状態であれば、非活性状態になるまで待機する。
【００６４】
割り込み入力回路１４は、周辺回路１６から入力する割り込み要求信号ＲＥＱが活性化すると、ＣＰＵ１５に対して割り込み信号ＩＮＴを活性化し、割り込み要求があったことを通知する。ＣＰＵ１５は、動作の基準信号としてクロック信号ＣＬＫｂを入力し、動作する。ＣＰＵ１５は周辺回路１６との間で各種信号ＳＧＮＬを入出力し、周辺回路１６を制御し、情報の入出力を行う。割り込み入力回路１４から入力する割り込み信号ＩＮＴが活性化すると、ＣＰＵ１５は割り込みに応じて一連の割り込み処理を行う。ＣＰＵ１５における処理が終了すると、ＣＰＵ１５は第１発振回路１１と第２発振回路１２の発振を停止させるために発振器停止要求命令を実行し、発信停止要求信号ＳＴＰＱを活性化する。その後ＣＰＵ１５は低電力モード指定命令を実行し、動作モードを低電力モードに移行する。
【００６５】
周辺回路１６は、第１発振回路１１が出力するクロック信号ＣＬＫａを入力してクロック信号を必要とする回路部分は動作する。周辺回路１６は、ＣＰＵ１５との間で各種信号ＳＧＬＮを入出力し、ＣＰＵ１５の制御を受けて情報の入出力を行う。また、本装置のスイッチを入れるなどの操作が行われると、周辺回路１６はクロック信号に依存せずに発振要求信号ＢＵＳＹを活性化する。さらに、操作が行われたことをＣＰＵ１５に通知するため、割り込み入力回路１４に対して割り込み要求信号ＲＥＱを活性化する。割り込み要求信号ＲＥＱは、発振要求信号ＢＵＳＹとは異なりクロック信号に同期して出力されてもよい。
【００６６】
第１発振回路１１は、発振器２１とカウンタ２２とゲート回路２３とを備えている。発振器２１は、発振制御信号ＣＴＲＬａが活性化すると発振を開始する。発振器２１の出力は、カウンタ２２とゲート回路２３に入力する。カウンタ２２は、発振制御信号ＣＴＲＬａが活性化すると発振器２１の出力のパルス数を計数する。パルス数が予め設定された数を超過するとゲート回路２３を制御して発振器２１の出力をクロック信号ＣＬＫａとして出力する。この計数するパルス数は、発振器２１の発振が安定するようになるまでの時間を設定する。カウンタ２２は、発振器２１の発振が安定するようになるまでのパルス数を計数するので、設定されたパルス数以上は計数しなくてもよい。よって、第１発振回路１１の出力であるクロック信号ＣＬＫａは、発振が安定してから出力されることになる。
【００６７】
第２発振回路１２は、ＰＬＬ回路２６とカウンタ２７とゲート回路２８とを備えている。ＰＬＬ回路２６は、発振制御信号ＣＴＲＬｂが活性化すると、クロック信号ＣＬＫａを逓倍させた信号を発振する。ＰＬＬ回路２６の出力は、カウンタ２７とゲート回路２８に入力する。カウンタ２７は、発振制御信号ＣＴＲＬｂが活性化するとＰＬＬ回路２６の出力のパルス数を計数する。パルス数が予め設定された数を超過するとゲート回路２８を制御してＰＬＬ回路２６の出力をクロック信号ＣＬＫｂとして出力する。このパルス数を計数して得られる時間は、ＰＬＬ回路２６がクロック信号ＣＬＫａを供給されて発振し、逓倍された目的の周波数になるまでのＰＬＬロック時間である。ＰＬＬ回路２６の発振が安定するようになるまでのパルス数を計数するので、設定されたパルス数以上は計数しなくてもよい。よって、第２発振回路１２の出力であるクロック信号ＣＬＫｂは、発振が安定してから出力されることになる。
【００６８】
図５は、本実施の形態に係るＣＰＵ１５のソフトウェア動作を示すフローチャートである。ＣＰＵ１５では、ベースとなるメイン処理と割り込み信号によって起動される割り込み処理が行われる。メイン処理は、割り込みが発生する前の処理Ａと割り込み発生後の処理Ｂに分けられているが、割り込みがなければ処理を分割しなくてよく、ステップＳ１１、ステップＳ１２が連続して処理される。処理が終了すると、発振器停止要求命令を実行する（ステップＳ１３）。発振器停止要求命令が実行されると、ＣＰＵ１５から出力される発振停止要求信号が活性化する。続いてＣＰＵ１５の動作状態を低電力モードに移行するため、低電力モード指定命令を実行する（ステップＳ１４）。低電力モード指定命令は、ＣＰＵ１５自体に関する命令である。次に起動されるまで待機する状態にするため、ＣＰＵ１５を停止状態にして消費電力を削減するものである。低電力モードでは、ＣＰＵ１５はクロック信号の入力は不要である。
【００６９】
割り込み処理は、割り込み信号ＩＮＴが活性化すると実行される。割り込み処理が開始すると、割り込み要因の解析、割り込み要因に対応した処理など、割り込みに関する処理が実行される（ステップＳ３１）。その後、メイン処理を実行中に割り込みが発生した場合は、割り込み処理が終了すると割り込み発生前に実行していた処理に戻るため、メイン処理を実行中の割り込み処理かどうかを判定し（ステップＳ３２）、実行中であればそのまま割り込み処理を終了する（ステップＳ３２：ＹＥＳ）。メイン処理実行中でなければ（ステップＳ３２：ＮＯ）、割り込み処理を終了するとその後の処理はないので、発振器を停止するため、発振器停止要求命令を実行し（ステップＳ３３）、発振停止要求信号を活性化する。その後、低電力モード指定命令を実行して低電力モードに移行する（ステップＳ３４）。
【００７０】
メイン処理と割り込み処理について時間を追って説明する。メイン処理の処理Ａ（ステップＳ１１）が終了したところで割り込みが発生すると、割り込み処理に移行する。割り込みに関する処理が実行され（ステップＳ３１）、メイン処理が中断しているか判定する（ステップＳ３２）。メイン処理が実行中であるため（ステップＳ３２：ＹＥＳ）、割り込み処理を終了してメイン処理に戻る。メイン処理では、割り込み発生前の続きの処理Ｂを実行する（ステップＳ１２）。処理Ｂが終了すると、発振器停止要求命令を実行し（ステップＳ１３）、低電力モード指定命令を実行して低電力モードに移行する（ステップＳ１４）。低電力モードは待機状態であり、例えば、スイッチを押すなどの操作があると、処理すべき事象が発生したので割り込みが発生する。低電力モード中にクロック信号が入力されて割り込み信号ＩＮＴが活性化すると、割り込み処理が起動され、割り込みに関する処理が実行される（ステップＳ３１）。割り込みに関する処理が終了すると、メイン処理は実行していないときの割り込み処理であるから（ステップＳ３２：ＮＯ）、発振器停止要求命令（ステップＳ３３）と、低電力モード指定命令を実行し（ステップＳ３４）、割り込み処理を終了して低電力モードの待機状態となる。
【００７１】
図６は、本実施の形態に係るタイミングチャートである。メイン処理実行中に割り込みが発生し、メイン処理を中断して割り込み処理を実行する。割り込み処理終了後、メイン処理を続行する。メイン処理終了後、低電力モードで待機する。待機中に操作があって割り込みが発生する。
【００７２】
電源投入によって発振器２１（ｈ）は発振し、第１発振回路１１からクロック信号ＣＬＫａ（ｉ）が出力される。クロック信号ＣＬＫａは、第2発振回路１２と周辺回路１６に供給される。クロック信号ＣＬＫａが第２発振回路１２に入力されると、ＰＬＬ回路２６（ｊ）は発振器２１より高い周波数でクロック信号ＣＬＫａに位相同期して発振し、第２発振回路１２はクロック信号ＣＬＫｂ（ｋ）を出力する。クロック信号ＣＬＫｂは、直接或いは間接的にＣＰＵ１５にクロック信号として供給され、ＣＰＵ１５が動作する。ＣＰＵ１５（ｂ）は、メイン処理（処理Ａ）を実行し、周辺回路１６（ｄ）は動作中で、発振要求信号ＢＵＳＹ（ｅ）は活性化している。
【００７３】
ＣＰＵ１５がメイン処理（処理Ａ）を実行中に、時刻Ｔ３１において操作が加わり、周辺回路１６から割り込み入力回路１４を通して割り込み信号ＩＮＴが活性化する。時刻Ｔ３２においてＣＰＵ１５は割り込みを認知して割り込み処理を開始する。
【００７４】
メイン処理実行中の割り込み処理であるから、割り込み処理が終了すると、ＣＰＵ１５はメイン処理（処理Ｂ）を続行する。メイン処理（処理Ｂ）が終了すると、発振器停止要求命令を実行し（図５：ステップＳ１３）、時刻Ｔ３４において発振停止要求信号ＳＴＰＱが活性化する。発振器制御回路１３は、発振停止要求信号ＳＴＰＱに基づいて発振制御信号ＣＴＲＬｂを非活性にし、ＰＬＬ回路２６の発振を停止させる。ＣＰＵ１５は、低電力モード指定命令を実行して低電力モードになる。なお、ＰＬＬ回路２６の発振の停止は、ＣＰＵ１５が低電力モード指定命令を実行して低電力モードに移行するまで遅延させてある。一方、周辺回路１６は動作中で発振要求信号ＢＵＳＹが活性化しているため、発振停止要求信号ＳＴＰＱが活性化した情報は、発振器制御回路１３内に保持され、発振制御信号ＣＴＲＬａは活性化（発振指示）したままとなる。
【００７５】
時刻Ｔ３５において、周辺回路１６の動作が完了して停止状態になると、発振要求信号ＢＵＳＹが非活性となリ、発振器制御回路１３は内部に保持していた発振停止要求に基づいて発振制御信号ＣＴＲＬａを非活性（発振停止）にする。発振制御信号ＣＴＲＬａが非活性になると、発振器２１は発振を停止する。クロック信号ＣＬＫａおよびＣＬＫｂが停止するため、ＣＰＵ１５および周辺回路１６にはクロック信号が供給されず、消費電力を抑制することが可能となる。
【００７６】
時刻Ｔ３６において、スイッチを入れるなどの操作が加わると、周辺回路１６のその操作に対応する回路部分により発振要求信号ＢＵＳＹが活性化する。発振要求信号ＢＵＳＹが活性化すると、発振器制御回路１３は、発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを活性化する。発振制御信号ＣＴＲＬａが活性化すると、発振器２１が発振を開始する。発振器２１の出力はカウンタ２２により計数され、時間ｔａ後に予め設定されたカウント数を超えるとゲート回路２３が発振器２１の出力をクロック信号ＣＬＫａとして出力する。カウント数は、発振を開始してから発振状態が安定するまでの時間ｔａになるように設定しておく。発振が不安定な時期にパルス数を計数するのであるから、計数するパルス数は概数でよい。
【００７７】
時刻Ｔ３７においてクロック信号ＣＬＫａが出力されると、ＰＬＬ回路２６が発振を開始するとともに、カウンタ２７はクロック信号ＣＬＫａのパルス数をカウントし、ＰＬＬ回路２６の発振が安定するまでの時間ｔｂを計測する。時間ｔｂは、ＰＬＬ回路２６が第１発振回路１１から供給されるクロック信号ＣＬＫａを逓倍させて目的の周波数になるまでのＰＬＬロック時間である。カウンタ２７が予め設定されたパルス数を計数すると、ＰＬＬ回路２６の発振は安定しているものとしてゲート回路２８はクロック信号ＣＬＫｂを出力する。
【００７８】
クロック信号ＣＬＫａが供給されると周辺回路１６は動作を開始し、時刻Ｔ３６において操作された事象を処理し、割り込み入力回路１４への割り込み要求信号ＲＥＱを活性化する。割り込み入力回路１４は、時刻Ｔ３８にクロック信号ＣＬＫｂが供給されたＣＰＵ１５に割り込み信号ＩＮＴを与え、ＣＰＵ１５は、割り込み処理を開始する。
【００７９】
時刻Ｔ３９において割り込み処理を終了するＣＰＵ１５は、発振器停止要求命令を実行して発振停止要求信号ＳＴＰＱが活性化する。発振器制御回路１３は、発振停止要求信号ＳＴＰＱに基づいて発振制御信号ＣＴＲＬｂを非活性にし、ＰＬＬ回路２６の発振を停止させる。このとき、周辺回路１６は、まだ動作中であり、クロック信号ＣＬＫａの供給を停止できないため、発振器制御回路１３は、内部に発振停止要求の情報を保持して周辺回路１６の動作終了を待つ。
【００８０】
時刻Ｔ４１に周辺回路１６の動作が終了すると、発振要求信号ＢＵＳＹが非活性になる。発振器制御回路１３は、発振制御信号ＣＴＲＬａを非活性にし、発振器２１を発振停止状態にする。
【００８１】
時刻Ｔ４２において、スイッチを入れるなどの操作が加わると、時刻Ｔ３６の場合と同様に、周辺回路１６のその操作に対応する回路部分により発振要求信号ＢＵＳＹが活性化し、発振器制御回路１３は発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを活性化し、発振器２１が発振を開始する。発振器２１が発振を開始して時間ｔａ後にクロック信号ＣＬＫａが出力され、その時間ｔｂ後にクロック信号ＣＬＫｂが出力される。
【００８２】
クロック信号ＣＬＫａが供給されると、周辺回路１６は動作を開始し、時刻Ｔ４３においてＣＰＵ１５に割り込みを発生させ、ＣＰＵ１５は割り込み処理を開始する。
【００８３】
周辺回路１６は、時刻Ｔ４４において動作を終了して停止状態になり、発振要求信号ＢＵＳＹは非活性になる。このときＣＰＵ１５は割り込み処理の最中であり、まだ発振停止要求信号を出力していない。そのため、発振器制御回路１３は、発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを活性化したままとなる。
【００８４】
時刻Ｔ４５においてＣＰＵ１５が発振器停止要求命令を実行して発振停止要求信号が活性化すると、発振器制御回路１３は発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを非活性にし、発振器２１およびＰＬＬ回路２６の発振を停止させる。
【００８５】
このようにして発振回路の発振を制御することによって、発振回路自体の消費電力を削減することはもとより、ＣＰＵ１５、周辺回路１６の待機中の消費電力も削減することが可能となる。また、ゲート回路２３、２８によって発振が安定するまで発振回路からクロック信号は出力されず、クロック信号は常に安定した状態となる。さらに、発振器停止要求命令をソフトウェア上の動作管理だけで実行するとハードウェアの状態に合わせて発振器の停止が可能となリ、ソフトウェアデバッグが簡略化でき、開発期間を短縮できる。
【００８６】
図７と図８を参照して、本発明の第３の実施の形態を説明する。本実施の形態では、周辺回路は、比較的低速な処理を行う低い周波数のクロックを使用する周辺回路１７と、比較的高速な処理を行う高い周波数のクロックを使用する周辺回路１８に分かれ、それぞれ別のクロックを供給する形態である。本実施の形態のソフトウェア動作は、図２または図５と同じ動作となるため、ここでは説明を省略する。
【００８７】
図７は、本実施の形態に係る装置の構成を示すブロック図である。本装置は、第１発振回路１１、第２発振回路１２、発振器制御回路１３、割り込み入力回路１４、ＣＰＵ１５、周辺回路１７および１８を具備している。
【００８８】
第１発振回路１１は、発振器制御回路１３から発振制御信号ＣＴＲＬａを入力し、クロック信号ＣＬＫａを第２発振回路１２と周辺回路１７に出力する。第２発振回路１２は、発振器制御回路１３から発振制御信号ＣＴＲＬｂと、第１発振回路１１からクロック信号ＣＬＫａとを入力し、クロック信号ＣＬＫｂを出力する。クロック信号ＣＬＫｂは、ＣＰＵ１５と周辺回路１８に供給される。発振器制御回路１３は、ＣＰＵ１５から発振停止要求信号ＳＴＰＱと、周辺回路１７から発振要求信号ＢＵＳＹａ、周辺回路１８から発振要求信号ＢＵＳＹｂとを入力し、第１発振回路１１に発振制御信号ＣＴＲＬａを、第２発振回路１２に発振制御信号ＣＴＲＬｂを出力する。
【００８９】
ＣＰＵ１５は、第２発振回路１２から出力されるクロック信号ＣＬＫｂと、割り込み入力回路１４から出力される割り込み信号ＩＮＴとを入力し、発振停止要求信号ＳＴＰＱを出力し、周辺回路１７および１８と制御やデータなどの各種信号ＳＧＮＬａおよびＳＧＮＬｂを入出力する。ＣＰＵ１５へのクロック信号は、ここではクロック信号ＣＬＫｂを直接供給しているが、分周回路やドライブ回路などを介して供給されてもよい。
【００９０】
割り込み入力回路１４は、周辺回路１７および１８から割り込み要求信号ＲＥＱａおよびＲＥＱｂを入力し、ＣＰＵ１５に割り込み信号ＩＮＴを出力する。周辺回路１７は、第１発振回路１１から出力されるクロック信号ＣＬＫａを入力し、発振器制御回路１３に発振要求信号ＢＵＳＹａを、割り込み入力回路１４に割り込み要求信号ＲＥＱａを出力し、ＣＰＵ１５と制御やデータなどの各種信号ＳＧＮＬａを入出力する。周辺回路１８は、第２発振回路１２から出力されるクロック信号ＣＬＫｂを入力し、発振器制御回路１３に発振要求信号ＢＵＳＹｂを、割り込み入力回路１４に割り込み要求信号ＲＥＱｂを出力し、ＣＰＵ１５と制御やデータなどの各種信号ＳＧＮＬｂを入出力する。
【００９１】
第１発振回路１１は、発振制御信号ＣＴＲＬａの制御によって発振を開始し、停止する。第２発振回路１２は、発振制御信号ＣＴＲＬｂの制御によって発振を開始し、停止する。
【００９２】
発振器制御回路１３は、周辺回路１７から入力する発振要求信号ＢＵＳＹａが活性化すると、発振制御信号ＣＴＲＬａを活性化して発振を指示し、周辺回路１８から入力する発振要求信号ＢＵＳＹｂが活性化すると、発振制御信号ＣＴＲＬａと発振制御信号ＣＴＲＬｂとを活性化して発振を指示する。ＣＰＵから発振停止要求信号ＳＴＰＱが入力すると発振器制御回路１３は、発振要求信号ＢＵＳＹａとＢＵＳＹｂとが活性化状態でなければ発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを非活性にして発振停止を指示し、発振要求信号ＢＵＳＹｂが活性化状態でなければ発振制御信号ＣＴＲＬｂを非活性にし、発振停止を指示する。
【００９３】
割り込み入力回路１４は、周辺回路１７から入力する割り込み要求信号ＲＥＱａまたは周辺回路１８から入力する割り込み信号ＲＥＱｂが活性化すると、ＣＰＵ１５に対して割り込み信号ＩＮＴを活性化し、割り込み要求があったことを通知する。ＣＰＵ１５は、動作の基準信号としてクロック信号ＣＬＫｂを入力し、動作する。ＣＰＵ１５は周辺回路１７および１８との間で各種信号ＳＧＮＬａおよびＳＧＮＬｂを入出力し、周辺回路１７および１８を制御し、情報の入出力を行う。割り込み入力回路１４から入力する割り込み信号ＩＮＴが活性化すると、ＣＰＵ１５は割り込みに応じて一連の割り込み処理を行う。ＣＰＵ１５における処理が終了すると、ＣＰＵ１５は第１発振回路１１と第２発振回路１２の発振を停止させるために発振器停止要求命令を実行し、発信停止要求信号ＳＴＰＱを活性化する。その後ＣＰＵ１５は低電力モード指定命令を実行し、動作モードを低電力モードに移行する。
【００９４】
周辺回路１７は、第１発振回路１１が出力するクロック信号ＣＬＫａを入力してクロック信号を必要とする回路部分は動作する。周辺回路１７は、ＣＰＵ１５との間で各種信号ＳＧＬＮａを入出力し、ＣＰＵ１５の制御を受けて情報の入出力を行う。また、本装置のスイッチを入れるなどの操作が行われると、周辺回路１７はクロック信号に依存せずに発振要求信号ＢＵＳＹａを活性化する。さらに、操作が行われたことをＣＰＵ１５に通知するため、割り込み入力回路１４に対して割り込み要求信号ＲＥＱａを活性化する。割り込み要求信号ＲＥＱａは、発振要求信号ＢＵＳＹａとは異なりクロック信号に同期して出力されてもよい。
【００９５】
周辺回路１８は、第２発振回路１２が出力するクロック信号ＣＬＫｂを入力してクロック信号を必要とする回路部分は動作する。周辺回路１８は、ＣＰＵ１５との間で各種信号ＳＧＬＮｂを入出力し、ＣＰＵ１５の制御を受けて情報の入出力を行う。また、本装置のスイッチを入れるなどの操作が行われると、周辺回路１８はクロック信号に依存せずに発振要求信号ＢＵＳＹｂを活性化する。さらに、操作が行われたことをＣＰＵ１５に通知するため、割り込み入力回路１４に対して割り込み要求信号ＲＥＱｂを活性化する。割り込み要求信号ＲＥＱｂは、発振要求信号ＢＵＳＹｂとは異なりクロック信号に同期して出力されてもよい。
【００９６】
第１発振回路１１は、発振器２１とカウンタ２２とゲート回路２３とを備えている。発振器２１は、発振制御信号ＣＴＲＬａが活性化すると発振を開始する。発振器２１の出力は、カウンタ２２とゲート回路２３に入力する。カウンタ２２は、発振制御信号ＣＴＲＬａが活性化すると発振器２１の出力のパルス数を計数する。パルス数が予め設定された数を超過するとゲート回路２３を制御して発振器２１の出力をクロック信号ＣＬＫａとして出力する。この計数するパルス数は、発振器２１の発振が安定するようになるまでの時間を設定する。カウンタ２２は、発振器２１の発振が安定するようになるまでのパルス数を計数するので、設定されたパルス数以上は計数しなくてもよい。よって、第１発振回路１１の出力であるクロック信号ＣＬＫａは、発振が安定してから出力されることになる。
【００９７】
第２発振回路１２は、ＰＬＬ回路２６とカウンタ２７とゲート回路２８とを備えている。ＰＬＬ回路２６は、発振制御信号ＣＴＲＬｂが活性化すると、クロック信号ＣＬＫａを逓倍させた信号を発振する。ＰＬＬ回路２６の出力は、カウンタ２７とゲート回路２８に入力する。カウンタ２７は、発振制御信号ＣＴＲＬｂが活性化するとＰＬＬ回路２６の出力のパルス数を計数する。パルス数が予め設定された数を超過するとゲート回路２８を制御してＰＬＬ回路２６の出力をクロック信号ＣＬＫｂとして出力する。このパルス数を計数して得られる時間は、ＰＬＬ回路２６がクロック信号ＣＬＫａを供給されて発振し、逓倍された目的の周波数になるまでのＰＬＬロック時間である。計数するパルス数は、ＰＬＬ回路２６の発振が安定するようになるまでのパルス数を計数するので、設定されたパルス数以上は計数しなくてもよい。よって、第２発振回路１２の出力であるクロック信号ＣＬＫｂは、発振が安定してから出力されることになる。
【００９８】
図８は、本実施の形態に係るタイミングチャートである。ソフトウェアの動作は、図２によるものとし、メイン処理実行中に割り込みが発生し、メイン処理を中断して割り込み処理を実行する。割り込み処理終了後、メイン処理を続行する。メイン処理終了後、低電力モードで待機する。待機中に操作があって割り込みが発生する。
【００９９】
電源投入によって発振器２１（ｊ）は発振し、第１発振回路１１からクロック信号ＣＬＫａ（ｋ）が出力される。クロック信号ＣＬＫａが第２発振回路１２に入力されると、ＰＬＬ回路２６（ｌ）は発振器２１より高い周波数でクロック信号ＣＬＫａに位相同期して発振し、第２発振回路１２はクロック信号ＣＬＫｂ（ｍ）を出力する。クロック信号ＣＬＫａは、直接或いは間接的に周辺回路１７に供給され、周辺回路１７が動作する。クロック信号ＣＬＫｂは、直接或いは間接的にＣＰＵ１５と周辺回路１８に供給され、ＣＰＵ１５と周辺回路１８が動作する。ＣＰＵ１５（ｂ）は、メイン処理（処理Ａ）を実行し、周辺回路１７（ｄ）および１８（ｅ）は動作中で、発振要求信号ＢＵＳＹａ（ｆ）およびＢＵＳＹｂ（ｇ）は活性化している。
【０１００】
ＣＰＵ１５がメイン処理（処理Ａ）を実行中に、時刻Ｔ５１において操作が加わり、周辺回路１７または１８から割り込み入力回路１４を通して割り込み信号ＩＮＴが活性化する。時刻Ｔ５２においてＣＰＵ１５は割り込みを認知して割り込み処理を開始する。
【０１０１】
割り込み処理終了直前ＣＰＵ１５は発振器停止要求命令を実行し（図２：ステップＳ２２）、時刻Ｔ５３において発振器制御回路１３に入力される発振停止要求信号ＳＴＰＱが活性化する。周辺回路１７および１８が動作中で発振要求信号ＢＵＳＹａおよびＢＵＳＹｂが活性化しているため、発振停止要求信号ＳＴＰＱが活性化したことを示す情報は、発振器制御回路１３内に保持されるが、発振制御信号ＣＴＲＬａおよびＣＴＲＬｂは活性化（発振指示）したままとなる。
【０１０２】
ＣＰＵ１５は割り込み処理を終了してメイン処理（処理Ｂ）を続行する。メイン処理（処理Ｂ）が終了すると、発振器停止要求命令を実行し（図２：ステップＳ１３）、時刻Ｔ５４において発振停止要求信号ＳＴＰＱが活性化する。ＣＰＵ１５は、低電力モード指定命令を実行して低電力モードになる。周辺回路１７および１８は動作中で発振要求信号ＢＵＳＹａおよびＢＵＳＹｂが活性化しているため、発振停止要求信号ＳＴＰＱが活性化した情報は、発振器制御回路１３内に保持され、発振制御信号ＣＴＲＬａおよびＣＴＲＬｂは活性化（発振指示）したままとなる。
【０１０３】
時刻Ｔ５５において、周辺回路１８の動作が完了して停止状態になると、発振要求信号ＢＵＳＹｂが非活性となリ、発振器制御回路１３は内部に保持していた発振停止要求に基づいて発振制御信号ＣＴＲＬｂを非活性（発振停止）にする。発振制御信号ＣＴＲＬｂが非活性になると、ＰＬＬ回路２６は発振を停止する。クロック信号ＣＬＫｂが停止するため、ＣＰＵ１５および周辺回路１８にはクロック信号が供給されず、消費電力を抑制することが可能となる。
【０１０４】
時刻Ｔ５６において、周辺回路１７の動作が完了して停止状態になると、発振要求信号ＢＵＳＹａが非活性となリ、発振器制御回路１３は発振要求信号ＢＵＳＹｂの状態と内部に保持していた発振停止要求に基づいて発振制御信号ＣＴＲＬａも非活性（発振停止）にする。発振制御信号ＣＴＲＬａが非活性になると、発振器２１は発振を停止する。クロック信号ＣＬＫａも停止するため、周辺回路１７にもクロック信号が供給されず、消費電力をさらに抑制することが可能となる。
【０１０５】
時刻Ｔ５７において、スイッチを入れるなどの操作が加わると、周辺回路１７および１８のその操作に対応する回路部分により発振要求信号ＢＵＳＹａおよびＢＵＳＹｂが活性化する。ここでは、周辺回路１７と１８のどちらが起動されても発振要求信号ＢＵＳＹａおよびＢＵＳＹｂが活性化するように構成しているが、関連する周辺回路のみが起動される構成にしてもよい。周辺回路１８が起動される場合は、基本となるクロック信号ＣＬＫａが必要になるため、第１発振回路１１を発振させる。周辺回路１７が起動される場合、周辺回路１８およびＣＰＵ１５はすぐに起動される必要がなく、周辺回路１７の処理によって周辺回路１８およびＣＰＵ１５を起動する必要が発生したとき第２発振回路１２を発振させるとよい。そのような構成では、さらに消費電力の削減に効果がある。このようにして発振要求信号ＢＵＳＹａおよびＢＵＳＹｂが活性化すると、発振器制御回路１３は、発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを活性化する。
【０１０６】
発振制御信号ＣＴＲＬａが活性化すると、発振器２１が発振を開始する。発振器２１の出力はカウンタ２２により計数され、時間ｔａ後に予め設定されたカウント数を超えるとゲート回路２３が発振器２１の出力をクロック信号ＣＬＫａとして出力する。カウント数は、発振を開始してから発振状態が安定するまでの時間ｔａになるように設定しておく。発振が不安定な時期にパルス数を計数するのであるから、計数するパルス数は概数でよい。
【０１０７】
時刻Ｔ５８においてクロック信号ＣＬＫａが出力されると、ＰＬＬ回路２６が発振を開始するとともに、カウンタ２７はクロック信号ＣＬＫａのパルス数をカウントし、ＰＬＬ回路２６の発振が安定するまでの時間ｔｂを計測する。時間ｔｂは、ＰＬＬ回路２６が第１発振回路１１から供給されるクロック信号ＣＬＫａを逓倍させて目的の周波数になるまでのＰＬＬロック時間である。カウンタ２７が予め設定されたパルス数を計数すると、ＰＬＬ回路２６の発振は安定しているものとしてゲート回路２８はクロック信号ＣＬＫｂを出力する。
【０１０８】
時刻Ｔ５８においてクロック信号ＣＬＫａが出力される周辺回路１７が、時刻Ｔ５９においてクロック信号ＣＬＫｂが出力されると周辺回路１８が、クロックによる動作をはじめる。時刻Ｔ５７において操作された事象は周辺回路１７または１８が処理し、割り込み入力回路１４への割り込み要求信号ＲＥＱａまたはＲＥＱｂを活性化する。割り込み入力回路１４は、クロック信号ＣＬＫｂが供給されたＣＰＵ１５に割り込み信号ＩＮＴを与える。
【０１０９】
ＣＰＵ１５は、時刻Ｔ６１において割り込み処理を開始し、時刻Ｔ６２において発振器停止要求命令を実行して発振停止要求信号ＳＴＰＱが活性化する。このとき、周辺回路１７および１８は、まだ動作中であり、クロック信号ＣＬＫａおよびＣＬＫｂの供給を停止できないため、発振器制御回路１３は、内部に発振停止要求の情報を保持して周辺回路１７および１８の動作終了を待つ。
【０１１０】
時刻Ｔ６３に周辺回路１７の動作が終了すると、発振要求信号ＢＵＳＹａが非活性になるが、発振要求信号ＢＵＳＹｂが活性状態であるため、第１発振回路１１を停止することはできない。時刻Ｔ６４になって周辺回路１８の動作が終了すると、発振要求信号ＢＵＳＹｂも非活性になり、発振器制御回路１３は、発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを非活性にし、発振器２１およびＰＬＬ回路２６は発振停止状態にする。
【０１１１】
時刻Ｔ６５において、スイッチを入れるなどの操作が加わると、時刻Ｔ５７の場合と同様に、発振要求信号ＢＵＳＹａおよびＢＵＳＹｂが活性化し、発振器制御回路１３は発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを活性化し、発振器２１が発振を開始する。発振器２１が発振を開始して時間ｔａ後にクロック信号ＣＬＫａが出力され、その時間ｔｂ後にクロック信号ＣＬＫｂが出力される。
【０１１２】
クロック信号ＣＬＫａが時刻Ｔ６６に供給されると周辺回路１７が、時刻Ｔ６７にクロック信号ＣＬＫｂが供給されると周辺回路１８とＣＰＵ１５が動作を開始する。操作に対する処理が行われて割り込みが発生し、時刻Ｔ６８にＣＰＵ１５は割り込み処理を開始する。
【０１１３】
周辺回路１８は、時刻Ｔ６９において動作を終了して停止状態になり、発振要求信号ＢＵＳＹｂは非活性になる。周辺回路１７は、時刻Ｔ７１において動作を終了して停止状態になり、発振要求信号ＢＵＳＹａは非活性になる。このときＣＰＵ１５は割り込み処理の最中であり、まだ発振停止要求信号を出力していない。そのため、発振器制御回路１３は、発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを活性化したままとなる。
【０１１４】
時刻Ｔ７２においてＣＰＵ１５が発振器停止要求命令を実行して発振停止要求信号が活性化すると、発振器制御回路１３は発振制御信号ＣＴＲＬａおよびＣＴＲＬｂを非活性にし、発振器２１およびＰＬＬ回路２６の発振を停止させる。
【０１１５】
このようにして発振回路の発振を制御することによって、発振回路自体の消費電力を削減することはもとより、ＣＰＵ１５、周辺回路１７および１８の待機中の消費電力も削減することが可能となる。また、ゲート回路２３、２８によって発振が安定するまで発振回路からクロック信号は出力されず、クロック信号は常に安定した状態となる。さらに、メイン処理、割り込み処理において処理終了直前に発振器停止要求命令を実行するだけでハードウェアの状態に合わせて発振器の停止が可能となリ、ソフトウェアデバッグが簡略化でき、開発期間を短縮できる。
【図面の簡単な説明】
【０１１６】
【図１】本発明の第１の実施の形態に係る装置の構成を示す図である。
【図２】同装置のＣＰＵの動作を示すフローチャートである。
【図３】同装置のハードウェアの動作を示すタイミングチャートである。
【図４】本発明の第２の実施の形態に係る装置の構成を示す図である。
【図５】同装置のＣＰＵの動作を示すフローチャートである。
【図６】同装置のハードウェアの動作を示すタイミングチャートである。
【図７】本発明の第３の実施の形態に係る装置の構成を示す図である。
【図８】同装置のハードウェアの動作を示すタイミングチャートである。
【符号の説明】
【０１１７】
１１    第１発振回路
１２    第２発振回路
１３    発振器制御回路
１４    割り込み入力回路
１５    ＣＰＵ
１６、１７、１８    周辺回路
２１    発振器
２２    カウンタ
２３    ゲート回路
２６    ＰＬＬ回路
２７    カウンタ
２８    ゲート回路
【図１】
2005078573.tif 000003
【図２】
2005078573.tif 000004
【図３】
2005078573.tif 000005
【図４】
2005078573.tif 000006
【図５】
2005078573.tif 000007
【図６】
2005078573.tif 000008
【図７】
2005078573.tif 000009
【図８】
2005078573.tif 000010