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

プログラマブルパルスジェネレート(PPG)モード

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

第 9 章 スペシャルファンクションレジスタ

13.4 タイマ機能

13.4.6 プログラマブルパルスジェネレート(PPG)モード

13.4.6.3

レジスタのバッファ構成

(1)

テンポラリバッファ

TMP89CM46

8

ビットのテンポラリバッファを内蔵しており、

TA0DRAL (TA0DRBL)

対してライト命令を実行すると、ダブルバッファの有効/無効に関係なく先ずこのテンポラリ バッファにそれぞれデータが格納されます。次に

TA0DRAH (TA0DRBH) に対してライト命

令を実行すると、設定値はダブルバッファまたは

TA0DRAH (TA0DRBH)

にデータが格納さ れます。同時にテンポラリバッファの設定値はダブルバッファまたは

TA0DRAL (TA0DRBL)

にデータが格納されます。(下位レジスタと上位レジスタの設定値が同時に有効になる構造 となっています

)

。よって

TA0DRA (TA0DRB)

にデータを設定する場合は、必ず

TA0DRAL

TA0DRAH (TA0DRBL、TA0DRBH)の順に書き込んでください。

テンポラリバッファの構成は図

13-1

を参照してください。

(2)

ダブルバッファ

TMP89CM46

は、

TA0CR<TA0DBF>

の設定によりダブルバッファを利用することができま

す。

TA0CR<TA0DBF>

"0"

に設定するとダブルバッファが無効に、

TA0CR<TA0DBF>

を"1"に設定するとダブルバッファが有効となります。

ダブルバッファの構成は図

13-1

を参照してください。

-

ダブルバッファが有効の場合

タイマ動作中に

TA0DRAH (TA0DRBH)に対してライト命令を実行すると、設定値

は先ずダブルバッファに格納され、

TA0DRAH/L

はすぐには更新されません。

TA0DRAH/L (TA0DRBH/L)

は前回の設定値でアップカウンタと比較を行い、値が一

致すると

INTTCA0

割り込み要求が発生し、ダブルバッファの設定値が

TA0DRAH/

L (TA0DRBH/L)

に格納されます。以降は新しい設定値で一致検出が行われます。

なお、TA0DRAH/L (TA0DRBH/L)に対してリード命令を実行すると、TA0DRAH/

L (TA0DRBH/L)

の値

(

現在の有効値

)

では無く、ダブルバッファの値

(

最後に設定した

値)が読み出されます。

タイマ停止中に

TA0DRAH/L (TA0DRBH/L)

に対してライト命令を実行すると、設 定値はダブルバッファと

TA0DRAH/L (TA0DRBH/L)の両方にすぐに反映されます。

-

ダブルバッファが無効の場合

タイマ動作中に

TA0DRAH (TA0DRBH)

に対してライト命令を実行すると、設定値

はすぐに

TA0DRAH/L (TA0DRBH/L)に更新され、以降は新しい設定値で一致検出が

行われます。

このとき

TA0DRAH/L (TA0DRBH/L)

に設定した値がアップカウンタの値より小さ

かった場合、アップカウンタが一度オーバーフローした後、新しい設定値で一致検 出が行われるため、出力パルス幅が設定した時間よりも長くなる場合があります。

これが問題となる場合は、ダブルバッファを有効にして使用してください。

タイマ停止中に

TA0DRAH/L (TA0DRBH/L)

に対してライト命令を実行すると、設 定値はすぐに

TA0DRAH/L (TA0DRBH/L)に反映されます。

Page 167

ソースクロック

カウンタ

タイマスタート

1 0

n

m

m (デューティパルス)

m (デューティパルス)

n (1周期)

r (デューティパルス)

s (1周期) s

r TA0DRAL,Hのライト

TA0DRBL, Hのライト

TA0DRAL, H 一致検出

一致検出

nをライト sをライト

mをライト rをライト

タイマストップ時は TA0TFFの設定レベルになる

割り込み要求で 反映される

TA0TFFの設定 レベルに戻る カウンタ

クリア

INTTCA0割り込み要求

2 m m+1 1

n

0 0

TA0DRBL, H TA0CR<TA0S>

タイマストップ

一致検出

一致検出

カウンタ クリア

2 r r+1 1 r r+1

s 0

一致検出 TA0MOD<TA0TFF>

PPG0端子出力

連続 (TA0CR<TA0MPPG>=”0”) ダブルバッファ(TA0MOD<TA0DBE>=”1”)

r (デューティパルス)

ソースクロック

カウンタ

タイマスタート

1 0

n

m

n (1周期) TA0DRAL,Hのライト

TA0DRBL, Hのライト

TA0DRAL, H 一致検出

一致検出 nをライト

mをライト

タイマストップ時は TA0TFFの設定レベルになる

TA0TFFの設定 レベルに戻る カウンタ クリア

INTTCA0割り込み要求

2 m m+1

n 0

TA0DRBL, H TA0CR<TA0S>

自動的に タイマストップ

TA0MOD<TA0TFF>

PPG0端子出力

単発 (TA0CR<TA0MPPG>=”1”)

図 13-9 PPG モードタイミングチャート

TMP89CM46

13.4

タイマ機能

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