• 検索結果がありません。

第 2 章 CPU コア

2.3 システムクロック制御回路

2.3.3 機能

2.3.3.1

クロックジェネレータ

クロック ジェネレータは、CPUコアおよび周辺回路に供給されるシステムクロックの基準とな るクロックを発生する回路です。

高周波クロック用発振回路と低周波クロック用発振回路の

2

つの発振回路を内蔵しています。

発振回路端子はポート

P0

と兼用です。ポートとして使用するときの設定は、"第

9

章 入出力ポ ート

"

を参照してください。

P00

P01

ポートを高周波クロック用発振回路

(XIN

XOUT

端子

)

として使用するときには、

P0FC0

"1"

に設定した後に

SYSCR2<XEN>

"1"

に設定します。

P02、P03

ポートを低周波クロック用発振回路(XTIN、XTOUT端子)として使用するときには、

P0FC2

を"1"に設定した後に

SYSCR2<XTEN>を"1"に設定します。

高周波クロック用発振回路によるクロック(fc), 低周波クロック用発振回路によるクロック(fs) は、それぞれ

XIN, XOUT

端子

, XTIN, XTOUT

端子に発振子を接続することにより容易に得られま す。

また、外部発振器からのクロックを入力することもできます。この場合、

XIN, XTIN

端子から クロックを入力し、XOUT, XTOUT端子は開放します。

高周波クロック用発振回路、低周波クロック用発振回路の発振許可/停止、ポートとの切り替 えは、ソフトウエアとハードウエアにより制御されます。

TMP89CM46

2.3

システムクロック制御回路

ハードウエアによる制御はリセット解除と「2.3.5 動作モード制御回路」で述べる

STOP

モード への遷移時に動作モード制御回路で制御されます。

注) 基本クロックを外部で直接モニタする機能はハードウエア的には用意されていませんが、割り込み禁止 状態, ウォッチドッグタイマの

Disable

状態でプログラムによってポートに一定周波数のパルス (例えば クロック出力) を出力させ、これをモニタすることにより調節を行うことができます。発振周波数の調整 が必要なシステムでは、あらかじめ調整用プログラムを作成しておく必要があります。

ソフトウエアによる発振許可/停止により

CPU

コアのデッドロックを防ぐため、メインシステ ムクロックとして選択されているクロックと SYSCR2<XEN>、SYSCR2<XTEN>、P0ポートの機 能制御レジスタ

P0FC0

の値の組み合わせにより、内部要因リセットが発生します。

2-1 発振許可レジスタの組み合わせ禁止条件

P0FC0 SYSCR2

<XEN> SYSCR2

<XTEN> SYSCR2

<SYSCK> 状態

Don't Care 0 0 Don’t Care すべての発振回路が停止

Don’t Care Don’t Care 0 1 メインシステムクロックに低周波クロック(fs)が選択されて

いるが低周波クロック用発振回路が停止

Don’t Care 0 Don’t Care 0 メインシステムクロックに高周波クロック(fc)が選択されて

いるが高周波クロック用発振回路が停止

0 1 Don’t Care Don’t Care 高周波クロック用発振回路を発振許可にしているがポートを

汎用ポートとして使用する設定になっている

注)

SYSCR2<SYSCK>を変更してからメインシステムクロックが切り替わるまで、一定の時間がかかりま

す。メインシステムクロックが切り替わる前に切り替え元の発振回路を停止にすると、TMP89CM46 内部で表

2-1

の状態になりシステムクロックリセットが発生します。クロック切り替えの詳細について は「2.3.6 動作モードの制御」を参照してください。

XIN XOUT

(a) ,

XIN XOUT

(b)

( )

XTIN XTOUT

(c)

XTIN XTOUT

(d)

( )

図 2-4 発振子の接続例

2.3.3.2

クロックギア

クロックギアは、高周波クロック

(fc)

を分周したギアクロック

(fcgck)

を選択し、タイミングジェ ネレータに入力する回路です。

分周クロックの選択は、

CGCR<FCGCKSEL>

で行います。

CGCR<FCGCKSEL>を切り替えてからギアクロック(fcgck)が切り替わるまで 2

マシンサイクル

かかります。

また、CGCR<FCGCKSEL>を変更した直後の

fcgck

は設定したクロック幅よりも長くなること があります。

リセット解除直後、ギアクロック(fcgck)は高周波クロック(fc)を

4

分周したクロック(fc/4)になり ます。

Page 17

2-2 ギアクロック(fcgck)

