JP3647481B2 - マイクロコントローラ - Google Patents
マイクロコントローラ Download PDFInfo
- Publication number
- JP3647481B2 JP3647481B2 JP09215894A JP9215894A JP3647481B2 JP 3647481 B2 JP3647481 B2 JP 3647481B2 JP 09215894 A JP09215894 A JP 09215894A JP 9215894 A JP9215894 A JP 9215894A JP 3647481 B2 JP3647481 B2 JP 3647481B2
- Authority
- JP
- Japan
- Prior art keywords
- clock
- arithmetic processing
- processing unit
- intermittent operation
- bus
- 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 - Lifetime
Links
- 230000002093 peripheral effect Effects 0.000 claims description 74
- 230000004913 activation Effects 0.000 claims description 17
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 7
- 238000004260 weight control Methods 0.000 claims description 4
- 239000000725 suspension Substances 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Landscapes
- Microcomputers (AREA)
- Power Sources (AREA)
- Executing Machine-Instructions (AREA)
Description
【産業上の利用分野】
本発明は、マイクロコントローラに係り、特に、ワンチップに中央演算装置(CPU)、ROM,RAM等の記憶装置、びタイマやシリアルI/O等の周辺回路、及びクロック供給回路を内蔵するマイクロコントローラに関する。
【0002】
上記マイクロコントローラは、作成するプログラムにより様々な制御を行うことができるので、様々な分野の制御用途に使用されている。
【0003】
様々な分野の制御用途の中で、電池駆動により低消費電力が要求される制御用途が存在する。この制御用途では、電池による動作時間を長くするために、消費電力は大きいが高速に動作させるモードや、低速に動作させて消費電力が小さくなるモードなどに段階的に動作状態を変化させて、高速に処理を行いつつ、低消費電力にすることが必要とされている。
【0004】
【従来の技術】
マイクロコントローラには、中央演算装置(CPU)、ROM,RAM等の記憶装置、及びタイマやシリアルI/O等の周辺回路を内蔵しているものがある。
【0005】
上記従来のマイクロコントローラでは、動作していないブロックのクロックを停止させたり、低速モード時に、CPU及び周辺回路の動作クロックとして入力クロックを分周したクロックを供給することで低速に動作させたりして、低消費電力になるようにしていた。
【0006】
【発明が解決しようとする課題】
前記従来のマイクロコントローラでは、低速モードに設定すると、動作クロックとして入力クロックを分周したクロックをCPU及び周辺回路に供給しているが、分周することによりクロック周波数が変化するため、周辺回路のタイマの時定数やシリアル転送の転送レートが変動してしまう。
【0007】
このため、分周により動作クロックを切り換えるごとに、タイマの時定数やシリアル転送レートの設定値を変更する必要があり、処理が複雑になるという問題がある。
【0008】
また、低速モードにしてCPUを低速動作させる場合には、周辺回路も低速動作することとなり、消費電力の大きいCPUのみを低速動作させることができないという問題がある。
【0009】
また、クロック切り換え時には、上記の設定値を切り換えるまで、誤動作防止のために、タイマやシリアルI/O等の周辺回路を一時停止させる必要があり、ロスタイムが生じてしまう。
【0010】
別の構成として、CPUへのクロックと、タイマやシリアルI/O等の周辺回路へのクロックを独立に生成して供給するものがある。しかし、この構成では、CPUクロックと周辺クロックの同期が必要であり、クロックのぶれを考慮しても同期が取れる回路とするために、回路規模が大きくなってしまうという問題がある。
【0011】
本発明は、上記の点に鑑みてなされたもので、周辺回路と独立にCPUの動作速度を設定でき、かつ、回路規模を抑えることができるマイクロコントローラを提供することを目的とする。
【0012】
【課題を解決するための手段】
請求項1の発明は、演算処理部、周辺回路、読み出し専用メモリ、ランダムアクセスメモリ、マイクロコントローラの外部に設けられた外部バスとの間のデータ転送の制御を行う外部バス制御部及びクロック供給回路が内部バスで接続されており、基準とする内部クロックを基にして前記クロック供給回路により生成される演算処理部用クロックと周辺回路用クロックにより動作するマイクロコントローラにおいて、
前記クロック供給回路は、
前記内部クロックを基にして周辺回路用クロックを生成する周辺回路用クロック供給部と、
前記演算処理部により通常動作モードを指定された場合には、前記演算処理部の通常動作モードを指示するモード信号を生成し、前記演算処理部により間欠動作モードを指定された場合には、前記演算処理部の間欠動作モードを指示するモード信号を生成する間欠動作モード制御部と、
前記間欠動作モードを指示するモード信号と、前記演算処理部による内部バスのアクセスを示す内部バスアクセス信号が供給されたときに、所定時間演算処理部用クロックを一時停止させることを指示する間欠動作制御信号を生成する間欠動作制御信号生成部と、
前記内部クロックを基にして前記演算処理部用クロックを生成し、前記間欠動作制御信号を供給されたときに、前記演算処理部用クロックを一時停止させる演算処理部用クロック供給部と、
前記外部バス制御部から外部バスの動作が継続中であることを示す外部バス動作実行中信号を供給されると、ウエイト制御信号を生成するウエイト制御部とを有し、
前記演算処理部用クロック供給部は、前記ウエイト制御信号を供給されると、演算処理部用クロックを一時停止させ、
前記内部バスは、バス動作の1周期が、アクセスするアドレスを前記内部バスに出力するバス動作の第1サイクルと、前記内部バスを介してデータを転送するバス動作の第2サイクルとからなるマルチプレックス方式のバスであり、
前記間欠動作制御信号は、バス動作の第1サイクルに生成され、
前記ウエイト制御信号は、バス動作の第2サイクルに生成される構成とする。
【0013】
請求項2の発明では、前記間欠動作モード制御部は、動作モードを決定する制御レジスタを備えており、前記演算処理部により設定された前記制御レジスタの値に対応して、前記演算処理部の間欠動作又は通常動作を指示するモード信号、及び前記間欠動作時に演算処理部用クロックを一時停止させるサイクル数を示すサイクル数指定信号を生成し、
前記間欠動作制御信号生成部は、
前記間欠動作モードを指示するモード信号と、前記演算処理部による内部バスのアクセスを示す内部バスアクセス信号が供給されたときに、前記間欠動作制御信号を生成し、再開指示信号を供給されたときに、前記間欠動作制御信号の生成を停止する起動制御回路と、
前記サイクル数指定信号と前記間欠動作制御信号とを供給されて、前記間欠動作制御信号が生成されているサイクル数をカウントし、前記カウント値が指定されたサイクル数になったことを検出すると、前記演算処理部用クロックの供給再開を指示する再開指示信号を生成して前記起動制御回路に供給する間欠動作サイクルカウンタとからなる構成とする。
【0016】
請求項3の発明では、前記読み出し専用メモリは、前記演算処理部用クロックにより動作する構成とする。
【0017】
請求項4の発明では、前記ランダムアクセスメモリは、前記演算処理部用クロックにより動作する構成とする。
【0018】
請求項5の発明では、前記演算処理部とは独立に前記読み出し専用メモリ、ランダムアクセスメモリ、周辺回路間のデータ転送を行うデータ転送制御回路を備えており、前記データ転送制御回路は、前記演算処理部用クロックにより動作する構成とする。
【0019】
【作用】
請求項1の発明では、基準となる内部クロックを変えることなく、間欠動作モード時に生成される間欠動作制御信号により、周辺回路用クロックと独立に、演算処理部用クロックの速度を変えることができる。
【0020】
このため、周辺回路用クロックを一定速度にして、周辺回路を一定速度で動作させた状態で、演算処理部用クロックのみを低速にして、演算処理部のみを低速動作させて低消費電力化することを可能とする。
【0021】
また、周辺回路用クロックを一定周波数としておけるため、従来のマイクロコントローラと異なり、クロック速度の切り換え時に、周辺回路のタイマの時定数やシリアル転送レートの設定値を変更する必要が無く、処理の複雑さを解消でき、また、タイマやシリアルI/O等の周辺回路を一時停止させる必要がない。
【0022】
また、外部バスアクセス時のウエイト制御と同様にして、演算処理部用クロックを一時停止させて演算処理部用クロックを低速にするため、演算処理部としては、従来と同様のものをそのまま使用することができる。また、周辺回路用クロックは従来と同様であるので、周辺回路は、従来と同様のものをそのまま使用することができる。
【0023】
また、演算処理部用クロックと周辺回路用クロックを独立に生成して両者の同期を確保する構成に比べると、大幅に小さい回路規模で実現することを可能とする。また、外部バスアクセス時のウエイト動作と、間欠動作モード時の間欠動作の両方を実行することを可能とする。また、マルチプレックス方式のバスにおいて、外部バスアクセス時のウエイト動作と、間欠動作モード時の間欠動作の両方を実行することを可能とする。
【0024】
請求項2の発明では、制御レジスタの値を設定することで、間欠動作又は通常動作の設定、及び、間欠動作時の一時停止させるサイクル数を設定することができる。このため、演算処理部用クロックの速度を容易に適切な速度に設定することを可能とする。
【0027】
請求項3の発明では、内蔵される読み出し専用メモリが、演算処理部用クロックにより動作するため、演算処理部用クロックを低速とすることにより、読み出し専用メモリの消費電力を低減することを可能とする。
【0028】
請求項4の発明では、内蔵されるランダムアクセスメモリが、演算処理部用クロックにより動作するため、演算処理部用クロックを低速とすることにより、ランダムアクセスメモリの消費電力を低減することを可能とする。
【0029】
請求項5の発明では、内蔵されるデータ転送制御回路が、演算処理部用クロックにより動作するため、演算処理部用クロックを低速とすることにより、データ転送制御回路の消費電力を低減することを可能とする。
【0030】
【実施例】
図1は本発明の一実施例のマイクロコントローラ21の構成図を示す。マイクロコントローラ21の内部には、CPUコア(演算処理部)22、ROM26、RAM27、タイマ24,シリアルI/O25等からなる周辺回路、クロック供給回路31、及び外部バス制御部28が、内部バス32を介して接続されている。
【0031】
CPUコア22は命令を実行するブロックであり、命令デコーダ部、命令実行制御部、レジスタ、及び演算実行部から構成される。
【0032】
タイマ24は、制御に必要となる時間の計測を行う回路であり、シリアルI/O25は、外部回路とシリアルデータで通信する回路である。
【0033】
クロック供給回路31は、マイクロコントローラ21の外部から供給される外部クロックを基にして、CPUクロック(演算処理部用クロック)、周辺クロック(周辺回路用クロック)を生成する。CPUクロックは、CPU22、同期式のROM26とRAM27に供給され、周辺クロックは、タイマ24,シリアルI/O25等の周辺回路に供給される。また、クロック供給回路31は、リセット信号を各部に供給する。
【0034】
外部バス制御部28は、マイクロコントローラ21の外部に設けられた外部バスとの間のデータ転送の制御を行う。外部バスには、外部メモリ等が接続される。
【0035】
図2は、クロック供給回路31の構成図を示す。なお、リセット信号に関する部分は図示しない。動作クロック生成部41は、マイクロコントローラ21の外部から供給される外部クロックを基にして、クロック供給回路31の基準となる内部クロックを生成する。
【0036】
周辺クロック供給部43は、動作クロック生成部41から供給される内部クロックと同期した周辺クロックを生成する。
【0037】
CPUクロック供給部42は、動作クロック生成部41から供給される内部クロックと同期したCPUクロックを生成する。なお、後述するクロック停止モード制御回路47からCPUクロック停止指示信号が供給されたときは、CPUクロックの生成を停止する。また、後述するように、間欠動作制御信号、又はウエイト制御信号を供給されたときには、CPUクロックの一時停止を行う。
【0038】
クロック停止モード制御回路47は、クロック停止モード、又はクロック停止解除モードのいずれかに決定する制御レジスタを持つ。この制御レジスタは、CPUコア22等により内部バス32を介して設定される。
【0039】
CPUコア22により、全クロック停止モードを指定する値が制御レジスタに設定されたときは、クロック停止モード制御回路47は、クロック停止指示信号を動作クロック生成部41に供給する。
【0040】
動作クロック生成部41は、クロック停止モード制御回路47からクロック停止指示信号を供給されると、内部クロックの生成を停止する。これにより、CPUクロック供給部42はCPUクロックの生成を停止し、周辺クロック供給部43は周辺クロックの生成を停止して、クロック供給回路31は、全クロック停止モードに設定される。
【0041】
この全クロック停止モードでは、CPUクロックと周辺クロックが共に停止するため、マイクロコントローラ21は、動作を完全に停止した、待機状態となる。
【0042】
CPUコア22により、CPUクロック停止モードを指定する値が制御レジスタに設定されたときは、クロック停止モード制御回路47は、CPUクロック停止指示信号をCPUクロック供給部42に供給する。
【0043】
CPUクロック供給部42は、クロック停止モード制御回路47からCPUクロック停止指示信号を供給されると、CPUクロックの生成を停止する。このようにして、クロック供給回路31は、CPUクロック停止モードに設定される。CPUクロック停止モードでは、周辺クロックは停止されず、周辺回路は動作しており、CPUコア22、ROM26、RAM27が動作を停止する。
【0044】
クロック停止モード制御回路47の制御レジスタに、クロック停止解除を指定する値が設定されると、クロック停止解除状態になり、クロック停止モード制御回路47はクロック停止指示信号、又は、CPUクロック停止指示信号の生成を停止する。この場合、動作クロック生成部41が内部クロックを生成し、周辺クロック供給部43は周辺クロックを生成し、また、CPUクロック供給部42は、CPUクロックを生成する。
【0045】
図3は、クロック停止が解除され、かつ、CPUクロックの一時停止が無い、通常動作時のタイムチャートである。
【0046】
クロック停止が解除されているので、動作クロック生成部41は内部クロックを生成しており、周辺クロック供給部43は、図3(B)に示す周辺クロックを生成している。
【0047】
ウエイト制御信号、間欠動作制御信号は、Hレベルで有効な信号であり、図3(C)のウエイト制御信号、図3(D)の間欠動作制御信号は、共にLレベルで無効状態である。このため、CPUクロックの一時停止が無く、CPUクロック供給部42は、図3(A)に示すように、内部クロックを基に通常のCPUクロックを生成する。
【0048】
マイクロコントローラ21は、アドレスとデータをマルチプレックスして転送するマルチプレックス方式の内部バス32を用いている。このため、バス動作の1周期は第1サイクルと第2サイクルからなり、バス動作の第1サイクル(例えば、図3のt1 〜t2 、t3 〜t4 )は、アクセスするアドレスを内部バス32に出力するサイクルで、バス動作の第2サイクル(例えば、図3のt2 〜t3 、t4 〜t5 )は、内部バス32を介してデータを転送するサイクルである。
【0049】
メモリウエイト制御部45は、外部バス制御部28と接続されており、下記の外部バス動作実行中信号を供給される。CPUコア22が外部バス制御部28を介して外部バスをアクセスする際に、外部バスとCPUコア22間でのデータ転送が完了しないとき、外部バス制御部28は、外部バスの動作が継続中であることを示す外部バス動作実行中信号をメモリウエイト制御部45に供給する。
【0050】
メモリウエイト制御部45は、外部バス制御部28から外部バス動作実行中信号を供給されると、CPUクロックを一時停止させるためのウエイト制御信号を生成して、CPUクロック供給部42に供給する。CPUクロック供給部42は、ウエイト制御信号を供給されると、CPUクロックを一時停止させる。このようにして、CPUコア22はウエイト動作を行う。
【0051】
図4は、ウエイト動作によるCPUクロックの一時停止の例を示すタイムチャートである。なお、クロック停止モード制御回路47には、クロック停止解除が設定されており、図4(B)に示すように、周辺クロックは、通常どおり生成されている。また、図4(D)の間欠動作制御信号は、Lレベルで無効状態である。
【0052】
図4の時刻t11〜t13の周期では、内部バスのみにアクセスしており、時刻t13〜t17の周期では、外部バスにアクセスしている。第1サイクルの時刻t13〜t14では、CPUコア22は、内部バス32、外部バス制御部28を介して、外部バスに対してアドレスを出力している。
【0053】
第2サイクルの時刻t14〜t17では、CPUコア22は、外部バスとの間でデータ転送を行おうとする。この際、外部バスに接続されているメモリ等の速度が遅いため等によりデータ転送が完了しないと、外部バス制御部28は外部バス動作実行中信号をメモリウエイト制御部45に供給する。
【0054】
メモリウエイト制御部45は、この外部バス動作実行中信号に対応して、時刻t15〜t16でウエイト制御信号(図4(C))を生成して、CPUクロック供給部42に供給する。CPUクロック供給部42は、ウエイト制御信号を供給されている間、CPUクロックを一時停止させる。図4(A)では、1クロック分CPUクロックを一時停止している。このようにして、CPUコア22は、外部バスとの間のデータ転送が完了するまで、ウエイト動作する。
【0055】
次に、本発明の要部である間欠動作制御部50について説明する。間欠動作制御信号を生成する間欠動作制御部50は、間欠動作モード制御回路51と間欠動作制御信号生成部52から構成され、間欠動作制御信号生成部52は、起動回路53と間欠動作サイクルカウンタ54から構成される。
【0056】
間欠動作モード制御回路51は、動作モードを決定する制御レジスタを持つ。この制御レジスタの制御ビットの値により、動作モードと間欠動作時にCPUクロックを一時停止させるサイクル数が決まる。
【0057】
CPUコア22は、CPUクロックの一時停止を行わない通常動作モードを設定しようとする際には、内部バス32を介して、通常動作モードを指定する値を、制御レジスタの動作モード制御ビットに設定する。
【0058】
また、CPUコア22は、CPUクロックの一時停止を行う間欠動作モードを設定しようとする際には、間欠動作モードを指定する値を、制御レジスタの動作モード制御ビットに設定し、かつ、間欠動作時にCPUクロックを一時停止させるサイクル数を、制御レジスタのサイクル数制御ビットに設定する。
【0059】
間欠動作モード制御回路51は、通常動作モードを指定する値を制御レジスタの動作モード制御ビットに設定されると、通常動作モードを指示するモード信号を生成して、間欠動作制御信号生成部52の起動制御回路53に供給する。
【0060】
また、間欠動作モード制御回路51は、間欠動作モードを指定する値を制御レジスタの動作モード制御ビットに設定され、かつ、一時停止させるサイクル数を制御レジスタのサイクル数制御ビットに設定されると、間欠動作モードを指示するモード信号を生成して、間欠動作制御信号生成部52の起動制御回路53に供給し、CPUクロックを一時停止させるサイクル数を示すサイクル数指定信号を、間欠動作サイクルカウンタ54に供給する。
【0061】
間欠動作制御信号生成部52の起動制御回路53は、間欠動作モード制御回路51から、通常動作モードを指示するモード信号を供給されたときは、間欠動作制御信号を生成せず、CPUクロック供給部42に供給される間欠動作制御信号は、Lレベルの無効状態となる。この場合、クロック停止解除状態であれば、図3に示すように、CPUクロック供給部42は通常のCPUクロックを生成し、また、周辺クロック供給部43は周辺クロックを生成する。これにより、CPUコア22と周辺回路は共に通常動作を行う。
【0062】
起動制御回路53には、CPUコア22から、CPUコア22が内部バス32をアクセスしていることを示す内部バスアクセス信号が供給される。起動制御回路53は、間欠動作モード制御回路51から、間欠動作モードを指示するモード信号を供給されたときは、CPUコア22が内部バス32をアクセスしていることを示す内部バスアクセス信号を検出した時点で、CPUクロックの一時停止を指示するHレベルの間欠動作制御信号を生成して、CPUクロック供給部42に供給する。
【0063】
CPUクロック供給部42は、起動制御回路53から、CPUクロックの一時停止を指示するHレベルの間欠動作制御信号を供給されている間、CPUクロックを一時停止させる。
【0064】
間欠動作サイクルカウンタ54は、間欠動作モード制御回路51からサイクル数指定信号を供給され、起動制御回路53から間欠動作制御信号を供給され、また、動作クロック生成部41から、内部クロックを供給される。
【0065】
間欠動作サイクルカウンタ54は、内部クロックを用いて、Hレベルの間欠動作制御信号が生成されているサイクル数をカウントして、カウント値がサイクル数指定信号が指定するサイクル数に達したことを検出すると、CPUクロックの供給再開を指示する再開指示信号を生成して、起動制御回路53に供給する。
【0066】
起動制御回路53は、クロック供給再開を指示する再開指示信号を間欠動作サイクルカウンタ54から供給されると、Hレベルの間欠動作制御信号の生成を停止する。これにより、CPUクロック供給部42に供給される間欠動作制御信号は、Lレベルの無効状態となり、CPUクロック供給部42は、CPUクロックの生成を再開する。
【0067】
図5は、間欠動作によるCPUクロックの一時停止の例を示すタイムチャートである。ここで、クロック停止モード制御回路47には、クロック停止解除が設定されており、図5(B)に示すように、周辺クロックは、通常どおり生成されている。また、外部バスにはアクセスしておらず、図5(C)のウエイト制御信号は、Lレベルの無効状態となっている。
【0068】
図5の時刻t21以前に、間欠動作モード制御回路51は、CPUコア22により、間欠動作モードに設定されている。また、バス動作の第1サイクル(時刻t21〜t24)の間、図5(E)に示すHレベルの内部バスアクセス信号が起動制御回路53に供給される。
【0069】
起動制御回路53は、第1サイクルの先頭時刻t21で有効となった内部バスアクセス信号を検出して、時刻t22でHレベルの間欠動作制御信号の生成を開始する。図5は、サイクル数指定信号により、4サイクルが指定されている場合の例であり、間欠動作サイクルカウンタ54は、時刻t22から4サイクルカウントした時刻t23で再開指示信号を起動制御回路53に供給する。起動制御回路53は、再開指示信号を供給された時刻t23で間欠動作制御信号の生成を停止し、間欠動作制御信号はLレベルの無効状態となる。
【0070】
CPUクロック供給部42は、上記の間欠動作制御信号を供給されて、図5(A)に示すように、時刻t22〜t23の4サイクル分、CPUクロックを一時停止させる。
【0071】
CPUコア22がアクセスするアドレスは、CPUクロックが再開された時刻t23〜t24の間に出力されるため、不都合を生じることなく、CPUコア22の動作速度を低速にするとこができる。
【0072】
図6は、間欠動作及びウエイト動作によるCPUクロックの一時停止の例を示すタイムチャートである。ここで、クロック停止モード制御回路47には、クロック停止解除が設定されており、図6(B)に示すように、周辺クロックは、通常どおり生成されている。
【0073】
バス動作の第1サイクルの時刻t31〜t34では、CPUコア22は、内部バス32と外部バス制御部28を介して、外部バスに対してアドレスを出力している。また、第2サイクルの時刻t34〜t37では、CPUコア22は、外部バスとの間でデータ転送を行う。
【0074】
図6の時刻t31以前に、間欠動作モード制御回路51は、CPUコア22により、間欠動作モードに設定されている。また、バス動作の第1サイクル(時刻t31〜t34)の間、図6(E)に示すHレベルの内部バスアクセス信号が起動制御回路53に供給される。
【0075】
起動制御回路53は、第1サイクルの先頭時刻t31で有効となった内部バスアクセス信号を検出して、時刻t32でHレベルの間欠動作制御信号の生成を開始する。図6は、サイクル数指定信号により、4サイクルが指定されている場合の例であり、間欠動作サイクルカウンタ54は、時刻t32から4サイクルカウントした時刻t33で再開指示信号を起動制御回路53に供給する。起動制御回路53は、再開指示信号を供給された時刻t33で間欠動作制御信号の生成を停止し、間欠動作制御信号はLレベルの無効状態となる。
【0076】
CPUクロック供給部42は、上記の間欠動作制御信号を供給されて、図6(A)に示すように、時刻t32〜t33の4サイクル分、CPUクロックを一時停止させる。
【0077】
第2サイクルの時刻t34〜t37では、CPUコア22は、外部バスとの間でデータ転送を行おうとする。この際、外部バスに接続されているメモリ等の速度が遅いため等により、外部バス制御部28が、外部バス動作実行中信号をメモリウエイト制御部45に供給する。
【0078】
メモリウエイト制御部45は、この外部バス動作実行中信号に対応して、時刻t35〜t36でウエイト制御信号(図6(C))を生成して、CPUクロック供給部42に供給する。CPUクロック供給部42は、ウエイト制御信号を供給されている間、CPUクロックを一時停止させる。図6(A)では、1クロック分CPUクロックを一時停止している。このようにして、CPUコア22は、外部バスとの間のデータ転送が完了するまで、ウエイト動作する。
【0079】
上記のように、外部バスにアクセスする場合でも、間欠動作モードに設定して、CPUコア22を間欠動作させることができる。また、間欠動作によるCPUクロックの一時停止が第1サイクルで行われ、外部バスアクセスによるCPUクロックの一時停止が第2サイクルで行われるため、間欠動作とウエイト動作は不都合無く両立する。
【0080】
本実施例では、内部クロックを基に周辺クロックを生成する周辺クロック供給部43と、内部クロックを基にCPUクロックを生成するCPUクロック供給部42を設け、内部クロックを変えることなく、間欠動作モードが設定された際に生成される間欠動作制御信号により、CPUクロックの速度を可変としている。このため、周辺クロックと独立に、CPUクロックの速度を変えることができる。
【0081】
従って、本実施例では、周辺クロックを一定速度にして、周辺回路を一定速度で動作させた状態で、CPUコア22に供給するCPUクロックのみを低速にして、消費電力の大きいCPUコア22のみを低速動作させることができる。
【0082】
また、CPUクロックの速度を変えても、周辺クロックは一定周波数としておけるため、従来のマイクロコントローラと異なり、クロック速度の切り換え時に、タイマ24の時定数やシリアルI/O25のシリアル転送レートの設定値を変更する必要が無く、処理が複雑になる問題を解消でき、また、タイマ24やシリアルI/O25等の周辺回路を一時停止させる必要がない。
【0083】
また、間欠動作モード制御回路51の制御レジスタの値を設定することで、間欠動作又は通常動作の設定、及び、間欠動作時の一時停止させるサイクル数を設定することができるため、CPUクロックの速度を容易に適切な速度に設定することができる。
【0084】
本実施例では、通常動作モード、CPUクロックと周辺クロックを共に停止させる全クロック停止モード、CPUクロックのみ停止させるCPUクロック停止モードに加えて、CPUクロックを一時停止させる間欠動作モードを設けており、必要に応じて、段階的に動作状態を変化させて、高速に処理を行いつつ、低消費電力化することができる。このため、特に電池駆動等で、低消費電力、かつ、高速処理が必要とされる用途に好適である。
【0085】
また、外部バスアクセス時のウエイト制御と同様にして、CPUクロックを間引くことにより、CPUクロックを一時停止させるため、CPUコア22としては、外部バスアクセス時のウエイト動作と同様に間欠動作する。このため、従来のCPUコアをそのまま使用することができる。
【0086】
また、周辺回路に供給される周辺クロックは、通常動作時における従来の周辺クロックと同様であるので、周辺回路は従来と同様の周辺回路をそのまま使用することができる。
【0087】
また、CPUクロックと周辺回路クロックを独立に生成して両者の同期を確保する構成に比べると、大幅に小さい回路規模で実現することができる。
【0088】
また、内蔵されるROM26、RAM27は、CPUクロックにより動作する同期式であるため、CPUクロックを低速とすることにより、ROM26とRAM27の消費電力も低減することができ、間欠動作モード時に、マイクロコントローラ21をより低消費電力化することができる。
【0089】
なお、マイクロコントローラには、CPUコア以外に、内蔵のROM,RAMと周辺回路間でのデータ転送を行うDMAC(Direct Memory Access Controller)を内蔵したものがある。このマイクロコントローラでは、DMACもCPUクロックにより動作する同期式として、間欠動作モード時に、DMACも低消費電力動作させることができる。
【0090】
【発明の効果】
上述の如く、請求項1の発明によれば、基準となる内部クロックを変えることなく、間欠動作制御信号により、周辺回路用クロックと独立に、演算処理部用クロックの速度を変えることができるため、周辺回路を一定速度で動作させた状態で、演算処理部用クロックのみを低速にして、演算処理部のみを低速動作させて低消費電力化することができ、また、周辺回路用クロックを一定周波数としておけるため、クロック速度の切り換え時に、周辺回路のタイマの時定数やシリアル転送レートの設定値を変更する必要が無く、処理の複雑さを解消でき、タイマやシリアルI/O等の周辺回路を一時停止させる必要がない。
【0091】
また、外部バスアクセス時のウエイト制御と同様にして、演算処理部用クロックを一時停止させて演算処理部用クロックを低速にするため、演算処理部としては、従来と同様のものをそのまま使用することができ、周辺回路用クロックは従来と同様であるので、周辺回路は従来と同様のものをそのまま使用することができる。
【0092】
また、演算処理部用クロックと周辺回路用クロックを独立に生成して両者の同期を確保する構成に比べると、大幅に小さい回路規模で実現することができる。
また、外部バスアクセス時のウエイト動作と、間欠動作モード時の間欠動作の両方を実行することができる。
また、マルチプレックス方式のバスにおいて、外部バスアクセス時のウエイト動作と、間欠動作モード時の間欠動作の両方を実行することができる。
【0093】
請求項2の発明によれば、制御レジスタの値を設定することで、間欠動作又は通常動作の設定、及び、間欠動作時の一時停止させるサイクル数を設定することができるため、演算処理部用クロックの速度を容易に適切な速度に設定することができる。
【0096】
請求項3の発明によれば、内蔵される読み出し専用メモリが、演算処理部用クロックにより動作するため、演算処理部用クロックを低速とすることにより、読み出し専用メモリの消費電力を低減することができる。
【0097】
請求項4の発明によればでは、内蔵されるランダムアクセスメモリが、演算処理部用クロックにより動作するため、演算処理部用クロックを低速とすることにより、ランダムアクセスメモリの消費電力を低減することができる。
【0098】
請求項5の発明では、内蔵されるデータ転送制御回路が、演算処理部用クロックにより動作するため、演算処理部用クロックを低速とすることにより、データ転送制御回路の消費電力を低減することができる。
【図面の簡単な説明】
【図1】本発明の一実施例のマイクロコントローラの構成図である。
【図2】クロック供給回路の構成図である。
【図3】CPUクロックの一時停止が無い、通常動作時のタイムチャートである。
【図4】ウエイト動作によるCPUクロックの一時停止の例を示すタイムチャートである。
【図5】間欠動作によるCPUクロックの一時停止の例を示すタイムチャートである。
【図6】間欠動作、及びウエイト動作によるCPUクロックの一時停止の例を示すタイムチャートである。
【符号の説明】
21 マイクロコントローラ
22 CPUコア
24 タイマ
25 シリアルI/O
26 ROM
27 RAM
28 外部バス制御部
31 クロック供給回路
32 内部バス
41 動作クロック生成部
42 CPUクロック供給部
43 周辺クロック供給部
45 メモリウエイト制御部
47 クロック停止モード制御回路
50 間欠動作制御部
51 間欠動作モード制御回路
52 間欠動作制御信号生成部
53 起動制御回路
54 間欠動作サイクルカウンタ
Claims (5)
- 演算処理部(22)、周辺回路(24,25)、読み出し専用メモリ(26)、ランダムアクセスメモリ(27)、マイクロコントローラの外部に設けられた外部バスとの間のデータ転送の制御を行う外部バス制御部(28)及びクロック供給回路(31)が内部バス(32)で接続されており、基準とする内部クロックを基にして前記クロック供給回路(31)により生成される演算処理部用クロックと周辺回路用クロックにより動作するマイクロコントローラにおいて、
前記クロック供給回路(31)は、
前記内部クロックを基にして周辺回路用クロックを生成する周辺回路用クロック供給部(43)と、
前記演算処理部(22)により通常動作モードを指定された場合には、前記演算処理部(22)の通常動作モードを指示するモード信号を生成し、前記演算処理部(22)により間欠動作モードを指定された場合には、前記演算処理部(22)の間欠動作モードを指示するモード信号を生成する間欠動作モード制御部(51)と、
前記間欠動作モードを指示するモード信号と、前記演算処理部(22)による内部バス(32)のアクセスを示す内部バスアクセス信号が供給されたときに、所定時間演算処理部用クロックを一時停止させることを指示する間欠動作制御信号を生成する間欠動作制御信号生成部(52)と、
前記内部クロックを基にして前記演算処理部用クロックを生成し、前記間欠動作制御信号を供給されたときに、前記演算処理部用クロックを一時停止させる演算処理部用クロック供給部(42)と、
前記外部バス制御部(28)から外部バスの動作が継続中であることを示す外部バス動作実行中信号を供給されると、ウエイト制御信号を生成するウエイト制御部(45)とを有し、
前記演算処理部用クロック供給部(42)は、前記ウエイト制御信号を供給されると、演算処理部用クロックを一時停止させ、
前記内部バス(32)は、バス動作の1周期が、アクセスするアドレスを前記内部バス(32)に出力するバス動作の第1サイクルと、前記内部バス(32)を介してデータを転送するバス動作の第2サイクルとからなるマルチプレックス方式のバスであり、
前記間欠動作制御信号は、バス動作の第1サイクルに生成され、
前記ウエイト制御信号は、バス動作の第2サイクルに生成されることを特徴とするマイクロコントローラ。 - 前記間欠動作モード制御部(51)は、動作モードを決定する制御レジスタを備えており、前記演算処理部(22)により設定された前記制御レジスタの値に対応して、前記演算処理部(22)の間欠動作又は通常動作を指示するモード信号、及び前記間欠動作時に演算処理部用クロックを一時停止させるサイクル数を示すサイクル数指定信号を生成し、
前記間欠動作制御信号生成部(52)は、
前記間欠動作モードを指示するモード信号と、前記演算処理部(22)による内部バスのアクセスを示す内部バスアクセス信号が供給されたときに、前記間欠動作制御信号を生成し、再開指示信号を供給されたときに、前記間欠動作制御信号の生成を停止する起動制御回路(53)と、
前記サイクル数指定信号と前記間欠動作制御信号とを供給されて、前記間欠動作制御信号が生成されているサイクル数をカウントし、前記カウント値が指定されたサイクル数になったことを検出すると、前記演算処理部用クロックの供給再開を指示する再開指示信号を生成して前記起動制御回路(53)に供給する間欠動作サイクルカウンタ(54)とからなることを特徴とする請求項1記載のマイクロコントローラ。 - 前記読み出し専用メモリ(26)は、前記演算処理部用クロックにより動作することを特徴とする請求項1記載のマイクロコントローラ。
- 前記ランダムアクセスメモリ(27)は、前記演算処理部用クロック により動作することを特徴とする請求項1記載のマイクロコントローラ。
- 前記演算処理部(22)は独立に前記読み出し専用メモリ(26)、ランダムアクセスメモリ(27)、周辺回路(24、25)間のデータ転送を行うデータ転送制御回路を備えており、前記データ転送制御回路は、前記演算処理部用クロックにより動作することを特徴とする請求項1記載のマイクロコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09215894A JP3647481B2 (ja) | 1994-04-28 | 1994-04-28 | マイクロコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09215894A JP3647481B2 (ja) | 1994-04-28 | 1994-04-28 | マイクロコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07295956A JPH07295956A (ja) | 1995-11-10 |
JP3647481B2 true JP3647481B2 (ja) | 2005-05-11 |
Family
ID=14046626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09215894A Expired - Lifetime JP3647481B2 (ja) | 1994-04-28 | 1994-04-28 | マイクロコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3647481B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MY122426A (en) | 1998-10-29 | 2006-04-29 | Matsushita Electric Ind Co Ltd | Memory controller for controlling an integrated memory undergoing logical state transitions |
US6986070B2 (en) * | 2000-12-28 | 2006-01-10 | Denso Corporation | Microcomputer that cooperates with an external apparatus to be driven by a drive signal |
JP3495342B2 (ja) | 2001-04-26 | 2004-02-09 | Necマイクロシステム株式会社 | クロック分配回路 |
-
1994
- 1994-04-28 JP JP09215894A patent/JP3647481B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH07295956A (ja) | 1995-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2676966B2 (ja) | シングルチップマイクロコンピュータ | |
JP2762670B2 (ja) | データ処理装置 | |
US5774702A (en) | Integrated circuit having function blocks operating in response to clock signals | |
JPH11184554A (ja) | クロック制御タイプ情報処理装置 | |
TWI224248B (en) | Microprocessor with multiple low power modes and emulation apparatus for said microprocessor | |
JPH03231320A (ja) | マイクロコンピュータシステム | |
JPH04283812A (ja) | マイクロプロセッサのプログラムの実行を反復減速する回路配置 | |
JP3647481B2 (ja) | マイクロコントローラ | |
JPH10133714A (ja) | 集積回路装置 | |
JPS60218152A (ja) | マイクロ・プロセツサ | |
JPH11305887A (ja) | マイクロコントローラの制御方法及びマイクロコントローラ | |
JPH0883133A (ja) | コンピュータシステム及びそのクロック制御方法 | |
JPH09114775A (ja) | マルチプロセッサシステム | |
JPH04171513A (ja) | クロック発生回路 | |
JPH03278210A (ja) | マイクロコンピュータ | |
JP2004078642A (ja) | 割込み制御回路 | |
JPH11296251A (ja) | 情報処理装置 | |
CN115657834A (zh) | 一种基于soc的pmc与cpu的握手控制方法及系统 | |
JPH0277848A (ja) | マイクロコンピュータ | |
JPH035948Y2 (ja) | ||
JPH05165541A (ja) | 電子回路 | |
JPH025133A (ja) | 動作速度可変形コンピュータシステム | |
JPH07191954A (ja) | マイクロコンピュータシステム | |
JPS59151217A (ja) | マイクロコンピユ−タ | |
JPH04167113A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040316 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040514 |
|
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: 20050208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050209 |
|
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: 20080218 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090218 Year of fee payment: 4 |
|
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: 20090218 Year of fee payment: 4 |
|
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: 20090218 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100218 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110218 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110218 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110218 Year of fee payment: 6 |
|
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: 20120218 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130218 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140218 Year of fee payment: 9 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |