TB3214
タイマ/カウンタB型(TCB)での開始に際して序説
著者: Marius Nicolae, Microchip Technology Inc.
tinyAVR® 0系、tinyAVR 1系、megaAVR® 0系、AVR® DAのﾏｲｸﾛ ｺﾝﾄﾛｰﾗは広い領域の応用を網羅することをそれらに許す強力な計時器を装備しています。ﾀｲﾏ/ｶｳﾝﾀB型(TCB:Timer/Counter Type B)は周期的な割り込みから8ﾋﾞｯﾄPWMまたは制限時間超過まで様々な機能と動作形態を提供します。TCBの様々な動作形態は事象ｼｽﾃﾑとの相互関係で使うことができます。この技術概要の範囲は3つの動作形態の構成設定を示すことです。
・ 8ﾋﾞｯﾄPWM動作でTCBを使用:
TCBはこの動作形態に構成設定され、1秒の周期で50%のﾃﾞｭｰﾃｨ ｻｲｸﾙを持つPWM信号を生成します。
・ 制限時間検査動作でTCBを使用:
TCBはこの動作形態に構成設定され、入力として構成設定されたGPIO(汎用入出力)ﾋﾟﾝによって生成された信号
時間(端から端まで)を測定するのに使われます。制限時間(端から端までの周期)を超過する場合に割り込みが生成されます。
・ 休止動作でTCBを使用:
TCBは例えAVR®ﾏｲｸﾛ ｺﾝﾄﾛｰﾗがｽﾀﾝﾊﾞｲ休止動作でも、周期的割り込みを生成するように構成設定されます。
注: この文書で記述される各使用事例に対して2つのｺｰﾄﾞ例があります。1つはATmega4809で素の状態で開発され、1つはAVR128DA48で開発されたMPLAB®ｺｰﾄﾞ構成部(MCC)で生成されました。

GitHubでATmega4809ｺｰﾄﾞ例を見てください。
貯蔵庫を閲覧するにはｸﾘｯｸしてください。

GitHubでAVR128DA48ｺｰﾄﾞ例を見てください。
貯蔵庫を閲覧するにはｸﾘｯｸしてください。

本書は一般の方々の便宜のため有志により作成されたもので、Microchip社とは無関係であることを御承知ください。しおりの[はじめに]での内容にご注意ください。

© 2021 Microchip Technology Inc.

技術概説

DS90003214B/J0 - 1頁

TB3214目次

序説 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 1
1. 関連ﾃﾞﾊﾞｲｽ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 3
1.1.
1.2.
1.3.
1.4.

tinyAVR® 0系統 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 4
tinyAVR® 1系統 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 4
megaAVR® 0系統 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 4
AVR® DA系概要 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 4

2. 概要 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
3. 8ﾋﾞｯﾄPWM動作でTCBを使用 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
4. 制限時間検査動作でTCBを使用 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 9
5. 休止動作でTCBを使用 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 12
6. 参考文献 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 14
7. 追補 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 15
8. 改訂履歴 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 18
Microchipｳｪﾌﾞ ｻｲﾄ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 19
製品変更通知ｻｰﾋﾞｽ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 19
お客様支援 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 19
Microchipﾃﾞﾊﾞｲｽ ｺｰﾄﾞ保護機能 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 19
法的通知 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 19
商標 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 20
品質管理ｼｽﾃﾑ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 20
世界的な販売とｻｰﾋﾞｽ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 21© 2021 Microchip Technology Inc.

技術概説

DS90003214B - 2頁

TB3214
1. 関連ﾃﾞﾊﾞｲｽ
本章はこの文書に関連するﾃﾞﾊﾞｲｽを一覧にします。以下の図はﾋﾟﾝ数の変種とﾒﾓﾘ量を展開して各種系統ﾃﾞﾊﾞｲｽを示します。
・ これらのﾃﾞﾊﾞｲｽが完全にﾋﾟﾝ互換で同じまたはより多くの機能を提供するため、垂直上方向移植はｺｰﾄﾞ変更なしで可能です。tinyAVR® 1系統ﾃﾞﾊﾞｲｽでの下方向移植はいくつかの周辺機能のより少ない利用可能な実体のため、ｺｰﾄﾞ変更を必要とするかもしれません。
・ 左への水平方向移植はﾋﾟﾝ数、従って利用可能な機能を減らします。
・ 異なるﾌﾗｯｼｭ ﾒﾓﾘ量を持つﾃﾞﾊﾞｲｽはまた一般的に異なるSRAMとEEPROMの量を持ちます。
図1-1. tinyAVR® 0系統概要
ﾌﾗｯｼｭ ﾒﾓﾘ量
16Kﾊﾞｲﾄ8Kﾊﾞｲﾄ
4Kﾊﾞｲﾄ
2KﾊﾞｲﾄATtiny1606
ATtiny806
ATtiny406

ATtiny1607
ATtiny807

ATtiny402
ATtiny202

ATtiny1604
ATtiny804
ATtiny404
ATtiny204

8

14

20

24

ATtiny3216
ATtiny1616
ATtiny816
ATtiny416

ATtiny3217
ATtiny1617
ATtiny817
ATtiny417

ﾋﾟﾝ数

図1-2. tinyAVR® 1系統概要
ﾌﾗｯｼｭ ﾒﾓﾘ量
32Kﾊﾞｲﾄ
16Kﾊﾞｲﾄ8Kﾊﾞｲﾄ
4Kﾊﾞｲﾄ
2KﾊﾞｲﾄATtiny412
ATtiny212

ATtiny1614
ATtiny814
ATtiny414
ATtiny214

8

14

20

24

ATmega4808
ATmega3208
ATmega1608
ATmega808

ATmega4808
ATmega3208
ATmega1608
ATmega808

ATmega4809

ATmega4809
ATmega3209
ATmega1609
ATmega809

28

32

40

48

AVR128DA28
AVR64DA28
AVR32DA28

AVR128DA32
AVR64DA32
AVR32DA32

AVR128DA48
AVR64DA48
AVR32DA48

AVR128DA64
AVR64DA64

28

32

48

64

ﾋﾟﾝ数

図1-3. megaAVR® 0系統概要
ﾌﾗｯｼｭ ﾒﾓﾘ量
48Kﾊﾞｲﾄ
32Kﾊﾞｲﾄ
16Kﾊﾞｲﾄ8Kﾊﾞｲﾄ

ﾋﾟﾝ数

図1-4. AVR® DA系統概要
ﾌﾗｯｼｭ ﾒﾓﾘ量
128Kﾊﾞｲﾄ
64Kﾊﾞｲﾄ
32Kﾊﾞｲﾄ© 2021 Microchip Technology Inc.

技術概説

ﾋﾟﾝ数

DS90003214B - 3頁

TB32141.1. tinyAVR® 0系統
下図はﾋﾟﾝ数の変種とﾒﾓﾘ量を展開してtinyAVR® 0系統ﾃﾞﾊﾞｲｽを示します。
・ これらのﾃﾞﾊﾞｲｽが完全にﾋﾟﾝと機能が互換のため、垂直方向移植はｺｰﾄﾞ変更なしで可能です。
・ 左への水平方向移植はﾋﾟﾝ数、従って利用可能な機能を減らします。
図1-5. tinyAVR® 0系統概要
ﾌﾗｯｼｭ ﾒﾓﾘ量
16Kﾊﾞｲﾄ8Kﾊﾞｲﾄ
4Kﾊﾞｲﾄ
2KﾊﾞｲﾄATtiny1606
ATtiny806
ATtiny406

ATtiny1607
ATtiny807

ATtiny402
ATtiny202

ATtiny1604
ATtiny804
ATtiny404
ATtiny204

8

14

20

24

ﾋﾟﾝ数

異なるﾌﾗｯｼｭ ﾒﾓﾘ量を持つﾃﾞﾊﾞｲｽは一般的に異なるSRAMとEEPROMの量を持ちます。

1.2. tinyAVR® 1系統
下図はﾋﾟﾝ配置変種とﾒﾓﾘ量を展開してtinyAVR® 1系統ﾃﾞﾊﾞｲｽを示します。
・ これらのﾃﾞﾊﾞｲｽがﾋﾟﾝ互換で同じまたはより多くの機能を提供するため、垂直上方向移植はｺｰﾄﾞ変更なしに可能です。下方向移植はより少ない利用可能ないくつかの周辺機能の実体のためにｺｰﾄﾞ変更が必要かもしれません。
・ 左への水平方向移植はﾋﾟﾝ数、従って利用可能な機能を減らします。
図1-6. tinyAVR® 1系統概要
ﾌﾗｯｼｭ ﾒﾓﾘ量
32Kﾊﾞｲﾄ
16Kﾊﾞｲﾄ8Kﾊﾞｲﾄ
4Kﾊﾞｲﾄ
2KﾊﾞｲﾄATtiny412
ATtiny212

ATtiny1614
ATtiny814
ATtiny414
ATtiny2148

14

ATtiny3216
ATtiny1616
ATtiny816
ATtiny416

ATtiny3217
ATtiny1617
ATtiny817
ATtiny417

20

24

ﾋﾟﾝ数

異なるﾌﾗｯｼｭ ﾒﾓﾘ量を持つﾃﾞﾊﾞｲｽは一般的に異なるSRAMとEEPROMの量を持ちます。

1.3. megaAVR® 0系統
下図はﾋﾟﾝ配置変種とﾒﾓﾘ量を展開してmegaAVR® 0系統ﾃﾞﾊﾞｲｽを示します。
・ これらのﾃﾞﾊﾞｲｽが完全にﾋﾟﾝと機能が互換のため、垂直方向移植はｺｰﾄﾞ変更なしで可能です。
・ 左への水平方向移植はﾋﾟﾝ数、従って利用可能な機能を減らします。
図1-7. megaAVR® 0系統概要
ﾌﾗｯｼｭ ﾒﾓﾘ量
48Kﾊﾞｲﾄ
32Kﾊﾞｲﾄ
16Kﾊﾞｲﾄ8KﾊﾞｲﾄATmega4808
ATmega3208
ATmega1608
ATmega808

