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

タイマ/カウンタ2の前置分周器

ドキュメント内 mega88.pdf (ページ 113-121)

PIND 6 PIND 5 PIND 4 PIND 3 PIND 2 PIND 1

21. タイマ/カウンタ0と1の前置分周器

22.10. タイマ/カウンタ2の前置分周器

TC2用クロック元の名前は

clk

T2Sです。既定での

clk

T2Sは主システムI/Oクロッ ク(

clk

I/O)に接続されます。タイマ/カウンタ2非同期状態レジスタ(ASSR)の非同 期クロック許可(AS2)ビットの1書き込みにより、TC2はTOSC1ピンから非同期 にクロック駆動されます。これは実時間計数器(RTC)としてのTC2の使用を 可能にします。AS2が設定(1)されると、TOSC1とTOSC2のピンは主クロック発 振器や標準ポートから切り離されます。クリスタル発振子はTC2用の独立した クロック元として扱うTOSC1とTOSC2ピン間に接続できます。この発振器は 32.768kHzクリスタル発振子で使用するために最適化されています。TOSC1 に外部クロック信号を印加する場合、ASSRの外部クロック許可(EXCLK)ビット が設定(1)されなければなりません(訳注:矛盾回避のため本行置換)。

TC2に対して可能な前置分周済み選択は

clk

T2S/8,

clk

T2S/32,

clk

T2S/ 64,

clk

T2S/128,

clk

T2S/256,

clk

T2S/1024です。更に0(停止)は勿論

clk

T2Sも選択可能です。

この前置分周器は一般タイマ/カウンタ制御レジスタ(GTCCR)の非同期系タイマ/

カウンタ前置分周器リセット(PSRASY)ビットへの1書き込みによってリセットしま す。これは明確にした前置分周器での操作を使用者に許します。

図22-12. タイマ/カウンタ2前置分周器部構成

10ビット前置分周器

clk

I/O

clk

T2S/32

clk

T2S/64

clk

T2S/256

clk

T2S/1024

0 TOSC1

AS2

CS20 CS21 CS22

clk

T2 タイマ/カウンタ2 クロック

タイマ/カウンタ2用 選択器

clk

T2S/8

clk

T2S

clk

T2S/128

R PSRASY

22.11. 8ビット タイマ/カウンタ2用レジスタ

22.11.1. TCCR2A - タイマ/カウンタ2制御レジスタA (Timer/Counter2 Control Register A) 名称 : TCCR2A

変位 : $B0 リセット : $00 特質 :

-COM2A1,0 COM2B1,0 - - WGM21,0

7 6 5 4 3 2 1 0

ビット

R/W R/W

R R

R/W R/W

R/W R/W

0 0

0 0

0 0

0 0

アクセス種別 リセット値

ビット7,6 - COM2A1,0 : 比較A出力選択 (Compare Output Mode for Channel A)

これらのビットはOC2A比較出力ピンの動作を制御します。COM2A1,0ビットの1つまたは両方が1を書かれると、OC2A出力はそのI/Oピ ンの通常ポート機能を無効にし、そのI/Oピンに接続されます。けれども出力駆動部を許可するため、OC2Aピンに対応するポート方向レ ジスタ(DDR)のビットが設定(1)されなければならないことに注意してください。

OC2Aがピンに接続されるとき、COM2A1,0ビットの機能はWGM22~0ビット設定に依存します。

下表はWGM22~0ビットが標準動作またはCTC動作(つまりPWM以外)に設定される時のCOM2A1,0ビットの機能を示します。

表22-2. 非PWM動作比較A出力選択

COM2A1 意味

0 標準ポート動作 (OC2A切断)

比較一致でOC2Aピン トグル(交互)出力 1 比較一致でOC2Aピン Lowレベル出力

比較一致でOC2Aピン Highレベル出力 COM2A0

0 1

0 1 0 1

下表はWGM22~0ビットが高速PWM動作に設定される時のCOM2A1,0ビットの機能を示します。

表22-3. 高速PWM動作比較A出力選択

COM2A1 意味

0 標準ポート動作 (OC2A切断)

WGM22=0 : 標準ポート動作 (OC2A切断)

