JP4019031B2 - 省電力発振回路および省電力発振回路を用いた携帯端末装置 - Google Patents

省電力発振回路および省電力発振回路を用いた携帯端末装置 Download PDF

Info

Publication number
JP4019031B2
JP4019031B2 JP2003311395A JP2003311395A JP4019031B2 JP 4019031 B2 JP4019031 B2 JP 4019031B2 JP 2003311395 A JP2003311395 A JP 2003311395A JP 2003311395 A JP2003311395 A JP 2003311395A JP 4019031 B2 JP4019031 B2 JP 4019031B2
Authority
JP
Japan
Prior art keywords
oscillation
circuit
request signal
oscillator
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003311395A
Other languages
English (en)
Other versions
JP2005078573A (ja
Inventor
忠志 江口
Original Assignee
埼玉日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 埼玉日本電気株式会社 filed Critical 埼玉日本電気株式会社
Priority to JP2003311395A priority Critical patent/JP4019031B2/ja
Publication of JP2005078573A publication Critical patent/JP2005078573A/ja
Application granted granted Critical
Publication of JP4019031B2 publication Critical patent/JP4019031B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Power Sources (AREA)

Description

本発明は、発振回路に関し、特に、消費電力を減少させる発振回路に関する。
電池など容量が限定される電源を使用する携帯用装置では、動作時間を延長させるように消費電力を極力削減する工夫がなされている。一般的にクロック信号に基づいて動作する回路は、動作速度が速くなると消費電力が増加し、動作速度が遅くなると消費電力は減少する。回路が動作していないときには、そのクロック信号の供給を停止すると消費電力をさらに削減することができる。そのため、回路の動作速度を低速にし、さらに非動作時にはクロック信号にゲートをかけてクロック信号の供給を停止することがなされている。
例えば、特開2000−29560号公報では、消費電力を低減するためのフリップフロップを用いて動作クロック信号を停止させる簡単な構成の回路による技術が知られていた。CPUのセット命令によりフリップフロップFF1がセットされると、バッファ回路BUF1から出力する次のクロック信号の立ち上がり時刻にフリップフロップFF2がセットされる。フリップフロップFF2がセットしてから次のクロック信号の立ち下がりエッジ時刻にフリップフロップFF3がセットされ、アンド回路AND2は内部回路3に動作クロック信号を出力する。CPU1が停止処理でフリップフロップFF1をリセットしてから、次のクロック信号の立ち上がり時刻にフリップフロップFF2をリセットし、このクロック信号の立ち下がりエッジ時刻にフリップフロップFF3をリセットし、アンド回路AND2から出力している動作クロック信号を停止させる。
特開2002−6979号公報では、性能低下を招くことなく各部に供給されるクロック信号の供給を停止して、効果的かつ簡素に低消費電力化を図るクロック制御装置を提供する技術が知られていた。CPUコア及びキャッシュ装置を含むマイクロコンピュータにおいて、キャッシュ装置でキャッシュミスが発生したとき、外部に接続されたメモリ装置にアクセスするためのプログラマブル・ウェイト・コントローラにおいて、アクセスされるアドレス領域に対応して設定されるウェイト数に応じたクロック数だけ基準クロックの動作を停止させるクロック供給停止信号を生成する。クロック供給停止信号は、第1のクロックドライバからCPUコア及びキャッシュ装置に供給される基準クロックのうち少なくとも一方を停止する。このようにして低消費電力化を図る。
特開2002−41495号公報では、マイクロコンピュータにおける消費電力の増加を抑制する技術が知られている。マイクロコンピュータを構成するバス制御回路は、CPUが周辺回路にアクセスする場合にだけ、CPUがコアアドレスバスに出力したアドレスを周辺アドレスバスに出力する。また、クロック発生器は、CPUによる設定に応じて分周したクロック信号を周辺回路に供給するか、または、周辺回路に対する分周クロック信号の供給を停止する。このようにクロック信号の供給/停止をすることにより消費電力の増加を抑制する。
特開2002−164841号公報では、消費電力を抑えることができ、しかも待ち受け後の処理時間を減らすことのできる携帯電話の制御装置及び制御方法が知られている。携帯電話の制御装置は、メインクロック発生器によって発生されたメインクロックによって動作するメインカウンタを備えている。処理装置は、待ち受け状態に入る前にメインクロック発生器からのメインクロックの発生を停止させ、メインカウンタの動作を停止させる。待ち受け状態から出る時にメインカウンタの動作が停止されなかったようにメインカウンタの内容を変更する。このようにして、消費電力を抑えることができ、しかも待ち受け後の処理時間を減らすことができる。
特開平8−221148号公報では、消費電力を低減するとともに、本来の動作は支障なく行うことができる情報処理装置を提供する技術が知られている。システム制御部は、CPUと周辺制御部とモデムを含み、所定のクロック信号CLKが供給されて動作する。所定の時間内にこのシステム制御部への外部からの入力がない場合に、CPUは周辺制御部を介してクロック停止信号を出力する。そして、システム制御部への外部からの入力でクロック再開信号を出力するANDゲートと、クロック停止信号に基づいてシステム制御部へ供給するクロック信号を停止する一方、クロック再開信号に基づいてシステム制御部へ供給するクロック信号の停止を解除するクロック制御部とを備えている。
特開平10−145446号公報では、CPUがスリープモード状態の時、CPUに動作クロックを供給の発振回路を停止することにより消費電力を低減する携帯端末を提供する技術が知られている。CPUと動作クロックを発する発振回路を具備し、時分割方式で通信し、且つCPUのスリープモード機能を有する携帯端末に適用される。発振回路を起動/停止する発振制御手段(発振停止/復帰制御回路、クロック供給制御回路)及び発振安定タイマを設けられている。携帯端末が通信中において、間欠受信状態に入りCPUがスリープモードになるとき、発振制御手段で発振回路を停止してCPUへの動作クロックの供給を停止する。データを受信した際、発振制御手段で発振回路を起動し、発振安定タイマで発振回路の初期の不安定期間を測定する。不安定期間を経過した後、発振制御手段でCPUへ動作クロックを供給し、CPUを通常モードへ復帰させる。このようにして消費電力を低減する携帯端末を提供する。
特開平11−305887号公報では、低消費電力モード移行時に周辺回路の処理が無効にならないマイクロコントローラの制御方法及びマイクロコントローラを提供する技術が知られている。マイクロコントローラは、CPUと、周辺回路と、PUを駆動するCPU用クロック及び周辺回路を駆動する周辺クロックとを個別に出力可能なクロック供給制御部とを備える。マイクロコントローラの制御方法は、周辺回路が動作しているかどうかを判断する工程と、クロックを切り換える工程とを含む。判断する工程において周辺回路が動作していないと判断された場合には、CPUクロックおよび周辺クロックを低消費電力モードに切り替える。判断する工程において周辺回路が動作していると判断された場合には、CPUクロックは低消費電力モードに切り替えるが、周辺クロックは周辺回路の動作が終了した後に低消費電力モードに切り替える。このようにすると周辺回路の処理が無効にならない。
特開2000−29560号公報 特開2002−6979号公報 特開2002−41495号公報 特開2002−164841号公報 特開平8−221148号公報 特開平10−145446号公報 特開平11−305887号公報
本発明の目的は、省電力化を図った発振回路を提供することにある。
本発明の他の目的は、発振開始後の不安定な発振状態のない安定したクロック信号を供給する発振回路を提供することにある。
また、本発明の他の目的は、ソフトウェアの開発期間を短縮する発振回路を提供することにある。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の観点では、省電力発振回路は、第1発振回路(11)と第2発振回路(12)と制御回路(15)と発振制御回路(13)とを具備する。第1発振回路(11)は、第1発振制御信号(CLRLa)に応答して発振する。第2発振回路(12)は、第2発振制御信号(CTRLb)に応答して前記第1発振回路の出力(CLKa)に基づいて発振する。制御回路(15)は、前記第2発振回路の出力(CLKb)に基づいたクロック信号により動作する。発振制御回路(13)は、前記制御回路(15)が出力する発振停止要求信号(STPQ)と、外部から入力される発振要求信号(BUSY)に基づいて、前記第1発振制御信号(CTRLa)と前記第2発振制御信号(CTRLb)とを生成し、それぞれ前記第1発振回路(11)と前記第2発振回路(12)に出力する。
本発明の省電力発振回路において、前記第1発振回路(11)は、前記第1発振回路(11)の発振が安定するまで前記第1発振回路(11)の出力を抑制する第1出力制御回路(23)を備える。前記第2発振回路(12)は、前記第2発振回路(12)の発振が安定するまで前記第2発振回路(12)の出力を抑制する第2出力制御回路(28)を備える。
本発明の省電力発振回路において、前記第1出力制御回路(23)は、前記第1発振回路(21)の発振したパルス数を計数し、計数した結果が予め設定された数に満たないときに前記第1発振回路(11)の出力を抑制し、予め設定された数を超えたときに出力させる。
本発明の省電力発振回路において、前記第2出力制御回路(28)は、前記第1発振回路(11)の出力のパルス数を計数し、計数した結果が予め設定された数に満たないときに前記第2発振回路(12)の出力を抑制し、予め設定された数を超えたときに出力させる。
本発明の省電力発振回路において、前記第1発振制御信号(CTRLa)は、前記発振要求信号(BUSY)が発振要求を示すとき前記第1発振回路(11)に発振を指示し、前記発振要求信号(BUSY)が発振要求を示していないときに前記発振停止要求信号(STPQ)が発振停止を示すとき前記第1発振回路(11)に発振の停止を指示する。前記第2発振制御信号(CTRLb)は、前記発振要求信号(BUSY)が発振要求を示すとき前記第2発振回路(12)に発振を指示し、前記発振要求信号(BUSY)が発振要求を示していないときに前記発振停止要求信号(STPQ)が発振停止を示すとき前記第2発振回路に発振の停止を指示する。
本発明の省電力発振回路において、前記第1発振制御信号(CTRLa)は、前記発振要求信号(BUSY)が発振要求を示すとき前記第1発振回路(11)に発振を指示し、前記発振要求信号(BUSY)が発振要求を示していないときに前記発振停止要求信号(STPQ)が発振停止を示すとき前記第1発振回路(11)に発振の停止を指示する。前記第2発振制御信号(CTRLb)は、前記発振要求信号(BUSY)が発振要求を示すとき前記第2発振回路(12)に発振を指示し、前記発振停止要求信号(STPQ)が発振停止を示すとき前記第2発振回路に発振の停止を指示する。
本発明の省電力発振回路において、外部に存在する周辺回路(16)は、第1周辺回路(17)と第2周辺回路(18)とを備える。第1周辺回路(17)は、前記第1発振回路(11)の出力(CLKa)に基づいて生成されたクロック信号により動作する。また、第1周辺回路(17)は、第1発振要求信号(BUSYa)を出力する。第2周辺回路(18)は、第2発振回路(12)の出力(CLKb)に基づいて生成されたクロック信号により動作する。また、第2周辺回路(17)は、第2発振要求信号(BUSYb)を出力する。前記第1発振制御信号(CTRLa)は、前記第1発振要求信号(BUSYa)と前記第2発振要求信号(BUSYb)の少なくとも一方が発振要求を示すとき前記第1発振回路(11)に発振を指示し、前記第1発振要求信号(BUSYa)及び前記第2発振要求信号(BUSYb)が発振要求を示していないときに前記発振停止要求信号(STPQ)が発振停止を示すとき前記第1発振回路(11)に発振の停止を指示する。前記第2発振制御信号(CTRLb)は、前記第2発振要求信号(BUSYb)が発振要求を示すとき前記第2発振回路(12)に発振を指示し、前記第2発振要求信号(BUSYb)が発振要求を示していないときに前記発振停止要求信号(STPQ)が発振停止を示すとき前記第2発振回路(12)に発振の停止を指示する。
本発明の省電力発振回路において、前記制御回路(15)は、通常動作より低消費電力で動作する低消費電力モードを有するマイクロプロセッサである。
本発明の省電力発振回路は、携帯端末装置に備えられる。
本発明によれば、発振回路の発振を停止することにより、発振器自体と発振器の出力を使用する回路の省電力化を図った発振回路を提供することができる。
本発明の他の目的は、ゲート回路によって発振開始後の不安定な発振状態の出力を抑制するため、安定したクロック信号を供給する発振回路を提供することができる。
また、本発明によれば、ハードウェアを意識することなく発振停止要求命令を使用することができ、ソフトウェアの開発期間を短縮する発振回路を提供することができる。
図1から図3を参照して、本発明の第1の実施の形態を説明する。
図1は、本実施の形態に係る装置の構成を示すブロック図である。本装置は、第1発振回路11、第2発振回路12、発振器制御回路13、割り込み入力回路14、CPU15、周辺回路16を具備している。
第1発振回路11は、発振器制御回路13から発振制御信号CTRLaを入力し、クロック信号CLKaを第2発振回路12に出力する。第2発振回路12は、発振器制御回路13から発振制御信号CTRLbと、第1発振回路11からクロック信号CLKaとを入力し、クロック信号CLKbを出力する。クロック信号CLKbは、CPU15と周辺回路16に供給される。発振器制御回路13は、CPU15から発振停止要求信号STPQと、周辺回路16から発振要求信号BUSYとを入力し、第1発振回路11に発振制御信号CTRLaを、第2発振回路12に発振制御信号CTRLbを出力する。
CPU15は、第2発振回路12から出力されるクロック信号CLKbと、割り込み入力回路14から出力される割り込み信号INTとを入力し、発振停止要求信号STPQを出力し、周辺回路16と制御やデータなどの各種信号SGNLを入出力する。CPU15へのクロック信号は、ここではクロック信号CLKbを直接供給しているが、分周回路やドライブ回路などを介して供給されてもよい。
割り込み入力回路14は、周辺回路16から割り込み要求信号REQを入力し、CPU15に割り込み信号INTを出力する。周辺回路16は、第2発振回路12から出力されるクロック信号CLKbを入力し、発振器制御回路13に発振要求信号BUSYを、割り込み入力回路14に割り込み要求信号REQを出力し、CPU15と制御やデータなどの各種信号SGNLを入出力する。
第1発振回路11は、発振制御信号CTRLaの制御によって発振を開始し、停止する。第2発振回路12は、発振制御信号CTRLbの制御によって発振を開始し、停止する。
発振器制御回路13は、周辺回路16から入力する発振要求信号BUSYが活性化すると、発振制御信号CTRLaと発振制御信号CTRLbとを活性化し、発振を指示する。CPUから発振停止要求信号STPQが入力すると発振器制御回路13は、発振要求信号BUSYが活性化状態でなければ発振制御信号CTRLaおよびCTRLbを非活性にし、発振停止を指示する。
割り込み入力回路14は、周辺回路16から入力する割り込み要求信号REQが活性化すると、CPU15に対して割り込み信号INTを活性化し、割り込み要求があったことを通知する。CPU15は、動作の基準信号としてクロック信号CLKbを入力し、動作する。CPU15は周辺回路16との間で各種信号SGNLを入出力し、周辺回路16を制御し、情報の入出力を行う。割り込み入力回路14から入力する割り込み信号INTが活性化すると、CPU15は割り込みに応じて一連の割り込み処理を行う。CPU15における処理が終了すると、CPU15は第1発振回路11と第2発振回路12の発振を停止させるために発振器停止要求命令を実行し、発信停止要求信号STPQを活性化する。その後CPU15は低電力モード指定命令を実行し、動作モードを低電力モードに移行する。
周辺回路16は、第2発振回路12が出力するクロック信号CLKbを入力してクロック信号を必要とする回路部分は動作する。周辺回路16は、CPU15との間で各種信号SGLNを入出力し、CPU15の制御を受けて情報の入出力を行う。また、本装置のスイッチを入れるなどの操作が行われると、周辺回路16はクロック信号に依存せずに発振要求信号BUSYを活性化する。さらに、操作が行われたことをCPU15に通知するため、割り込み入力回路14に対して割り込み要求信号REQを活性化する。割り込み要求信号REQは、発振要求信号BUSYとは異なりクロック信号に同期して出力されてもよい。
第1発振回路11は、発振器21とカウンタ22とゲート回路23とを備えている。発振器21は、発振制御信号CTRLaが活性化すると発振を開始する。発振器21の出力は、カウンタ22とゲート回路23に入力する。カウンタ22は、発振制御信号CTRLaが活性化すると発振器21の出力のパルス数を計数する。パルス数が予め設定された数を超過するとゲート回路23を制御して発振器21の出力をクロック信号CLKaとして出力する。この計数するパルス数は、発振器21の発振が安定するようになるまでの時間を設定する。カウンタ22は、発振器21の発振が安定するようになるまでのパルス数を計数するので、設定されたパルス数以上は計数しなくてもよい。よって、第1発振回路11の出力であるクロック信号CLKaは、発振が安定してから出力されることになる。
第2発振回路12は、PLL回路26とカウンタ27とゲート回路28とを備えている。PLL回路26は、発振制御信号CTRLbが活性化すると、クロック信号CLKaを逓倍させた信号を発振する。PLL回路26の出力は、ゲート回路28に入力する。カウンタ27は、発振制御信号CTRLbが活性化すると第1発振回路11の出力であるクロック信号CLKaのパルス数を計数する。パルス数が予め設定された数を超過するとゲート回路28を制御してPLL回路26の出力をクロック信号CLKbとして出力する。このパルス数を計数して得られる時間は、PLL回路26がクロック信号CLKaを供給されて発振し、逓倍された目的の周波数になるまでのPLLロック時間である。PLL回路26の発振が安定するようになるまでのパルス数を計数するので、設定されたパルス数以上は計数しなくてもよい。よって、第2発振回路12の出力であるクロック信号CLKbは、発振が安定してから出力されることになる。
図2は、本実施の形態に係るCPU15のソフトウェア動作を示すフローチャートである。CPU15では、ベースとなるメイン処理と割り込み信号によって起動される割り込み処理が行われる。メイン処理は、割り込みが発生する前の処理Aと割り込み発生後の処理Bに分けられているが、割り込みがなければ処理を分割しなくてよく、ステップS11、ステップS12が連続して処理される。処理が終了すると、発振器停止要求命令を実行する(ステップS13)。発振器停止要求命令が実行されると、CPU15から出力される発振停止要求信号が活性化する。続いてCPU15の動作状態を低電力モードに移行するため、低電力モード指定命令を実行する(ステップS14)。低電力モード指定命令は、CPU15自体に対する命令である。次に起動されるまで待機する状態にするため、CPU15を停止状態にして消費電力を削減するものである。低電力モードでは、CPU15はクロック信号の入力は不要である。
割り込み処理は、割り込み信号INTが活性化すると実行される。割り込み処理が開始すると、割り込み要因の解析、割り込み要因に対応した処理など、割り込みに関する処理が実行される(ステップS21)。その後、発振器を停止するため、発振器停止要求命令を実行し(ステップS22)、発振停止要求信号を活性化する。メイン処理を実行中に割り込みが発生した場合は、割り込み処理が終了すると割り込み発生前に実行していた処理に戻るため、メイン処理を実行中の割り込み処理かどうかを判定し(ステップS23)、実行中であればそのまま割り込み処理を終了する(ステップS23:YES)。メイン処理実行中でなければ(ステップS23:NO)、割り込み処理を終了するとその後の処理はないので、低電力モード指定命令を実行して低電力モードに移行する(ステップS24)。
メイン処理と割り込み処理について時間を追って説明する。メイン処理の処理A(ステップS11)が終了したところで割り込みが発生すると、割り込み処理に移行する。割り込みに関する処理が実行され(ステップS21)、発振器停止要求命令が実行され(ステップS22)、メイン処理が実行中であるため(ステップS23:YES)、割り込み処理を終了し、メイン処理に戻る。メイン処理では、割り込み発生前の続きの処理Bを実行する(ステップS12)。処理Bが終了すると、発振器停止要求命令を実行し(ステップS13)、低電力モード指定命令を実行して低電力モードに移行する(ステップS14)。低電力モードは待機状態であり、例えば、スイッチを押すなどの操作があると、処理すべき事象が発生したので割り込みが発生する。低電力モード中にクロック信号が入力されて割り込み信号INTが活性化すると、割り込み処理が起動され、割り込みに関する処理が実行される(ステップS21)。割り込みに関する処理が終了すると、発振器停止要求命令を実行し(ステップS22)、メイン処理は実行していないときの割り込み処理であるから(ステップS23:NO)、低電力モード指定命令を実行し(ステップS24)、割り込み処理を終了して低電力モードの待機状態となる。
図3は、本実施の形態に係るタイミングチャートである。メイン処理実行中に割り込みが発生し、メイン処理を中断して割り込み処理を実行する。割り込み処理終了後、メイン処理を続行する。メイン処理終了後、低電力モードで待機する。待機中に操作があって割り込みが発生する。
電源投入によって発振器21(g)は発振し、第1発振回路11からクロック信号CLKa(h)が出力される。クロック信号CLKaが第2発振回路12に入力されると、PLL回路26(i)は発振器21より高い周波数でクロック信号CLKaに位相同期して発振し、第2発振回路12はクロック信号CLKb(j)を出力する。クロック信号CLKbは、直接或いは間接的にCPU15と周辺回路16にクロック信号として供給され、CPU15と周辺回路16が動作する。CPU15(b)は、メイン処理(処理A)を実行し、周辺回路16(d)は動作中で、発振要求信号BUSY(e)は活性化している。
CPU15がメイン処理(処理A)を実行中に、時刻T11において操作が加わり、周辺回路16から割り込み入力回路14を通して割り込み信号INTが活性化する。時刻T12においてCPU15は割り込みを認知して割り込み処理を開始する。
割り込み処理終了直前CPU15は発振器停止要求命令を実行し(図2:ステップS22)、時刻T13において発振器制御回路13に入力される発振停止要求信号STPQが活性化する。周辺回路16が動作中で発振要求信号BUSYが活性化しているため、発振停止要求信号STPQが活性化したことを示す情報は、発振器制御回路13内に保持されるが、発振制御信号CTRLaおよびCTRLbは活性化(発振指示)したままとなる。
CPU15は割り込み処理を終了してメイン処理(処理B)を続行する。メイン処理(処理B)が終了すると、発振器停止要求命令を実行し(図2:ステップS13)、時刻T14において発振停止要求信号STPQが活性化する。CPU15は、低電力モード指定命令を実行して低電力モードになる。周辺回路16は動作中で発振要求信号BUSYが活性化しているため、発振停止要求信号STPQが活性化した情報は、発振器制御回路13内に保持され、発振制御信号CTRLaおよびCTRLbは活性化(発振指示)したままとなる。
時刻T15において、周辺回路16の動作が完了して停止状態になると、発振要求信号BUSYが非活性となリ、発振器制御回路13は内部に保持していた発振停止要求に基づいて発振制御信号CTRLaおよびCTRLbを非活性(発振停止)にする。発振制御信号CTRLaおよびCTRLbが非活性になると、発振器21とPLL回路26は発振を停止する。クロック信号CLKa/bが停止するため、CPU15および周辺回路16にはクロック信号が供給されず、消費電力を抑制することが可能となる。
時刻T16において、スイッチを入れるなどの操作が加わると、周辺回路16のその操作に対応する回路部分により発振要求信号BUSYが活性化する。発振要求信号BUSYが活性化すると、発振器制御回路13は、発振制御信号CTRLaおよびCTRLbを活性化する。発振制御信号CTRLaが活性化すると、発振器21が発振を開始する。発振器21の出力はカウンタ22により計数され、時間ta後に予め設定されたカウント数を超えるとゲート回路23が発振器21の出力をクロック信号CLKaとして出力する。カウント数は、発振を開始してから発振状態が安定するまでの時間taになるように設定しておく。発振が不安定な時期にパルス数を計数するのであるから、計数するパルス数は概数でよい。
時刻T17においてクロック信号CLKaが出力されると、PLL回路26が発振を開始するとともに、カウンタ27はクロック信号CLKaのパルス数をカウントし、PLL回路26の発振が安定するまでの時間tbを計測する。時間tbは、PLL回路26が第1発振回路11から供給されるクロック信号CLKaを逓倍させて目的の周波数になるまでのPLLロック時間である。カウンタ27が予め設定されたパルス数を計数すると、PLL回路26の発振は安定しているものとしてゲート回路28はクロック信号CLKbを出力する。
時刻T18においてクロック信号CLKbが出力されると周辺回路16は、クロックによる動作をはじめ、時刻T16において操作された事象を処理し、割り込み入力回路14への割り込み要求信号REQを活性化する。割り込み入力回路14は、クロック信号CLKbが供給されて待機状態であったCPU15に割り込み信号INTを与える。
CPU15は、時刻T19において割り込み処理を開始し、時刻T21において発振器停止要求命令を実行して発振停止要求信号STPQが活性化する。このとき、周辺回路16は、まだ動作中であり、クロック信号CLKbの供給を停止できないため、発振器制御回路13は、内部に発振停止要求の情報を保持して周辺回路16の動作終了を待つ。
時刻T22に周辺回路16の動作が終了すると、発振要求信号BUSYが非活性になり、発振器制御回路13は、発振制御信号CTRLaおよびCTRLbを非活性にし、発振器21およびPLL回路26は発振停止状態になる。
時刻T23において、スイッチを入れるなどの操作が加わると、時刻T16の場合と同様に、周辺回路16のその操作に対応する回路部分により発振要求信号BUSYが活性化し、発振器制御回路13は発振制御信号CTRLaおよびCTRLbを活性化し、発振器21が発振を開始する。発振器21が発振を開始して時間ta後にクロック信号CLKaが出力され、その時間tb後にクロック信号CLKbが出力される。
クロック信号CLKbが供給されると、周辺回路16は動作を開始する。時刻T26においてCPU15に割り込みを発生させ、CPU15は割り込み処理を開始する。
周辺回路16は、時刻T25において動作を終了して停止状態になり、発振要求信号BUSYは非活性になる。このときCPU15は割り込み処理の最中であり、まだ発振停止要求信号を出力していない。そのため、発振器制御回路13は、発振制御信号CTRLaおよびCTRLbを活性化したままとなる。
時刻T26においてCPU15が発振器停止要求命令を実行して発振停止要求信号が活性化すると、発振器制御回路13は発振制御信号CTRLaおよびCTRLbを非活性にし、発振器21およびPLL回路26の発振を停止させる。
このようにして発振回路の発振を制御することによって、発振回路自体の消費電力を削減することはもとより、CPU15、周辺回路16の待機中の消費電力も削減することが可能となる。また、ゲート回路23、28によって発振が安定するまで発振回路からクロック信号は出力されず、クロック信号は常に安定した状態となる。さらに、メイン処理、割り込み処理において処理終了直前に発振器停止要求命令を実行するだけでハードウェアの状態に合わせて発振器の停止が可能となリ、ソフトウェアデバッグが簡略化でき、開発期間を短縮できる。
図4から図6を参照して、本発明の第2の実施の形態を説明する。本実施の形態では、周辺回路16のクロック動作は比較的遅く、周辺回路16はクロック信号CLKaにより動作し、CPU15は、クロック信号CLKbで動作する。
図4は、本実施の形態に係る装置の構成を示すブロック図である。本装置は、第1発振回路11、第2発振回路12、発振器制御回路13、割り込み入力回路14、CPU15、周辺回路16を具備している。
第1発振回路11は、発振器制御回路13から発振制御信号CTRLaを入力し、クロック信号CLKaを第2発振回路12と周辺回路16に出力する。第2発振回路12は、発振器制御回路13から発振制御信号CTRLbと、第1発振回路11からクロック信号CLKaとを入力し、クロック信号CLKbを出力する。クロック信号CLKbは、CPU15に供給される。発振器制御回路13は、CPU15から発振停止要求信号STPQと、周辺回路16から発振要求信号BUSYとを入力し、第1発振回路11に発振制御信号CTRLaを、第2発振回路12に発振制御信号CTRLbを出力する。
CPU15は、第2発振回路12から出力されるクロック信号CLKbと、割り込み入力回路14から出力される割り込み信号INTとを入力し、発振停止要求信号STPQを出力し、周辺回路16と制御やデータなどの各種信号SGNLを入出力する。CPU15へのクロック信号は、ここではクロック信号CLKbを直接供給しているが、分周回路やドライブ回路などを介して供給されてもよい。
割り込み入力回路14は、周辺回路16から割り込み要求信号REQを入力し、CPU15に割り込み信号INTを出力する。周辺回路16は、第1発振回路11から出力されるクロック信号CLKaを入力し、発振器制御回路13に発振要求信号BUSYを、割り込み入力回路14に割り込み要求信号REQを出力し、CPU15と制御やデータなどの各種信号SGNLを入出力する。
第1発振回路11は、発振制御信号CTRLaの制御によって発振を開始し、停止する。第2発振回路12は、発振制御信号CTRLbの制御によって発振を開始し、停止する。
発振器制御回路13は、周辺回路16から入力する発振要求信号BUSYが活性化すると、発振制御信号CTRLaと発振制御信号CTRLbとを活性化し、発振を指示する。CPUから発振停止要求信号STPQが入力すると発振器制御回路13は、発振制御信号CTRLbを非活性にし、第2発振回路12に発振停止を指示する。また、発振要求信号BUSYが活性化状態でなければ発振制御信号CTRLaを非活性にして第1発振回路11に発振停止を指示し、発振要求信号BUSYが活性化状態であれば、非活性状態になるまで待機する。
割り込み入力回路14は、周辺回路16から入力する割り込み要求信号REQが活性化すると、CPU15に対して割り込み信号INTを活性化し、割り込み要求があったことを通知する。CPU15は、動作の基準信号としてクロック信号CLKbを入力し、動作する。CPU15は周辺回路16との間で各種信号SGNLを入出力し、周辺回路16を制御し、情報の入出力を行う。割り込み入力回路14から入力する割り込み信号INTが活性化すると、CPU15は割り込みに応じて一連の割り込み処理を行う。CPU15における処理が終了すると、CPU15は第1発振回路11と第2発振回路12の発振を停止させるために発振器停止要求命令を実行し、発信停止要求信号STPQを活性化する。その後CPU15は低電力モード指定命令を実行し、動作モードを低電力モードに移行する。
周辺回路16は、第1発振回路11が出力するクロック信号CLKaを入力してクロック信号を必要とする回路部分は動作する。周辺回路16は、CPU15との間で各種信号SGLNを入出力し、CPU15の制御を受けて情報の入出力を行う。また、本装置のスイッチを入れるなどの操作が行われると、周辺回路16はクロック信号に依存せずに発振要求信号BUSYを活性化する。さらに、操作が行われたことをCPU15に通知するため、割り込み入力回路14に対して割り込み要求信号REQを活性化する。割り込み要求信号REQは、発振要求信号BUSYとは異なりクロック信号に同期して出力されてもよい。
第1発振回路11は、発振器21とカウンタ22とゲート回路23とを備えている。発振器21は、発振制御信号CTRLaが活性化すると発振を開始する。発振器21の出力は、カウンタ22とゲート回路23に入力する。カウンタ22は、発振制御信号CTRLaが活性化すると発振器21の出力のパルス数を計数する。パルス数が予め設定された数を超過するとゲート回路23を制御して発振器21の出力をクロック信号CLKaとして出力する。この計数するパルス数は、発振器21の発振が安定するようになるまでの時間を設定する。カウンタ22は、発振器21の発振が安定するようになるまでのパルス数を計数するので、設定されたパルス数以上は計数しなくてもよい。よって、第1発振回路11の出力であるクロック信号CLKaは、発振が安定してから出力されることになる。
第2発振回路12は、PLL回路26とカウンタ27とゲート回路28とを備えている。PLL回路26は、発振制御信号CTRLbが活性化すると、クロック信号CLKaを逓倍させた信号を発振する。PLL回路26の出力は、ゲート回路28に入力する。カウンタ27は、発振制御信号CTRLbが活性化すると第1発振回路11の出力であるクロック信号CLKaのパルス数を計数する。パルス数が予め設定された数を超過するとゲート回路28を制御してPLL回路26の出力をクロック信号CLKbとして出力する。このパルス数を計数して得られる時間は、PLL回路26がクロック信号CLKaを供給されて発振し、逓倍された目的の周波数になるまでのPLLロック時間である。PLL回路26の発振が安定するようになるまでのパルス数を計数するので、設定されたパルス数以上は計数しなくてもよい。よって、第2発振回路12の出力であるクロック信号CLKbは、発振が安定してから出力されることになる。
図5は、本実施の形態に係るCPU15のソフトウェア動作を示すフローチャートである。CPU15では、ベースとなるメイン処理と割り込み信号によって起動される割り込み処理が行われる。メイン処理は、割り込みが発生する前の処理Aと割り込み発生後の処理Bに分けられているが、割り込みがなければ処理を分割しなくてよく、ステップS11、ステップS12が連続して処理される。処理が終了すると、発振器停止要求命令を実行する(ステップS13)。発振器停止要求命令が実行されると、CPU15から出力される発振停止要求信号が活性化する。続いてCPU15の動作状態を低電力モードに移行するため、低電力モード指定命令を実行する(ステップS14)。低電力モード指定命令は、CPU15自体に関する命令である。次に起動されるまで待機する状態にするため、CPU15を停止状態にして消費電力を削減するものである。低電力モードでは、CPU15はクロック信号の入力は不要である。
割り込み処理は、割り込み信号INTが活性化すると実行される。割り込み処理が開始すると、割り込み要因の解析、割り込み要因に対応した処理など、割り込みに関する処理が実行される(ステップS31)。その後、メイン処理を実行中に割り込みが発生した場合は、割り込み処理が終了すると割り込み発生前に実行していた処理に戻るため、メイン処理を実行中の割り込み処理かどうかを判定し(ステップS32)、実行中であればそのまま割り込み処理を終了する(ステップS32:YES)。メイン処理実行中でなければ(ステップS32:NO)、割り込み処理を終了するとその後の処理はないので、発振器を停止するため、発振器停止要求命令を実行し(ステップS33)、発振停止要求信号を活性化する。その後、低電力モード指定命令を実行して低電力モードに移行する(ステップS34)。
メイン処理と割り込み処理について時間を追って説明する。メイン処理の処理A(ステップS11)が終了したところで割り込みが発生すると、割り込み処理に移行する。割り込みに関する処理が実行され(ステップS31)、メイン処理が中断しているか判定する(ステップS32)。メイン処理が実行中であるため(ステップS32:YES)、割り込み処理を終了してメイン処理に戻る。メイン処理では、割り込み発生前の続きの処理Bを実行する(ステップS12)。処理Bが終了すると、発振器停止要求命令を実行し(ステップS13)、低電力モード指定命令を実行して低電力モードに移行する(ステップS14)。低電力モードは待機状態であり、例えば、スイッチを押すなどの操作があると、処理すべき事象が発生したので割り込みが発生する。低電力モード中にクロック信号が入力されて割り込み信号INTが活性化すると、割り込み処理が起動され、割り込みに関する処理が実行される(ステップS31)。割り込みに関する処理が終了すると、メイン処理は実行していないときの割り込み処理であるから(ステップS32:NO)、発振器停止要求命令(ステップS33)と、低電力モード指定命令を実行し(ステップS34)、割り込み処理を終了して低電力モードの待機状態となる。
図6は、本実施の形態に係るタイミングチャートである。メイン処理実行中に割り込みが発生し、メイン処理を中断して割り込み処理を実行する。割り込み処理終了後、メイン処理を続行する。メイン処理終了後、低電力モードで待機する。待機中に操作があって割り込みが発生する。
電源投入によって発振器21(h)は発振し、第1発振回路11からクロック信号CLKa(i)が出力される。クロック信号CLKaは、第2発振回路12と周辺回路16に供給される。クロック信号CLKaが第2発振回路12に入力されると、PLL回路26(j)は発振器21より高い周波数でクロック信号CLKaに位相同期して発振し、第2発振回路12はクロック信号CLKb(k)を出力する。クロック信号CLKbは、直接或いは間接的にCPU15にクロック信号として供給され、CPU15が動作する。CPU15(b)は、メイン処理(処理A)を実行し、周辺回路16(d)は動作中で、発振要求信号BUSY(e)は活性化している。
CPU15がメイン処理(処理A)を実行中に、時刻T31において操作が加わり、周辺回路16から割り込み入力回路14を通して割り込み信号INTが活性化する。時刻T32においてCPU15は割り込みを認知して割り込み処理を開始する。
メイン処理実行中の割り込み処理であるから、割り込み処理が終了すると、CPU15はメイン処理(処理B)を続行する。メイン処理(処理B)が終了すると、発振器停止要求命令を実行し(図5:ステップS13)、時刻T34において発振停止要求信号STPQが活性化する。発振器制御回路13は、発振停止要求信号STPQに基づいて発振制御信号CTRLbを非活性にし、PLL回路26の発振を停止させる。CPU15は、低電力モード指定命令を実行して低電力モードになる。なお、PLL回路26の発振の停止は、CPU15が低電力モード指定命令を実行して低電力モードに移行するまで遅延させてある。一方、周辺回路16は動作中で発振要求信号BUSYが活性化しているため、発振停止要求信号STPQが活性化した情報は、発振器制御回路13内に保持され、発振制御信号CTRLaは活性化(発振指示)したままとなる。
時刻T35において、周辺回路16の動作が完了して停止状態になると、発振要求信号BUSYが非活性となリ、発振器制御回路13は内部に保持していた発振停止要求に基づいて発振制御信号CTRLaを非活性(発振停止)にする。発振制御信号CTRLaが非活性になると、発振器21は発振を停止する。クロック信号CLKaおよびCLKbが停止するため、CPU15および周辺回路16にはクロック信号が供給されず、消費電力を抑制することが可能となる。
時刻T36において、スイッチを入れるなどの操作が加わると、周辺回路16のその操作に対応する回路部分により発振要求信号BUSYが活性化する。発振要求信号BUSYが活性化すると、発振器制御回路13は、発振制御信号CTRLaおよびCTRLbを活性化する。発振制御信号CTRLaが活性化すると、発振器21が発振を開始する。発振器21の出力はカウンタ22により計数され、時間ta後に予め設定されたカウント数を超えるとゲート回路23が発振器21の出力をクロック信号CLKaとして出力する。カウント数は、発振を開始してから発振状態が安定するまでの時間taになるように設定しておく。発振が不安定な時期にパルス数を計数するのであるから、計数するパルス数は概数でよい。
時刻T37においてクロック信号CLKaが出力されると、PLL回路26が発振を開始するとともに、カウンタ27はクロック信号CLKaのパルス数をカウントし、PLL回路26の発振が安定するまでの時間tbを計測する。時間tbは、PLL回路26が第1発振回路11から供給されるクロック信号CLKaを逓倍させて目的の周波数になるまでのPLLロック時間である。カウンタ27が予め設定されたパルス数を計数すると、PLL回路26の発振は安定しているものとしてゲート回路28はクロック信号CLKbを出力する。
クロック信号CLKaが供給されると周辺回路16は動作を開始し、時刻T36において操作された事象を処理し、割り込み入力回路14への割り込み要求信号REQを活性化する。割り込み入力回路14は、時刻T38にクロック信号CLKbが供給されたCPU15に割り込み信号INTを与え、CPU15は、割り込み処理を開始する。
時刻T39において割り込み処理を終了するCPU15は、発振器停止要求命令を実行して発振停止要求信号STPQが活性化する。発振器制御回路13は、発振停止要求信号STPQに基づいて発振制御信号CTRLbを非活性にし、PLL回路26の発振を停止させる。このとき、周辺回路16は、まだ動作中であり、クロック信号CLKaの供給を停止できないため、発振器制御回路13は、内部に発振停止要求の情報を保持して周辺回路16の動作終了を待つ。
時刻T41に周辺回路16の動作が終了すると、発振要求信号BUSYが非活性になる。発振器制御回路13は、発振制御信号CTRLaを非活性にし、発振器21を発振停止状態にする。
時刻T42において、スイッチを入れるなどの操作が加わると、時刻T36の場合と同様に、周辺回路16のその操作に対応する回路部分により発振要求信号BUSYが活性化し、発振器制御回路13は発振制御信号CTRLaおよびCTRLbを活性化し、発振器21が発振を開始する。発振器21が発振を開始して時間ta後にクロック信号CLKaが出力され、その時間tb後にクロック信号CLKbが出力される。
クロック信号CLKaが供給されると、周辺回路16は動作を開始し、時刻T43においてCPU15に割り込みを発生させ、CPU15は割り込み処理を開始する。
周辺回路16は、時刻T44において動作を終了して停止状態になり、発振要求信号BUSYは非活性になる。このときCPU15は割り込み処理の最中であり、まだ発振停止要求信号を出力していない。そのため、発振器制御回路13は、発振制御信号CTRLaおよびCTRLbを活性化したままとなる。
時刻T45においてCPU15が発振器停止要求命令を実行して発振停止要求信号が活性化すると、発振器制御回路13は発振制御信号CTRLaおよびCTRLbを非活性にし、発振器21およびPLL回路26の発振を停止させる。
このようにして発振回路の発振を制御することによって、発振回路自体の消費電力を削減することはもとより、CPU15、周辺回路16の待機中の消費電力も削減することが可能となる。また、ゲート回路23、28によって発振が安定するまで発振回路からクロック信号は出力されず、クロック信号は常に安定した状態となる。さらに、発振器停止要求命令をソフトウェア上の動作管理だけで実行するとハードウェアの状態に合わせて発振器の停止が可能となリ、ソフトウェアデバッグが簡略化でき、開発期間を短縮できる。
図7と図8を参照して、本発明の第3の実施の形態を説明する。本実施の形態では、周辺回路は、比較的低速な処理を行う低い周波数のクロックを使用する周辺回路17と、比較的高速な処理を行う高い周波数のクロックを使用する周辺回路18に分かれ、それぞれ別のクロックを供給する形態である。本実施の形態のソフトウェア動作は、図2または図5と同じ動作となるため、ここでは説明を省略する。
図7は、本実施の形態に係る装置の構成を示すブロック図である。本装置は、第1発振回路11、第2発振回路12、発振器制御回路13、割り込み入力回路14、CPU15、周辺回路17および18を具備している。
第1発振回路11は、発振器制御回路13から発振制御信号CTRLaを入力し、クロック信号CLKaを第2発振回路12と周辺回路17に出力する。第2発振回路12は、発振器制御回路13から発振制御信号CTRLbと、第1発振回路11からクロック信号CLKaとを入力し、クロック信号CLKbを出力する。クロック信号CLKbは、CPU15と周辺回路18に供給される。発振器制御回路13は、CPU15から発振停止要求信号STPQと、周辺回路17から発振要求信号BUSYa、周辺回路18から発振要求信号BUSYbとを入力し、第1発振回路11に発振制御信号CTRLaを、第2発振回路12に発振制御信号CTRLbを出力する。
CPU15は、第2発振回路12から出力されるクロック信号CLKbと、割り込み入力回路14から出力される割り込み信号INTとを入力し、発振停止要求信号STPQを出力し、周辺回路17および18と制御やデータなどの各種信号SGNLaおよびSGNLbを入出力する。CPU15へのクロック信号は、ここではクロック信号CLKbを直接供給しているが、分周回路やドライブ回路などを介して供給されてもよい。
割り込み入力回路14は、周辺回路17および18から割り込み要求信号REQaおよびREQbを入力し、CPU15に割り込み信号INTを出力する。周辺回路17は、第1発振回路11から出力されるクロック信号CLKaを入力し、発振器制御回路13に発振要求信号BUSYaを、割り込み入力回路14に割り込み要求信号REQaを出力し、CPU15と制御やデータなどの各種信号SGNLaを入出力する。周辺回路18は、第2発振回路12から出力されるクロック信号CLKbを入力し、発振器制御回路13に発振要求信号BUSYbを、割り込み入力回路14に割り込み要求信号REQbを出力し、CPU15と制御やデータなどの各種信号SGNLbを入出力する。
第1発振回路11は、発振制御信号CTRLaの制御によって発振を開始し、停止する。第2発振回路12は、発振制御信号CTRLbの制御によって発振を開始し、停止する。
発振器制御回路13は、周辺回路17から入力する発振要求信号BUSYaが活性化すると、発振制御信号CTRLaを活性化して発振を指示し、周辺回路18から入力する発振要求信号BUSYbが活性化すると、発振制御信号CTRLaと発振制御信号CTRLbとを活性化して発振を指示する。CPUから発振停止要求信号STPQが入力すると発振器制御回路13は、発振要求信号BUSYaとBUSYbとが活性化状態でなければ発振制御信号CTRLaおよびCTRLbを非活性にして発振停止を指示し、発振要求信号BUSYbが活性化状態でなければ発振制御信号CTRLbを非活性にし、発振停止を指示する。
割り込み入力回路14は、周辺回路17から入力する割り込み要求信号REQaまたは周辺回路18から入力する割り込み信号REQbが活性化すると、CPU15に対して割り込み信号INTを活性化し、割り込み要求があったことを通知する。CPU15は、動作の基準信号としてクロック信号CLKbを入力し、動作する。CPU15は周辺回路17および18との間で各種信号SGNLaおよびSGNLbを入出力し、周辺回路17および18を制御し、情報の入出力を行う。割り込み入力回路14から入力する割り込み信号INTが活性化すると、CPU15は割り込みに応じて一連の割り込み処理を行う。CPU15における処理が終了すると、CPU15は第1発振回路11と第2発振回路12の発振を停止させるために発振器停止要求命令を実行し、発信停止要求信号STPQを活性化する。その後CPU15は低電力モード指定命令を実行し、動作モードを低電力モードに移行する。
周辺回路17は、第1発振回路11が出力するクロック信号CLKaを入力してクロック信号を必要とする回路部分は動作する。周辺回路17は、CPU15との間で各種信号SGLNaを入出力し、CPU15の制御を受けて情報の入出力を行う。また、本装置のスイッチを入れるなどの操作が行われると、周辺回路17はクロック信号に依存せずに発振要求信号BUSYaを活性化する。さらに、操作が行われたことをCPU15に通知するため、割り込み入力回路14に対して割り込み要求信号REQaを活性化する。割り込み要求信号REQaは、発振要求信号BUSYaとは異なりクロック信号に同期して出力されてもよい。
周辺回路18は、第2発振回路12が出力するクロック信号CLKbを入力してクロック信号を必要とする回路部分は動作する。周辺回路18は、CPU15との間で各種信号SGLNbを入出力し、CPU15の制御を受けて情報の入出力を行う。また、本装置のスイッチを入れるなどの操作が行われると、周辺回路18はクロック信号に依存せずに発振要求信号BUSYbを活性化する。さらに、操作が行われたことをCPU15に通知するため、割り込み入力回路14に対して割り込み要求信号REQbを活性化する。割り込み要求信号REQbは、発振要求信号BUSYbとは異なりクロック信号に同期して出力されてもよい。
第1発振回路11は、発振器21とカウンタ22とゲート回路23とを備えている。発振器21は、発振制御信号CTRLaが活性化すると発振を開始する。発振器21の出力は、カウンタ22とゲート回路23に入力する。カウンタ22は、発振制御信号CTRLaが活性化すると発振器21の出力のパルス数を計数する。パルス数が予め設定された数を超過するとゲート回路23を制御して発振器21の出力をクロック信号CLKaとして出力する。この計数するパルス数は、発振器21の発振が安定するようになるまでの時間を設定する。カウンタ22は、発振器21の発振が安定するようになるまでのパルス数を計数するので、設定されたパルス数以上は計数しなくてもよい。よって、第1発振回路11の出力であるクロック信号CLKaは、発振が安定してから出力されることになる。
第2発振回路12は、PLL回路26とカウンタ27とゲート回路28とを備えている。PLL回路26は、発振制御信号CTRLbが活性化すると、クロック信号CLKaを逓倍させた信号を発振する。PLL回路26の出力は、ゲート回路28に入力する。カウンタ27は、発振制御信号CTRLbが活性化すると第1発振回路11の出力であるクロック信号CLKaのパルス数を計数する。パルス数が予め設定された数を超過するとゲート回路28を制御してPLL回路26の出力をクロック信号CLKbとして出力する。このパルス数を計数して得られる時間は、PLL回路26がクロック信号CLKaを供給されて発振し、逓倍された目的の周波数になるまでのPLLロック時間である。計数するパルス数は、PLL回路26の発振が安定するようになるまでのパルス数を計数するので、設定されたパルス数以上は計数しなくてもよい。よって、第2発振回路12の出力であるクロック信号CLKbは、発振が安定してから出力されることになる。
図8は、本実施の形態に係るタイミングチャートである。ソフトウェアの動作は、図2によるものとし、メイン処理実行中に割り込みが発生し、メイン処理を中断して割り込み処理を実行する。割り込み処理終了後、メイン処理を続行する。メイン処理終了後、低電力モードで待機する。待機中に操作があって割り込みが発生する。
電源投入によって発振器21(j)は発振し、第1発振回路11からクロック信号CLKa(k)が出力される。クロック信号CLKaが第2発振回路12に入力されると、PLL回路26(l)は発振器21より高い周波数でクロック信号CLKaに位相同期して発振し、第2発振回路12はクロック信号CLKb(m)を出力する。クロック信号CLKaは、直接或いは間接的に周辺回路17に供給され、周辺回路17が動作する。クロック信号CLKbは、直接或いは間接的にCPU15と周辺回路18に供給され、CPU15と周辺回路18が動作する。CPU15(b)は、メイン処理(処理A)を実行し、周辺回路17(d)および18(e)は動作中で、発振要求信号BUSYa(f)およびBUSYb(g)は活性化している。
CPU15がメイン処理(処理A)を実行中に、時刻T51において操作が加わり、周辺回路17または18から割り込み入力回路14を通して割り込み信号INTが活性化する。時刻T52においてCPU15は割り込みを認知して割り込み処理を開始する。
割り込み処理終了直前CPU15は発振器停止要求命令を実行し(図2:ステップS22)、時刻T53において発振器制御回路13に入力される発振停止要求信号STPQが活性化する。周辺回路17および18が動作中で発振要求信号BUSYaおよびBUSYbが活性化しているため、発振停止要求信号STPQが活性化したことを示す情報は、発振器制御回路13内に保持されるが、発振制御信号CTRLaおよびCTRLbは活性化(発振指示)したままとなる。
CPU15は割り込み処理を終了してメイン処理(処理B)を続行する。メイン処理(処理B)が終了すると、発振器停止要求命令を実行し(図2:ステップS13)、時刻T54において発振停止要求信号STPQが活性化する。CPU15は、低電力モード指定命令を実行して低電力モードになる。周辺回路17および18は動作中で発振要求信号BUSYaおよびBUSYbが活性化しているため、発振停止要求信号STPQが活性化した情報は、発振器制御回路13内に保持され、発振制御信号CTRLaおよびCTRLbは活性化(発振指示)したままとなる。
時刻T55において、周辺回路18の動作が完了して停止状態になると、発振要求信号BUSYbが非活性となリ、発振器制御回路13は内部に保持していた発振停止要求に基づいて発振制御信号CTRLbを非活性(発振停止)にする。発振制御信号CTRLbが非活性になると、PLL回路26は発振を停止する。クロック信号CLKbが停止するため、CPU15および周辺回路18にはクロック信号が供給されず、消費電力を抑制することが可能となる。
時刻T56において、周辺回路17の動作が完了して停止状態になると、発振要求信号BUSYaが非活性となリ、発振器制御回路13は発振要求信号BUSYbの状態と内部に保持していた発振停止要求に基づいて発振制御信号CTRLaも非活性(発振停止)にする。発振制御信号CTRLaが非活性になると、発振器21は発振を停止する。クロック信号CLKaも停止するため、周辺回路17にもクロック信号が供給されず、消費電力をさらに抑制することが可能となる。
時刻T57において、スイッチを入れるなどの操作が加わると、周辺回路17および18のその操作に対応する回路部分により発振要求信号BUSYaおよびBUSYbが活性化する。ここでは、周辺回路17と18のどちらが起動されても発振要求信号BUSYaおよびBUSYbが活性化するように構成しているが、関連する周辺回路のみが起動される構成にしてもよい。周辺回路18が起動される場合は、基本となるクロック信号CLKaが必要になるため、第1発振回路11を発振させる。周辺回路17が起動される場合、周辺回路18およびCPU15はすぐに起動される必要がなく、周辺回路17の処理によって周辺回路18およびCPU15を起動する必要が発生したとき第2発振回路12を発振させるとよい。そのような構成では、さらに消費電力の削減に効果がある。このようにして発振要求信号BUSYaおよびBUSYbが活性化すると、発振器制御回路13は、発振制御信号CTRLaおよびCTRLbを活性化する。
発振制御信号CTRLaが活性化すると、発振器21が発振を開始する。発振器21の出力はカウンタ22により計数され、時間ta後に予め設定されたカウント数を超えるとゲート回路23が発振器21の出力をクロック信号CLKaとして出力する。カウント数は、発振を開始してから発振状態が安定するまでの時間taになるように設定しておく。発振が不安定な時期にパルス数を計数するのであるから、計数するパルス数は概数でよい。
時刻T58においてクロック信号CLKaが出力されると、PLL回路26が発振を開始するとともに、カウンタ27はクロック信号CLKaのパルス数をカウントし、PLL回路26の発振が安定するまでの時間tbを計測する。時間tbは、PLL回路26が第1発振回路11から供給されるクロック信号CLKaを逓倍させて目的の周波数になるまでのPLLロック時間である。カウンタ27が予め設定されたパルス数を計数すると、PLL回路26の発振は安定しているものとしてゲート回路28はクロック信号CLKbを出力する。
時刻T58においてクロック信号CLKaが出力される周辺回路17が、時刻T59においてクロック信号CLKbが出力されると周辺回路18が、クロックによる動作をはじめる。時刻T57において操作された事象は周辺回路17または18が処理し、割り込み入力回路14への割り込み要求信号REQaまたはREQbを活性化する。割り込み入力回路14は、クロック信号CLKbが供給されたCPU15に割り込み信号INTを与える。
CPU15は、時刻T61において割り込み処理を開始し、時刻T62において発振器停止要求命令を実行して発振停止要求信号STPQが活性化する。このとき、周辺回路17および18は、まだ動作中であり、クロック信号CLKaおよびCLKbの供給を停止できないため、発振器制御回路13は、内部に発振停止要求の情報を保持して周辺回路17および18の動作終了を待つ。
時刻T63に周辺回路17の動作が終了すると、発振要求信号BUSYaが非活性になるが、発振要求信号BUSYbが活性状態であるため、第1発振回路11を停止することはできない。時刻T64になって周辺回路18の動作が終了すると、発振要求信号BUSYbも非活性になり、発振器制御回路13は、発振制御信号CTRLaおよびCTRLbを非活性にし、発振器21およびPLL回路26は発振停止状態にする。
時刻T65において、スイッチを入れるなどの操作が加わると、時刻T57の場合と同様に、発振要求信号BUSYaおよびBUSYbが活性化し、発振器制御回路13は発振制御信号CTRLaおよびCTRLbを活性化し、発振器21が発振を開始する。発振器21が発振を開始して時間ta後にクロック信号CLKaが出力され、その時間tb後にクロック信号CLKbが出力される。
クロック信号CLKaが時刻T66に供給されると周辺回路17が、時刻T67にクロック信号CLKbが供給されると周辺回路18とCPU15が動作を開始する。操作に対する処理が行われて割り込みが発生し、時刻T68にCPU15は割り込み処理を開始する。
周辺回路18は、時刻T69において動作を終了して停止状態になり、発振要求信号BUSYbは非活性になる。周辺回路17は、時刻T71において動作を終了して停止状態になり、発振要求信号BUSYaは非活性になる。このときCPU15は割り込み処理の最中であり、まだ発振停止要求信号を出力していない。そのため、発振器制御回路13は、発振制御信号CTRLaおよびCTRLbを活性化したままとなる。
時刻T72においてCPU15が発振器停止要求命令を実行して発振停止要求信号が活性化すると、発振器制御回路13は発振制御信号CTRLaおよびCTRLbを非活性にし、発振器21およびPLL回路26の発振を停止させる。
このようにして発振回路の発振を制御することによって、発振回路自体の消費電力を削減することはもとより、CPU15、周辺回路17および18の待機中の消費電力も削減することが可能となる。また、ゲート回路23、28によって発振が安定するまで発振回路からクロック信号は出力されず、クロック信号は常に安定した状態となる。さらに、メイン処理、割り込み処理において処理終了直前に発振器停止要求命令を実行するだけでハードウェアの状態に合わせて発振器の停止が可能となリ、ソフトウェアデバッグが簡略化でき、開発期間を短縮できる。
本発明の第1の実施の形態に係る装置の構成を示す図である。 同装置のCPUの動作を示すフローチャートである。 同装置のハードウェアの動作を示すタイミングチャートである。 本発明の第2の実施の形態に係る装置の構成を示す図である。 同装置のCPUの動作を示すフローチャートである。 同装置のハードウェアの動作を示すタイミングチャートである。 本発明の第3の実施の形態に係る装置の構成を示す図である。 同装置のハードウェアの動作を示すタイミングチャートである。
符号の説明
11 第1発振回路
12 第2発振回路
13 発振器制御回路
14 割り込み入力回路
15 CPU
16、17、18 周辺回路
21 発振器
22 カウンタ
23 ゲート回路
26 PLL回路
27 カウンタ
28 ゲート回路

Claims (8)

  1. 第1発振制御信号に応答して発振する第1発信回路と、前記第1発振回路は、前記第1発振回路の発振が安定するまで前記第1発振回路の出力を抑制する第1出力制御回路を備え、
    第2発振制御信号に応答して前記第1発振回路の出力に基づいて発振する第2発信回路と、前記第2発振回路は、前記第2発振回路の発振が安定するまで前記第2発振回路の出力を抑制する第2出力制御回路を備え、
    前記第2発振回路の出力に基づいて動作する制御回路と、
    前記制御回路が出力する発振停止要求信号と、外部から入力される発振要求信号とに基づいて前記第1発振制御信号と前記第2発振制御信号とを生成して出力する発振制御回路と
    を具備する省電力発振回路。
  2. 請求項に記載の省電力発振回路において、
    前記第1出力制御回路は、前記第1発振回路の発振したパルス数を計数し、計数した結果が予め設定された数に満たないとき前記第1発振回路の出力を抑制する省電力発振回路。
  3. 請求項2に記載の省電力発振回路において、
    前記第2出力制御回路は、前記第1発振回路の出力のパルス数を計数し、計数した結果が予め設定された数に満たないとき前記第2発振回路の出力を抑制する省電力発振回路
  4. 請求項1から請求項のいずれかに記載の省電力発振回路において、
    前記第1発振制御信号は、前記発振要求信号が発振要求を示すとき前記第1発振回路に発振を指示し、前記発振要求信号が発振要求を示していないときに前記発振停止要求信号が発振停止を示すとき前記第1発振回路に発振の停止を指示し、
    前記第2発振制御信号は、前記発振要求信号が発振要求を示すとき前記第2発振回路に発振を指示し、前記発振要求信号が発振要求を示していないときに前記発振停止要求信号が発振停止を示すとき前記第2発振回路に発振の停止を指示する省電力発振回路。
  5. 請求項1から請求項のいずれかに記載の省電力発振回路において、
    前記第1発振制御信号は、前記発振要求信号が発振要求を示すとき前記第1発振回路に発振を指示し、前記発振要求信号が発振要求を示していないときに前記発振停止要求信号が発振停止を示すとき前記第1発振回路に発振の停止を指示し、
    前記第2発振制御信号は、前記発振要求信号が発振要求を示すとき前記第2発振回路に発振を指示し、前記発振停止要求信号が発振停止を示すとき前記第2発振回路に発振の停止を指示する省電力発振回路。
  6. 請求項1から請求項のいずれかに記載の省電力発振回路において、
    外部に前記第1発振回路の出力に基づいて動作する第1周辺回路と、前記第2発振回路の出力に基づいて動作する第2周辺回路とを備え、
    前記発振要求信号は、前記第1周辺回路から出力される第1発振要求信号と、前記第2周辺回路から出力される第2発振要求信号とを含み、
    前記第1発振制御信号は、前記第1発振要求信号と、前記第2発振要求信号との少なくとも一方が発振要求を示すとき前記第1発振回路に発振を指示し、前記第1発振要求信号及び前記第2発振要求信号が発振要求を示していないときに前記発振停止要求信号が発振停止を示すとき前記第1発振回路に発振の停止を指示し、
    前記第2発振制御信号は、前記第2発振要求信号が発振要求を示すとき前記第2発振回路に発振を指示し、前記第2発振要求信号が発振要求を示していないときに前記発振停止要求信号が発振停止を示すとき前記第2発振回路に発振の停止を指示する省電力発振回路。
  7. 請求項1から請求項のいずれかに記載の省電力発振回路において、
    前記制御回路は、通常の動作より低消費電力で動作する低消費電力モードを有するマイクロプロセッサである省電力発振回路。
  8. 請求項1から請求項のいずれかに記載の省電力発振回路を備える携帯端末装置。
JP2003311395A 2003-09-03 2003-09-03 省電力発振回路および省電力発振回路を用いた携帯端末装置 Expired - Fee Related JP4019031B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003311395A JP4019031B2 (ja) 2003-09-03 2003-09-03 省電力発振回路および省電力発振回路を用いた携帯端末装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003311395A JP4019031B2 (ja) 2003-09-03 2003-09-03 省電力発振回路および省電力発振回路を用いた携帯端末装置

Publications (2)

Publication Number Publication Date
JP2005078573A JP2005078573A (ja) 2005-03-24
JP4019031B2 true JP4019031B2 (ja) 2007-12-05

Family

ID=34412971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003311395A Expired - Fee Related JP4019031B2 (ja) 2003-09-03 2003-09-03 省電力発振回路および省電力発振回路を用いた携帯端末装置

Country Status (1)

Country Link
JP (1) JP4019031B2 (ja)

Also Published As

Publication number Publication date
JP2005078573A (ja) 2005-03-24

Similar Documents

Publication Publication Date Title
KR100688102B1 (ko) 집적회로장치
US7032117B2 (en) Dynamic power control in integrated circuits
EP2573683A1 (en) Data processor and electronic control unit
JP4870292B2 (ja) 割り込み処理可能な情報処理装置
JP2004133577A (ja) 半導体装置
JP5029849B2 (ja) 情報処理装置
US20050198418A1 (en) Multilayer system and clock control method
JP3665030B2 (ja) バス制御方法及び情報処理装置
JP3070527B2 (ja) 無線携帯端末
US7219248B2 (en) Semiconductor integrated circuit operable to control power supply voltage
JP2993466B2 (ja) 情報処理装置
JP4019031B2 (ja) 省電力発振回路および省電力発振回路を用いた携帯端末装置
JP2001034530A (ja) マイクロコンピュータおよびメモリアクセス制御方法
JP2005044136A (ja) クロック制御回路とクロック制御方法
JP2002041495A (ja) マイクロコンピュータ
JP2009122922A (ja) データ処理装置
JP4219601B2 (ja) 情報処理装置
JP3879523B2 (ja) マイクロコンピュータ
US7103758B2 (en) Microcontroller performing safe recovery from standby mode
JP3958546B2 (ja) バッファ制御システムおよびバッファ制御可能なメモリー
JP2000347640A (ja) 電子機器、表示システム及び方法
JP2004078642A (ja) 割込み制御回路
JP3991999B2 (ja) 中央処理ユニット及びプロセッサ制御方法
JPH05259825A (ja) クロック発生回路
JP4107278B2 (ja) プロセッサ制御回路および情報処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070813

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070921

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100928

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees