JP2011060159A - マイクロコンピュータ - Google Patents

マイクロコンピュータ Download PDF

Info

Publication number
JP2011060159A
JP2011060159A JP2009211262A JP2009211262A JP2011060159A JP 2011060159 A JP2011060159 A JP 2011060159A JP 2009211262 A JP2009211262 A JP 2009211262A JP 2009211262 A JP2009211262 A JP 2009211262A JP 2011060159 A JP2011060159 A JP 2011060159A
Authority
JP
Japan
Prior art keywords
clock signal
circuit
clock
frequency dividing
frequency
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
JP2009211262A
Other languages
English (en)
Other versions
JP5266168B2 (ja
Inventor
Koichi Kawano
光一 川野
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.)
New Japan Radio Co Ltd
Original Assignee
New Japan Radio Co Ltd
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 New Japan Radio Co Ltd filed Critical New Japan Radio Co Ltd
Priority to JP2009211262A priority Critical patent/JP5266168B2/ja
Publication of JP2011060159A publication Critical patent/JP2011060159A/ja
Application granted granted Critical
Publication of JP5266168B2 publication Critical patent/JP5266168B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Microcomputers (AREA)

Abstract

【課題】 CPUのスリープ状態時に、CR発振回路が生成する低速且つ周波数ばらつきの大きいクロックに基づき動作する起動タイマを備えるマイクロコンピュータにおいて、正確なスリープ期間を判定することができる半導体集積回路を提供する。
【解決手段】 CR発振回路が生成するクロックを、分周比が選択可能な分周回路に入力し、分周比を設定するとともに、水晶発振回路が生成するクロックにより基準期間信号を生成し、分周回路からのクロック信号出力の1周期と、基準期間信号との比から、起動時間設定レジスタ値の補正を行う手段を備える。
【選択図】 図1

Description