ATmega4808
ATmega3208
ATmega1608
ATmega808

ATmega4809

ATmega4809
ATmega3209
ATmega1609
ATmega809

28

32

40

48

ﾋﾟﾝ数

異なるﾌﾗｯｼｭ ﾒﾓﾘ量を持つﾃﾞﾊﾞｲｽは一般的に異なるSRAMとEEPROMの量を持ちます。

1.4. AVR® DA系概要
次図はﾋﾟﾝ配置変種とﾒﾓﾘ量を展開してAVR® DAﾃﾞﾊﾞｲｽを示します。
・ これらのﾃﾞﾊﾞｲｽが完全にﾋﾟﾝと機能が互換のため、垂直方向移植はｺｰﾄﾞ変更なしで可能です。
・ 左への水平方向移植はﾋﾟﾝ数、従って利用可能な機能を減らします。

© 2021 Microchip Technology Inc.

技術概説

DS90003214B - 4頁

TB3214
図1-8. AVR® DA系統概要
ﾌﾗｯｼｭ ﾒﾓﾘ量
128Kﾊﾞｲﾄ
64Kﾊﾞｲﾄ
32Kﾊﾞｲﾄ

AVR128DA28
AVR64DA28
AVR32DA28

AVR128DA32
AVR64DA32
AVR32DA32

AVR128DA48
AVR64DA48
AVR32DA48

AVR128DA64
AVR64DA64

28

32

48

64

ﾋﾟﾝ数

異なるﾌﾗｯｼｭ ﾒﾓﾘ量を持つﾃﾞﾊﾞｲｽは一般的に異なるSRAM量を持ちます。

2. 概要
16ﾋﾞｯﾄ ﾀｲﾏ/ｶｳﾝﾀB型(TCB)の能力は周波数と波形の生成、ﾃﾞｼﾞﾀﾙ信号の時間と周波数の測定と共に事象での計数捕獲を含みます。TCBは基本計数器と各動作形態が独特な機能を提供する8つの異なる動作形態の1つに設定することができる制御論理回路から成ります。下で示されるように、基本計数器は任意選択の前置分周を持つ周辺機能ｸﾛｯｸによってｸﾛｯｸ駆動されます。
図2-1. ﾀｲﾏ/ｶｳﾝﾀB型構成図
ｸﾛｯｸ選択

CTRLA

動作形態

CTRLB

ｴｯｼﾞ(端)選択EVCTRL
捕獲/比較ﾚｼﾞｽﾀ(CCMP)

2分周
計数器

"計数"
"解消"

計数ﾚｼﾞｽﾀ(CNT)=0=

動作形態、出力許可、初期値
TCB

制御回路

CLK_PER
CLK_TCA
事象ｼｽﾃﾑ
CAPT(割り込み要求)

TOP
BOTTOM
出力制御と非同期論理回路

同期出力
非同期出力

3. 8ﾋﾞｯﾄPWM動作でTCBを使用
使用事例説明: TCB(TCB3実体)は8ﾋﾞｯﾄPWM動作に構成設定され、50%のﾃﾞｭｰﾃｨ ｻｲｸﾙで1秒周期のPWM信号を生成します。GP
IO(ﾎﾟｰﾄBの5番、PB5)ﾋﾟﾝはこの信号を見せるための出力として使われます。
結果: TCBは1秒の周期を持つ50%のﾃﾞｭｰﾃｨ ｻｲｸﾙPWM信号を生成します。基板上のLED(PB5ﾋﾟﾝ)は500ms毎に交互切り替えします。
この計時器は16ﾋﾞｯﾄ捕獲/比較(TCBn.CCMPHとTCBn.CC 図3-1. 8ﾋﾞｯﾄPWM動作
MPL)ﾚｼﾞｽﾀのﾚｼﾞｽﾀ対の各々が個別比較ﾚｼﾞｽﾀとして使わ
CCMPL
れる8ﾋﾞｯﾄPWM動作で動くように構成設定することができま
CCMPH
す。計数器は0からCCMPLまで継続的に計数し、出力はB
CNT
OTTOMで設定(1)され、計数器がCCMPHに達する時に解"割り込み"
除(0)されます。
BOTTOM
出力
この周辺機能がPWM動作で許可されると、捕獲/比較ﾚｼﾞｽ
ﾀの値変更は出力を変更しますが、その遷移は無効な値を
CNT=CCMPLで出力=H CNT=CCMPHで出力=L
出力するかもしれません。故に以下が推奨されます。
1. 周辺機能を禁止してください。
2. 捕獲/比較ﾚｼﾞｽﾀ(CCMPHとCCMPL)に値を書いてください。
3. 計数ﾚｼﾞｽﾀに$0000を書いてください。
4. 単位部を再許可してください。
CCMPHは出力がHighに駆動される周期数、一方でCCMPL+1は出力ﾊﾟﾙｽの周期です。

© 2021 Microchip Technology Inc.

技術概説

DS90003214B - 5頁

TB3214
例えば、計時器への入力として扱う256Hzの周波数のｸﾛｯｸに対して、結果は1秒周期です(CCMPLは0～255までの値を持つことができる8ﾋﾞｯﾄ ﾚｼﾞｽﾀです)。
PWM信号を可視化するため出力としてﾋﾟﾝを構成設定
PWMを可視化するため、ﾋﾟﾝは出力動作で構成設定されます。以下のｺｰﾄﾞはLowを出力するようにPB5を設定します。
PORTB_DIR |= PIN5_bm;
PORTB_OUT |= PIN5_bm;
ｼｽﾃﾑ ｸﾛｯｸ構成設定
図2-1.の構成図に従い、TCBには以下のように2つの主なｸﾛｯｸ元があります。
・ CLK_PER (主ｸﾛｯｸのCLK_MAINから派生される周辺機能ｸﾛｯｸ)・ CLK_TCA (CLK_PERから派生することができるTCAｸﾛｯｸ)
このTCBの使用事例には、TCBの実体3(TCB3)とCLK_PERｸﾛｯｸ元が使われます。1秒周期を得るため、入力ｸﾛｯｸは可能な限り低くなければなりません。以下の構成設定が行われなければなりません。
・ CLKSELに対して内部32kHz超低電力発振器が選ばれなければなりません。
・ ｸﾛｯｸ前置分周器(PEN)が許可されなければなりません。
・ 最高前置分周(PDIV64)が使われなければなりません。
TCBに対するｸﾛｯｸ元として32kHz内部発振器を使うため、使用者は以下のﾚｼﾞｽﾀと以下のﾚｼﾞｽﾀ内のﾋﾞｯﾄまたはﾋﾞｯﾄ領域を構成設
定しなければなりません。
図3-2. MCLKCTRLBﾚｼﾞｽﾀ構成設定

ﾋﾞｯﾄ

7

6

5

4

3

2

1

0

PDIV3～0
ｱｸｾｽ種別
ﾘｾｯﾄ値

R
0

R
0

R
0

R/W
1

R/W
0

PEN
R/W
0

R/W
0

R/W
1

● ﾋﾞｯﾄ4～1 - PDIV3～0 : 前置分周器分周値 (Prescaler Division)

前置分周器許可(PEN)ﾋﾞｯﾄが’1’を書かれると、これらのﾋﾞｯﾄは主ｸﾛｯｸ前置分周器の分周比を定義します。
これらのﾋﾞｯﾄは応用の必要条件に適合させるようにｼｽﾃﾑのｸﾛｯｸ周波数を変えるために走行時の間に書くことができます。
使用者ｿﾌﾄｳｪｱは結果のCLK_PER周波数が許された最大(ﾃﾞﾊﾞｲｽのﾃﾞｰﾀｼｰﾄの「電気的特性」をご覧ください)を決して超えな
いような、正しい入力周波数(CLK_MAIN)の構成設定と前置分周器設定を保証しなければなりません。
値
分周数0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
2
4
8
16
32
64
(予約)
6
10
12
24
48
(予約)

● ﾋﾞｯﾄ0 - PEN : 前置分周器許可 (Prescaler Enable)

前置分周器が許可されるにはこのﾋﾞｯﾄが’1’を書かれなければなりません。許可されると、前置分周器分周値(PDIV)ﾋﾞｯﾄ領域
によって分周比が選ばれます。
このﾋﾞｯﾄが’0’を書かれると、主ｸﾛｯｸはPDIVの値に関わらず、分周なしを通して渡されます(CLK_PER=CLK_MAIN)。
主ｸﾛｯｸと前置分周器の構成設定ﾚｼﾞｽﾀ(CLKCTRL.MCLKCTRLAとCLKCTRL.MCLKCTRLB)はそれらのﾚｼﾞｽﾀを変更するのに制限時間書き込み手順を使う構成設定変更保護(CCP:Configuration Change Protection)機構によって保護されます。これらのﾚｼﾞｽﾀに書くには、最初に正しい鍵がCPU.CCPﾚｼﾞｽﾀに書かれ、後続して4 CPU命令内に保護されたﾋﾞｯﾄへ書き込みｱｸｾｽされなければなりません。
望む周波数が可能な最低であるため、前置分周器(PEN)が許可されてPDIVが’64’分周に設定されなければなりません。
CPU.CCPﾚｼﾞｽﾀに書かれなければならない鍵はIOREGです。より多くの詳細についてはmegaAVR 0系ﾃﾞｰﾀｼｰﾄで構成設定変更保護(CCP)を調べてください。
保護されたﾚｼﾞｽﾀへの書き込みは’64’前置分周器を許可するのに下ｺｰﾄﾞの行に変換されるccp_write io関数を使って行われます。
注: ccp_write io関数を使うにはavr\cpufunc.hﾍｯﾀ ﾌｧｲﾙがｲﾝｸﾙｰﾄﾞされなければなりません。
ccp_write_io((void *) &(CLKCTRL.MCLKCTRLB), (CLKCTRL_PDIV_64X_gc | CLKCTRL_PEN_bm));© 2021 Microchip Technology Inc.

技術概説