CGCR<FCGCKSEL> fcgck

00 fc / 4

01 fc / 2

10 fc

11 Reserved

注)

CGCR<FCGCKSEL>は SLOW

モード中に書き替えないでください。fcgckが正しく切り替わらないこと

があります。

2.3.3.3

タイミングジェネレータ

タイミングジェネレータは、ギアクロック(fcgck)または低周波クロック(fs)を

4

分周したクロッ クから

CPU

コアおよび周辺回路に供給する各種システムクロックを発生する回路です。タイミン グジェネレータの機能は、次のとおりです。

1.

メインシステムクロック

fm

生成

2.

タイマカウンタ、タイムベースタイマ等、周辺回路用クロック生成

ࡔࠗࡦࠪࠬ࠹ࡓࠢࡠ࠶ࠢಾࠅᦧ߃࿁〝 ࡑࠪࡦࠨࠗࠢ࡞ࠞ࠙ࡦ࠲

SYSCR2<SYSCK>

SYSCR1<DV9CK>

ࠡࠕࠢࡠ࠶ࠢfcgck

ࡊ࡝ࠬࠤ࡯࡜ ࠺ࡃࠗ࠳

࠮࡟ࠢ࠲

A

࠲ࠗࡑࠞ࠙ࡦ࠲࠲ࠗࡓࡌ࡯ࠬ࠲ࠗࡑ╬ޔ๟ㄝ࿁〝

࠺ࡃࠗ࠳

B SY

ࡔࠗࡦࠪࠬ࠹ࡓࠢࡠ࠶ࠢ

fm

ૐ๟ᵄࠢࡠ࠶ࠢߩ ၮḰࠢࡠ࠶ࠢߩ 㧠ಽ๟ࠢࡠ࠶ࠢ

fs/4

図 2-5 タイミングジェネレータの構成

(1)

タイミングジェネレータの構成

タイミングジェネレータは、メインシステムクロック切り替え回路、プリスケーラ、

21

段 のデバイダおよびマシンサイクルカウンタから構成されています。

1.

メインシステムクロック切り替え回路

ギアクロック(fcgck)、低周波クロック(fs)を

4

分周したクロックから

CPU

コアを 動作させるメインシステムクロック

(fm)

用のクロックを選択する回路です。

SYSCR2<SYSCK>

"0"

にクリアするとギアクロック

(fcgck)

が選択され、

"1"

にセッ トすると低周波クロック

(fs)

4

分周したクロックが選択されます。

SYSCR2<SYSCK>

を変更してからメインシステムクロックが切り替わるまで、一

定の時間がかかります。メインシステムクロックが切り替わる前に切り替え元の発 振回路を停止にすると内部で表

2-1

の状態になりシステムクロックリセットが発生 します。クロック切り替えの詳細については「2.3.6 動作モードの制御」を参照して

TMP89CM46

2.3

システムクロック制御回路

2.

プリスケーラー、デバイダ

fcgck

を分周する回路です。分周されたクロックは、タイマカウンタ、タイムベー

スタイマ等の周辺回路に供給されます。

SYSCR1<DV9CK>

SYSCR2<SYSCK>

ともに

"0"

のときデバイダの

9

段目への入力 クロックは

8

段目のデバイダの出力となります。

SYSCR1<DV9CK>または SYSCR2<SYSCK>が"1"のとき、デバイダの 9

段目への 入力クロックは

fs/4

となります。また、SYSCR2<SYSCK>が"1"のとき、プリスケー ラ、デバイダの初段から

8

段目までの出力は停止します。

なお、リセット時および

STOP

モード解除後のウォーミングアップ動作終了時に プリスケーラおよびデバイダは

“0”

にクリアされます。

3.

マシンサイクル

命令の実行は、メインシステムクロック(fm)に同期して行われます。

命令実行の最小単位を、『マシンサイクル』と呼び、1マシンサイクルはメインシ ステムクロックで

1

クロックになります。

TLCS-870/C1

シリーズの命令のマシンサイクルは、1マシンサイクルで実行され

1

サイクル命令から

10

マシンサイクルで実行される

10

サイクル命令までの

10

種 類と、13マシンサイクルで実行される

13

サイクル命令の

1

種類で、合計

11

種類で す。

2.3.4 ウォーミングアップカウンタ

ウォーミングアップカウンタは、高周波クロック

(fc)

と低周波クロック

(fs)

をカウントする回路で、

ソースクロック選択回路と

3

段の分周回路、14段のカウンタから構成されています。