本発明は、第1クロック信号を生成する第1発振回路と、第1クロック信号よりも発振周波数が低く、且つ、発振周波数のばらつきが大きい第2クロック信号を生成する第2発振回路と、スリープ機能を有し、第1クロック信号に基づき動作するCPUと、第2クロック信号に基づき動作するタイマによりスリープ時間判定を行うマイクロコンピュータに関する。
クロック信号を停止することにより回路の動作を止め、消費電力を抑えるスリープ機能を有するマイクロコンピュータ(以下マイコン)は、CPUを動作させるための高速クロック信号を生成するための水晶発振回路と、低速クロック信号を生成するためのCR発振回路と、CR発振回路が生成するクロック信号に基づいて動作する起動タイマを有するスリープ時間判定回路とを備えている。このようなマイコンは、CPUからのスリープ命令の実行により、水晶発振回路を停止し、スリープ状態へ移行する。それと同時に、スリープ時間判定回路は、起動タイマをリセットし、CR発振回路が生成するクロック信号に同期してカウント動作を開始する。そして、起動時間設定レジスタにより設定されたスリープ時間が経過すると、水晶発振回路を起動させ、CPUに対し割り込み命令を実行する。これによりマイコンは通常動作状態に復帰する。
ところで、マイコンに内蔵されるCR発振回路は、発振周波数を決めるための抵抗と容量の製造ばらつきが大きく、CR発振回路が生成するクロック信号の周波数が大きくばらついてしまう。このため、スリープ時間設定値と、実際のスリープ時間との誤差が大きいという問題がある。そこで、この誤差を補正するために、CR発振回路が生成するクロック信号を、水晶発振器が生成する周波数精度の高いクロック信号により補正する方法が提案されている。
例えば、特許文献1には、水晶発振器からの基準クロックに基づき、CR発振回路からのクロックの予め設定された基準周期に対する誤差を求めて、スリープ時間が所定の期間となるように、スリープ時間の判定に用いるカウント値を補正するスリープ時間補正手段の開示がある。
特開平8−202905号公報
図4に、特許文献1で開示されたスリープ時間補正手段のブロック図を示す。同図に示すように、CR発振回路20から出力されるクロック信号は、ダウンカウンタである分周カウンタ42に入力され、この分周カウンタ42のカウント値がゼロに達したことを、ゼロ比較器44が検出し、CPU41に対して割り込み信号を発生させる。同様に、水晶発振器30から出力される基準クロック信号は、ダウンカウンタである分周カウンタ46に入力され、この分周カウンタ46のカウント値がゼロに達したことを、ゼロ比較器48が検出し、CPU41に対して割り込み信号を発生させる。
この回路構成による、スリープ時間の補正方法を以下に示す。
まず、所定の値を分周カウンタ42、46に設定(分周カウンタ42の設定値を「CT1」、分周カウンタ46の設定値を「CT2」)とする)し、分周カウンタ42、46のカウント動作を開始する。そして、分周カウンタ42、46がダウンカウントし、カウント値がゼロに達すると、ゼロ比較器44又は48から、CPU41に対し、割り込み信号が出力される。CPU41は、割り込み信号が出力された分周カウンタ42、又は46を再び元の設定値に戻し、カウント動作を再開させる。この作業を繰り返すことにより、一定期間における、ゼロ比較器44からの割り込み信号の数「C1」と、ゼロ比較器48からの割り込み信号の数「C2」を求める。この「C1」、「C2」より、CR発振器からのクロック信号と水晶発振器からのクロック信号に基づく割り込み周期の比を次式により算出する。
(数1)
補正値Ke=Ta×CT1×C1/(To×CT2×C2) ・・・ (1)
(ただし、Ta:CR発振回路のクロック周期、To:水晶発振回路のクロック周期)
そして、分周カウンタ42の予め設定されていたカウント値CT1XをKeにより除算(CT1X/Ke)し、新たに分周カウンタ42のカウント値に設定する。これにより、スリープ時間の補正を行う。
しかし、上記の方法では、CR発振回路が生成するクロック信号の周期と、水晶発振器が生成するクロック信号の周期比を、CPUに入力される割り込み信号の回数から算出しているため、CPUへの割り込み回数を増やさないと、高い精度で周期比を求めることはできない。このため、精度の高いスリープ時間の補正を行うには、処理に時間がかかるという問題がある。
係る問題を解決するためになされた請求項1に記載の発明は、第1クロック信号を生成する第1発振回路と、前記第1クロック信号よりも発振周波数が低い第2クロック信号を生成する第2発振回路と、前記第1クロック信号に基づき動作し、スリープ機能を有するCPUと、前記第2クロック信号を入力とする分周比が選択可能な分周回路と、該分周回路により分周された第3クロック信号を入力とする起動タイマと、スリープ時間の設定値を格納するための起動時間設定レジスタと、前記起動タイマのカウント値と前記起動時間設定レジスタの値を比較し、スリープ時間の経過を判定する比較器と、を内蔵するマイクロコンピュータにおいて、前記第2クロック信号のエッジのタイミングから、前記第1クロック信号に基づいた基準期間を示す信号を生成し、該基準期間内の第2クロック信号のサイクル数をカウントし、該カウント値に基づき前記分周回路の分周比を設定するとともに、前記基準期間と、前記第3クロック信号の1周期との差を、前記第1クロック信号によりカウントし、前記基準期間と前記第3クロック信号の1周期の比から、前記起動時間設定レジスタの値を補正する演算手段とを備えたことを特徴とする。
本発明によると、CR発振回路が生成するクロック信号に基づき、スリープ時間をより正確に短時間で補正することが可能になる。
本発明に係るマイクロコンピュータの構成を表すブロック図である。 本発明のスリープ時間補正回路の実施例を表す回路図である。 本発明のスリープ時間補正回路の動作例を表すタイミングチャートである。 従来例のマイクロコンピュータの構成を表すブロック図である。
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明に係るマイコンの構成を表すブロック図である。マイコン10は、CR発振器20、クロック分周回路60、起動タイマ62、比較器64、起動時間補正回路66、起動時間設定レジスタ68、スリープ時間補正回路70により構成されている。
クロック分周回路60は、分周比が設定可能な分周回路で、CR発振器20から出力されたクロック信号CRCLKを所定の分周比(N)により分周し、クロック信号CRCLK2を出力する。
起動タイマ62は、クロック分周回路60から出力されたクロック信号CRCLK2を入力し、CPU40からのスリープ命令を受けると、タイマをリセットし、クロック信号CRCLK2のカウントを開始する。
起動時間設定レジスタ68は、スリープ時間の設定を行うレジスタで、CPU40に割り込みをかけるための起動タイマ62のカウンタ値を設定する。
起動時間補正回路66は、スリープ時間補正回路70から補正用の係数(M)と、起動時間設定レジスタ68から起動時間設定値(CT1X)を入力し、起動時間設定値を補正して比較器64へ出力する。
比較器64は、起動タイマ62からのカウント値と、起動時間補正回路からの起動時間補正値が一致したら、CPU40に対し、割り込み信号を出力する。
スリープ時間補正回路70は、CR発振器から出力されたクロック信号CRCLKと水晶発振器から出力されたクロック信号CPUCLKを入力し、CPU40からの起動命令により、クロック分周回路60に対し、分周比(N)を出力すると共に、起動時間補正回路66に対し、補正用の係数(M)を出力する。なお、分周比Nと、補正用の係数Mの算出は、以下のスリープ時間補正方法の説明において詳説する。
スリープ時間補正方法を、図1のブロック図と、図3のタイミングチャートを参照して説明する。スリープ時間補正回路70において、水晶発振器30から出力されるクロック信号CPUCLK(CPUCLK信号)に基づき、基準期間を示す信号(REF信号)を生成する。ここで、CPUCLK信号の1周期をTCPUCLK、CR発振器20から出力されるクロック信号CRCLK(CRCLK信号)の1周期をTCRCLKとすると、図3に示すように、基準期間は、TCPUCLK×Lと表すことができる。また同様に、基準期間は、クロック信号CRCLKのNサイクル分TCRCLK×N(TCRCLK2と表す)と、クロック信号CPUCLKのMサイクル分TCPUCLK×Mを足した期間で表わすことができる。
そこで、クロック分周回路60の分周比に、上記「N」を設定するとともに、上記「L」、「M」の値から、補正値Ke=TCPUCLK×(L−M)/(TCPUCLK×L)を求め、起動時間設定レジスタ68の値をKeで割ることにより、スリープ時間を正確に補正することができる。
以下に、スリープ時間補正回路70の具体的な回路例と動作について説明する。
図2に示すように、スリープ時間補正回路70は、制御回路71、Lカウンタ72、Mカウンタ73、Nカウンタ74、立ち上りエッジ検出回路75により構成される。
制御回路71は、CPUからの起動命令により、各カウンタをリセットする。そして、立ち上がりエッジ検出回路75により、クロック信号CRCLKの立ち上りエッジを検出し、REF信号をアクティブにする。REF信号のアクティブ期間の設定は、Lカウンタ72の設定により行い、カウント値は、クロック信号CRCLK2の目標とする周期に相当するカウント値に設定する。
Nカウンタ74は、REF信号がアクティブの期間、クロック信号CRCLKのカウントを行う。これにより、REF信号がアクティブ期間のクロック信号CRCLKのサイクル数「N」が求められる。
Mカウンタ73は、クロック信号CLKCRの立ち上りエッジによりリセットされ、イネーブル端子(EN)がアクティブの間、クロック信号CPUCLKをカウントし、イネーブル端子がノンアクティブになると、そのカウント値を保持する。このため、制御回路71がREF信号をノンアクティブにした後、Mカウンタ73には、クロックCLKCRの立ち上りから補正処理が終了するまでの期間(TCPUCLK×M)(図3参照)に相当するクロック信号CPUCLKのカウント値「M」が格納される。
次に、図1に示す起動時間補正回路66の機能について以下に示す。
まず、クロック信号CRCLK2の1周期(TCRCLK×N)と基準期間(TCPUCLK×L)との比を求める。
(数2)
補正値Ke=TCPUCLK×(L−M)/(TCPUCLK×L)=(L−M)/L ・・・ (2)
次に、起動時間設定レジスタの予め設定されていたレジスタ値CT1XをKeにより除算(CT1X/Ke)し、起動時間補正回路66の出力とする。
ただし、上記のMの値が分かれば、起動時間補正値を、ハードウェアではなくソフトウェハにより具現化することもできる。
本願発明のスリープ時間の補正処理の例を以下に示す。水晶発振回路が生成するクロック信号の周波数が10MHz(周期TCPUCLK=100ns)、CR発振回路が生成するクロック信号の周波数が32kHz(周期TCRCLK=31.25μs)で、CPUのスリープ状態への移行から100s後に通常動作状態に復帰をさせる場合を考える。
この場合、クロック分周回路60のクロック分周比を「32」に設定すると、クロック信号CRCLK2は1kHz(周期TCRCLK2=1ms)となるため、起動時間設定レジスタ32に「100,000」を設定すれば、マイコンは100s後にスリープ状態から復帰することができる。
ここで、CRCLK発振回路が生成するクロック信号の周波数が、周波数ばらつきにより、32kHzに対し、30.5kHz(周期TCRCLK=32.79μs)となった場合を考える。
(1)補正処理を行わない場合
スリープ時間=TCRCLK×クロック分周比×起動時間設定レジスタ値
=32.79μs×32×100,000
=104.9s
となり、目標の100sに対し4.9sの誤差が生じる。
(2)補正処理を行った場合
クロック信号CRCLK2の理想周波数は、1kHz(TCPUCLK×L=1ms)であるため、Lの値を「10,000」とする。
そして、クロック分周比は「30」(∵ N=TCPUCLK×L/TCRCLK=30.49・・)となり、Mは「163」(∵ M=(TCPUCLK×L−30×TCRCLK)/TCPUCLK)となる。
これより、起動時間補正値は、
CT1X/Ke=CT1X×L/(L−M)
=100,000×10,000/(10,000−163)
=101,600
となるため、
スリープ時間=TCRCLK×クロック分周比×起動時間補正値
=32.79μs×30×101,600
=99.9s
となり、目標値の100sに対し、略一致する。
10,11:マイクロコンピュータ
20:CR発振回路
30:水晶発振回路
31:水晶発振素子
40,41:CPU
60:クロック分周回路
62:起動タイマ
64:比較器
66:起動時間補正回路
68:起動時間設定レジスタ
71:制御回路
72:Lカウンタ(基準期間生成用)
73:Mカウンタ(TCRCLKより短い期間の測定用)
74:Nカウンタ(CRCLK分周比設定用)
75:立ち上がりエッジ検出回路