DS90003214B - 6頁

TB3214
図3-3. MCLKCTRLAﾚｼﾞｽﾀ構成設定

ﾋﾞｯﾄ

7

6

5

4

3

2

1

ｱｸｾｽ種別
ﾘｾｯﾄ値

R/W
0

0

CLKSEL1,0

CLKOUT
R
0

R
0

R
0

R
0

R
0

R/W
0

R/W
0

10
01
XOSC32K
OSCULP32K
32kHz内部超低電力発振器 32.768kHz外部ｸﾘｽﾀﾙ用発振器

11
EXTCLK
外部ｸﾛｯｸ● ﾋﾞｯﾄ1,0 - CLKSEL1,0 : ｸﾛｯｸ選択 (Clock Select)

このﾋﾞｯﾄ領域は主ｸﾛｯｸ(CLK_MAIN)用の供給元を選びます。
値
名称
説明

00
OSC20M
20MHz内部発振器

CLKSELﾋﾞｯﾄ領域が’01’に設定されなければならないことを意味するOSCULP32Kが選ばれなければなりません。これは以下のｺｰﾄﾞに変換します。
ccp_write_io((void *) &(CLKCTRL.MCLKCTRLA) , (CLKCTRL_CLKSEL_OSCULP32K_gc));
図3-4. MCLKSTATUSﾚｼﾞｽﾀ構成設定

ﾋﾞｯﾄ
ｱｸｾｽ種別
ﾘｾｯﾄ値

7

6

5

4

EXTS

XOSC32KS

OSC32KSOSC20MS

3

R
0

R
0

R
0

R
0

2

1

0

SOSC
R
0

R
0

R
0

R
0

● ﾋﾞｯﾄ0 - SOSC : 主ｸﾛｯｸ発振器変更 (Main Clock Oscillator Changing)

値

0

説明

CLK_MAIN用ｸﾛｯｸ元は切り替えを体験していません。

1
CLK_MAIN用ｸﾛｯｸ元は切り替えを体験し、新供給元が安定すると直ぐに変更します。

ｸﾛｯｸ切り替え処理はSOSCﾋﾞｯﾄによって示されます。ﾌﾟﾛｸﾞﾗﾑはｸﾛｯｸ元の切り替え体験の間、停止されなければならず、故に切り替えが終わるまで待つように実装されます。
while (CLKCTRL.MCLKSTATUS & CLKCTRL_SOSC_bm){;}
TCB入力ｸﾛｯｸと動作形態の構成設定
PB5に8ﾋﾞｯﾄPWM信号を生成するため、以下のﾚｼﾞｽﾀが変更されなければなりません。
・ TCBn.CCMP
・ TCBn.CTRLA・ TCBn.CTRLB
TCBn.CCMPHとTCBn.CCMPLのﾚｼﾞｽﾀ対は16ﾋﾞｯﾄ値のTCBn.CCMPを表します。下位ﾊﾞｲﾄ[7～0](接尾辞L)は変位原点でｱｸｾｽできます。上位ﾊﾞｲﾄ[15～8](接尾辞H)は変位+1でｱｸｾｽすることができます。8ﾋﾞｯﾄPWM動作ではTCBn.CCMPHとTCBn.CCMPLは2つの独立した比較ﾚｼﾞｽﾀとして働きます。
図3-5. TCBn.CCMPﾚｼﾞｽﾀ構成設定

ﾋﾞｯﾄ

15

14

13

12

11

10

9

8

CCMP15～8
ｱｸｾｽ種別
ﾘｾｯﾄ値

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

ﾋﾞｯﾄ

7

6

5

4

3

2

1

0

R/W
0

R/W
0

R/W
0

R/W
0

CCMP7～0
ｱｸｾｽ種別
ﾘｾｯﾄ値

R/W
0

© 2021 Microchip Technology Inc.

R/W
0

R/W
0

R/W
0

技術概説

DS90003214B - 7頁

TB3214
図3-5 (続き). TCBn.CCMPﾚｼﾞｽﾀ構成設定● ﾋﾞｯﾄ15～8 - CCMP15～8 : 比較/捕獲値上位ﾊﾞｲﾄ (Compare/Capture Value high byte)

これらのﾋﾞｯﾄは16ﾋﾞｯﾄの比較/捕獲/TOP値の上位ﾊﾞｲﾄを保持します。
● ﾋﾞｯﾄ7～0 - CCMP7～0 : 比較/捕獲値下位ﾊﾞｲﾄ (Compare/Capture Value low byte)

これらのﾋﾞｯﾄは16ﾋﾞｯﾄの比較/捕獲/TOP値の下位ﾊﾞｲﾄを保持します。
8ﾋﾞｯﾄPWM動作でTCBを動かす時にTCBn.CCMPLはこの場合で1秒のPWM信号周期を設定されなければなりません。出力ﾊﾟﾙｽの周期がTCBn.CCMPL+1によって定義されるため、TCBn.CCMPLﾚｼﾞｽﾀに設定されなければならない値は0xFF(10進数の255)です。
続いて、TCBn.CCMPHは出力がHighに駆動されるｸﾛｯｸ周期数を設定されなければなりません。目的は500ms毎にPB5を交互切り替えさせるためにﾃﾞｭｰﾃｨ ｻｲｸﾙを50%に設定することです。
CCMPH = (CCMPL + 1)×(50/100) = (255+1)×(50/100) = 128

これはTCBn.CCMPH=128=0x80に帰着します。

これはTCBn.CCMPがTCBn.CCMPHとTCBn.CCMPLから得られる以下の値を設定されなければならないことを意味します。
TCB3.CCMP = 0x80FF;
図3-6. TCBn.CTRLAﾚｼﾞｽﾀ構成設定

ﾋﾞｯﾄ

7

6

5

4

RUNSTDBY
ｱｸｾｽ種別
ﾘｾｯﾄ値

R
0

R/W
0

3

2

SYNCUPD
R
0

R/W
0

1

0

CLKSEL1,0
R
0

R/W
0

ENABLE

R/W
0

R/W
0

● ﾋﾞｯﾄ2,1 - CLKSEL1,0 : ｸﾛｯｸ選択 (Clock Select)

これらﾋﾞｯﾄの書き込みはこの周辺機能用のｸﾛｯｸ元を選びます。
値
説明00
CLK_PER

10
TCA0からのCLK_TCA

01
CLK_PER/2

11（予約）● ﾋﾞｯﾄ0 - ENABLE : 許可 (Enable)

このﾋﾞｯﾄに’1’を書くことはﾀｲﾏ/ｶｳﾝﾀB型周辺機能を許可します。
TCB3はTCB3.CTRLAﾚｼﾞｽﾀでENABLEﾋﾞｯﾄを’1’に設定することによって許可にできます。これは以下のｺｰﾄﾞに変換します。
TCB3.CTRLA |= TCB_ENABLE_bm;
可能な最低周波数を得るため、TCB3.CTRLAﾚｼﾞｽﾀでCLKSELﾋﾞｯﾄ領域を構成設定することによってCLK_PERが更に2分周されます。この場合にCLKSELに対応する値は’01’です。これは以下のｺｰﾄﾞに変換します。
TCB3.CTRLA |= TCB_CLKSEL_CLKDIV2_gc;
図3-7. TCBn.CTRLBﾚｼﾞｽﾀ構成設定

ﾋﾞｯﾄ
ｱｸｾｽ種別
ﾘｾｯﾄ値

7
R
0

6

5

4

ASYNC

CCMPINIT

CCMPEN

R/W
0

R/W
0

R/W
0

3

2

1

0

CNTMODE2～0
R
0

R/W
0

R/W
0

R/W
0

● ﾋﾞｯﾄ4 - CCMPEN : 比較/捕獲出力許可 (Compare/Capture Output Enable)

このﾋﾞｯﾄは比較/捕獲の出力値を許可するのに使われます。
値
説明

1
比較/捕獲出力は有効な値を持ちます。

0
比較/捕獲出力は0です。

● ﾋﾞｯﾄ2～0 - CNTMODE2～0 : 計時器動作 (Timer Mode)

これらﾋﾞｯﾄの書き込みは計時器動作を選びます。
値
説明
値
説明

010
011
000
001
事象での計数捕獲動作 計数捕獲周波数測定動作
周期的割り込み動作
制限時間検査動作
110
111
100
101
単発動作
8ﾋﾞｯﾄPWM動作
計数捕獲ﾊﾟﾙｽ幅測定動作
計数捕獲周波数/ﾊﾟﾙｽ幅測定動作© 2021 Microchip Technology Inc.

技術概説

DS90003214B - 8頁

TB3214
CCMPENは許可されなければなりません。これは以下のｺｰﾄﾞに変換します。
TCB3.CTRLB |= TCB_CCMPEN_bm;
TCBは8ﾋﾞｯﾄPWM動作に構成設定されなければなりません。これは以下のｺｰﾄﾞに変換します。
TCB3.CTRLB |= TCB_CNTMODE_PWM8_gc;
助言: 完全なｺｰﾄﾞ例は「追補」章でも利用可能です。

GitHubでATmega4809ｺｰﾄﾞ例を見てください。
貯蔵庫を閲覧するにはｸﾘｯｸしてください。

本章で記述されたのと同じ機能を持つAVR128DA48用のMCC生成されたｺｰﾄﾞ例は以下のここで見つけることができます。

GitHubでAVR128DA48ｺｰﾄﾞ例を見てください。
貯蔵庫を閲覧するにはｸﾘｯｸしてください。