パワーオンリセット解除後に電源電圧が安定するまでの時間確保、STOPモードからの復帰、動作 モード遷移のときに発振回路が安定して発振するまでの時間を確保するために使用します。

S Z D C B A S

AZ B 㜞๟ᵄࠢࡠ࠶ࠢ↪

⊒ᝄ࿁〝ࠢࡠ࠶ࠢ(fc) ૐ๟ᵄࠢࡠ࠶ࠢ↪

⊒ᝄ࿁〝ࠢࡠ࠶ࠢ(fs)

ࠦࡦࡄ

࡟࡯࠲

WUCDR

SYSCR2 SYSCR1

WUCCR

ࠞ࠙ࡦ࠻ࠕ࠶ࡊ⸵น㧛ਇ⸵น XEN XTEN

STOP

INTWUCഀࠅㄟߺ

CPUേ૞⸵น WUCSEL WUCDIV WUCRST

࠙ࠜ࡯ࡒࡦࠣࠕ࠶ࡊ

ࠞ࠙ࡦ࠲೙ᓮ࿁〝

図 2-6 ウォーミングアップカウンタ回路

Page 19

2.3.4.1

ハードウエアで発振許可する場合のウォーミングアップカウンタ動作

(1)

パワーオンリセット解除、リセット解除時

パワーオンリセット解除後、電源電圧が安定するまでの時間確保、リセット解除後の高周 波クロック用発振回路が安定して発振するまでの時間を確保するために使用します。

電源投入時、電源電圧がパワーオンリセットの解除電圧を超えるとウォーミングアップカ ウンタのリセット信号が解除されます。このとき、CPU、周辺回路はリセット状態のままで す。

リセット信号により、

WUCCR<WUCSEL>

"0"

WUCCR<WUCDIV>

"11"

に初期化さ れ、ウォーミングアップカウンタの入力クロックとして高周波クロック

(fc)

が選択されます。

ウォーミングカウンタのリセットが解除されると、高周波クロック

(fc)

がウォーミングア ップカウンタに入力され、14段のカウンタは高周波クロック(fc)のカウントを開始します。

ウォーミングアップカウンタの上位

8

ビットと

WUCDR

の一致でカウントを停止し、

CPU

、周辺回路のリセットが解除されます。

WUCDR

は、リセット解除時に

0x66

に初期化されるため、ウォーミングアップ時間は

0x66×2

9

/fc[s]となります。

注) ウォーミングアップカウンタの入力クロックは発振回路から出力されるクロックが使用されます。

発振回路が安定するまでの期間は発振周波数が安定しないため、ウォーミングアップ時間には誤差 を含みます。

(2) STOP

モードからの解除時

STOP

モードからの解除のとき、ハードウエアでの発振許可から発振が安定するまでの時 間を確保するために使用します。

分周回路の入力クロックは、

WUCCR<WUCSEL>

とは関係なく、

STOP

モードを起動した ときにメインシステムクロック発生に使用されていたクロックを発生するクロック(高周波 クロック

(fc)

または低周波クロック

(fs))

が選択されます。

STOP

モードを起動する前に、あらかじめ、ウォーミングアップカウンタへの入力クロッ クの分周比を

WUCCR<WUCDIV>で選択し、WUCDR

でウォーミングアップ時間を設定しま す。

STOP

モードが解除されると、14段のカウンタは分周回路で選択された入力クロックのカ ウントを開始します。

カウンタの上位

8

ビットと

WUCDR

の一致でカウントを停止するとともに、STOPモード を起動した次の命令から動作を再開します。

STOPモード起動時の メインシステムクロック

生成クロック

WUCCR

<WUCSEL>

WUCCR

<WUCDIV>

カウンタへの

入力クロック ウォーミングアップ時間

fc Don’t Care

00 fc 26 / fc ~ 255 x 26 / fc 01 fc / 2 27 / fc ~255 x 27 / fc 10 fc / 22 28 / fc ~ 255 x 28 / fc 11 fc / 23 29 / fc ~ 255 x 29 / fc

fs Don't Care

00 fs 26 / fs ~ 255 x 26 / fs 01 fs / 2 27 / fs ~255 x 27 / fs 10 fs / 22 28 / fs ~ 255 x 28 / fs 11 fs / 23 29 / fs ~ 255 x 29 / fs

TMP89CM46

2.3

システムクロック制御回路

ドキュメント内 TOSHIBA CORPORATION 2009 All Rights Reserved (ページ 30-36)