Claims (1)

  1. 第1クロック信号を生成する第1発振回路と、前記第1クロック信号よりも発振周波数が低い第2クロック信号を生成する第2発振回路と、前記第1クロック信号に基づき動作し、スリープ機能を有するCPUと、前記第2クロック信号を入力とする分周比が選択可能な分周回路と、該分周回路により分周された第3クロック信号を入力とする起動タイマと、スリープ時間の設定値を格納するための起動時間設定レジスタと、前記起動タイマのカウント値と前記起動時間設定レジスタの値を比較し、スリープ時間の経過を判定する比較器と、を内蔵するマイクロコンピュータにおいて、
    前記第2クロック信号のエッジのタイミングから、前記第1クロック信号に基づいた基準期間を示す信号を生成し、該基準期間内の第2クロック信号のサイクル数をカウントし、該カウント値に基づき前記分周回路の分周比を設定するとともに、前記基準期間と、前記第3クロック信号の1周期との差を、前記第1クロック信号によりカウントし、前記基準期間と前記第3クロック信号の1周期の比から、前記起動時間設定レジスタの値を補正する演算手段とを備えたことを特徴とするマイクロコンピュータ。
JP2009211262A 2009-09-14 2009-09-14 マイクロコンピュータ Active JP5266168B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009211262A JP5266168B2 (ja) 2009-09-14 2009-09-14 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009211262A JP5266168B2 (ja) 2009-09-14 2009-09-14 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JP2011060159A true JP2011060159A (ja) 2011-03-24
JP5266168B2 JP5266168B2 (ja) 2013-08-21

Family

ID=43947687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009211262A Active JP5266168B2 (ja) 2009-09-14 2009-09-14 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP5266168B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103135661A (zh) * 2011-12-01 2013-06-05 拉碧斯半导体株式会社 时间测量装置、微型控制器、程序以及时间测量方法
WO2015093187A1 (ja) * 2013-12-18 2015-06-25 カルソニックカンセイ株式会社 マイクロコンピュータおよびそのクロックの補正方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784666A (ja) * 1993-09-10 1995-03-31 Kansei Corp Cpuの間欠動作制御装置
JPH1049251A (ja) * 1996-07-30 1998-02-20 Nec Ic Microcomput Syst Ltd マイクロコントローラ及びその制御方法
JPH10190568A (ja) * 1996-12-27 1998-07-21 Matsushita Electric Ind Co Ltd 無線受信装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784666A (ja) * 1993-09-10 1995-03-31 Kansei Corp Cpuの間欠動作制御装置
JPH1049251A (ja) * 1996-07-30 1998-02-20 Nec Ic Microcomput Syst Ltd マイクロコントローラ及びその制御方法
JPH10190568A (ja) * 1996-12-27 1998-07-21 Matsushita Electric Ind Co Ltd 無線受信装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103135661A (zh) * 2011-12-01 2013-06-05 拉碧斯半导体株式会社 时间测量装置、微型控制器、程序以及时间测量方法
JP2013117785A (ja) * 2011-12-01 2013-06-13 Lapis Semiconductor Co Ltd 時間測定装置、マイクロコントローラ、プログラム、及び時間測定方法
CN103135661B (zh) * 2011-12-01 2017-06-16 拉碧斯半导体株式会社 时间测量装置、微型控制器、程序以及时间测量方法
WO2015093187A1 (ja) * 2013-12-18 2015-06-25 カルソニックカンセイ株式会社 マイクロコンピュータおよびそのクロックの補正方法
JP5968561B2 (ja) * 2013-12-18 2016-08-10 カルソニックカンセイ株式会社 マイクロコンピュータおよびそのクロックの補正方法
US9817432B2 (en) 2013-12-18 2017-11-14 Calsonic Kansei Corporation Microcomputer and method for correcting clock thereof