WGM22=1 : 比較一致でOC2Aピン トグル(交互)出力

1 比較一致でLow、BOTTOMでHighをOC2Aピンへ出力 (非反転動作) 比較一致でHigh、BOTTOMでLowをOC2Aピンへ出力 (反転動作) COM2A0

0

1

0 1 0 1

注: COM2A1が設定(1)され、OCR2AがTOPと等しい時に特別な状態が起きます。この状態での比較一致は無視されますが、設 定(1)または解除(0)はBOTTOMで行われます。詳細については「高速PWM動作」をご覧ください。

下表はWGM02~0ビットが位相基準PWM動作に設定される時のCOM0A1,0ビットの機能を示します。

表22-4. 位相基準PWM動作比較A出力選択

COM2A1 意味

0 標準ポート動作 (OC2A切断)

WGM22=0 : 標準ポート動作 (OC2A切断)

WGM22=1 : 比較一致でOC2Aピン トグル(交互)出力

1 上昇計数時の比較一致でLow、下降計数時の比較一致でHighをOC2Aピンへ出力 上昇計数時の比較一致でHigh、下降計数時の比較一致でLowをOC2Aピンへ出力 COM2A0

0

1

0 1 0 1

注: COM2A1が設定(1)され、OCR2AがTOPと等しい時に特別な状態が起きます。この状態での比較一致は無視されますが、設 定(1)または解除(0)はTOPで行われます。詳細については「位相基準PWM動作」をご覧ください。

ビット5,4 - COM2B1,0 : 比較B出力選択 (Compare Output Mode for Channel B)

これらのビットはOC2B比較出力ピンの動作を制御します。COM2B1,0ビットの1つまたは両方が1を書かれると、OC2B出力はそのI/Oピン の通常ポート機能を無効にし、そのI/Oピンに接続されます。けれども出力駆動部を許可するため、OC2Bピンに対応するポート方向レジ スタ(DDR)のビットが設定(1)されなければならないことに注意してください。

OC2Bがピンに接続されるとき、COM2B1,0ビットの機能はWGM22~0ビット設定に依存します。

下表はWGM22~0ビットが標準動作またはCTC動作(つまりPWM以外)に設定される時のCOM2B1,0ビット機能を示します。

表22-5. 非PWM動作比較B出力選択

COM2B1 意味

0 標準ポート動作 (OC2B切断)

比較一致でOC2Bピン トグル(交互)出力 1 比較一致でOC2Bピン Lowレベル出力

比較一致でOC2Bピン Highレベル出力 COM2B0

0 1

0 1 0 1

下表はWGM22~0ビットが高速PWM動作に設定される時のCOM2B1,0ビットの機能を示します。

表22-6. 高速PWM動作比較B出力選択

COM2B1 意味

0 標準ポート動作 (OC2B切断) (予約)

1 比較一致でLow、BOTTOMでHighをOC2Bピンへ出力 (非反転動作) 比較一致でHigh、BOTTOMでLowをOC2Bピンへ出力 (反転動作) COM2B0

0 1

0 1 0 1

注: COM2B1が設定(1)され、OCR2BがTOPと等しい時に特別な状態が起きます。この状態での比較一致は無視されますが、設 定(1)または解除(0)はBOTTOMで行われます。詳細については「高速PWM動作」を参照してください。

下表はWGM22~0ビットが位相基準PWM動作に設定される時のCOM2B1,0ビットの機能を示します。

表22-7. 位相基準PWM動作比較B出力選択

COM2B1 意味

0 標準ポート動作 (OC2B切断) (予約)

1 上昇計数時の比較一致でLow、下降計数時の比較一致でHighをOC2Bピンへ出力 上昇計数時の比較一致でHigh、下降計数時の比較一致でLowをOC2Bピンへ出力 COM2B0

0 1

0 1 0 1

注: COM2B1が設定(1)され、OCR2BがTOPと等しい時に特別な状態が起きます。この状態での比較一致は無視されますが、設 定(1)または解除(0)はTOPで行われます。詳細については「位相基準PWM動作」を参照してください。

ビット1,0 - WGM21,0 : 波形生成種別 (Waveform Generation Mode)

