JP2004310283A - マイクロコントローラ - Google Patents

マイクロコントローラ Download PDF

Info

Publication number
JP2004310283A
JP2004310283A JP2003100434A JP2003100434A JP2004310283A JP 2004310283 A JP2004310283 A JP 2004310283A JP 2003100434 A JP2003100434 A JP 2003100434A JP 2003100434 A JP2003100434 A JP 2003100434A JP 2004310283 A JP2004310283 A JP 2004310283A
Authority
JP
Japan
Prior art keywords
clock
bus
cpu
clocks
clk
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.)
Granted
Application number
JP2003100434A
Other languages
English (en)
Other versions
JP4152795B2 (ja
Inventor
Hiroki Takahashi
裕樹 高橋
Kazuo Nakamura
和夫 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2003100434A priority Critical patent/JP4152795B2/ja
Priority to US10/690,574 priority patent/US7167996B2/en
Publication of JP2004310283A publication Critical patent/JP2004310283A/ja
Application granted granted Critical
Publication of JP4152795B2 publication Critical patent/JP4152795B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Power Sources (AREA)

Abstract

【課題】周辺回路の動作速度に律速することなくCPU動作の高速化を図ると共に、それに伴う消費電力の上昇を抑制する。
【解決手段】クロック生成回路10は、互いに位相の揃った2つのクロック、即ちCPUクロックCLKCPU並びにバスクロックCLKBUSを生成する。BIU(バスインターフェイスユニット)51は、CPUクロックCLKCPUに基づいてコードバスを制御し、その一方でバスクロックCLKBUSに基づいて周辺バスを制御する。クロック生成回路10は、MCUの動作モードに応じてCPUクロックCLKCPUおよびバスクロックCLKBUSそれぞれの周波数を切り替える。例えばCPUの高速動作を行うために、CPUクロックCLKCPUをバスクロックCLKBUSよりも高速にする。その場合でも、両クロックの位相は揃っているため、BIU51におけるコードバスおよび周辺バスの制御は容易に行うことが可能である。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
本発明は、マイクロコントローラ(MCU:Micro Controller Unit)に関するものであり、特に、その動作を規定するクロック信号の生成並びに制御に関するものである。
【0002】
【従来の技術】
従来のマイクロコントローラ(以下「MCU」と称する)においては、当該MCU全体が単一のクロックに基づいて動作するものが一般的であった。また近年のMCUの高速化の要求に伴い、クロックの高周波化が進んでいる。しかし、例えば単一のクロックで動作するMCU内で、高い周波数のクロックに対応可能なブロック(高速ブロック)と対応不可能なブロック(低速ブロック)とが存在した場合、MCUに使用するクロックの周波数は、低速ブロックが対応可能な範囲に設定せざるを得なく、当該MCU全体の高速化を図ることができない。即ち、本来高速な動作が可能な高速ブロックの動作速度が、低速ブロックの動作速度により律速されてしまう。また、MUCの高速化を図るために、低速ブロックの大幅な設計変更が必要になるという問題もあった。
【0003】
一方、MCUの中には、中央演算処理装置(CPU)用のクロック(CPUクロック)の周波数と、周辺回路用のクロック(周辺クロック)の周波数とを任意に設定可能なものも提案されている(例えば、特許文献1)。
【0004】
【特許文献1】
特開平11−272644号公報(第1−7頁、第1−5図)
【0005】
【発明が解決しようとする課題】
上記特許文献1に開示されている従来のMCUにおいては、CPUクロックと周辺クロックの周波数が任意に設定可能であるが、CPUクロックと周辺クロックとの位相が一致しないケースが生じる。そのため、CPUが周辺回路にアクセスする際に両者の動作の同期をとるための回路(例えばラッチ回路)等をMCUに設ける必要があり、MCUの回路構成の複雑化並びにコストの上昇といった問題が懸念される。
【0006】
一方、上記特許文献1の図5にも開示されているが、CPUクロックを周辺クロックから生成するMCUもある。そのようなMCUでは、周辺クロックのパルスの間隔をあけることにより当該周辺クロックと異なる周波数のCPUクロックを生成する。この場合、CPUと周辺回路との動作の同期は確保されるので、上記の問題は伴わない。
【0007】
しかし、そのようなMCU内に高速ブロックと低速ブロックとが存在した場合、周辺クロックは低速ブロックが対応できる範囲の周波数に設定せざるを得ない。その結果、周辺クロックから生成されるCPUクロックの周波数は周辺クロックの周波数に律速され、本来高速動作が可能なCPUの性能を充分に発揮させることができなくなる。特にCPUの動作の高速化が可能となった近年、この問題は大きくなっている。その対策として、高速なCPUを搭載するMCUには、周辺回路としても高速動作が可能なものを使用すればよいが、その場合、MCUのコスト上昇を招いてしまう。
【0008】
また、MCUのクロック周波数を上げると、一般にMCU全体の消費電力が増大するという問題を伴う。特に携帯端末装置やノート型パソコンのようなバッテリー駆動を行う装置においては、低消費電力化は重要な課題である。
【0009】
本発明は以上のような課題を解決するためになされたものであり、周辺回路の動作速度に律速することなくCPU動作の高速化を図ることを第1の目的とし、CPU動作の高速化に伴う消費電力の上昇を抑えることを第2の目的とする。
【0010】
【課題を解決するための手段】
本発明に係るマイクロコントローラは、互いに位相の揃った第1および第2のクロックを生成するクロック生成回路と、前記第1のクロックに基づき動作するCPU(中央演算処理装置)と、前記CPUにより制御され、前記第2のクロックに基づき動作する周辺装置と、前記第1のクロックに基づいて動作する第1のバスと、前記第2のクロックに基づいて動作する第2のバスと、前記第1および第2のバスの動作タイミング制御を行うBIU(バスインターフェイスユニット)とを有するマイクロコントローラであって、前記クロック生成回路は、前記第1および第2のクロックの周波数を互いに同じにするか異ならしめるかの設定が保持されるレジスタを備え、前記レジスタに保持された前記設定に応じて、前記第1および第2のクロックの位相は揃えたままで周波数を切り替え、前記第1および第2のクロックは、前記BIUに入力され、前記BIUは、前記第1および第2のクロックに同期した所定のタイミングで前記第1および第2のバスのアイドル期間を交互に切り替えることにより、前記動作タイミング制御を行う。
【0011】
【発明の実施の形態】
<実施の形態1>
図1は本発明の実施の形態1に係るマイクロコントローラ(MCU)の要部の構成を示すブロック図である。クロック生成回路10は、MCU内の各ブロックの動作タイミングおよび動作速度を規定するためのクロックを生成する。クロック生成回路10には、クロックを生成するための基準となるメインクロックXINとサブクロックXCINとが当該クロック生成回路10の外部から入力される。メインクロックXINは通常動作時に使用される高速(高周波数)のクロックであり、サブクロックXCINは例えばバッテリー駆動時などに使用される低消費電力機能に対応した比較的低速(低周波数)のクロックである。クロック生成回路10は、メインクロックXIN或いはサブクロックXCINに基づき、互いに位相の揃った(同期のとれた)第1のクロックであるCPUクロックCLKCPU並びに第2のクロックであるバスクロックCLKBUSの2つのクロックを生成する。
【0012】
本明細書において、クロック生成回路10がクロックを生成するための基準となるクロックを“基準クロック”と称する。即ち、本実施の形態では、クロック生成回路10に外部から入力される外部クロックであるメインクロックXIN或いはサブクロックXCINが基準クロックとなる。
【0013】
MCU全体の動作を制御するCPU50にはCPUクロックCLKCPUが入力され、当該CPU50はこのCPUクロックCLKCPUに基づいて動作する。一方、BIU(バスインターフェイスユニット)51は、CPU50により制御されており、コードバスおよび周辺バスとのデータのやり取りを実行する。BIU51には、CPUクロックCLKCPUとバスクロックCLKBUSが入力される。コードバスにはCPU50で実行される実行コード(プログラム)等が格納されたROM52(Read Only Momory)が接続されており、BIU51は、CPUクロックCLKCPUに基づいてコードバス上のROM52にアクセスして実行コードを読み出す。また、BIU51は、バスクロックCLKBUSに基づいて周辺バス上の周辺機能部53a,53bを制御する。即ち、周辺機能部53a、53bは、バスクロックCLKBUSに基づき動作する周辺装置である。なお、BIU51におけるCPUクロックCLKCPUおよびバスクロックCLKBUSの制御については後述する。
【0014】
ここで、本実施の形態においては、CPU50およびROM52は高周波数のクロック(高速クロック)に対応可能な高速ブロックであり、それに対し周辺機能部53a,53bは、高速クロックに対応不可能な低速ブロックであると仮定する。
【0015】
図2は、当該MCUが有するクロック生成回路10の構成を示すブロック図である。クロック生成回路10には、高周波数のメインクロックXIN、並びに、比較的低周波数のサブクロックXCINが入力される。PLL回路11には、メインクロックXINが入力され、当該メインクロックXINの周波数を所定の係数により逓倍したクロックXPLL(以下「PLLクロック」と称する)を出力する。
【0016】
第1のクロック切替器12は、メインクロックXINとサブクロックXCINの両方が入力され、両者のうち何れかを選択して出力する。第1のクロック切替器12がメインクロックXINを出力するかサブクロックXCINを出力するかは、第1の選択レジスタ13に記憶されている設定値に応じて切り替わる。例えば、通常動作時にはメインクロックXINが選択され、バッテリー駆動時などにはサブクロックXCINが選択される。
【0017】
第2のクロック切替器14は、PLL回路11の出力であるPLLクロックXPLLおよび第1のクロック切替器12の出力が入力され、両者のうち何れかを選択して出力する。第2のクロック切替器14が、そのどちらを出力するかは、第2の選択レジスタ15に記憶されている設定値に応じて切り替わる。即ち、第2のクロック切替器14の出力クロックMCLK(以下「選択クロック」と称する)は、メインクロックXIN、サブクロックXCIN、PLLクロックXPLLのうちのいずれかである。
【0018】
なお、第1の選択レジスタ13並びに第2の選択レジスタ15に記憶されている設定値は、ユーザの操作により入力設定されるものであってもよいし、当該MCUの動作状態に応じてCPU50の制御により自動的に設定されるものであってもよい。
【0019】
第2のクロック切替器14が出力した選択クロックMCLKは、メイン分周部16に入力される。メイン分周部16は、分周比設定レジスタ17および倍速設定レジスタ18が記憶している設定値に応じて、互いに位相の揃ったCPUクロックCLKCPUおよびバスクロックCLKBUSを生成して出力する。
【0020】
以下、メイン分周部16、分周比設定レジスタ17、倍速設定レジスタ18の詳細について説明する。図3は、メイン分周部16の構成を示すブロック図である。メイン分周部16は、分周カウンタ20および第3のクロック切替器21とから成る。分周カウンタ20は選択クロックMCLKに対して分周を行い、選択クロックMCLKをN分周したN分周クロック(Nは整数)、2分周した2分周クロック、および1分周(即ち選択クロックMCLKそのもの)の1分周クロックの3種類のクロックを出力する。分周比設定レジスタ17には、上記Nの値が設定値として記憶されている。上記の3つのクロックは、それぞれ第3のクロック切替器21に入力される。
【0021】
第3のクロック切替器21は、CPUクロックCLKCPUおよびバスクロックCLKBUSとして、N分周クロック、2分周クロック、1分周クロックのうちの何れかをそれぞれ選択して出力する。N分周クロック、2分周クロック、1分周クロックは共に選択クロックMCLKを分周(1分周を含む)したものであるので、CPUクロックCLKCPUとバスクロックCLKBUSとは、互いに位相が揃ったものとなる。
【0022】
第3のクロック切替器21において、CPUクロックCLKCPUおよびバスクロックCLKBUSのそれぞれとして、N分周クロック、2分周クロック、1分周クロックのうち何れのクロックが選択されるかは、MCUの動作モードに応じて切り替えられる。その動作モードの設定は倍速設定レジスタ18に設定値として記憶されている。動作モードとCPUクロックCLKCPUおよびバスクロックCLKBUSとの関係についての詳細は後述する。なお、当該倍速設定レジスタ18に記憶される動作モードの設定値は、ユーザの操作により入力設定されるものであってもよいし、当該MCUの動作状態に応じてCPUにより自動的に切り替えられるものであってもよい。
【0023】
図4は、メイン分周部16が有する分周カウンタ20の回路構成の一例を示す図である。同図に示すように、分周カウンタ20は、カウンタ回路22(ここでは5ビットカウンタ)と一致回路23とによって構成される。なお、図4中に示しているフリップフロップ素子は、Dフリップフロップである。また、上述したように、分周比設定レジスタ17にはN分周クロックを得るための設定値N(ここではN<2)が記憶されている。
【0024】
5ビットカウンタ22は、入力される選択クロックMCLKのパルスをカウントし、一致回路23は、そのカウント値と分周比設定レジスタ17の設定値Nとを比較する。そして、カウント値と設定値Nとが一致した場合、N分周クロックの出力端子に1つのパルスを出力すると共に5ビットカウンタ22のカウント値をリセットする。即ち、5ビットカウンタ22は、分周比設定レジスタ17に設定されたNに基づく“N進カウンタ”として動作する。その結果、N分周クロックの出力端子からは、選択クロックMCLKをN分周したクロックが出力される。また、図4の如く、5ビットカウンタ22の最下位ビット出力から2分周クロックが得られる。また、1分周クロックとしては選択クロックMCLKそのものが分周カウンタ20から出力される。
【0025】
ここで、本実施の形態に係るMCUの動作モード並びに、それら動作モードの各々に対応した第3のクロック切替器21の動作について説明する。図5は、本実施の形態に係るMCUの動作モードの一例を示す図である。この例では、MCUの動作モードは、「XINモード」、「XIN/2モード」、「N分周モード」、「倍速モード」の4つに分類される。
【0026】
以下、各動作モードについて説明する。まず、XINモードは、第1のクロック切替器12および第2のクロック切替器14により、選択クロックMCLKしてメインクロックXINが選択される。そして、メイン分周部16からは、選択クロックMCLKがそのままCPUクロックCLKCPU並びにバスクロックCLKBUSとして出力される。即ち、第3のクロック切替器21の出力であるCPUクロックCLKCPU並びにバスクロックCLKBUSは、共に分周カウンタ20から入力される1分周クロックである。なお、この動作モードでは、例えばMUCの低消費電力機能が動作している場合など、選択クロックMCLKとしてメインクロックXINに代えてサブクロックXCINが選択されるケースもあるが、メイン分周部16の動作は同様であるので、説明は省略する。
【0027】
IN/2モードは、選択クロックMCLKしてメインクロックXINが選択される。そして、第3のクロック切替器21が出力するCPUクロックCLKCPU並びにバスクロックCLKBUSは、共に分周カウンタ20から入力された2分周クロックである。即ち、CPUクロックCLKCPU並びにバスクロックCLKBUSは、共にメインクロックXINを2分周したクロックでありる。この場合、上記XINモードに比べ処理速度は遅くなるが消費電力が抑えられる。この動作モードでも、選択クロックMCLKによって、メインクロックXINに代えてサブクロックXCINが選択されるケースもあるが、メイン分周部16の動作は同様である。
【0028】
N分周モードは、選択クロックMCLKしてPLLクロックXPLLが選択される。そして、第3のクロック切替器21が出力するCPUクロックCLKCPU並びにバスクロックCLKBUSは、共に分周カウンタ20から入力されたN周クロックである。例えば、クロックを単に高速にしようとするならば、N分周モードでNの値を小さくすればよい(例えばN=1)。しかし、MCU内で高速クロックに対応できない低速ブロックがある場合、Nの値は当該低速ブロックが対応できる程度にしか小さくできない。
【0029】
ここで、本実施の形態においては、高速ブロックであるCPU50およびROM52はPLLクロックXPLLの2分周クロックに対応可能であり、且つ、低速ブロックである周辺機能部53a,53bがPLLクロックXPLLの4分周クロックを超える速度には対応不可能であると仮定する。この場合、N分周モードにおいてNの値を4よりも小さい値には設定することができない。つまり、CPU50の動作速度は、周辺機能部53a,53bにより律速されてしまう。本実施の形態では、N分周モードでは分周比設定レジスタ17の設定値はN=4に設定されるとする。また、低消費電力機能が動作している場合などは、Nの値はさらに大きい値に設定される。
【0030】
倍速モードでは、選択クロックMCLKしてPLLクロックXPLLが選択され、第3のクロック切替器21は、CPUクロックCLKCPUとしては分周カウンタ20から入力された2分周クロックを出力し、バスクロックCLKBUSとしてはN分周クロックを出力する。ここでも、N=4に設定されるとする。即ち、倍速モードでは、CPUクロックCLKCPUは、PLLクロックXPLLの2分周クロック、バスクロックCLKBUSはPLLクロックXPLLの4分周クロックとなる。よって、CPUクロックCLKCPUとバスクロックCLKBUSは、互いに位相の揃った異なる周波数のクロックの組合せとなる。この例では、CPU50およびROM52は、周辺機能部53a,53bの2倍の速度のクロックにより動作することになる。
【0031】
なお、以下の説明においては、説明の簡単のため、CPUクロックCLKCPUとバスクロックCLKBUSとが同じ周波数の動作モード(XINモード、XIN/2モード、N分周モード)を広義に“通常モード”と称する。
【0032】
図6は、第3のクロック切替器21の構成の一例を示す回路図である。倍速設定レジスタ18に記憶されている各動作モードに対応した設定値は、第3のクロック切替器21に入力される。第3のクロック切替器21はそれに応じて、出力するCPUクロックCLKCPUおよびバスクロックCLKBUSのそれぞれを、1分周クロック、2分周クロック、N分周クロックの何れかに切り替える。図6の回路に対応した倍速設定レジスタ18の設定値は、図5に示している。即ち、この例では、倍速設定レジスタ18には3ビットの設定値データb1〜b3が記憶されており、第3のクロック切替器21は、b1=0,b2=0,b3=1のときはXINモード、b1=0,b2=1,b3=0のときXIN/2モード、b1=0,b2=0,b3=0のときN分周モード、b1=1,b2=0,b3=0のとき倍速モードとなるように動作する。
【0033】
ここで、図6から分かるように、倍速設定レジスタ18に保持される設定値b1=1のときは倍速モード、b2=0のときは通常モードになる。即ち、倍速設定レジスタ18は、CPUクロックCLKCPU(第1のクロック)とバスクロックCLKBUS(第2のクロック)の周波数を互いに同じにするか異ならしめるかの設定値b1が保持されるレジスタである。
【0034】
図7は、図1に示したBIU51の動作を説明するための図である。上述したように、BIU51は、CPUクロックCLKCPUに基づいてコードバスを制御してROM52にアクセスし、バスクロックCLKBUSに基づいて周辺バスを制御して周辺機能部53a,53bを制御する。まず図7における(a)は、通常モード(XINモード、XIN/2モード、N分周モード)における、コードバスサイクルと、周辺バスサイクルを示している。BIU51は、CPUクロックCLKCPUおよびバスクロックCLKBUSに同期した所定のタイミングでコードバスと周辺バスとのアイドル期間を交互に切り替えることで、コードバスと周辺バスの動作タイミング制御を行う。通常モードでは、CPUクロックCLKCPUとバスクロックCLKBUSとが同じ周波数であるので、容易にアイドル時間の切り替え動作が可能である。
【0035】
一方、図7における(b)は、倍速モードにおける、コードバスサイクルと、周辺バスサイクルを示している。この場合も、BIU51は、CPUクロックCLKCPUおよびバスクロックCLKBUSに同期した所定のタイミングでコードバスと周辺バスとのアイドル期間を切り替えてそれぞれの動作タイミングの制御を行う。倍速モードでは、CPUクロックCLKCPUとバスクロックCLKBUSとの周波数は異なるが、両クロックは位相が揃っているので、通常モードと同様に、容易にコードバスおよび周辺バスの動作タイミングの制御が可能である。また、BIU51がこのような動作タイミング制御を行うことにより、上記特許文献1のように、コードバスと周辺バスとの動作の同期をとるための回路を付加する必要はない。
【0036】
さらに、BIU51において、CPUクロックCLKCPUとバスクロックCLKBUSという異なる2つの周波数に基づく動作タイミングの制御を、コードバスと周辺バスとのいずれか片方ずつを有効する(他方はアイドル(無効)状態にする)ことにより実現しているので、当該動作タイミングの制御を容易に行うことができる。以上の説明では、倍速モードとしてCPUクロックCLKCPUのバスクロックCLKBUSに対する周波数の比が2倍のケース(2倍速モード)について説明したが、CPUクロックCLKCPUとバスクロックCLKBUSとの位相が揃っていれば、上記と同様の手法により、例えば当該周波数の比が3倍以上のケースであっても、容易に動作タイミングの制御を行うことが可能である。即ち、本発明に適用は、2倍速モードに限られるものではない。
【0037】
本実施の形態における倍速モードでは、CPUクロックCLKCPUはPLLクロックXPLLの2分周クロックであり、4分周クロックのバスクロックCLKBUSよりも高速である。よって、CPU50の高速動作が可能になる。一方、バスクロックCLKBUSの周波数はN分周モードと同様であるので、従来どおりの動作が可能である。つまり、倍速モードでは、周辺機能部53a,53bの動作に影響を与えることなく、CPU50の動作速度を上げることが可能である。言い換えれば、CPU50の動作速度が、周辺機能部53a,53bの動作速度により律速されることが防止されるので、MCU全体の動作速度の向上に寄与できる。また、周辺機能部53a,53bとして高速動作が可能なものを使用せずにCPU50の動作速度を上げることができることから、MCU全体のコスト上昇を抑える効果もある。
【0038】
<実施の形態2>
実施の形態1によれば、MCUの高速化を図ることができるが、MCUのクロック周波数を上げると、一般にMCU全体の消費電力が増大するという問題を伴う。その対策として、例えばスリープモードなど、MCUの動作が不要な場合に、クロックを停止させることが考えられる。それにより、低消費電力化を図ることができる。
【0039】
図8は、実施の形態2に係るMCUのクロック生成回路10の構成を示すブロック図である。この図において図2と同様の機能を有する要素には同一符号を付しており、それらのここでの詳細な説明は省略する。同図に示すように、クロック生成回路10は、クロック停止装置60を有する。また、図示は省略するが、本実施の形態ではCPU50は、クロック生成回路10のクロック発生動作を停止させるためのクロック停止信号を出力する。クロック停止信号は、クロック生成回路10のクロック停止装置60に入力される。また、クロック停止装置60には、メイン分周部16が出力するバスクロックCLKBUSも入力される。
【0040】
クロック停止装置60は、第1のクロック切替器12および第2のクロック切替器14の入力側に配設される。そして、CPUクロックCLKCPUからのクロック停止信号に従って、第1のクロック切替器12および第2のクロック切替器14へのクロック入力(メインクロックXIN、サブクロックXCIN、PLLクロックXPLL)を停止させることで、クロック生成回路10のクロック発生動作を停止させる。このとき、クロック停止装置60は、バスクロックCLKBUSの1つの周期(単位周期)が終わるタイミングで、各クロックを停止させるよう動作する。
【0041】
図8に示すように、クロック停止装置60は、メインクロックXIN、サブクロックXCIN、PLLクロックXPLLのそれぞれを停止させるための、クロック停止回路61〜63から構成される。図9は、それらクロック停止回路61〜63の回路構成の一例を示す図である。なお、ここでの説明においては、バスクロックCLKBUSの単位周期は、バスクロックCLKBUSのパルスの立上がりのタイミングで終了するものとする。
【0042】
図9の回路によれば、クロック停止信号が“1(Hight)”のときは、入力クロックがそのまま出力クロックとして出力される。一方、クロック停止信号が“0(Low)”に切り替わると、その後にバスクロックCLKBUSの立ち上がりのタイミングで、出力クロックが停止する。つまり、選択クロックMCLKは、バスクロックCLKBUSの単位周期が終わるタイミングまでメイン分周部16に供給された直後に停止する。従って、クロックを停止した状態から復帰するときには、バスクロックCLKBUSの単位周期の先頭からクロックの生成が開始される。
【0043】
その結果、クロック生成の停止/開始の切り替わり時においても、一定の長さの周期を有するCPUクロックCLKCPU並びにバスクロックCLKBUSが生成される。従って、MCUの低消費電力化に寄与できると共に、クロック生成の停止/開始の切り替わり時においてMCUの動作が不安定になることが防止される。
【0044】
<実施の形態3>
上述したように、「倍速モード」では、選択クロックMCLKとしてPLLクロックXPLLが選択される。MCUの高速化を図る上で、メインクロックXIN、サブクロックXCIN、PLLクロックXPLLのうちの最も高速なものを使用することが有効であるためである。
【0045】
しかし、例えばユーザによる誤設定や、外部からのノイズの影響に起因するCPU50の誤動作によって、選択クロックMCLKがPLLクロックXPLLでない場合にもメイン分周部16が倍速モード時の動作を行うことが考えられる。そこで、本実施の形態においては、選択クロックMCLKがPLLクロックXPLLである場合にのみ、倍速モードに切り替わるクロック生成回路10を提案する。
【0046】
図10は、本実施の形態に係るクロック生成回路10の構成を示すブロック図である。ここでも図2と同様の機能を有する要素には同一符号を付している。また、本実施の形態においては、第2の選択レジスタ15の設定値は、第2のクロック切替器14がPLLクロックXPLLを選択するように動作させる場合は“1”、それ以外は“0”であるとする。また、倍速設定レジスタ18の設定値は、図5に示したものと同様であるとする。
【0047】
AND回路65には、第2の選択レジスタ15の設定値と、倍速設定レジスタ18の設定値のうち倍速モードか否かを示す設定値b1とが入力され、その論理演算結果をメイン分周部16に出力する。AND回路65の出力は、図6に示した第3のクロック切替器21に入力される設定値b1の値として入力される。それ以外の部分に関しては実施の形態1と同様である。
【0048】
従って、第3のクロック切替器21が倍速モードに切り替わるのは、第2の選択レジスタ15の設定値が“1”、且つ、倍速設定レジスタ18の設定値b1の値が“1”である場合のみである。言い換えれば、たとえ倍速設定レジスタ18の設定値が倍速モードの設定であったとしても、第2の選択レジスタ15の設定値が“1”でない限り、メイン分周部16は通常モードの動作を行う。つまり、第2の選択レジスタ15およびAND回路65は、倍速設定レジスタ18に保持されている設定値b1(CPUクロックCLKCPUとバスクロックCLKBUSとを周波数を互いに同じにするか異ならしめるかの設定値)に関わらず、CPUクロックCLKCPUとバスクロックCLKBUSとを同じ周波数にする手段として機能している。
【0049】
本実施の形態によれば、第2のクロック切替器14が選択クロックMCLKとしてPLLクロックXPLLを選択している場合に限り、倍速設定レジスタ18はメイン分周部16に倍速モードの動作を行わせることが可能である。つまり、選択クロックMCLKがPLLクロックXPLLでない場合に、メイン分周部16が倍速モード時の動作を行うことが無く、ユーザによる誤設定や、ノイズによる誤動作の影響を抑えることができる。
【0050】
<実施の形態4>
クロック生成回路10に外部から入力される(即ち、外部クロックである)基準クロックとしてのメインクロックXINの発振が停止した場合、PLL回路11は動作の基準となるクロックの入力が無くなるため、当該PLL回路11の動作が不安定になることが考えられる。その場合、選択クロックMCLKとしてPLLクロックXPLLが選択された状態では、MCUの誤動作を引き起こす原因となるので、選択クロックMCLKをPLLクロックXPLL以外の信号に切り替えると共に、動作モードを倍速モード以外のものにする必要がある。また、不用意にCPUクロックCLKCPUおよびバスクロックCLKBUSが停止してしまうことも、誤動作を引き起こし、MCUの動作が不安定になる要因である。
【0051】
図11は、本実施の形態に係るクロック生成回路10の構成を示すブロック図である。ここでも図2と同様の機能を有する要素には同一符号を付している。クロック生成回路10は、発振停止検出器71、リングオシレータ72および第4のクロック切替器73(基準クロック切替回路)から構成される発振監視装置70を有する。外部クロックであるメインクロックXINが通常どおり入力されている状態では、リングオシレータ72は動作せず、このとき第4のクロック切替器73はメインクロックXINを第1のクロック切替器12に出力する。発振停止検出器71は、メインクロックXINをモニタして、メインクロックXINの停止を検出する。
【0052】
発振停止検出器71によって、外部クロックであるメインクロックXINの停止が検出されると、発振監視装置70は次のような動作を行う。即ち、リングオシレータ72はメインクロックXINに切り替わって発振を開始し、メインクロックXINに代わる新たな基準クロック(第3のクロック)を出力する。第4のクロック切替器73は、リングオシレータ72が出力する基準クロックを第1のクロック切替器12に出力するように切り替わる。さらに、発振停止検出器71は、第1のクロック選択レジスタ13、第2の選択レジスタ15を制御して、選択クロックMCLKとしてリングオシレータ72が出力する基準クロックが選択されるようにする(即ち、第2のクロック切替器14がPLLクロックXPLLを選択しないようにする)。それと共に、発振停止検出器71は、倍速設定レジスタ18を制御してメイン分周部16が倍速モードで動作しないようにする。
【0053】
即ち、本実施の形態によれば、クロック生成回路10は、外部から入力されるメインクロックXINが停止した場合でも、リングオシレータ72が出力する基準クロックに基づいてCPUクロックCLKCPU、バスクロックCLKBUSを生成する。従って、CPU50およびBIU51の誤動作を防止でき、安定したMCUの動作を行うことが可能になる。
【0054】
【発明の効果】
本発明によれば、クロック生成回路は、第1および第2のクロックの周波数を互いに同じにするか異ならしめるかの設定が保持されるレジスタを備え、当該レジスタに保持された設定に応じて、第1および第2のクロックの位相は揃えたままで周波数を切り替える。即ち、互いに位相が揃った異なる周波数の第1および第2のクロックを生成可能である。よって、例えば周辺装置が低速ブロックでCPUが高速ブロックの場合に、第1のクロックを第2のクロックよりも高速にすることで、周辺装置の正常な動作を確保しつつCPUの高速化を図ることができる。言い換えれば、CPUの動作速度が、周辺回路の動作速度により律速されることが防止されるので、MCU全体の動作速度の向上に寄与できる。また、MCUを構成する要素全てを高周波数のクロックに対応したものにすることなく、CPUの動作速度を上げることができることから、MCU全体のコスト上昇を抑える効果も得られる。
【0055】
さらに、第1および第2のクロックの周波数が互いに異なる場合においても、両者の位相は揃ったままであるので、例えばBIUにおいて、容易に動作タイミング制御が可能である。例えば、コードバスと周辺バスとの動作の同期をとるための回路を付加する必要はない。
【図面の簡単な説明】
【図1】実施の形態1に係るマイクロコントローラ(MCU)の要部構成を示すブロック図である。
【図2】実施の形態1に係るクロック生成回路の構成を示すブロック図である。
【図3】実施の形態1に係るクロック生成回路のメイン分周部の構成を示すブロック図である。
【図4】実施の形態1に係るクロック生成回路のメイン分周部が有する分周カウンタの回路構成の一例を示す図である。
【図5】実施の形態1に係るMCUの動作モードの一例を示す図である。
【図6】実施の形態1に係るクロック生成回路のメイン分周部が有する第3のクロック切替器の回路構成の一例を示す図である。
【図7】実施の形態1に係るMCUが有するBIUの動作を説明するための図である。
【図8】実施の形態2に係るクロック生成回路の構成を示すブロック図である。
【図9】実施の形態2に係るクロック生成回路のクロック停止回路の回路構成の一例を示す図である。
【図10】実施の形態3に係るクロック生成回路の構成を示すブロック図である。
【図11】実施の形態4に係るクロック生成回路の構成を示すブロック図である。
【符号の説明】
IN メインクロック、XCIN サブクロック、XPLL PLLクロック、CLKCPU CPUクロック、CLKBUS バスクロック、MCLK 選択クロック、10 クロック生成回路、11 PLL回路、12 第1のクロック切替器、13第1の選択レジスタ、14 第2のクロック切替器、15 第2の選択レジスタ、16 メイン分周部、17 分周比設定レジスタ、18 倍速設定レジスタ、20 分周カウンタ、21 第3のクロック切替器、22 5ビットカウンタ、23 一致回路、50 CPU、51 BIU、52 ROM、53a,53b 周辺機能部、60 クロック停止装置、61 クロック停止回路、65 AND回路、70 発振監視装置、71 発振停止検出器、72 リングオシレータ、73 第4のクロック切替器。

Claims (5)

  1. 互いに位相の揃った第1および第2のクロックを生成するクロック生成回路と、
    前記第1のクロックに基づき動作するCPU(中央演算処理装置)と、
    前記CPUにより制御され、前記第2のクロックに基づき動作する周辺装置と、
    前記第1のクロックに基づいて動作する第1のバスと、
    前記第2のクロックに基づいて動作する第2のバスと、
    前記第1および第2のバスの動作タイミング制御を行うBIU(バスインターフェイスユニット)とを有するマイクロコントローラであって、
    前記クロック生成回路は、前記第1および第2のクロックの周波数を互いに同じにするか異ならしめるかの設定が保持されるレジスタを備え、前記レジスタに保持された前記設定に応じて、前記第1および第2のクロックの位相は揃えたままで周波数を切り替え、
    前記第1および第2のクロックは、前記BIUに入力され、
    前記BIUは、前記第1および第2のクロックに同期した所定のタイミングで前記第1および第2のバスのアイドル期間を交互に切り替えることにより、前記動作タイミング制御を行う
    ことを特徴とするマイクロコントローラ。
  2. 請求項1に記載のマイクロコントローラであって、
    前記クロック生成回路は、
    前記CPUに制御され、前記第1および第2のクロックの生成を停止させるクロック停止装置をさらに有し、
    前記クロック停止装置は、
    前記第2のクロックにおける単位周期が終了するタイミングに同期して、前記第1および第2のクロックの生成を停止させる
    ことを特徴とするマイクロコントローラ。
  3. 請求項1に記載のマイクロコントローラであって、
    前記クロック生成回路は、
    前記レジスタに保持された前記設定に関わらず、前記第1のおよび第2のクロックの周波数を同じにする手段をさらに備える
    ことを特徴とするマイクロコントローラ。
  4. 請求項1に記載のマイクロコントローラであって、
    前記クロック生成回路は、
    所定の基準クロックに基づいて前記第1および第2のクロックを生成し、さらに、
    第3のクロックを出力するオシレータと、
    前記基準クロックを、前記クロック生成回路の外部から入力される所定の外部クロック或いは前記第3のクロックに切り替える基準クロック切替回路と、
    前記外部クロックをモニタして、前記外部クロックの停止を検出する外部クロック停止検出回路とを備え、
    前記基準クロック切替回路は、前記外部クロックの停止が検出された場合に、前記基準クロックを前記第3のクロックに切り替える
    ことを特徴とするマイクロコントローラ。
  5. 請求項4に記載のマイクロコントローラであって、
    前記クロック生成回路は、
    前記外部クロックの停止が検出された場合に、前記レジスタに保持された前記設定に関わらず、前記第1のおよび第2のクロックの周波数を同じにする
    ことを特徴とするマイクロコントローラ。
JP2003100434A 2003-04-03 2003-04-03 マイクロコントローラ Expired - Lifetime JP4152795B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003100434A JP4152795B2 (ja) 2003-04-03 2003-04-03 マイクロコントローラ
US10/690,574 US7167996B2 (en) 2003-04-03 2003-10-23 Micro controller unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003100434A JP4152795B2 (ja) 2003-04-03 2003-04-03 マイクロコントローラ

Publications (2)

Publication Number Publication Date
JP2004310283A true JP2004310283A (ja) 2004-11-04
JP4152795B2 JP4152795B2 (ja) 2008-09-17

Family

ID=33156724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003100434A Expired - Lifetime JP4152795B2 (ja) 2003-04-03 2003-04-03 マイクロコントローラ

Country Status (2)

Country Link
US (1) US7167996B2 (ja)
JP (1) JP4152795B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012225254A (ja) * 2011-04-20 2012-11-15 Honda Motor Co Ltd 内燃機関の制御装置
JP2015080049A (ja) * 2013-10-15 2015-04-23 日本電波工業株式会社 発振器

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100716730B1 (ko) * 2004-06-11 2007-05-14 삼성전자주식회사 중앙 처리 장치의 아이들 상태에서의 시스템 전력 소모절감을 위한 방법 및 그 방법을 적용한 모바일 장치
US8248421B2 (en) 2008-09-30 2012-08-21 Apple Inc. DisplayPort control and data registers
US20100079444A1 (en) * 2008-09-30 2010-04-01 Apple Inc. Displayport sleep behavior
US7899941B2 (en) * 2008-09-30 2011-03-01 Apple Inc. Displayport I2C speed control
CN108519792B (zh) * 2012-12-13 2021-11-26 相干逻辑公司 时钟发生电路的重新配置
CN103529924A (zh) * 2013-08-14 2014-01-22 南通腾启电子商务有限公司 用于计算机上的节能控制电源设备
TWI778601B (zh) * 2021-04-29 2022-09-21 新唐科技股份有限公司 微控制器、操作系統及控制方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0744432B2 (ja) * 1993-02-24 1995-05-15 日本電気株式会社 クロック生成装置
US5778237A (en) * 1995-01-10 1998-07-07 Hitachi, Ltd. Data processor and single-chip microcomputer with changing clock frequency and operating voltage
US5834956A (en) * 1995-12-29 1998-11-10 Intel Corporation Core clock correction in a 2/N mode clocking scheme
US5903746A (en) * 1996-11-04 1999-05-11 Texas Instruments Incorporated Apparatus and method for automatically sequencing clocks in a data processing system when entering or leaving a low power state
US6081143A (en) * 1997-09-26 2000-06-27 Sun Microsystems, Inc. Frequency comparison and generation in an integrated processor
JPH11143571A (ja) * 1997-11-05 1999-05-28 Mitsubishi Electric Corp データ処理装置
JPH11272644A (ja) 1998-03-23 1999-10-08 Oki Electric Ind Co Ltd マイクロコントローラ
US6895518B2 (en) * 2001-05-31 2005-05-17 Koninklijke Philips Electronics N.V. Power and frequency adjustable UART device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012225254A (ja) * 2011-04-20 2012-11-15 Honda Motor Co Ltd 内燃機関の制御装置
JP2015080049A (ja) * 2013-10-15 2015-04-23 日本電波工業株式会社 発振器

Also Published As

Publication number Publication date
US20040210780A1 (en) 2004-10-21
US7167996B2 (en) 2007-01-23
JP4152795B2 (ja) 2008-09-17

Similar Documents

Publication Publication Date Title
US5572719A (en) Clock control system for microprocessors including a delay sensing circuit
KR100379766B1 (ko) 순간클럭주파수시프트기능을구비한pll시스템클럭발생기
JP4249701B2 (ja) 一体化されたグラフィック装置の電力管理
JP3505018B2 (ja) 半導体集積回路
JP5317356B2 (ja) クロック制御信号生成回路、クロックセレクタ、及び情報処理装置
US5768602A (en) Sleep mode controller for power management
JP3884322B2 (ja) ネットワークインターフェース
JP2005190483A (ja) 遊休モードでの電力消費が減少したプロセッサシステムおよびその方法
JPH07307765A (ja) システム、直列通信回路、および非同期送受信器回路のための電力管理方法
US6269043B1 (en) Power conservation system employing a snooze mode
JP3468592B2 (ja) クロック信号発生回路
JP4152795B2 (ja) マイクロコントローラ
JP5808097B2 (ja) 半導体装置及び半導体装置におけるリセット制御方法
KR20160143159A (ko) 데이터 복원을 안정적으로 제어하는 파워 게이팅 제어 회로
JP4715760B2 (ja) マイクロコンピュータ及び制御システム
JP5589787B2 (ja) 半導体装置
US5734878A (en) Microcomputer in which a CPU is operated on the basis of a clock signal input into one of two clock terminals
EP1358538B1 (en) Method and apparatus for applying clock signals to the processor of mobile subscriber station to manage power consumption
JP4192485B2 (ja) マイクロコンピュータ
US7171577B2 (en) Methods and apparatus for a system clock divider
JPH06259164A (ja) クロック信号生成集積回路
JP5250745B2 (ja) クロック切替回路
JP6441166B2 (ja) 半導体装置
JP2007018545A (ja) ネットワークインターフェース
JP2001005552A (ja) 消費電力低減回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080130

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080130

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: 20080701

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080702

R150 Certificate of patent or registration of utility model

Ref document number: 4152795

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130711

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term