4. 制限時間検査動作でTCBを使用
使用事例説明: TCBを制限時間検査動作に構成設定して(入力として構成設定した)GPIOによって生成される信号時間を測定します。制限時間は1秒に設定され、GPIOによって生成される信号の上昇端と下降端(例えば、実際の応用に於ける押し釦)を検出するのに事象ｼｽﾃﾑが使われます。制限時間超過の場合、別のGPIO(例えば、実際の応用ではLED)が割り込みで交互切り替えされます。
結果: TCBに対する入力信号として扱う事象を生成するのにGPIOを入力として使います。制限時間超過時に割り込みを生成します。
制限時間検査動作では右図で表示されるように、TCB 図4-1. 制限時間検査動作 (訳注:本例での事象入力論理は逆です。)
は事象ｼｽﾃﾑとの相互作用を頼ります。この動作では計
事象入力
数器がMAXまで計数して最初に戻ります。初回端で、計数器は再始動されます。第2端で計数器が停止され
計数器丸め
端検出器
ます。第2端に先立って計数(TCBn.CNT)ﾚｼﾞｽﾀがTOP
MAXに達する場合は割り込みが生成されます。凍結状態
で、計数器は新規端で再始動します。凍結状態での計
CNT
TOP
数(TCBn.CNT)または捕獲/比較(TCBn.CCMP)のﾚｼﾞｽ"割り込み"
ﾀ読み込み、またはRUNﾋﾞｯﾄ(TCBn.STATUSのRUN)書
BOTTOM
現CNTより低い値にTOP値変更
き込みは無効です。
ｼｽﾃﾑ ｸﾛｯｸ構成設定
16ﾋﾞｯﾄTCB計時器に対して1秒周期を得るため、入力周波数は可能な限り低くなければなりません。これ用に、内部32kHz発振器を使うことができます。周波数分周器を使う必要はなく、故にCLK_PER用前置分周器は禁止されます。構成設定処理には以下の3つの段階があります。
1. CLK_PER前置分周器禁止 - 以下のｺｰﾄﾞ断片はCLK_PER前置分周器をどう禁止するかを実演します。
ccp_write_io( (void *) &CLKCTRL.MCLKCTRLB , (0 << CLKCTRL_PEN_bp));
2. 内部32kHz発振器選択 - 以下のｺｰﾄﾞ断片はｼｽﾃﾑ ｸﾛｯｸ元を内部32kHz発振器に切り替えます。
ccp_write_io( (void *) &CLKCTRL.MCLKCTRLA , (CLKCTRL_CLKSEL_OSCULP32K_gc));
3. ｸﾛｯｸ切り替え処理完了待機 - 以下のｺｰﾄﾞ断片はｸﾛｯｸ元切り替え処理終了をどう待つかを実演します。
while (CLKCTRL.MCLKSTATUS & CLKCTRL_SOSC_bm){;}
注: 1. MCLKCTRLAとMCLKCTRLBのﾚｼﾞｽﾀはCPU.CCPﾚｼﾞｽﾀに書かれる’IOREG’鍵を必要とします。これはavr\cpufunc.hﾍｯﾀﾞ
ﾌｧｲﾙからのccp_write_io関数を使って行われます。
2. ｸﾛｯｸ制御ﾚｼﾞｽﾀは「3．8ﾋﾞｯﾄPWM動作でTCBを使用」で記述されます。
TCBを制限時間検査動作に構成設定
GPIOﾋﾟﾝを使って信号を生成するため、それによって事象ｼｽﾃﾑがが設定されなければなりません。ﾎﾟｰﾄBの2番(PB2)ﾋﾟﾝがこの資料での例として使われます。
次のﾚｼﾞｽﾀが構成設定されなければなりません。
© 2021 Microchip Technology Inc.

技術概説

DS90003214B - 9頁

TB3214
・ TCB0.CCMP
・ TCB0.INTCTRL・ TCB0.EVCTRL・ EVSYS.CHANNEL・ EVSYS.USER
1. TCB0.CCMP構成設定
TCB比較/捕獲ﾚｼﾞｽﾀは制限時間の値を設定されなければなりません。この文書に対しては、制限時間用に1秒の値が選ばれました。32.768kHzの入力周波数で16ﾋﾞｯﾄ計数器は2秒での完全な周期にします(16ﾋﾞｯﾄ計数器の最大値は65535です)。
TCB0.CCMPの再設定値は下で示されるように計算することができます。
CCMP = CNTmax/2 = 65535/2 = 32767.5
32767.5の値は16進数に変換することができず、従って代わりに32767が使われます。
CCMP = 32767.5 ≅ 32767 = 0x7FFF
以下のｺｰﾄﾞ断片は0x7FFF制限時間値をTCB0.CCMPに設定します。
TCB0.CCMP = 0x7fff;
2. TCB0.INTCTRL構成設定
図4-2. TCBn.INTCTRLﾚｼﾞｽﾀ構成設定

ﾋﾞｯﾄ

7

6

5

4

3

2

1

0

CAPT
ｱｸｾｽ種別
ﾘｾｯﾄ値

R
0

R
0

R
0

R
0

R
0

R
0

R
0

R/W
0

● ﾋﾞｯﾄ0 - CAPT : 捕獲割り込み許可 (Capture Interrupt Enable)

このﾋﾞｯﾄに’1’を書くことは捕獲割り込みを許可します。
TCB0.CNTは事象ｼｽﾃﾑのﾊﾞｽで信号端が検出されると直ぐに増加を始めます。制限時間内に信号の補完(逆)端が検出されない場
合、TCB0は割り込みを起動します。この点について、TCB0.INTCTRLﾚｼﾞｽﾀで捕獲または制限時間の割り込みが許可されなければなりません。以下のｺｰﾄﾞ断片は割り込みを許可します。
TCB0.INTCTRL = TCB_CAPT_bm;
注: 全体割り込みも許可されなければなりません。これはｿﾌﾄｳｪｱ ﾌﾟﾛｸﾞﾗﾑに於いて後の段階で行われます。
3. TCB0.EVCTRL構成設定
図4-3. TCBn.EVCTRLﾚｼﾞｽﾀ構成設定

ﾋﾞｯﾄ

7

6

5

FILTER
ｱｸｾｽ種別
ﾘｾｯﾄ値

R
0

4

3

2

1

EDGE

R/W
0

R
0

R/W
0

0

CAPTEI
R
0

R
0

R
0

R/W
0

● ﾋﾞｯﾄ4 - EDGE : 事象端選択 (Event Edge)

このﾋﾞｯﾄは事象端を選ぶのに使われます。このﾋﾞｯﾄの影響は制御B(TCBn.CTRLB)ﾚｼﾞｽﾀで選んだ計数動作(CNTMODE)に依存します。
計数動作
周期的割り込み動作
制限時間検査動作
事象での計数捕獲動作
計数捕獲周波数測定動作
計数捕獲ﾊﾟﾙｽ幅測定動作© 2021 Microchip Technology Inc.

EDGE
0
1
0
1
0
1
0
1
0
1

正(上昇)端負(下降)端-計数開始
計数停止
計数値を捕獲、割り込み計数値を捕獲/解消/再開、割り込み計数値を解消/再開
計数値を捕獲、割り込み

技術概説

計数停止
計数開始
計数値を捕獲、割り込み計数値を捕獲/解消/再開、割り込み計数値を捕獲、割り込み計数値を解消/再開

DS90003214B - 10頁

TB3214
図4-3 (続き). TCBn.EVCTRLﾚｼﾞｽﾀ構成設定

計数動作
計数捕獲周波数/ﾊﾟﾙｽ幅
測定動作
単発動作
8ﾋﾞｯﾄPWM動作

EDGE
正(上昇)端負(下降)端0
第1正端で計数値を解消/再開、後続する負端で捕獲、第2正端で停止と割り込み
1
第1負端で計数値を解消/再開、後続する正端で捕獲、第2負端で停止と割り込み
0
計数開始
1
計数開始
計数開始
0
1
-

● ﾋﾞｯﾄ0 - CAPTEI : 捕獲事象入力許可 (Capture Event Input Enable)

このﾋﾞｯﾄに’1’を書くことはTCBに対する事象入力捕獲を許可します。
目標はPB2入力ﾋﾟﾝの下降端と上昇端間の信号時間を測定することです(ｱｲﾄﾞﾙでﾋﾟﾝはHigh状態を保ちます)。これはCAPTEIとEDGEのﾋﾞｯﾄが’1’に設定されることを意味します。以下のｺｰﾄﾞ断片はTCB0.EVCTRLﾚｼﾞｽﾀで両ﾋﾞｯﾄを許可します。
TCB0.EVCTRL = TCB_CAPTEI_bm | TCB_EDGE_bm;
4. EVSYS.CHANNEL0構成設定
各ﾁｬﾈﾙは1つの事象生成部に接続することができます。全ての生成部が全てのﾁｬﾈﾙに接続することができる訳ではありません。どの生成部供給元が各ﾁｬﾈﾙに配線することができるか、この配線を達成するためにEVSYS.CHANNELnに書かれなければならない生成部の値を見るには下表を参照してください。EVSYS.CHANNELnの0x00の値はﾁｬﾈﾙをOFFにします。
図4-4. EVSYS.CHANNELnﾚｼﾞｽﾀ構成設定

ﾋﾞｯﾄ

7

6

5

4

3

2

1

0

R/W
0

R/W
0

R/W
0

GENERATOR7～0
ｱｸｾｽ種別
ﾘｾｯﾄ値

R/W
0

生成部 [2進(16進)]
0000_0001 ($01)
0000_0110 ($06)
0000_0111 ($07)
0000_1000 ($08)
0000_1001 ($09)
0000_1010 ($0A)
0000_1011 ($0B)
0001_00xx ($10～$13)
0010_0000 ($20)
0010_0100 ($24)
0100_0xxx ($40～$47)
0100_1xxx ($48～$4F)
0110_0xxx ($60～$67)
0110_1000 ($68)
1000_0000 ($80)
1000_0001 ($81)
1000_0100 ($84)
1000_0101 ($85)
1000_0110 ($86)
1010_xxx0 ($A0～$AE)

R/W
0

R/W
0

R/W
0

R/W
0

入力
同期/非同期 CH0
CH1
CH2
CH3
CH4
CH5
CH6
CH7
UPDI
同期
UDPI
RTC_OVF
非同期
OVF
RTC_CMP
非同期
CMP
RTC_PIT0
非同期
DIV64 DIV1024 DIV64 DIV1024 DIV64 DIV1024 DIV64 DIV1024
RTC_PIT1
非同期
DIV128 DIV2048 DIV128 DIV2048 DIV128 DIV2048 DIV128 DIV2048
RTC_PIT2
非同期
DIV256 DIV4096 DIV256 DIV4096 DIV256 DIV4096 DIV256 DIV4096
RTC_PIT3
非同期
DIV512 DIV8192 DIV512 DIV8192 DIV512 DIV8192 DIV512 DIV8192
CCL_LUTn
非同期
LUTn
AC0
非同期
OUT
ADC0
同期
COMP
PORT0_PINn
非同期
PORTA_PINn PORTC_PINn PORTE_PINn
PORT1_PINn
非同期
PORTB_PINn PORTD_PINn PORTF_PINn
USARTn
同期
XCK
SPI0
同期
SCK
TCA0_OVF
同期
OVF
TCA0_ERR
同期
ERR
TCA0_CMP0
同期
CMP0
TCA0_CMP1
同期
CMP1
TCA0_CMP2
同期
CMP2
TCBn
同期
CMP3

EVSYS.CHANNEL0は以下のｺｰﾄﾞ断片で表されるように、入力事象を生成するためにPB2に対して0x4Aの値を設定されなければなりません。
EVSYS.CHANNEL0 = EVSYS_GENERATOR_PORT1_PIN2_gc;© 2021 Microchip Technology Inc.

技術概説

DS90003214B - 11頁

TB3214
5. EVSYS.USER20構成設定
各事象使用部は1つのﾁｬﾈﾙに接続することができます。いくつかの使用部は同じﾁｬﾈﾙに接続することができます。以下の表はそれらの対応する使用部ID番号と共に全ての事象ｼｽﾃﾑ使用部を一覧にします。このID番号はUSERnﾚｼﾞｽﾀ指標に対応し、例えば、ID
番号2を持つ使用部はEVSYS.USER2ﾚｼﾞｽﾀによって制御されます。
図4-5. EVSYS.USERnﾚｼﾞｽﾀ構成設定

使用部
番号
0
1
2
3
4
5
6
7
8
9
10
11

CCL-LUT0A
CCL-LUT0B
CCL-LUT1A
CCL-LUT1B
CCL-LUT2A
CCL-LUT2B
CCL-LUT3A
CCL-LUT3B
ADC0
EVOUTAEVOUTBEVOUTC

非同期
非同期
非同期
非同期
非同期
非同期
非同期
非同期
非同期
非同期
非同期
非同期

ﾋﾞｯﾄ

7

6

使用部名称 同期/非同期

使用部
番号
12
13
14
15
16
17
18
19
20
21
22
23

説明
LUT0事象A入力
LUT0事象B入力
LUT1事象A入力
LUT1事象B入力
LUT2事象A入力
LUT2事象B入力
LUT3事象A入力
LUT3事象B入力
ADC起動
事象出力Aﾋﾟﾝ
事象出力Bﾋﾟﾝ事象出力Cﾋﾟﾝ5

使用部名称 同期/非同期
EVOUTDEVOUTEEVOUTF
USART0USART1
USART2
USART3
TCA0
TCB0
TCB1
TCB2
TCB3

4

3

非同期
非同期
非同期
同期
同期
同期
同期
同期
非同期
非同期
非同期
非同期
2

説明
事象出力Dﾋﾟﾝ
事象出力Eﾋﾟﾝ
事象出力FﾋﾟﾝUSART0事象入力
USART1事象入力
USART2事象入力
USART3事象入力
TCA0事象入力
TCB0事象入力
TCB1事象入力
TCB2事象入力
TCB3事象入力
1

0

CHANNEL3～0
ｱｸｾｽ種別
ﾘｾｯﾄ値

R
0

R
0

R
0

R
0

R/W
0

R/W
0

R/W
0

R/W
0

● ﾋﾞｯﾄ7～0 - CHANNEL7～0 : 使用部ﾁｬﾈﾙ選択 (User Channel Selection)

使用部がどの事象ｼｽﾃﾑ ﾁｬﾈﾙに接続するかを示します。
値
説明

0
OFF、ﾁｬﾈﾙはこの事象ｼｽﾃﾑ使用部に未接続

1～8 (= n)
事象使用部はﾁｬﾈﾙn-1に接続されます。

その他
（予約）

使用部ﾁｬﾈﾙは(EVSYS.CHANNEL0で)前もって既に構成設定された事象ﾁｬﾈﾙに繋げられます。以下のｺｰﾄﾞ断片はこれがどう行われ得るかを示します。
EVSYS.USERTCB0 = EVSYS_CHANNEL_CHANNEL0_gc;
助言: 完全なｺｰﾄﾞ例は「追補」章でも利用可能です。

GitHubでATmega4809ｺｰﾄﾞ例を見てください。
貯蔵庫を閲覧するにはｸﾘｯｸしてください。

本章で記述されたのと同じ機能を持つAVR128DA48用のMCC生成されたｺｰﾄﾞ例は以下のここで見つけることができます。

GitHubでAVR128DA48ｺｰﾄﾞ例を見てください。
貯蔵庫を閲覧するにはｸﾘｯｸしてください。

5. 休止動作でTCBを使用
使用事例説明: 例え、ﾏｲｸﾛ ｺﾝﾄﾛｰﾗがｽﾀﾝﾊﾞｲ休止動作の時でも、毎秒の溢れ割り込みを生成してGPIO(PB5)ﾋﾟﾝを交互切り替えす
るようにTCBを構成設定します。
結果: TCB溢れ割り込みはﾏｲｸﾛ ｺﾝﾄﾛｰﾗの走行動作(ｱｲﾄﾞﾙ/ｽﾀﾝﾊﾞｲ)に関わらず、1秒毎に起動されます。割り込み処理ﾙｰﾁﾝ(ISR:
Interrupt Service Routine)ではPB5に対応する基板上のLEDが交互切り替えされます。
TCBnは既定でｽﾀﾝﾊﾞｲ休止動作で禁止され、ﾏｲｸﾛ ｺﾝﾄﾛｰﾗが休止動作へ移行するとすると直ぐにTCBは停止されます。この単位
部はTCBn.CTRLAﾚｼﾞｽﾀのｽﾀﾝﾊﾞｲで走行(RUNSTDBY)ﾋﾞｯﾄが’1’を書かれた場合にｽﾀﾝﾊﾞｲ休止動作で完全な動作に留まることができます。
© 2021 Microchip Technology Inc.

技術概説

DS90003214B - 12頁

TB3214
休止動作用ｼｽﾃﾑ ｸﾛｯｸ構成設定
16ﾋﾞｯﾄTCB計時器に対して1秒の割り込み得るため、入力周波数は可能な限り低くなければなりません。これ用に、内部32kHz発振器を使うことができます。周波数分周器を使う必要はなく、故にCLK_PER用前置分周器は禁止されなければなりません。構成設定処理には以下の3つの段階があります。
1. CLK_PER前置分周器禁止 - 以下のｺｰﾄﾞ断片はCLK_PER前置分周器をどう禁止するかを実演します。
ccp_write_io( (void *) &CLKCTRL.MCLKCTRLB , (0 << CLKCTRL_PEN_bp));
2. 内部32kHz発振器選択 - 以下のｺｰﾄﾞ断片はｼｽﾃﾑ ｸﾛｯｸ元を内部32kHz発振器に切り替えます。
ccp_write_io( (void *) &CLKCTRL.MCLKCTRLA, (CLKCTRL_CLKSEL_OSCULP32K_gc));
3. ｸﾛｯｸ切り替え処理完了待機 - 以下のｺｰﾄﾞ断片はｸﾛｯｸ元切り替え処理終了をどう待つかを実演します。
while (CLKCTRL.MCLKSTATUS & CLKCTRL_SOSC_bm){;}
休止動作形態構成設定
休止動作は節電のためにﾃﾞﾊﾞｲｽ内の周辺機能とｸﾛｯｸ領域を停止するのに使われます。休止制御器(SLPCTRL)は活動と休止の動作間遷移を制御して処理します。ｿﾌﾄｳｪｱが実行される1つの活性動作と3つの休止動作で4つの動作形態が利用可能です。利用可
能な休止動作はｱｲﾄﾞﾙ、ｽﾀﾝﾊﾞｲ、ﾊﾟﾜｰﾀﾞｳﾝです。
割り込みは休止からﾃﾞﾊﾞｲｽを起こすのに使われます。利用可能な割り込み起こし元は構成設定した休止動作に依存します。割り込
み発生時、ﾃﾞﾊﾞｲｽは起き上がり、SLEEP命令に後続する最初の命令から通常のﾌﾟﾛｸﾞﾗﾑ実行を続けるのに先立って割り込み処理ﾙｰ
ﾁﾝを実行します。
図5-1. SLPCTRL.CTRLAﾚｼﾞｽﾀ構成設定

ﾋﾞｯﾄ

7

6

5

4

3

2

1

0

SMODE1,0
ｱｸｾｽ種別
ﾘｾｯﾄ値

R
0

R
0

R
0

R
0

R
0

R/W
0

SEN

R/W
0

R/W
0

● ﾋﾞｯﾄ2,1 - SMODE1,0 : 休止動作形態 (Sleep Mode)

これらのﾋﾞｯﾄ書き込みは休止許可(SEN)ﾋﾞｯﾄが’1’を書かれ、SLEEP命令が実行される時に移行される休止動作形態を選びま
す。
値
名称
説明

00
IDLE
ｱｲﾄﾞﾙ休止動作許可

01
STANDBY
ｽﾀﾝﾊﾞｲ休止動作許可

10
PDOWN
ﾊﾟﾜｰﾀﾞｳﾝ休止動作許可

11
(予約)

● ﾋﾞｯﾄ0 - SEN : 休止許可 (Sleep Enable)

