...

試しながら学ぶ クロック制御のテクニック

by user

on
Category: Documents
19

views

Report

Comments

Transcript

試しながら学ぶ クロック制御のテクニック
特集* R8C/Tinyマイコン徹底マスタ
第2章
マイコンの動作速度と
消費電力を制御してみよう!
試しながら学ぶ
クロック制御のテクニック
島田 義人
Yoshihito Shimada
CPU クロックの周波数を制御すると,消費電力と
処理能力をコントロールすることができます.用途に
3 種類あり,それぞれのクロックに 5 段階(1,2,4,8,
16)のプリスケーラ(分周回路)が付いていますから,
応じてクロックを使い分けるのであれば,CPU クロ
3 種類× 5 段階の計 15 通りのシステム・クロックを設
ックの周波数が高いほど処理能力は上がり,低いほど
消費電力は小さくなります.また,不要な発振回路を
定することができます.
R8C/Tiny マイコンのリセット直後は,自動的に低
停止させるとさらに消費電力は小さくなります.
速オンチップ・オシレータの 8 分周になります.メイ
ン・クロックは停止しているため,メイン・クロック
R8C/Tiny マイコンの
システム・クロック
を発振させる設定とクロックを切り替える設定が起動
後に必要になります.システム・クロックの設定は,
● 三つの発振回路
クロック制御関連のレジスタで設定します.レジスタ
R8C/Tiny マイコンは,クロック発生回路として,
メイン・クロック発振回路とオンチップ・オシレータ
の詳細については「クロック制御関連のレジスタ」の
項を参照してください.
の二つを内蔵しています.オンチップ・オシレータに
は,高速タイプと低速タイプがあります.
● メイン・クロックの制御方法
● クロック発生回路の構成
表 1 にクロック発生回路の概略仕様を,図 1 にクロ
回路が供給するクロックで,CPU クロックと周辺機
能クロックのクロック源になります.
ック発生回路のブロック図を示します.クロックには
メイン・クロックは,XIN − XOUT 端子間に発振子
メイン・クロック(fXin)は,メイン・クロック発振
表 1 R8C/Tiny マイコンに内蔵されているクロック発生回路の概略仕様
項目
メイン・クロック発振回路
・ CPU のクロック源
・周辺機能のクロック源
用途
クロック周波数
0 ∼ 20 MHz
接続可能な発振子
・セラミック共振子
・水晶発振子
発振子の接続端子
・ XIN 端子
・ XOUT 端子
オンチップ・オシレータ
高速オンチップ・オシレータ
・ CPU のクロック源
・周辺機能のクロック源
・メイン・クロック発振停止時の
CPU,周辺機能のクロック源
約 8 MHz
発振子は接続不要
低速オンチップ・オシレータ
・ CPU のクロック源
・周辺機能のクロック源
・メイン・クロック発振停止時の
CPU,周辺機能のクロック源
約 125 kHz
発振子は接続不要
発振の開始/停止機能
あり
あり
あり
リセット後の発振状態
停止
停止
発振
外部で生成されたクロックを
入力可能
−
−
その他
Keywords
メイン・クロック発振回路,オンチップ・オシレータ,プリスケーラ,プロテクト・レジスタ,システム・クロック制御レジスタ,
発振停止検出レジスタ,E8 エミュレータ,MB-R8CQ,R8C/Tiny マイコン
2005 年 5 月号
117
HRA0∼2
レジスタ
高速オンチップ・ fRI NG-fast
オシレータ
fRI NG128
1/128
分周器
f1, f8, f32
fRI NG
fRI NG
切り替え回路
CM14
タイマX
低速オンチップ・ fRI NG-S
オシレータ
fRI NG-S パワー・オン・
リセット回路
fRI NG-S
fRI NG-S
CM05
CM13
XI N
XOUT
fRI NG
メイン・クロック
fXin
20MHz
発振子
電圧検出回路
システム・クロック
制御回路
OCD2
f1, f2, f8
f1, f8, f32
ウォッチ
ドッグ・タイマ
A-D
コンバータ
f1, f2, f4
SSU
f1
周辺機能クロック
f1, f2, f4, f8, f32
f1, f8, f32
プリスケーラ
(分周回路)
システム・
クロック CM06
INT0
タイマZ
f1, f2, f8
オンチップ・
オシレータ・クロック
発振停止
検出回路
メイン・クロック
発振制御回路
fRI NG-fast
タイマC
UART0
CPUクロック
f1, f2, f4, f8, f16
CM16/CM17
図 1 クロック発生回路のブロック図
を接続することで発振回路が構成されます.外部で生
クロックの 8 分周が CPU クロックになります.
成されたクロックを XIN 端子へ入力しても動作しま
す.本誌 2005 年 4 月号に付録されている R8C/Tiny マ
CM1 レジスタの CM14 ビットを‘0’にすると低速
オンチップ・オシレータ・クロックは停止します.低
イコン基板上には,すでに 20 MHz の発振子が搭載さ
れています.したがって,外付けの発振子や外部から
速オンチップ・オシレータの周波数は,電源電圧や周
囲温度によって大きく変動するため,低速オンチッ
のクロック入力は不要です.
プ・オシレータを使って動作させる際には,周波数変
リセット直後は,メイン・クロックが停止していま
す.CM1 レジスタの CM13 ビットを‘1’(XIN −
動に対して十分なマージンをもたせる必要があります.
高速オンチップ・オシレータで生成されたクロック
XOUT 端子選択)にしたあとで,CM0 レジスタの
CM05 ビットを‘0’にするとメイン・クロックは発
は,CPU クロック,周辺機能クロック,fRING,
fRING128,fRING − fast のクロック源になります.リ
振を開始します.メイン・クロックの発振が安定した
セット後は,高速オンチップ・オシレータ・クロック
あとで,OCD レジスタの OCD2 ビットを‘0’に設定
すると,メイン・クロックが CPU のクロック源にな
は停止しています.HRA0 レジスタの HRA00 ビット
を‘1’にすると発振を開始します.高速オンチッ
ります.
OCD2 ビットを‘1’(オンチップ・オシレータ・ク
プ・オシレータは,HRA1 および HRA2 レジスタの設
定により発振周波数を微調整できます.
ロック選択)にして使用する場合,CM0 レジスタの
CM05 ビットを‘1’(メイン・クロック停止)にする
と,消費電力が低減できます.ストップ・モード時は,
メイン・クロックを含めて全クロックが停止します.
● システム・クロックの制御
システム・クロック制御回路により,メイン・クロ
ック(fXin)またはオンチップ・オシレータ・クロック
(fRING)が選択できます.システム・クロックは,
● オンチップ・オシレータ・クロックの制御方法
オンチップ・オシレータが供給するクロックです.
CPU クロックと周辺機能クロックのクロック源です.
高速オンチップ・オシレータと低速オンチップ・オシ
● CPU クロックの制御
レータがあります.
低速オンチップ・オシレータで生成されたクロック
CPU とウォッチドッグ・タイマの動作クロックで
す.システム・クロックを 1 分周(分周なし),または
は,CPU クロック,周辺機能クロック,fRING,
fRING128,fRING − S のクロック源になります.リセ
2,4,8,16 分周したものが CPU クロックになりま
す.分周数は CM0 レジスタの CM06 ビットと CM1 レ
ット後は,低速オンチップ・オシレータで生成された
ジスタの CM16,CM17 ビットで選択できます.
118
2005 年 5 月号
Fly UP