タイマ/カウンタ制御レジスタB(TCCR2B)で得られるWGM22ビットと組み合わせたこれらのビットはカウンタの計数順序(方向)、最大カウンタ(TOP) 値の供給元、使用されるべき波形生成のどの形式かを制御します。タイマ/カウンタ部によって支援される動作種別は標準動作(カウンタ)、

比較一致タイマ/カウンタ解除(CTC)動作と2形式のパルス幅変調(PWM)動作です。「動作種別」をご覧ください。

表22-8. 波形生成種別選択

TOP値 タイマ/カウンタ動作種別

$FF

$FF OCR2A

$FF

OCR2x更新時 WGM22

0 0 0 0

即時 TOP 即時 BOTTOM 標準動作

8ビット位相基準PWM動作

比較一致タイマ/カウンタ解除(CTC)動作 8ビット高速PWM動作

-1 (予約)

-WGM20 0 1 0 1 0 番号

0 1 2 3 4

WGM21 0 0 1 1 0

TOV2設定時 MAX BOTTOM

MAX MAX -OCR2A

1 1 位相基準PWM動作 TOP

5 0 BOTTOM

-1 0 (予約)

-6 1

-OCR2A

1 1 高速PWM動作 BOTTOM

7 1 TOP

注: MAX=$FF、BOTTOM=$00です。

22.11.2. TCCR2B - タイマ/カウンタ2制御レジスタB (Timer/Counter2 Control Register B) 名称 : TCCR2B

変位 : $B1 リセット : $00 特質 :

-FOC2A FOC2B - - WGM22 CS22~0

7 6 5 4 3 2 1 0

ビット

R/W R/W

R/W R/W

R R

R/W R/W

0 0

0 0

0 0

0 0

アクセス種別 リセット値

ビット7 - FOC2A : OC2A強制変更 (Force Output Compare A)

FOC2AビットはWGM22~0ビットが非PWM動作を指示する時だけ有効です。

将来のデバイスとの共通性を保証するため、PWM動作で扱う時にTCCR2Bが書かれる場合、このビットは0に設定されなければなりませ ん。FOC2Aビットに論理1を書くと、波形生成部で直ちに比較一致が強制されます。OC2A出力はCOM2A1,0ビット設定に従って変更さ れます。FOC2Aビットがストローブとして実行されることに注意してください。従って強制した比較の効果を決めるのはCOM2A1,0ビットに 存在する値です。

FOC2Aストローブは何れの割り込みの生成もTOPとしてOCR2Aを使用する比較一致タイマ解除(CTC)動作でのタイマ/カウンタの解除($00) も行いません。

FOC2Aビットは常に0として読みます。

ビット6 - FOC2B : OC2B強制変更 (Force Output Compare B)

FOC2BビットはWGM22~0ビットが非PWM動作を指示する時だけ有効です。

将来のデバイスとの共通性を保証するため、PWM動作で扱う時にTCCR2Bが書かれる場合、このビットは0に設定されなければなりませ ん。FOC2Bビットに論理1を書くと、波形生成部で直ちに比較一致が強制されます。OC2B出力はCOM2B1,0ビット設定に従って変更さ れます。FOC2Bビットがストローブとして実行されることに注意してください。従って強制した比較の効果を決めるのはCOM2B1,0ビットに 存在する値です。

FOC2Bストローブは何れの割り込みの生成も行いません。

FOC2Bビットは常に0として読みます。

ビット3 - WGM22 : 波形生成種別 (Waveform Generation Mode bit 2) タイマ/カウンタ2制御レジスタA(TCCR2A)を参照してください。

ビット2~0 - CS22~0 : クロック選択 (Clock Select)

この3つのクロック選択ビットはタイマ/カウンタ(TCNT2)によって使用されるクロック元を選択します。

表22-9. タイマ/カウンタ2入力クロック選択

CS22 意味

0 停止 (タイマ/カウンタ2動作停止)

clk

T2S (前置分周なし) 1

clk

T2S/8 (8分周)

clk

T2S/32 (32分周) CS21

0 1

0 1 0 1 CS20

0 1 0 1

0 1 0 1 0

0 0 0 1 1 1 1

clk

T2S/64 (64分周)

clk