選択された休止動作にMCUを移行するためにSLEEP命令が実行される前に、このﾋﾞｯﾄは’1’を書かれなけばなりません。
TCB単位部はﾏｲｸﾛ ｺﾝﾄﾛｰﾗがｽﾀﾝﾊﾞｲ休止動作の間に走行することができます。ﾊﾟﾜｰﾀﾞｳﾝ休止動作はTCBを完全に禁止します。
この使用事例に対して、ATmega4809ﾏｲｸﾛ ｺﾝﾄﾛｰﾗはｽﾀﾝﾊﾞｲ休止動作で休止へ移行するように構成設定されます。休止動作移行も許可されなければなりません。以下のｺｰﾄﾞは休止操作を許可してSLEEP命令が実行された時にｽﾀﾝﾊﾞｲ休止動作へ移行するようにATmega4809ﾏｲｸﾛ ｺﾝﾄﾛｰﾗを構成設定します。
SLPCTRL.CTRLA = SLPCTRL_SMODE_gm | SLPCTRL_SMODE_STDBY_gc;
周期的割り込み動作でTCB構成設定
以下の構成設定は次のﾚｼﾞｽﾀに対して行われなればなりません。
・ TCBn.CCMP
・ TCBn.CTRLATCB捕獲/比較ﾚｼﾞｽﾀは割り込みを起動する比較値を設定されなければなりません。この文書には周期的割り込み用に1秒の値が選ばれました。32.768kHzの入力周波数で、16ﾋﾞｯﾄ計数器は2秒での完全周期にさせます(16ﾋﾞｯﾄ数の最大値は65535です)。16ﾋﾞｯﾄ
TCB計数器の最大値が2秒最大周期に対して65535で達成することができるため、CCMPﾚｼﾞｽﾀは最大値-32768の半分(0x7FFF)を設定されなければなりません。以下のｺｰﾄﾞ断片はTCB0.CCMPﾚｼﾞｽﾀに0x7FFFを設定します。
TCB0.CCMP = 0x7fff;© 2021 Microchip Technology Inc.

技術概説

DS90003214B - 13頁

TB3214
図5-2. TCBn.CTRLAﾚｼﾞｽﾀ構成設定

ﾋﾞｯﾄ

7

6

5

RUNSTDBY
ｱｸｾｽ種別
ﾘｾｯﾄ値

R
0

R/W
0

4

3

SYNCUPD
R
0

R/W
0

2

1

CLKSEL1,0
R
0

R/W
0

0

ENABLE

R/W
0

R/W
0

● ﾋﾞｯﾄ6 - RUNSTDBY : ｽﾀﾝﾊﾞｲ時走行 (Run Standby)

このﾋﾞｯﾄへの’1’書き込みはｽﾀﾝﾊﾞｲ休止動作での走行をこの周辺機能に許します。ｸﾛｯｸ選択(CLKSEL)が’10’(CLK_TCA)に設定される時は適用できません。
前置分周は必要とされず、故に分周値は’0’です。また、計時器は許可されなければなりません。TCBに対してｽﾀﾝﾊﾞｲ休止動作の間に未だ割り込みを生成するため、RUNSTDBYﾋﾞｯﾄも許可されなければなりません。以下のｺｰﾄﾞ断片はｸﾛｯｸ分周器を’0’に設定
し、計時器を許可してｽﾀﾝﾊﾞｲ休止動作での走行を計時器に許します。
TCB0.CTRLA = TCB_CLKSEL_CLKDIV1_gc | TCB_ENABLE_bm | TCB_RUNSTDBY_bm;
周期的割り込みを起動するため、TCB0.INTCTRLﾚｼﾞｽﾀのCAPTﾋﾞｯﾄが許可されなければなりません。以下のｺｰﾄﾞ断片は割り込みを許可します。
TCB0.INTCTRL = TCB_CAPT_bm;
注: 1. 全体割り込みも許可されなければなりません。これはｿﾌﾄｳｪｱ ﾌﾟﾛｸﾞﾗﾑに於いて後の段階で行うことができます。
2. ﾊﾟﾜｰﾀﾞｳﾝ休止動作では全ての動作が停止されます。
割り込み発生を可視化するために出力としてﾋﾟﾝを構成設定
周期的割り込み発生を可視化するため、PB5ﾋﾟﾝは出力動作で構成設定されます。以下のｺｰﾄﾞはPB5をLow出力として設定します。
PORTB_DIR |= PIN5_bm;
PORTB_OUT |= PIN5_bm;
助言: 完全なｺｰﾄﾞ例は「追補」章でも利用可能です。

GitHubでATmega4809ｺｰﾄﾞ例を見てください。
貯蔵庫を閲覧するにはｸﾘｯｸしてください。

本章で記述されたのと同じ機能を持つAVR128DA48用のMCC生成されたｺｰﾄﾞ例は以下のここで見つけることができます。

GitHubでAVR128DA48ｺｰﾄﾞ例を見てください。
貯蔵庫を閲覧するにはｸﾘｯｸしてください。

6. 参考文献
1. AVR128DA48製品頁 : www.microchip.com/wwwproducts/en/AVR128DA48
2. AVR128DA48 Curiosity Nano評価ｷｯﾄ製品頁 : https://www.microchip.com/Developmenttools/ProductDetails/DM164151
3. AVR128DA28/32/48/64ﾃﾞｰﾀｼｰﾄ
4. AVR® DA系での開始に際して
5. ATmega4809製品頁 : www.microchip.com/wwwproducts/en/ATMEGA4809
6. megaAVR® 0系ﾃﾞｰﾀｼｰﾄ
7. megaAVR® 0系ATmega809/1609/3209/4809 - 48ﾋﾟﾝ ﾃﾞｰﾀｼｰﾄ
8. ATmega4809 Xplained Pro製品頁 : https://www.microchip.com/developmenttools/ProductDetails/atmega4809-xpro© 2021 Microchip Technology Inc.

技術概説

DS90003214B - 14頁

TB32147. 追補
例7-1. TCB 8ﾋﾞｯﾄPWM動作ｺｰﾄﾞ例#include <avr/io.h>#define TCB_CMP_EXAMPLE_VALUE(0x80FF)void CLOCK_init (void);void PORT_init (void);void TCB3_init (void);void CLOCK_init (void){/* 前置分周器許可、前置分周器を64分周に設定 */ccp_write_io((void *) &(CLKCTRL.MCLKCTRLB), (CLKCTRL_PDIV_64X_gc | CLKCTRL_PEN_bm));/* 32kHz内部超低電力発振器(OSCULP32K)選択 */ccp_write_io((void *) &(CLKCTRL.MCLKCTRLA) , (CLKCTRL_CLKSEL_OSCULP32K_gc));/* ｼｽﾃﾑ発振器変更終了待ち */while (CLKCTRL.MCLKSTATUS & CLKCTRL_SOSC_bm){;}}
void PORT_init (void){
PORTB_DIR |= PIN5_bm;
PORTB_OUT |= PIN5_bm;}
void TCB3_init (void){/* PWMの周期とﾃﾞｭｰﾃｨ ｻｲｸﾙをCCMPﾚｼﾞｽﾀに設定 */TCB3.CCMP = TCB_CMP_EXAMPLE_VALUE;/* TCB3許可、CLK_PERを2分周 */TCB3.CTRLA |= TCB_ENABLE_bm;
TCB3.CTRLA |= TCB_CLKSEL_CLKDIV2_gc;/* ﾋﾟﾝ出力許可、TCBを8ﾋﾞｯﾄPWM動作に構成設定 */TCB3.CTRLB |= TCB_CCMPEN_bm;
TCB3.CTRLB |= TCB_CNTMODE_PWM8_gc;}
int main(void){
CLOCK_init();
PORT_init();
TCB3_init();while (1){;}}© 2021 Microchip Technology Inc.

技術概説

DS90003214B - 15頁

TB3214
例7-2. TCB制限時間検査動作ｺｰﾄﾞ例#include <avr/io.h>#include <avr/interrupt.h>void CLOCK_init (void);void PORT_init (void);void EVENT_SYSTEM_init (void);void TCB0_init (void);void CLOCK_init (void){/* CLK_PER前置分周器禁止 */ccp_write_io( (void *) &CLKCTRL.MCLKCTRLB , (0 << CLKCTRL_PEN_bp));/* 32kHz内部超低電力発振器(OSCULP32K)選択 */ccp_write_io( (void *) &CLKCTRL.MCLKCTRLA , (CLKCTRL_CLKSEL_OSCULP32K_gc));/* ｼｽﾃﾑ発振器変更終了待ち */while (CLKCTRL.MCLKSTATUS & CLKCTRL_SOSC_bm){;}}
void PORT_init (void){
PORTB.DIR |= PIN5_bm;
PORTB.OUT |= PIN5_bm;
PORTB.DIR &= ~PIN2_bm;
PORTB.PIN2CTRL = PORT_PULLUPEN_bm;}/* PB5をﾃﾞｼﾞﾀﾙ出力として構成設定 *//* PB5の初期値を設定 *//* PB2をﾃﾞｼﾞﾀﾙ入力として構成設定 *//* 内部ﾌﾟﾙｱｯﾌﾟ許可 */void EVENT_SYSTEM_init (void){
EVSYS.CHANNEL0 = EVSYS_GENERATOR_PORT1_PIN2_gc; /* 入力事象としてﾎﾟｰﾄ1の2番(PB2)ﾋﾟﾝを設定 */EVSYS.USERTCB0 = EVSYS_CHANNEL_CHANNEL0_gc;/* 使用部を事象ﾁｬﾈﾙ0に接続 */}void TCB0_init (void){/* 制限時間値を比較/捕獲ﾚｼﾞｽﾀに設定 */TCB0.CCMP = 0x7fff;/* TCB0許可、CLK_PERを1分周(前置分周なし)に設定 */TCB0.CTRLA = TCB_CLKSEL_CLKDIV1_gc | TCB_ENABLE_bm;/* TCBを周期的制限時間動作に構成設定 */TCB0.CTRLB = TCB_CNTMODE_TIMEOUT_gc;/* 捕獲/制限時間超過割り込みを許可 */TCB0.INTCTRL = TCB_CAPT_bm;/* 事象入力と事象端を許可 */TCB0.EVCTRL = TCB_CAPTEI_bm | TCB_EDGE_bm;}
ISR(TCB0_INT_vect){
TCB0.INTFLAGS = TCB_CAPT_bm;
PORTB.IN = PIN5_bm;}© 2021 Microchip Technology Inc.

