第 2 章 CPU コア
2.3 システムクロック制御回路
2.3.2 制御
システムクロック制御回路は、システム制御レジスタ
1(SYSCR1)、システム制御レジスタ 2
(SYSCR2)
、ウォーミングアップカウンタ制御レジスタ(WUCCR)
、ウォーミングアップカウンタデータレジスタ(WUCDR)、クロックギア制御レジスタ(CGCR)で制御されます。
システム制御レジスタ
1
SYSCR1 (0x0FDC)
7 6 5 4 3 2 1 0
Bit Symbol STOP RELM OUTEN DV9CK OSCSEL - -
-Read/Write R/W R/W R/W R/W R/W R R R
リセット後 0 0 0 0 0 0 0 0
STOP STOPモードの起動 0 : 1 :
CPU, 周辺回路動作
CPU, 周辺回路停止 (STOPモード起動) RELM STOPモードの解除方法の選択 0 :
1 :
エッジ解除モード(STOPモード解除信号の立ち上がりエッジで解除) レベル解除モード(STOPモード解除信号の“H”レベルで解除)
OUTEN STOPモード時のポート出力状態の
選択
0 : 1 :
ハイインピーダンス 出力保持
DV9CK デバイダ9段目への
入力クロックの選択
0 : 1 :
fcgck/29 fs/4
OSCSEL 高周波クロックの基準クロック(fh)
選択
0 : 1 :
内部高周波クロック(fosc)を選択 外部高周波クロック(fc)を選択
注
1) fosc: 内部高周波クロック[Hz]、fc: 外部高周波クロック[Hz]、fcgck:ギアクロック[Hz]、 fs:外部低周波クロック[Hz]
注
2) SYSCR1 のビット 2, 1, 0 は、読み出すと"0"が読み出されます。
注
3) SYSCR1<OUTEN> = “0” の指定で STOP
モードを起動すると、ポートの内部入力は “0” に固定されます。そのため、STOP
モード起動時の端子状態によっては、立ち下がりエッジの外部割り込みがセットされることがあります。注
4) P11
端子はSTOP
端子と兼用のため、STOPモードを起動するとSYSCR1<OUTEN>の状態にかかわらず、ハイインピ
ーダンス状態になり入力モードとなります。
注
5) LDW
などの1
命令で2
バイトのデータ転送が行われる命令でSTOP
状態に遷移すると、2バイト目のデータ書き込みが正常に行われません。
注
6)
外部低周波クロック用発振回路の発振安定前に、SYSCK1<DV9CK>を"1"にセットしないでください。注
7) SLOW1/2, SLEEP1
モード時はSYSCR1<DV9CK>の値にかかわらず、デバイダの 9
段目にはfs/4
が入力されます。注
8) SYSCR1<OSCSEL>は SYSCR2<SYSCK>が"0"のとき(NORMAL1, 2
モード中)に設定してください。SYSCR2<SYSCK>が"1" (SLOW1, 2モード)のときに
SYSCR1<OSCSEL>に書き込みを行っても設定値は反映されません。
システム制御レジスタ
2
SYSCR2 (0x0FDD)
7 6 5 4 3 2 1 0
Bit Symbol OSCEN XEN XTEN SYSCK IDLE TGHALT -
-Read/Write R/W R/W R/W R/W R/W R/W R R
リセット後 1 0 0 0 0 0 0 0
OSCEN 内部高周波クロック(fosc)の制御 0 :
1 :
発振停止
発振継続または発振開始 XEN 外部高周波クロック(fc)の制御 0 :
1 :
発振停止
発振継続または発振開始 XTEN 外部低周波クロック(fs)の制御 0 :
1 :
発振停止
発振継続または発振開始
SYSCK システムクロックの選択 0 :
1 :
ギアクロック(fcgck) (NORMAL1//2, IDLE1/2) 外部低周波クロック(fs/4) (SLOW1/2, SLEEP1) IDLE CPU, WDT制御
(IDLE1/2, SLEEP1モード)
0 : 1 :
CPU, WDT動作
CPU, WDT停止 (IDLE1/2, SLEEP1モード起動)
TGHALT TG制御
(IDLE0, SLEEP0モード)
0 : 1 :
TGから全周辺回路へのクロック供給動作 TGからTBTを除く周辺回路へのクロック供給停止 (IDLE0, SLEEP0モード起動)
注
1) fosc: 内部高周波クロック[Hz]、fc: 外部高周波クロック[Hz]、fcgck:ギアクロック[Hz]、 fs:外部低周波クロック[Hz]
注
2) WDT:ウォッチドッグタイマ, TG:タイミングジェネレータ
注
3) SYSCR2<IDLE>と SYSCR2<TGHALT>は、同時に“1”に設定しないでください。
注
4) LDW
などの1
命令で2
バイトのデータ転送が行われる命令でIDLE
状態に遷移すると、2バイト目のデータ書き込みが正常に行われません。
注
5) IDLE1/2, SLEEP1
モード解除時、SYSCR2<IDLE>は自動的に “0” にクリアされます。注
6) IDLE0, SLEEP0
モード解除時、SYSCR2<TGHALT>は自動的に “0” にクリアされます。注
7) SYSCR2
のビット1, 0
は、読み出すと"0"が読み出されます。注
8) OSCEN、XEN
はSYSCR1<OSCSEL>によって高周波クロックの基準クロック(fh)を切り替える時を除き、両ビットとも
に"1"に設定しないでください(切り替えが完了した後は、使用しない方の高周波クロックを停止させてください)。
ウォーミングアップカウンタ制御レジスタ
WUCCR (0x0FCD)
7 6 5 4 3 2 1 0
Bit Symbol WUCRST - - - WUCDIV WUCSEL
Read/Write W R R R R/W R/W
リセット後 0 0 0 0 1 1 0 0
WUCRST ウォーミングアップカウンタのリセ
ットと停止
0 : 1 :
-カウンタクリア&ストップ
WUCDIV ウォーミングアップカウンタソース
クロック分周選択
00 : 01 : 10 : 11 :
ソースクロック ソースクロック / 2 ソースクロック / 22 ソースクロック / 23
WUCSEL ウォーミングアップカウンタのソー
スクロック選択
00 : 01 : 10 : 11 :
内部高周波クロック(fosc)を選択 外部高周波クロック(fc)を選択 外部低周波クロック(fs)を選択 Reserved
注
1) fosc: 内部高周波クロック[Hz]、fc: 外部高周波クロック[Hz]、fcgck:ギアクロック[Hz]、 fs:外部低周波クロック[Hz]
注
2) WUCCR<WUCRST>は自動的に"0"にクリアされます。"1"にセットした後に"0"にクリアする必要はありません。
注
3) WUCCR
のビット7 ~ 4
は、読み出すと"0"が読み出されます。注
4)
ウォーミングアップカウンタを動作させる前に、WUCCR<WUCSEL, WUCDIV>でソースクロック、分周比を設定し、WUCDR
にウォーミングアップ時間を設定してください。ウォーミングアップカウンタデータレジスタ
WUCDR (0x0FCE)
7 6 5 4 3 2 1 0
Bit Symbol WUCDR
Read/Write R/W
リセット後 0 1 1 0 0 1 1 0
WUCDR ウォーミングアップ時間の設定
注
1) WUCDR
に"0x00"を設定してウォーミングアップカウンタを動作させないでください。クロックギア制御レジスタ
CGCR (0x0FCF)
7 6 5 4 3 2 1 0
Bit Symbol - - - FCGCKSEL
Read/Write R R R R R R R/W
リセット後 0 0 0 0 0 0 0 0
FCGCKSEL クロックギアの設定
00 : 01 : 10 : 11 :
fcgck = fh / 4 fcgck = fh / 2 fcgck = fh Reserved 注
1) fh : 高周波クロックの基準クロック[Hz]、fcgck:ギアクロック[Hz]
注
2) CGCR<FCGCKSEL>は、SLOW
モードで書き替えないでください。注