T2S/128 (128分周)

clk

T2S/256 (256分周)

clk

T2S/1024 (1024分周)

22.11.3. TCNT2 - タイマ/カウンタ2計数値レジスタ (TC2 Counter Value Register) 名称 : TCNT2

変位 : $B2 リセット : $00 特質 :

-7 6 5 4 3 2 1 0

ビット

R/W R/W

R/W R/W

R/W R/W

R/W R/W

0 0

0 0

0 0

0 0

アクセス種別 リセット値

TCNT27~0

ビット7~0 - TCNT27~0 : タイマ/カウンタ2計数値 (TC2 Counter Value)

このタイマ/カウンタ レジスタは読み書き両方の操作について、タイマ/カウンタ部の8ビット カウンタに直接アクセスします。TCNT2への書き込みは次 のタイマ/カウンタ クロックでの比較一致を妨害(除去)します。カウンタが走行中にカウンタ(TCNT2)を変更することは、TCNT2とOCR2x間の比 較一致消失の危険を誘発します。

22.11.4. OCR2A - タイマ/カウンタ2比較Aレジスタ (Output Compare Register 2 A) 名称 : OCR2A

変位 : $B3 リセット : $00 特質 :

-7 6 5 4 3 2 1 0

ビット

R/W R/W

R/W R/W

R/W R/W

R/W R/W

0 0

0 0

0 0

0 0

アクセス種別 リセット値

OCR2A7~0

ビット7~0 - OCR2A7~0 : タイマ/カウンタ2比較A値 (Output Compare 2 A)

この比較レジスタは継続的にカウンタ(TCNT2)値と比較される8ビットの値を含みます。一致は比較一致割り込みやOC2Aピンでの波形出 力を生成するのに使用できます。

22.11.5. OCR2B - タイマ/カウンタ2比較Bレジスタ (Output Compare Register 2 B) 名称 : OCR2B

変位 : $B4 リセット : $00 特質 :

-7 6 5 4 3 2 1 0

ビット

R/W R/W

R/W R/W

R/W R/W

R/W R/W

0 0

0 0

0 0

0 0

アクセス種別 リセット値

OCR2B7~0

ビット7~0 - OCR2B7~0 : タイマ/カウンタ2比較B値 (Output Compare 2 B)

この比較レジスタは継続的にカウンタ(TCNT2)値と比較される8ビットの値を含みます。一致は比較一致割り込みやOC2Bピンでの波形出 力を生成するのに使用できます。

22.11.6. TIMSK2 - タイマ/カウンタ2割り込み許可レジスタ (Timer/Counter 2 Interrupt Mask Register) 名称 : TIMSK2

変位 : $70 リセット : $00 特質 :

-- - - OCIE2B OCIE2A TOIE2

7 6 5 4 3 2 1 0

ビット

R/W R/W

R/W R

R R

R R

0 0

0 0

0 0

0 0

アクセス種別 リセット値

ビット2 - OCIE2B : タイマ/カウンタ2比較B割り込み許可 (Timer/Counter2 Output Compare Match B Interrupt Enable)

OCIE2Bビットが1を書かれ、ステータス レジスタ(SREG)の全割り込み許可(I)ビットが設定(1)されると、タイマ/カウンタ2比較B一致割り込みが許 可されます。タイマ/カウンタ2で比較B一致が起こる、換言するとタイマ/カウンタ2割り込み要求フラグ レジスタ(TIFR2)で比較B割り込み要求フラ グ(OCF2B)が設定(1)されると、対応する割り込みが実行されます。

ビット1 - OCIE2A : タイマ/カウンタ2比較A割り込み許可 (Timer/Counter2 Output Compare Match A Interrupt Enable)

OCIE2Aビットが1を書かれ、ステータス レジスタ(SREG)の全割り込み許可(I)ビットが設定(1)されると、タイマ/カウンタ2比較A一致割り込みが許 可されます。タイマ/カウンタ2で比較A一致が起こる、換言するとタイマ/カウンタ2割り込み要求フラグ レジスタ(TIFR2)で比較A割り込み要求フラ グ(OCF2A)が設定(1)されると、対応する割り込みが実行されます。