/* 割り込み要求ﾌﾗｸﾞ解除(0) *//* PB5 GPIO交互切り替え */技術概説

DS90003214B - 16頁

TB3214
例7-2 (続き). TCB制限時間検査動作ｺｰﾄﾞ例

int main(void){
CLOCK_init();
PORT_init();EVENT_SYSTEM_init();
TCB0_init();sei();/* 全体割り込み許可 */while (1){;}}例7-3. TCB休止動作操作ｺｰﾄﾞ例#include <avr/io.h>#include <avr/interrupt.h>#include <avr/sleep.h>#define TCB_CMP_EXAMPLE_VALUE(0x7fff)

void CLOCK_init (void);void SLPCTRL_init (void);void PORT_init (void);void TCB0_init (void);void CLOCK_init (void){/* CLK_PER前置分周器禁止 */ccp_write_io( (void *) &CLKCTRL.MCLKCTRLB , (0 << CLKCTRL_PEN_bp));/* 32kHz内部超低電力発振器(OSCULP32K)選択 */ccp_write_io( (void *) &CLKCTRL.MCLKCTRLA, (CLKCTRL_CLKSEL_OSCULP32K_gc));/* ｼｽﾃﾑ発振器変更終了待ち */while (CLKCTRL.MCLKSTATUS & CLKCTRL_SOSC_bm){;}}
void SLPCTRL_init (void){/* 休止動作許可、ｽﾀﾝﾊﾞｲ動作選択 */SLPCTRL.CTRLA = SLPCTRL_SMODE_gm | SLPCTRL_SMODE_STDBY_gc}
void PORT_init (void){
PORTB.DIR |= PIN5_bm;
PORTB.OUT |= PIN5_bm;}/* PB5をﾃﾞｼﾞﾀﾙ出力として構成設定 *//* PB5の初期値を設定 */void TCB0_init (void){/* 制限時間値を比較/捕獲ﾚｼﾞｽﾀに設定 */TCB0.CCMP = TCB_CMP_EXAMPLE_VALUE;© 2021 Microchip Technology Inc.

技術概説

DS90003214B - 17頁

TB3214
例7-3 (続き). TCB休止動作操作ｺｰﾄﾞ例/* TCB0許可、CLK_PERを1分周(前置分周なし)に設定 */TCB0.CTRLA = TCB_CLKSEL_CLKDIV1_gc | TCB_ENABLE_bm | TCB_RUNSTDBY_bm;/* 捕獲/制限時間超過割り込みを許可 */TCB0.INTCTRL = TCB_CAPT_bm;}
ISR(TCB0_INT_vect){
TCB0.INTFLAGS = TCB_CAPT_bm;
PORTB.IN = PIN5_bm;}/* 割り込み要求ﾌﾗｸﾞ解除(0) *//* PB5 GPIO交互切り替え */int main(void){
CLOCK_init();SLPCTRL_init();
PORT_init();
TCB0_init();/* 全体割り込み許可 */sei();
while (1){sleep_mode();}}8. 改訂履歴文書改訂A

日付
2019年5月

B

2021年2月© 2021 Microchip Technology Inc.

注釈
初版文書公開GitHub貯蔵庫ﾘﾝｸ、「参考文献」章更新。「AVR® DA系概要」項と「改訂履歴」章追加。各
使用事例に対してAVR128DA48で動くMCC版を追加。その他些細な修正。

技術概説

DS90003214B - 18頁

TB3214Microchipｳｪﾌﾞ ｻｲﾄ
Microchipはwww.microchip.com/で当社のｳｪﾌﾞ ｻｲﾄ経由でのｵﾝﾗｲﾝ支援を提供します。このｳｪﾌﾞ ｻｲﾄはお客様がﾌｧｲﾙや情報を容易に利用可能にするのに使われます。利用可能な情報のいくつかは以下を含みます。
・ 製品支援 - ﾃﾞｰﾀｼｰﾄと障害情報、応用記述と試供ﾌﾟﾛｸﾞﾗﾑ、設計資源、使用者の手引きとﾊｰﾄﾞｳｪｱ支援資料、最新ｿﾌﾄｳｪｱ配布と保管されたｿﾌﾄｳｪｱ
・ 全般的な技術支援 - 良くある質問(FAQ)、技術支援要求、ｵﾝﾗｲﾝ検討ｸﾞﾙｰﾌﾟ、Microchip設計協力課程会員一覧
・ Microshipの事業 - 製品選択器と注文の手引き、最新Microchip報道発表、ｾﾐﾅｰとｲﾍﾞﾝﾄの一覧、Microchip営業所の一覧、代理店と代表する工場

製品変更通知ｻｰﾋﾞｽ
Microchipの製品変更通知ｻｰﾋﾞｽはMicrochip製品を最新に保つのに役立ちます。加入者は指定した製品系統や興味のある開発ﾂｰ
ﾙに関連する変更、更新、改訂、障害情報がある場合に必ず電子ﾒｰﾙ通知を受け取ります。
登録するにはwww.microchip.com/pcnへ行って登録指示に従ってください。

お客様支援
Microchip製品の使用者は以下のいくつかのﾁｬﾈﾙを通して支援を受け取ることができます。
・ 代理店または販売会社
・ 最寄りの営業所
・ 組み込み解決技術者(ESE:Embedded Solutions Engineer)・ 技術支援お客様は支援に関してこれらの代理店、販売会社、またはESEに連絡を取るべきです。最寄りの営業所もお客様の手助けに利用できます。営業所と位置の一覧はこの資料の後ろに含まれます。
技術支援はwww.microchip.com/supportでのｳｪﾌﾞ ｻｲﾄを通して利用できます。

Microchipﾃﾞﾊﾞｲｽ ｺｰﾄﾞ保護機能
Microchipﾃﾞﾊﾞｲｽでの以下のｺｰﾄﾞ保護機能の詳細に注意してください。
・ Microchip製品はそれら特定のMicrochipﾃﾞｰﾀｼｰﾄに含まれる仕様に合致します。
・ Microchipは意図した方法と通常条件下で使われる時に、その製品系統が安全であると考えます。
・ Microchipﾃﾞﾊﾞｲｽのｺｰﾄﾞ保護機能を破ろうとする試みに使われる不正でおそらく違法な方法があります。当社はこれらの方法がMicrochipのﾃﾞｰﾀｼｰﾄに含まれた動作仕様外の方法でMicrochip製品を使うことが必要とされると確信しています。これらのｺｰﾄﾞ保護機能を破ろうとする試みは、おそらく、Microchipの知的財産権に違反することなく達成することはできません。
・ Microchipはそれのｺｰﾄﾞの完全性について心配されている何れのお客様とも共に働きたいと思います。
・ Microchipや他のどの半導体製造業者もそれのｺｰﾄﾞの安全を保証することはできません。ｺｰﾄﾞ保護は製品が”破ることができない”
ことを当社が保証すると言うことを意味しません。ｺｰﾄﾞ保護は常に進化しています。Microchipは当社製品のｺｰﾄﾞ保護機能を継続的に改善することを約束します。Microchipのｺｰﾄﾞ保護機能を破る試みはﾃﾞｼﾞﾀﾙ ﾐﾚﾆｱﾑ著作権法に違反するかもしれません。そのような行為があなたのｿﾌﾄｳｪｱや他の著作物に不正なｱｸｾｽを許す場合、その法律下の救済のために訴権を持つかもしれません。

法的通知
この刊行物に含まれる情報はMicrochip製品を使って設計する唯一の目的のために提供されます。ﾃﾞﾊﾞｲｽ応用などに関する情報は皆さまの便宜のためにだけ提供され、更新によって取り換えられるかもしれません。皆さまの応用が皆さまの仕様に合致するのを保証するのは皆さまの責任です。
この情報はMicrochipによって「現状そのまま」で提供されます。Microchipは非侵害、商品性、特定目的に対する適合性の何れの黙示的保証やその条件、品質、性能に関する保証を含め、明示的にも黙示的にもその情報に関連して書面または表記された書面または黙示の如何なる表明や保証もしません。
如何なる場合においても、Microchipは情報またはその使用に関連するあらゆる種類の間接的、特別的、懲罰的、偶発的または結果的な損失、損害、費用または経費に対して責任を負わないものとします。法律で認められている最大限の範囲で、情報またはその使用に関連する全ての請求に対するMicrochipの全責任は、もしあれば、情報のためにMicrochipへ直接支払った料金を超えないものとします。生命維持や安全応用でのMicrochipﾃﾞﾊﾞｲｽの使用は完全に購入者の危険性で、購入者はそのような使用に起因する全ての損害、請求、訴訟、費用からMicrochipを擁護し、補償し、免責にすることに同意します。他に言及されない限り、Microchipのどの知的財産権下でも暗黙的または違う方法で許認可は譲渡されません。

© 2021 Microchip Technology Inc.

技術概説

DS90003214B - 19頁