Also Published As

Publication number Publication date
JP5266168B2 (ja) 2013-08-21

Similar Documents

Publication Publication Date Title
JP5659855B2 (ja) 較正方法及び較正装置
JP5180169B2 (ja) 半導体集積回路
JP5886015B2 (ja) 時間測定装置、マイクロコントローラ、プログラム、及び時間測定方法
JP2008028854A (ja) クロック生成装置
US8311169B2 (en) Automatic frequency monitoring circuit, electronic device, automatic frequency monitoring method, and automatic frequency monitoring program
JP5266168B2 (ja) マイクロコンピュータ
TWI638517B (zh) 用於產生時脈之電子電路及其方法
TWI613890B (zh) 數位控制振盪器的頻率校正方法及其頻率校正裝置
US8008958B2 (en) Electronic device and method of correcting clock signal deviations in an electronic device
US8957795B2 (en) Analog-to-digital conversion device
JP2011197910A (ja) クロック制御回路およびマイクロコンピュータ
JP4036114B2 (ja) クロック発生回路
US20060181358A1 (en) Semiconductor device generating accurate oscillating signal based on RC oscillation
JPH0784666A (ja) Cpuの間欠動作制御装置
JP2000074962A (ja) 周期計測装置および周期計測方法、並びに記録媒体
JP4248963B2 (ja) 計時装置
JP5056886B2 (ja) クロック信号生成装置及び電子装置
TWI501555B (zh) 動態調整振盪源起振電流的控制電路及方法
JP2016184366A (ja) タイマ補正装置、タイマ補正方法及びタイマ補正プログラム
JP4826433B2 (ja) タイマ起動回路
JP2011139285A (ja) ジッタ除去回路
JP2004264899A (ja) 外部同期可能な制御装置
JP2005121396A (ja) 時刻情報作成装置及び方法
JP2004334577A (ja) タイマ装置
JP2004272794A (ja) 外部同期可能な制御装置および制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120724

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130417

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130502

R150 Certificate of patent or registration of utility model

Ref document number: 5266168

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250