ビット0 - TOIE2 : タイマ/カウンタ2溢れ割り込み許可 (Timer/Counter2 Overflow Interrupt Enable)

TOIE2ビットが1を書かれ、ステータス レジスタ(SREG)の全割り込み許可(I)ビットが設定(1)されると、タイマ/カウンタ2溢れ割り込みが許可されま す。タイマ/カウンタ2溢れが起こる、換言するとタイマ/カウンタ2割り込み要求フラグ レジスタ(TIFR2)でタイマ/カウンタ2溢れ割り込み要求(TOV2)フラ グが設定(1)されると、対応する割り込みが実行されます。

22.11.7. TIFR2 - タイマ/カウンタ2割り込み要求フラグ レジスタ (Timer/Counter 2 Interrupt Flag Register)

LD系とST系の命令を使用し、データ空間としてI/Oレジスタをアクセスする時は、提供された変位が使用されなければなりません。I/O特定 命令のINとOUTを使用する時は、この変位が$20で減算され、I/Oアドレスの変位は$00~$3F内になります。

名称 : TIFR2 変位 : $37 ($17) リセット : $00

特質 : I/O特定命令でI/Oレジスタとしてアクセスする時の変位アドレスは$17です。

- - - OCF2B OCF2A TOV2

7 6 5 4 3 2 1 0

ビット

R/W R/W

R/W R

R R

R R

0 0

0 0

0 0

0 0

アクセス種別 リセット値

ビット2 - OCF2B : タイマ/カウンタ2比較B割り込み要求フラグ (Timer/Conter2, Output Compare B Match Flag)

OCF2Bビットは比較一致がタイマ/カウンタ(TCNT2)と比較レジスタ(OCR2B)間で起こる時に設定(1)されます。対応する割り込み処理ベクタ を実行すると、OCF2Bはハードウェアによって解除(0)されます。代わりにこのフラグへ論理1を書くことによってもOCF2Bは解除(0)されま す。ステータス レジスタ(SREG)の全割り込み許可(I)ビット、タイマ/カウンタ2割り込み許可レジスタ(TIMSK2)のタイマ/カウンタ2比較B一致割り込み許 可(OCIE2B)ビット、OCF2Bが設定(1)されると、タイマ/カウンタ2比較B一致割り込みが実行されます。

ビット1 - OCF2A : タイマ/カウンタ2比較A割り込み要求フラグ (Timer/Conter2, Output Compare A Match Flag)

OCF2Aビットは比較一致がタイマ/カウンタ(TCNT2)と比較レジスタ(OCR2A)間で起こる時に設定(1)されます。対応する割り込み処理ベクタ を実行すると、OCF2Aはハードウェアによって解除(0)されます。代わりにこのフラグへ論理1を書くことによってもOCF2Aは解除(0)されま す。ステータス レジスタ(SREG)の全割り込み許可(I)ビット、タイマ/カウンタ2割り込み許可レジスタ(TIMSK2)のタイマ/カウンタ2比較A一致割り込み 許可(OCIE2A)ビット、OCF2Aが設定(1)されると、タイマ/カウンタ2比較A一致割り込みが実行されます。

ビット0 - TOV2 : タイマ/カウンタ2溢れ割り込み要求フラグ (Timer/Counter2 Overflow Flag)

TOV2ビットはタイマ/カウンタ(TCNT2)溢れが起こる時に設定(1)されます。対応する割り込み処理ベクタを実行すると、TOV2はハードウェアに よって解除(0)されます。代わりにこのフラグへ論理1を書くことによってもTOV2は解除(0)されます。ステータス レジスタ(SREG)の全割り込み 許可(I)ビット、タイマ/カウンタ2割り込み許可レジスタ(TIMSK2)のタイマ/カウンタ2溢れ割り込み許可(TOIE2)ビット、TOV2が設定(1)されると、タイ マ/カウンタ2溢れ割り込みが実行されます。位相基準PWM動作ではタイマ/カウンタ2が$00で計数方向を変える時にこのビットが設定(1)され ます。

これらフラグの設定はWGM22~0ビット設定に依存します。波形生成種別ビット記述の表22-8.を参照してください。

ドキュメント内 mega88.pdf (ページ 113-121)