TB3214
商標
Microchipの名前とﾛｺﾞ、Mcicrochipﾛｺﾞ、Adaptec、AnyRate、AVR、AVRﾛｺﾞ、AVR Freaks、BesTime、BitCloud、chipKIT、chipKITﾛｺﾞ、CryptoMemory、CryptoRF、dsPIC、FlashFlex、flexPWR、HELDO、IGLOO、JukeBlox、KeeLoq、Kleer、LANCheck、LinkMD、
maXStylus、maXTouch、MediaLB、megaAVR、Microsemi、Microsemiﾛｺﾞ、MOST、MOSTﾛｺﾞ、MPLAB、OptoLyzer、PackeTime、PI
C、picoPower、PICSTART、PIC32ﾛｺﾞ、PolarFire、Prochip Designer、QTouch、SAM-BA、SenGenuity、SpyNIC、SST、SSTﾛｺﾞ、Super
Flash、Symmetricom、SyncServer、Tachyon、TimeSource、tinyAVR、UNI/O、Vectron、XMEGAは米国と他の国に於けるMicrochip
Technology Incor poratedの登録商標です。
AgileSwitch、APT、ClockWorks、The Embedded Control Solutions Company、EtherSynch、FlashTec、Hyper Speed Control、Hyper
Light Load、IntelliMOS、Libero、motorBench、mTouch、Powermite 3、Precision Edge、ProASIC、ProASIC Plus、ProASIC Plusﾛｺﾞ、
Quiet-Wire、SmartFusion、SyncWorld、Temux、TimeCesium、TimeHub、TimePictra、TimeProvider、Vite、WinPath、ZLは米国に於けるMicrochip Technology Incorporatedの登録商標です。
Adjacent Key Suppression、AKS、Analog-for-the-Digital Age、Any Capacitor、AnyIn、AnyOut、Augmented Switching、BlueSky、Bo
dyCom、CodeGuard、CryptoAuthentication、CryptoAutomotive、CryptoCompanion、CryptoController、dsPICDEM、dsPICDE
M.net、Dynamic Average Matching、DAM、ECAN、Espresso T1S、EtherGREEN、IdealBridge、In-Circuit Serial Programming、ICS
P、INICnet、Intelligent Paralleling、Inter-Chip Connectivity、JitterBlocker、maxCrypto、maxView、memBrain、Mindi、MiWi、MPAS
M、MPF、MPLAB Certifiedﾛｺﾞ、MPLIB、MPLINK、MultiTRAK、NetDetach、Omniscient Code Generation、PICDEM、PICDEM.net、
PICkit、PICtail、PowerSmart、PureSilicon、QMatrix、REAL ICE、Ripple Blocker、RTAX、RTG4、SAM-ICE、Serial Quad I/O、simple
MAP、SimpliPHY、SmartBuffer、SMART-I.S.、storClad、SQI、SuperSwitcher、SuperSwitcher II、Switchtec、SynchroPHY、Total Endu
rance、TSHARC、USBCheck、VariSense、VectorBlox、VeriPHY、ViewSpan、WiperLock、XpressConnect、and ZENAは米国と他の国に於けるMicrochip Technology Incorporatedの商標です。
SQTPは米国に於けるMicrochip Technology Incorporatedの役務標章です。
Adaptecﾛｺﾞ、Frequency on Demand、Silicon Storage Technology、Symmcomは他の国に於けるMicrochip Technology Inc.の登録商標です。
GestICは他の国に於けるMicrochip Technology Inc.の子会社であるMicrochip Technology Germany II GmbH & Co. KGの登録商標です。
ここで言及した以外の全ての商標はそれら各々の会社の所有物です。
© 2021年、Microchip Technology Incorporated、米国印刷、不許複製

品質管理ｼｽﾃﾑ
Microchipの品質管理ｼｽﾃﾑに関する情報についてはwww.microchip.com/qualityを訪ねてください。

日本語© HERO 2021.
本技術概説はMicrochipのTB3214技術概説(DS90003214B-2021年2月)の翻訳日本語版です。日本語では不自然となる重複する形
容表現は省略されている場合があります。日本語では難解となる表現は大幅に意訳されている部分もあります。必要に応じて一部加筆されています。頁割の変更により、原本より頁数が少なくなっています。
必要と思われる部分には( )内に英語表記や略称などを残す形で表記しています。
青字の部分はﾘﾝｸとなっています。一般的に赤字の0,1は論理0,1を表します。その他の赤字は重要な部分を表します。
© 2021 Microchip Technology Inc.

技術概説

DS90003214B - 20頁

世界的な販売とサービス
米国
本社2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
技術支援:
www.microchip.com/support
ｳｪﾌﾞ ｱﾄﾞﾚｽ:www.microchip.com
ｱﾄﾗﾝﾀ
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
ｵｰｽﾁﾝ TX
Tel: 512-257-3370
ﾎﾞｽﾄﾝ
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
ｼｶｺﾞ
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
ﾀﾞﾗｽ
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
ﾃﾞﾄﾛｲﾄNovi, MI
Tel: 248-848-4000
ﾋｭｰｽﾄﾝ TX
Tel: 281-894-5983
ｲﾝﾃﾞｱﾅﾎﾟﾘｽ
Noblesville, IN
Tel: 317-773-8323
Fax: 317-773-5453
Tel: 317-536-2380
ﾛｻﾝｾﾞﾙｽ
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
Tel: 951-273-7800
ﾛｰﾘｰ NC
Tel: 919-844-7510
ﾆｭｰﾖｰｸ NY
Tel: 631-435-6000
ｻﾝﾎｾ CA
Tel: 408-735-9110
Tel: 408-436-4270
ｶﾅﾀﾞ - ﾄﾛﾝﾄ
Tel: 905-695-1980
Fax: 905-695-2078© 2021 Microchip Technology Inc.

亜細亜/太平洋

亜細亜/太平洋

ｵｰｽﾄﾗﾘｱ - ｼﾄﾞﾆｰ
Tel: 61-2-9868-6733
中国 - 北京
Tel: 86-10-8569-7000
中国 - 成都
Tel: 86-28-8665-5511
中国 - 重慶
Tel: 86-23-8980-9588
中国 - 東莞Tel: 86-769-8702-9880
中国 - 広州
Tel: 86-20-8755-8029
中国 - 杭州
Tel: 86-571-8792-8115
中国 - 香港特別行政区
Tel: 852-2943-5100
中国 - 南京
Tel: 86-25-8473-2460
中国 - 青島
Tel: 86-532-8502-7355
中国 - 上海
Tel: 86-21-3326-8000
中国 - 瀋陽
Tel: 86-24-2334-2829
中国 - 深圳Tel: 86-755-8864-2200
中国 - 蘇州
Tel: 86-186-6233-1526
中国 - 武漢
Tel: 86-27-5980-5300
中国 - 西安
Tel: 86-29-8833-7252
中国 - 廈門
Tel: 86-592-2388138
中国 - 珠海
Tel: 86-756-3210040

ｲﾝﾄﾞ - ﾊﾝｶﾞﾛｰﾙ
Tel: 91-80-3090-4444
ｲﾝﾄﾞ - ﾆｭｰﾃﾞﾘｰ
Tel: 91-11-4160-8631
ｲﾝﾄﾞ - ﾌﾟﾈｰ
Tel: 91-20-4121-0141
日本 - 大阪
Tel: 81-6-6152-7160
日本 - 東京
Tel: 81-3-6880-3770
韓国 - 大邱
Tel: 82-53-744-4301
韓国 - ｿｳﾙ
Tel: 82-2-554-7200
ﾏﾚｰｼｱ - ｸｱﾗﾙﾝﾌﾟｰﾙ
Tel: 60-3-7651-7906
ﾏﾚｰｼｱ - ﾍﾟﾅﾝ
Tel: 60-4-227-8870
ﾌｨﾘﾋﾟﾝ - ﾏﾆﾗ
Tel: 63-2-634-9065
ｼﾝｶﾞﾎﾟｰﾙ
Tel: 65-6334-8870
台湾 - 新竹
Tel: 886-3-577-8366
台湾 - 高雄
Tel: 886-7-213-7830
台湾 - 台北
Tel: 886-2-2508-8600
ﾀｲ - ﾊﾞﾝｺｸ
Tel: 66-2-694-1351
ﾍﾞﾄﾅﾑ - ﾎｰﾁﾐﾝ
Tel: 84-28-5448-2100

技術概説

欧州
ｵｰｽﾄﾘｱ - ｳﾞｪﾙｽ
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
ﾃﾞﾝﾏｰｸ - ｺﾍﾟﾝﾊｰｹﾞﾝ
Tel: 45-4485-5910
Fax: 45-4485-2829
ﾌｨﾝﾗﾝﾄﾞ - ｴｽﾎﾟｰ
Tel: 358-9-4520-820
ﾌﾗﾝｽ - ﾊﾟﾘ
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
ﾄﾞｲﾂ - ｶﾞﾙﾋﾝｸﾞ
Tel: 49-8931-9700
ﾄﾞｲﾂ - ﾊｰﾝ
Tel: 49-2129-3766400
ﾄﾞｲﾂ - ﾊｲﾙﾌﾞﾛﾝ
Tel: 49-7131-72400
ﾄﾞｲﾂ - ｶｰﾙｽﾙｰｴ
Tel: 49-721-625370
ﾄﾞｲﾂ - ﾐｭﾝﾍﾝ
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
ﾄﾞｲﾂ - ﾛｰｾﾞﾝﾊｲﾑ
Tel: 49-8031-354-560
ｲｽﾗｴﾙ - ﾗｰﾅﾅ
Tel: 972-9-744-7705
ｲﾀﾘｱ - ﾐﾗﾉ
Tel: 39-0331-742611
Fax: 39-0331-466781
ｲﾀﾘｱ - ﾊﾟﾄﾞﾊﾞ
Tel: 39-049-7625286
ｵﾗﾝﾀﾞ - ﾃﾞﾙｰﾈﾝ
Tel: 31-416-690399
Fax: 31-416-690340
ﾉﾙｳｪｰ - ﾄﾛﾝﾊｲﾑ
Tel: 47-72884388
ﾎﾟｰﾗﾝﾄﾞ - ﾜﾙｼｬﾜ
Tel: 48-22-3325737
ﾙｰﾏﾆｱ - ﾌﾞｶﾚｽﾄ
Tel: 40-21-407-87-50
ｽﾍﾟｲﾝ - ﾏﾄﾞﾘｰﾄﾞ
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
ｽｳｪｰﾃﾞﾝ - ｲｪｰﾃﾎﾞﾘ
Tel: 46-31-704-60-40
ｽｳｪｰﾃﾞﾝ - ｽﾄｯｸﾎﾙﾑ
Tel: 46-8-5090-4654
ｲｷﾞﾘｽ - ｳｫｰｷﾝｶﾞﾑ
Tel: 44-118-921-5800
Fax: 44-118-921-5820

DS90003214B - 21頁