STM32G4 - HRTIM
高分解能タイマ

1.0版

こんにちは、STM32G4高分解能タイマのプレゼンテーションへようこそ。デジタル電力変換アプリケーションに必要な複雑な波形を管理するための主な機能をカバーします。

1

なぜ高分解能なのか?

2• 高分解能タイマ（HRTIM）は、高速なPWMスイッチング周波数が必要なデジタル・パワー・アプリケーションに対応• より高いデューティ･サイクル分解能（降圧/昇圧コンバータ、...）• 出力電圧の精度向上• リミットサイクル問題の回避• より細かい周波数と位相調整（LLCおよび位相シフト･コンバータ、...）• より優れた規制と負荷の一時的な管理
TIMx

タイマ
タイマの分解能 5.9ns
等価のクロック周波数 170MHz

高分解能タイマ

184ps
5.44GHz

分解能（FPWM=300kHz）

566レベル（9.1ビット）

18133レベル（14.1ビット）

周波数調整ステップ（FPWM=300kHz）

532Hz

16.5Hz

高分解能タイマは、高いPWMスイッチング周波数を必要とするス
イッチモード電源などのデジタル電源アプリケーションに対応しています。
これにより、通常は降圧または昇圧コンバータのデューティサイ
クル分解能を大幅に向上させることができます。これにより、より良い出力電圧分解能とレギュレーションが得られ、デューティサ
イクル精度がA/Dコンバータの精度よりも低い場合に通常の分解能タイマで起こりうるリミットサイクルの問題を回避することができます。
また、LLCまたはフルブリッジ位相シフトトポロジを使用する共振コンバータの重要なパラメータである、フェーズ調整によりより細かい周波数が可能になります。
この表は、170MHzで動作する製品の通常のタイマと高分解能タイマの違いを、デューティサイクルと周波数分解能の両方について示しています。

2

高分解能の実用

3• 高分解能タイマは、遅延ロックループ（DLL）により高分解能信号を生成し、入力クロック周期を32分割する• DLLは高分解能タイマの使用前にキャリブレーションを行う必要がある• DLLは100MHz ~170MHzの周波数範囲でのみ動作• 分解能は入力周波数でスケーリング:100MHzで、312ピコ秒• 高分解能は、あらゆる種類の波形調整（ピリオド、デューティサイクル、PWMから
PWMへの位相調整）に対応しているが、通常の入力クロック（100MHz～170MHz）で実行される入力キャプチャには利用できない

高分解能を実現するには、タイマ入力クロック周期を32の分数ス
テップに分割できるディレイ・ロック・ループ（DLL）を使用します。
このDLLは、高分解能タイマを使用する前にキャリブレーションが必要です。DLLは100～170MHzの間でのみ動作し、分解能は入力周波数に応じてスケーリングされるため、312psから184psまでの範囲であることに注意してください。
高分解能は、あらゆる種類の波形調整（周期、デューティサイク
ル、またはPWMからPWMへの位相調整）に利用できますが、通常の入力クロック（100～170MHz）で実行される入力キャプチャには利用できません。

3hrtim_upd_en[3:1]

hrtim_in_sync[3:1]
hrtim_out_sync[3:1]

5Master timer

Reset

TIMER A
4xCMP

Event
blanking
window
hrtim_adc_trg[10:1]
hrtim_dac_reset_trig [A:F]
hrtim_dac_step_trig[A:F]
hrtim_dac_trg[3:1]
hrtim_it[8:1]
hrtim_dma[7:1]

2xCPT

hrtim_
bm_trghrtim_
bm_ck

7つのカウンタから成っているタイマ

Burst mode
controller

1
4

4

HRTIM_CHA1

Run/idle

HRTIM_CHA2

10

10
6
6
3

Reset
APB and
peripheral
interface

4xCMP
Event
blanking
window

7
6

TIMER BDMA burst
controller

Reset

2xCPT

TIMER C
4xCMP

Event
blanking
window
Reset

2xCPT

TIMER D
4xCMP

Event
blanking
window
Reset

2xCPT

TIMER E

hrtim_ker_ck

4xCMP
Event
blanking
window

hrtim_pclk

Reset

2xCPT

TIMER F
4xCMP

hrtim_eev1[4:1]

Eventblanking
window

External events
conditioning
10

hrtim_eev10[4:1]

2xCPT

1
4

HRTIM_CHB1

Run/idle

HRTIM_CHB2

10

1
4

10

Set/reset
crossbar(a timer
controls
2 outputs)

HRTIM_CHC2
Outputstage

4
Run/idle
10

合計7つのタイムベースが利用可能• 6x16ビットアップカウンタ• 独立クロック･プリスケーラ

HRTIM_CHC1

Run/idle

1•

HRTIM_CHD1
HRTIM_CHD2• 各タイマは、独立して使用することも、他のタイマと結合することも可能

1
4
Run/idle10

HRTIM_CHE1
HRTIM_CHE2

1
4
Run/idle10• 24個のコンペアと10個のキャプ
チャ･ユニット

HRTIM_CHF1
HRTIM_CHF2

56 (EEV1_muxout…EEV6_muxout)
HRTIM_FLT[6:1],
hrtim_in_flt[6:1],
hrtim_sys_flt

Fault
conditioning

6

ここで、高分解能タイマアーキテクチャの概要を説明します。1つの高分解能タイマとは言っても、実際には7つの16ビット・カウンタで構成されており、それぞれが独立したクロック・プリスケーラを持ち、独立して使用することも同期させることもできます。
合計28個のコンペアユニットと12個のキャプチャユニットを搭載しており、最大12個の出力を制御できます。

4

hrtim_upd_en[3:1]

hrtim_in_sync[3:1]
hrtim_out_sync[3:1]

5Master timer

Reset

TIMER A
4xCMP

Event
blanking
window
hrtim_adc_trg[10:1]
hrtim_dac_reset_trig [A:F]
hrtim_dac_step_trig[A:F]
hrtim_dac_trg[3:1]
hrtim_it[8:1]
hrtim_dma[7:1]

2xCPT

hrtim_
bm_trghrtim_
bm_ck

クロスバー･ユニット

Burst mode
controller

51
4

HRTIM_CHA1

Run/idle

HRTIM_CHA2

10

10
6
6
3

Reset
APB and
peripheral
interface

4xCMP

7
6

TIMER B

Event
blanking
window

DMA burst
controller

Reset

2xCPT

TIMER C
4xCMP

Event
blanking
window
Reset

2xCPT

TIMER D
4xCMP

Event
blanking
window
Reset

2xCPT

TIMER E

hrtim_ker_ck

4xCMP
Event
blanking
window

hrtim_pclk

Reset

2xCPT

TIMER F
4xCMP

hrtim_eev1[4:1]

Eventblanking
window

External events
conditioning
10

hrtim_eev10[4:1]

2xCPT

1
4

HRTIM_CHB1

Run/idle

HRTIM_CHB2

10

1
4

10

Set/reset
crossbar(a timer
controls
2 outputs)

HRTIM_CHC1

Run/idle

HRTIM_CHC2
Outputstage

1
4
Run/idle10

HRTIM_CHD1
HRTIM_CHD2

1
4
Run/idle
10• クロスバーを使用することで、関連するタイミング･ユニットだ
けでなく下記制御も可能:• 任意の外部イベント• その他のタイマ• マスタタイマ

HRTIM_CHE1
HRTIM_CHE2

1
4
Run/idle10

HRTIM_CHF1
HRTIM_CHF2

56 (EEV1_muxout…EEV6_muxout)
HRTIM_FLT[6:1],
hrtim_in_flt[6:1],
hrtim_sys_flt

Fault
conditioning

6

中央の大きなクロスバーユニットは、関連するタイミングユニット（例えば、出力CHA1のタイマA）だけでなく、外部イベント、他のタ
イミングユニットやマスタタイマによっても出力ペアを制御することができます。出力ごとに合計32個のセットイベントとリセットイベ
ントが利用可能です。

5

hrtim_upd_en[3:1]

hrtim_in_sync[3:1]
hrtim_out_sync[3:1]

5Master timer

Reset

TIMER A
4xCMP

Event
blanking
window
hrtim_adc_trg[10:1]
hrtim_dac_reset_trig [A:F]
hrtim_dac_step_trig[A:F]
hrtim_dac_trg[3:1]
hrtim_it[8:1]
hrtim_dma[7:1]

2xCPT

hrtim_
bm_trghrtim_
bm_ck

汎用性の高い出力管理

Burst mode
controller

6

1
4

HRTIM_CHA1

Run/idle

HRTIM_CHA2

10

10
6
6
3

Reset
APB and
peripheral
interface

4xCMP

7
6

TIMER B

Event
blanking
window

DMA burst
controller

Reset

2xCPT

TIMER C
4xCMP

Event
blanking
window
Reset

2xCPT

TIMER D
4xCMP

Event
blanking
window
Reset

2xCPT

TIMER E

hrtim_ker_ck

4xCMP
Event
blanking
window

hrtim_pclk

Reset

2xCPT

TIMER F
4xCMP

hrtim_eev1[4:1]

Eventblanking
window

External events
conditioning
10

hrtim_eev10[4:1]

2xCPT

1
4

HRTIM_CHB1

Run/idle

HRTIM_CHB2

10

1
4

10

Set/reset
crossbar(a timer
controls
2 outputs)

HRTIM_CHC1

Run/idle

HRTIM_CHC2
Outputstage

1
4
Run/idle10

HRTIM_CHD1
HRTIM_CHD2

1
4
Run/idle10

HRTIM_CHE1
HRTIM_CHE2• あらゆる種類のドライバやロジックとのインタフェースが可能• 極性• 安全な状態• デッドタイム、チョッパ• ハードウェア･バースト･
モード･コントローラ

1
4
Run/idle10

HRTIM_CHF1
HRTIM_CHF2• 非同期フォルト保護

56 (EEV1_muxout…EEV6_muxout)
HRTIM_FLT[6:1],
hrtim_in_flt[6:1],
hrtim_sys_flt

Fault
conditioning

6

クロスバーの後には、あらゆる種類のゲートドライバとのインタ
フェイス、出力極性、PWMアイドルおよびセーフステートレベルのプログラム、デッドタイムの挿入、およびチョッパ変調の追加が可
能な多目的な出力管理機能が接続されます。
ハードウェア・バースト・モード・コントローラは、内蔵のパルス・ス
キップ機構により、軽負荷管理を容易にします。
また、システムクロックから独立した超高速非同期フォルト保護機能も備えています。

6

hrtim_upd_en[3:1]

hrtim_in_sync[3:1]
hrtim_out_sync[3:1]

5Master timer

Reset

TIMER A
4xCMP

Event
blanking
window
hrtim_adc_trg[10:1]
hrtim_dac_reset_trig [A:F]
hrtim_dac_step_trig[A:F]
hrtim_dac_trg[3:1]
hrtim_it[8:1]
hrtim_dma[7:1]

2xCPT

hrtim_
bm_trghrtim_
bm_ck

複数入力管理Burst mode
controller

1
4

HRTIM_CHA1

Run/idle

HRTIM_CHA2

10

10
6
6
3

Reset
APB and
peripheral
interface

4xCMP

7
6

TIMER B

Event
blanking
window

DMA burst
controller

Reset

2xCPT

TIMER C
4xCMP

Event
blanking
window
Reset

2xCPT

TIMER D
4xCMP

Event
blanking
window
Reset

2xCPT

TIMER E

hrtim_ker_ck

4xCMP
Event
blanking
window

hrtim_pclk

Reset

2xCPT

TIMER F
4xCMP

hrtim_eev1[4:1]

Eventblanking
window

External events
conditioning
10

hrtim_eev10[4:1]

2xCPT

7

1
4

HRTIM_CHB1

Run/idle

HRTIM_CHB2

10

1
4

10

Set/reset
crossbar(a timer
controls
2 outputs)

HRTIM_CHC1

Run/idle

HRTIM_CHC2
Outputstage

1
4
Run/idle10

HRTIM_CHD1
HRTIM_CHD2

1
4
Run/idle10

HRTIM_CHE1
HRTIM_CHE2

1
4
Run/idle10

HRTIM_CHF1
HRTIM_CHF2

様々な内部および外部信号が利用可能 10個のイベント• 出力セット/リセット• カウンタ･リセット• キャプチャ 6個のフォルト信号• PWMシャットダウン

 アナログおよびデジタル入力
 どこでもリダイレクト可能
 コンディショニングを含む（エッジ/レベル感度、デジタ
ル･フィルタ）56 (EEV1_muxout…EEV6_muxout)
HRTIM_FLT[6:1],
hrtim_in_flt[6:1],
hrtim_sys_flt

Fault
conditioning

6

高分解能タイマは、パワーステージを保護するための6つの故障信号に加えて、出力波形を動的に変更するための10の外部イベントを処理することができます。10個のイベントとは、外部イベント（入力）と内部イベント（通常はコンパレータから）から選択できます。
イベントにより、出力のセット/リセット、PWMカウンタのリセット、
外部タイミングのキャプチャなどの動作が可能です。フォルト信号
は、パワー・ステージを保護し、PWM出力をシャットダウンするためのものです。
高分解能タイマは、内部インタコネクトを介して他の内蔵タイマや
DMA、A/Dコンバータ、D/Aコンバータとリンクしています。

7

タイマA～Fタイミング･ユニット

8• 高分解能タイマは、6つの同一のタイミング･ユニットを持つ• プログラム可能な期間を持つ16ビットアップカウンタ• 2x16ビット･キャプチャ･レジスタ• 4x16ビット･コンペア･レジスタ• カウンタがコンペアに一致した場合にのみコンペア･イベントが生成
複数のセット/リセットに対して、1つの期間に複数のイベントを生成することが可能• 各ユニットは、2つの出力のためのすべての制御機能を埋め込み、最終的にスタンドアロンのタイマとして動作することが可能

高分解能タイマの6つの同一のタイミングユニットのうちの1つを詳しく見てみます。
これは16ビットのアップカウンタで構成されており、カウント期間を調整するためにプログラム可能なオーバーフロー値を備えています。
4つの16ビットコンペアユニットと2つの16ビットキャプチャユニット
がこのカウンタにリンクされており、それぞれ割込みとDMA機能を備えています。
カウンタがコンペア値と完全に一致すると、コンペアイベントが生成されます。したがって、1つのピリオドに複数のコンペアイベントを生成して、PWMサイクルごとに複数回の出力設定とリセットを行うことができます。
このユニットは、一対の出力のすべての制御機能を内蔵しており、最終的には独立したタイマとして動作します。しかし、これらの出力は他のタイマによっても制御することができます。

8

3タイマ動作モード

9• 継続（フリーラン）周期またはリセット･イベントでの再開始• 標準PWMモード:固定周波数、ピリオド･レジスタ（ロールオーバー）で設定• リセット･イベントを使用した可変周波数PWM
PER
CMP1Counter
Reset
Output• シングルショット･モード• 再トリガ不可: リセット･イベントはPERイベントの前に破棄• 再トリガ可能: カウンタはいつでもリセット可能

アップカウンタは3つのモードで動作できます。
連続モード（フリーランモードとも呼ばれる）では、カウンタはピリ
オドレジスタでプログラムされた値を超えるとゼロにロールオー
バーされ、外部イベントによってリセットされた場合はカウントを再開します。これは、固定周波数でコンバータまたは外部同期可
変周波数コンバータに使用される最も一般的なモードです。
シングルショットモードでは、カウンタはリセットイベントによって開始され、HRTIM_PERxRレジスタに設定されたピリオド値に達すると停止します。ここでは、2つのオプションを使用できます。
再トリガが不可のモードでは、カウンタリセットイベントがカウント
フェーズの終了前に発生した場合は、カウンタリセットイベントが破棄されます。通常、これは外部からトリガされるパルスが常に同じパルス幅であることを確認する場合です。
再トリガが可能なモードでは、カウンターはいつでもリセットできます。この場合、外部からトリガされるパルスは、複数のトリガを十分に近づけて受信すると、パルス幅が拡張される可能性があります。

9

繰り返しカウンタ

10• スイッチング周波数と割込み周波数を切り離して、CPUをオフロードできる• 標準的なSTM32タイマと同様の概念• タイマがリセットされ、シングルショット･モードで使用することも可能

各タイミングユニットには、標準的なSTM32タイマで利用可能なものと同様の繰り返しカウンタが含まれています。
スイッチング周波数と割り込み周波数をデカップリングすることで、CPUのオフロードを可能にします。カウンタのロールオーバー割
り込みは、1回目、2回目、3回目、最大256回目のPWM周期ごとに発行することができます。
この機能は、連続モードとシングルショットモードの両方で利用できます。この場合、繰り返しカウンタはリセットイベントごとに減少
します。

10

クロスバーのセット/リセット

11• セット/リセット･イベントは、極性プログラミングに関係なく、
アクティブ/非アクティブ状態（スイッチオンまたはオフ）への出力遷移に対応• 各タイミング･ユニットには、2つの出力用のクロスバー･
プログラミング･レジスタが含まれる• 2x32ビット･レジスタ/セットおよびリセットの出力ごと• 1つのピリオド内の複数の出力セット/リセットイベントに対して、最大32のイベントを同時に選択可能• プログラミング･レジスタはプリロードされており、他のレジスタと同期して更新出来る• タイマ操作中にセット/リセット･イベントをオンザフライで変更可能

クロスバーは、セットイベントとリセットイベントを組み合わせて、
極性プログラミングに関係なく出力波形を構築します。イベントは、
タイミングユニット自体から、他のタイミングユニットから、マスタタ
イマから、または外部イベントから来ることができます。
タイミングユニットには、出力ごとに2つのクロスバー・プログラミ
ング・レジスタがあり、1つはセット・イベントを定義し、もう1つはリセット・イベントを定義します。最大32個のイベントを同時に選択することができます。これにより、周期ごとに複数のセット/リセッ
トイベントで周期的な波形を構築することができます。
プログラミング・レジスタはプリロード・レジスタでシャドウイングされているため、異常な過渡波形を発生させることなく、オンザフラ
イで波形を変更することができます。

11キャプチャ･ユニット

12• 各タイミング･ユニットには2つのキャプチャ･レ
ジスタが含まれる• 最大28のイベントを同時に選択可能• 外部イベント、EXTEVNT1.10（10イベント）• 高分解能タイマの他のすべてのタイミング･ユニット（タイマAとタイマBからFまで）:1、2、出力1セット/リ
セット･イベント（16イベント）を比較• タイミング･ユニットの更新とソフトウェア･キャプチャ･イベント• キャプチャされた値は、外部タイミングを決定するために使われ、自動遅延モードに使用

コンペアユニットと並行して、各タイマには2つのキャプチャユニッ
トも内蔵されています。キャプチャは、現在のカウンタ値からキャ
プチャレジスタへの転送をトリガします。これは、外部タイミングを決定したり、次のスライドで説明する自動遅延モードのために有用です。一般的には、電流コンパレータがトリップしたときにPWM
パルスが終了するようなサイクル-バイ-サイクルで電流制御されたコンバータの実効デューティサイクルを測定する可能性を提供しています。
キャプチャ・トリガは、外部イベント、隣接するタイミングユニット、
隣接する出力波形、更新イベント、ソフトウェア・イベントの28のソースから選択できます。複数のトリガソースを同時に有効にすることも可能です。

12ハーフモード13• 50%デューティ･サイクルPWMを生成する必要がある場合に便利• 通常、共振コンバータでは、制御ループにより動作周波数制が制御され、デューティ･サイクルは50%に維持する必要がある• ピリオド･レジスタへの書き込みアクセスにより、コンペア1の値が自動的に更新• 通常、コンペア1のマッチ･イベントはPWM出力をセット/リセットするために使用• ユーザはアクセスできない（CMP1レジスタの内容は影響を受けない）• 主に連続モードでの固定周波数動作で意味を持つが、PERレジスタにアクセスする必要がある限り、他のどのモードでも使用可能

ハーフモードは、可変周波数50%デューティサイクルPWM波形を生成する必要がある場合に、計算負荷を軽減できる機能です。
これは一般的に共振コンバータの場合で、デューティサイクルを50%に維持する必要がある間、制御ループによって動作周波数が連続的に調整されます。
ハーフモードの動作原理は、ピリオドレジスタへの書き込みアクセスで、ピリオド値の半分の値を計算されコンペア1レジスタへ更新になることです。
ピリオドイベントに設定されたPWM信号とコンペア1の一致時に再セットされたPWM信号を考えてみましょう。新しいピリオド値がピ
リオドレジスタに書き込まれるとすぐに、コンペア1の値もピリオドの半分の値に更新されます。
これは特に連続モードの固定周波数動作に便利ですが、ピリオ
ドレジスタにアクセスする必要がある限り、他のモードでも使用で
きます。

13

自動遅延モード

14• プログラム可能な遅延を伴うキャプチャ･イベントまたはタ
イムアウト後に、出力を変更可能• 外部イベント受信タイミング（キャプチャ･レジスタ）に基づ
いて、リアルタイムのコンペア値を計算• コンペア･レジスタは、予想されるイベントと遅延を保持• コンペア･イベントは、以下を禁止

Capture 1

Counter00• キャプチャが発生• タイムアウト･モードが有効になっている場合、キャプチャが発生しない場合
は、コンペア1またはコンペア3によってキャプチャされる• 新たなキャプチャが可能!00

Trigger: CPT1,
CMP1 or CMP3

DELCMP2[1..0]
Autodelayed
Compare 2

Add

Compare 2

DELCMP2[1..0]Compare 1

10• 自動遅延イベントが発生した場合• カウンタのリセットまたはロールオーバー後

Compare 3

11

自動遅延モードでは、内部タイムベースに関連するだけでなく、
外部イベントを参照してタイミングの設置/リセットを行うことができます。タイムアウトメカニズムは、外部イベントが存在しないか消滅したときにデフォルト波形を確保できます。
この高分解能タイマは、外部イベントの到着するとすぐに、新しいコンペア値をリアルタイムで計算し、イベントが到着するとすぐにキャプチャしレジスタに書込みます。
予想されるイベントとの遅延は比較レジスタにプログラムされま
すが、コンペアイベントはキャプチャがトリガされるまで禁止されます。
タイムアウトの安全機構が有効な場合、カウンターがコンペア1またはコンペア3の値で定義されたタイムアウト閾値と等しくなると、
キャプチャは強制的に実行されます。
自動遅延イベントが発生した場合、または新しいピリオドが開始されると、新しいキャプチャが可能になります。

14

自動遅延アプリケーションの例

15• この例では、出力波形は以下のように定義• コンペア1マッチにセット（通常のコンペア･モード）• 外部イベントのエッジの立下りエッジ後、4サイクルでコンペア2（自動遅延モード）でリセット
UpdateCounter01

2

HRTIM_CPT1xR

3

4

5

6

7

8

9

10

11

12

13

14

15

Previous

16

17

18

0

1

2

3

7
Match

HRTIM_CMP2xR

Preload=5 Active: disabled

Preload=5 Active=12

Match

Preload=8
Active: disabled

HRTIM_CMP1xR

2

5

CaptureExternal event
Output~5 cycles

このスライドは、自動遅延モードの実用的な使用例を示しています。
要件は、以下のような波形を構築することです。

タイミングとカウンタの開始値を固定した値を指定し、出力はコン
ペア1の一致に設定する必要があります。（ここでは2クロックサイ
クル）
外部イベントの立下りエッジの後、5サイクル後に出力をリセットする必要があります。

出力セットは、カウンタが2で、HRTIM_CMP1Rレジスタ値と一致する場合に発生します。
HRTIM_CMP2Rレジスタは5に等しくなりますが、外部イベントの下端が発生するまで無視されます。現在のカウンタ値は7です。
HRTIM_CPT1Rレジスタにキャプチャされ、HRTIM_CMP2Rプリロード値に追加されます。これにより、有効なコンペア2の値は5+7で12になります。
カウンタがこのコンペア2の値と一致すると、出力リセットイベントが最終的に生成され、外部イベントのエッジが下がった後に5サイクルが生成されます。この図の0.5サイクルの不確実性は、キャプチャ信号の再同期による通常の待ち時間です。
15

プッシュプル･モード

16• プッシュプル･コンバータ、共振コンバータ、..
• 1つの出力が一度にアクティブになり、他の出力はアイドル状態になる• 2つの出力のクロスバーは、完全なバランスのために同じようにプログラムする必要があるが、必須ではない （この機能は他の目的にも使用可能）• ロールオーバー付き連続モードでのみ使用可能• 例:ピリオドに設定し、コンペア1の一致でリセット

高分解能タイマのプッシュプルモードは、プッシュプルおよび共振コンバータの管理を簡素化します。
タイミングユニットの2つの出力は、2つのPWM出力間のバランスを維持するために、交互に有効化されアイドル状態になります。
この図では、出力1と出力2に2つの同一の波形がプログラムされています。プッシュプル回路は、PWMデューティサイクルを設定するために単一のコンペア値を使用して信号を構築できるように、
2サイクルごとに出力をディセーブルにします。これはプッシュプ
ルを使用せずとも設定可能ですが、それだと他の2つのコンペア
レジスタとCPU負荷が大きくなってしまいます。
最後に、信号をアンバランスにして、非対称波形を生成することができることに注意する必要があります。例えば出力1のコンペ
ア1を使用するPWMと出力2のコンペア2を使用してPWM生成する
場合です。

16

アップ/ダウン･モード

17• 電源やモータ制御アプリケーションで、以下の操作を行う場合に便利• 2つの3相ブラシレス･モータ• 3つのフルブリッジDCモータまたはステッパ･モータ• A/Dコンバータ･サンプリングを簡素化• サンプリング周波数を一定• パルスの中央でのサンプリング

A/D
コンバータ
取得

A/D
コンバータ
取得

Fs1

A/D
コンバータ
取得

Fs2

A/Dコンバータ
取得

A/Dコンバータ
取得

A/Dコンバータ
取得

Fs

Fs

高分解能タイマのカウンタはアップダウンカウントで動作します。このモードは、固定のスイッチング周波数で、パワーコンバータとモータ制御アプリ
ケーションに利点があります。高分解能タイマは、最大2つの3相ブラシレス
モータと、ステッパーやDCモータを駆動するための3つのフルブリッジコン
バータを制御することができます。
アップダウンモードではA/Dコンバータのサンプリングの実装が単純化されます。最初は、出力パルスがカウントパターンの上部（カウントの「クレスト（山）」とも呼ばれる）に対称であるため、一定のサンプリング周期が可能です。これは図の下部に示され、サンプリング周波数Fsは一方のサイクル
から他方のサイクルまで一定であり、上側ではアップオンスカウントモード
を使用してパルス幅によって変化していることがわかります。
多くのコンバータにとって、理想的なA/Dコンバータのサンプリングポイント
は出力パルスの中央にあり、出力電流または電圧のリップルによる変換誤差を回避します。
このA/Dコンバータトリガポイントの位置決めには、アップカウントモードでの計算が必要です。アップ/ダウンカウントモードでは、理想的なトリガポイ
ントが常にクレストに位置するため、A/Dコンバータ関連の計算負荷は軽減され、必要なくなります。

17アップ/ダウン･モードのプログラミング

18• UDMビットにより、アップのみ、およびアップ/ダウンモードの選択が可能• クロスバーのセット/リセットのプログラミングは異なる• HRTIM_SETxyRは、アップカウント中に出力をセットし、ダウンカウント中にリセット• HRTIM_RSTxyRは、アップカウント中に出力をリセットし、ダウンカウント中にセット

UDMビットは、アップ/ダウンモードを有効にします。
高分解能タイマ機能のほとんどは、自動遅延モードとバランスア
イドルモードを除き、アップ/ダウンモードで使用できます。高分解能タイマのプログラミングは、クロスバープログラミングとほとん
ど異なります。
HRTIM_SETxyRレジスタで選択されたイベントは、アップカウント
時の出力セットとダウンカウント時の出力リセットの両方をコーディングしています。これにより、出力1の図に示すように、カウント期間を中心としたパルスが可能になります。
HRTIM_RESETxyRレジスタで選択されたイベントは、アップカウン
ト中の出力リセットとダウンカウント中の出力セットの両方をコーディングしています。これにより、出力2の図に示すように、より複雑な波形を作成できます。

18

デッドタイム

19• ハーフブリッジ、フルブリッジ、3相インバータがある場合、…
• 多用途で安全なデッドタイム設定• デッドタイムは、立ち上がりエッジと下りエッジの両方で調整可能（非対称デッドタイム）• 制御されたオーバーラップに対して負のデッドタイ
ムを持つことが可能• デッドタイム･レジスタはプリロードされており、ランタ
イム中に更新可能• 通常、適応制御のため、効率を最適化• 追加の安全性のために、デッドタイム符号、または値の書込みを保護可能

クロスバーの後にデッドタイムを挿入して、1つのリファレンスになるPWM波形から2つの出力に補完的な信号を生成することができます。これにより、2つの電源スイッチがオフになるデッドタイムを挿入することで、フルブリッジや3相インバータを含むハーフブ
リッジに基づくすべてのトポロジを安全に駆動することができます。
これにより、クロスコンダクトとシュートスルーの問題を回避できます。
デッドタイム値は、立ち上がりエッジと下りエッジの両方に対して個別に調整でき、任意の種類のドライバまたは伝播遅延に対応できます。非常に特殊なケースでは、負のデッドタイムをプログラ
ムし、いくつかの制御出力をオーバーラップさせることも可能です。
デッドタイムレジスタはプリロードされているので、スプリアス遷移のリスクなしにタイミングをリアルタイムで適応させることができます。これは通常、コンバータの効率を最適化するための適応制御に使用されます。
最後に、機能安全のために、特定の制御ビットで値またはデッド
タイムの兆候を保護する記述が可能です。

19

マスタタイマ20• タイミング･ユニットと同じアーキテクチャ、シンプルな構成• 直接関連付けられた出力はない• クロスバー･ユニットや出力関連制御なし• キャプチャ･ユニットなし、自動遅延モード、外部イベント管理• 主にマルチタイマ構成で6つのタイミング･ユニットの同期を目的としている• マスタからの6つのイベントは、すべてのタイミング･ユニットで利用可能• カウンタをリセット、出力をセット/リセットすることが可能• また、他の高分解能タイマ（内部または外部）とのインタフェースのための同期開始と同期ロジックプログラミングのためのすべてのタイミング･ユニットからのカウンタ･イネーブル･ビットを保持

マスタタイマは同じアーキテクチャを使用して、6つのタイミングユ
ニットが付属しています。直接関連付けられた出力やキャプチャ、
自動遅延モード、外部イベント管理が存在しないため、プログラミ
ングは簡単です。
マスタタイマは、主に2つ以上の出力を必要とするコンバータ用の6つのタイミングユニットを同期させることを目的としています。マスタからの6つのイベント（ピリオド、コンペア1~4、グローバル同期）は、すべてのタイミングユニットで利用可能であり、出力をセッ
ト/リセットしたりタイマをリセットするために使用することができます。
マスタタイマは、すべてのタイミングユニットからのカウンタ有効化ビットも保持します。これにより、一回の書込みアクセスですべてのタイマを同期して開始できます。
最後に、複数のMCUシステムの場合に、他の高分解能タイマイ
ンスタンスとのインタフェイス用のオフチップ同期ロジックプログラ
ミングが埋め込まれます。

20

外部イベント21• 一般的なユースケース:サイクル-バイ-サイクルの電流制御、ゼロ電流検出、...
• 10個の信号のセット（30のソース中で）は、次の用途に使用可能• 出力をセットまたはリセット• カウンタのリセット• トリガ• バーストモード開始• キャプチャ、自動遅延比較• A/Dコンバータ変換開始• 遅延保護• 10のイベントはすべてのタイミング･ユニットで利用可能• コンディショニングはイベントごと、フィルタリングは各タイミング･ユニットで外部イベントは高分解能タイマで重要な役割を果たします。通常、波形を動的に変更し、サイクル-バイ-サイクルの電流制御を実装するか、ゼロ電流検出後にカウンタを再起動したりします。
10個の外部イベント（30個のオンチップまたは外部ソースから選択可能）を使用して、出力のセット、リセット、またはトグル、カウンタのリセット、バーストモードコントローラ、キャプチャと自動遅
延比較、A/Dコンバータの変換開始、いくつかの保護などの複数の機能をトリガします。
10個の外部イベントは、すべてのタイミングユニットで使用できます。コンディショニング（通常はエッジの感度）はグローバルに行
われますが、各タイマに異なるイベントフィルタリングスキームを適用できます。

21

外部イベントのコンディショニング

22• 外部条件によって決定（インタフェース回路、
ノイズや振動など…）• ソース選択• プログラム可能なエッジまたはレベル感度• レベルが敏感な場合、レベルがアクティブである
限り、イベントは連続的に生成• デジタル･フィルタ（外部イベント6~10のみ）

外部イベント調整回路は、外部インタフェイスの種類や、着信した信号に存在するノイズやグリッチの量に応じて構成される予備信号検出のステージです。
最初のステージは、ソースを選択するための4対1のマルチプレク
サで、通常は入力ピンまたは内蔵コンパレータになります。
その後に、エッジまたはレベル感度の定義が続きます。レベル依存オプションを選択した場合、レベルがアクティブである限り外部
イベントが継続的に発行されます。
最後に、プログラム可能なデジタルフィルタステージにより、フィルタ伝播遅延による応答遅延が高くなりますが、スプリアス遷移を除去できます。この機能は、外部イベント6~10でのみ使用できます。

22

外部イベント管理

23• アクティブなイベントは有効なイベントである必要はない！
• 例：ダイオード･リカバリ電流によるスプリアス過電流スパイク• 各タイミング･ユニットでは、必要に応じて特定のフィルタリング方式を各外部イベントに適用可能• ブランキング（定義された時間中に外部イベントをマスク）• 12ブランキング･オプション:タイミング･ユニット内で4個、他のタイマで8個• ウィンドウ（範囲内の外部イベントを有効）• 3つのウィンドウ･オプション:タイミング･ユニット内で2個、他のタイマで1個• イベント延期、またはラッチ、タイムアウト可能

多くの場合、条件付けステージから発生するアクティブイベントは、
必ずしも有効なイベントとは限りません。これは一般的には電流のフィードバックの場合に該当します。自由なダイオードリカバ
リー電流は、スプリアス過電流検出の原因となる可能性があります。したがって、特定のタイミング単位で使用される外部イベントに特定のフィルタリングスキームを適用する必要があります。
3つのフィルタリングオプションを提案することができます。
ブランキングモードは、タイミングユニット自体内で定義された定義済みの時間枠の間に外部イベントをマスクするか、他のタイミ
ングユニットを使用して構成されます。これは通常、先行エッジブ
ランキングの場合に当てはまります。
ウィンドウモードでは、外部イベントは、指定した期間だけ、タイミ
ングユニット自体または他のタイミングユニットを使用して再定義されます。
イベント延期モードでは、イベントが特定の期間内に発生した場
合のみ、イベントを確認してラッチし、この期間の終わりまで遅延させることができます。

23

外部イベント･カウンタ（1/2）

24• イベントベースのフィルタリング:外部イベントは、有効と見なされる前に所定の回数発生する必要がある• 一般的なユースケース:フライバック･コンバータ バレースキップ･モード• 各タイマ･ユニットには、10個のイベントのいずれかに対応した外部イベント･カウンタがある• イベントは、N回カウントされると生成（N=1 .. 32）

また、発生回数に基づいてイベントをフィルタ処理することもできます。これは通常、フライバックコンバータでバレースキップモー
ドの場合に良くみられます。新しい周期は、振動（バレー）の数を与えた後にのみ開始される必要があります。
この場合、外部イベントカウンタは、1から32までのプログラム可能な回数の発生後にのみイベントを考慮に入れます。
各タイマユニットには、10個の使用可能な外部イベントのいずれかに適用できる独自の外部イベントカウンタがあります。

24

外部イベント･カウンタ（2/2）

25• 外部イベント･カウンタには、次の2つの動作モードがある• 即時モード:期間中にN個の連続したイベントが発生したときに生成されるイベント•

新しいPWM期間ごとにイベント･カウンタがリセット• 累積モード:イベントは、連続する複数の期間に少なくとも1回発生する必要がある•

カウンタは、直前のPWM期間にイベントが表示されなかった場合にのみリセット

さらに、外部イベントカウンタには2つの動作モードがあります。
即時モードでは、N個の連続した外部イベントが1つの期間内に発生すると、すぐにイベントが生成されます。イベントカウンタは、
現在のPWMピリオドの終了時にリセットされます。このモードは、
たとえばバレースキップを実装するために使用できます。
累積モードでは、期間の終了時に外部イベントカウンタはリセットされませんが、期間内に外部イベントがない場合に限られます。
このイベントは、EEV入力の3つの立ち上がりエッジの後に、図の右側に示すように、連続した複数の期間に発生した場合にのみ生成されます。逆に図の左側では、3番目のイベントを持たない
連続イベントが2つしかなかったので、外部イベントカウンタは第3ピリオドの後にリセットされます。

25

出力ステージ

26• 各出力には3つの個別の設定ビットがある• イネーブル（OEN）、ディセーブル（ODIS）、およびディセーブル･ステータス（ODS:フォルト
またはアイドル）

• 3状態
• 実行
• アイドル（開始時またはバースト保護および遅延保護中）• フォルト10個の高分解能タイマ出力にはそれぞれに3つの構成ビットがあります。出
力はOENビットを使用して有効にされ、ODISビットを使用して無効になります。
すべてのビットは、1回の書込みアクセスで複数の出力を有効または無効にすることが出来る単一のレジスタにグループ化されています。フォルト検出のためにディセーブルステータス・ビットでODS出力が無効になったかどうかを示します。
下の図は、あるタイミングユニットの出力ステージ全体の概要です。セット/リ
セットのクロスバーに続いて、出力1および出力2の基準信号は、まずプッシュ
プルとデッドタイム挿入ユニットで変更することができます。
プッシュ・プル・モードでは、出力1と出力2が実行またはアイドル状態の場合があります。デッドタイムが挿入されると、出力1信号は相補信号を構築する
ためのリファレンスとして機能し、出力2信号は破棄されます。
バーストモードコントローラでは、両方の出力を自動的に無効にし、一定期間再び有効にすることができます。
チョッパユニットは、アクティブなPWM波形の上にキャリア信号を重ね合わせることができます。
最後に、フォルトステージでは、電源スイッチを保護するために出力を完全に無効にすることができます。
極性は最後にプログラムされます。高分解能タイマの波形全体は、極性が適用される前に、外部ゲートドライバやインタフェイス感度とは無関係に、アクティブ/非アクティブスイッチの観点から単に推論することによってプログラムすることができます。
26

チョッパー27• グルーロジックなしで絶縁変圧器を駆動することが可能• 各タイマ用にプログラムされたパラメータ• 16周波数（1.56MHz ～25MHz）• デューティ･サイクル（0/8～7/8）• パルス長（40ns ～ 630ns）

チョッパーユニットは、アクティブなPWM信号の上にプログラム可能なキャリア波形を重ね合わせます。キャリアジェネレータは、着信パルスによって開始され、ANDゲートによって入力信号に追加されます。
これにより、外部のグルーロジックを追加することなく、アイソレー
ション・トランス・ドライバとのインタフェイスを可能にします。
キャリア波形は、3つのパラメータでプログラムすることができま
す。




変調周波数は1.56~25MHzです
1パルス長を調整し、セトリング時間を調整します。
デューティサイクルを設定して、サステイン電流を設定する。

27

バーストモード･コントローラ

28• 軽量負荷動作中に、コンバータに関係するタイマの数に関係なく、自動的にバーストモード動作を処理• 複数の出力を同時に無効化• プログラム可能なアイドル状態• エントリ時にデッドタイムを挿入することが可能

•
•
•
•

バースト長さと周期のプログラムが可能
シングルショット/連続モード
32のイベントで開始可能
複数のバーストクロック･オプション

バーストモード動作は、軽負荷で動作する電力コンバータで一般的に使用されます。バーストモードコントローラは、ハードウェア
によってアイドル状態と実行状態で交互に出力することができ、プログラム可能な周期と長さのスイッチング期間をスキップ出来ます。
バーストモードコントローラは、複数のタイマを並列に処理できます。出力は同時に無効になり、プログラム可能なアイドル状態と、デッドタイム違反を回避するために、バーストモードエントリにデッドタイムが挿入される可能性があります。
バースト長は、連続モードでバーストモードが有効になっている
場合の繰り返し期間と同様にプログラム可能です。
バーストモードは32のイベントで開始でき、タイマロールオーバー
イベントから来るか、または独立したユーザープログラム可能期間（400MHzクロックに基づく）から来る複数のバーストクロックオ
プションがあります。
この例では、バーストトリガが到着すると、PWMは8サイクルごとに3周期アクティブになり、パルスは5周期スキップされます。バー
ストモードコントローラカウンタは、各タイマロールオーバーイベン
トでクロックされ、インクリメントされます。
28

フォルト（障害）管理29• PWM出力をシャットダウンし、再出力にはSW で要求• ビット、極性、およびデジタル･フィルタを有効にした6つの入力• 複数のタイマに対し、1つの入力をアクティブにする可能（結合タイマを必要とするコンバータ向け）• 各タイマは、任意の（複数の）入力を選択可能• 入力トリガ・フォルト• 機能安全のためのHW 保護•

クロック･セキュリティ･システム、SRAMパリティ･チェック、ECCエラー、
Cortex-M4ロックアップ信号、PVD検出• すべてのコンバータを同時にシャットダウン可能なグローバル出力ディセーブル･レジスタ

フォルト（障害）管理ユニットはPWM出力をシャットダウンし、ユー
ザー定義の安全状態を非同期的に強制します。出力を再起動す
るには、ソフトウェアアクションが必要です。
合計6つの入力があり、それぞれプログラム可能な極性、イネー
ブルビットおよびデジタルフィルタを備えています。
複数の同期出力を必要とするコンバータでは、複数のタイマに対して1つの障害入力を実行させることが可能です。逆に、複数の障害入力をマージして、単一のタイミングユニットを保護できます。
障害は、デジタル入力、内蔵コンパレータ（一部のチャンネルのみ）、システムエラーなど、いくつかのソースから発生します。シス
テムエラーは、クロックセキュリティシステムエラー、SRAMパリ
ティエラー、Cortex-M4コアロックアップ、PVD検出による潜在的なブラウンアウトなどのチップレベルの異常な動作を示しています。これは、機能安全レベルを高めるのに役立ちます。
最後に、グローバル出力ディセーブルレジスタを使用すると、緊急シャットダウンのために、すべての出力が1回の書き込みアクセスで同期的に無効にできます。

29

多数のフォルト（障害）管理オプション
アナログ障害30

インダストリアル標準機能
高分解能タイマのユニークな機能

遅延アイドル（LLCコンバータの場合）

デジタル障害バランス･アイドル（プッシュプル･コンバータ用）

障害時のデッドタイム挿入

PWMシャットダウン前に代替でHWによってコピーされた短縮パルス

高分解能タイマは複数のフォルト保護オプションを提供します。
一部はインダストリアル標準の機能です。アナログ障害はコンパ
レータを使用します。ユーザー定義の閾値に達すると、コンパ
レータのトリッピングによってPWM出力がシャットダウンします。
デジタル障害モードでは、システムはデジタル障害トリガを受信すると安全な状態になります。出力セーフ状態の1つがアクティブな場合、デッドタイムを自動的に挿入して、デッドタイム違反なしに障害状態から安全状態に移行します。
さらに、高分解能タイマは、いくつかのユニークな保護機能を提供しています。LLCコンバータの場合、遅延アイドルは出力の現在のパルスを維持し、障害状態は完了後にのみ入力されます。
プッシュプルコンバータの場合、バランスアイドルモードは、コン
バータが実際に障害状態に入る前に、障害がトリガされたときに2つの出力パルス幅の間の完全なバランスを保証します。故障により短縮された出力パルスは、動作停止前に代替出力に自動的にコピーされます。

30

フォルト（障害）フィルタリング

31• 2つのオプションで障害ブランキングを追加可能:• ターンオン時（リーディング・エッジ・ブランキング）、またはCMP3とCMP4イベントの間• 2つの動作モードがある故障カウンタ• 即時モード:期間中にN個の連続した障害が発生した場合に発生する障害• 累積モード:複数のPWM期間内に障害が1回発生した場合に発生する障害

フォルト（障害）イベントは、2つの方法でフィルタ処理できます。
障害ブランキングを行い、特定の期間、PWMサイクルの開始時（これはリーディングエッジブランキングとも呼ばれます）、またはCMP3とCMP4の比較レジスタを使用して、プログラム可能な開始と幅のウィンドウの間に、障害が無視されるようにすることができます。
もう1つのオプションは、障害カウンタでフィルタリングを行い、偽のエラー情報を破棄し、真のエラーのみを考慮することです。障害カウンタ
は、外部イベントカウンタと同様に、2つのモードで動作できます。
即時モードでは、N個の連続した外部障害が1つの期間内に発生すると、すぐに障害が生成されます。障害カウンタは、現在のPWM期間の終了時にリセットされます。
累積モードでは、期間の終了時に外部障害カウンタはリセットされず、ピリオド内に障害がない場合にリセットされます。この障害は、FLT入力の3つの立ち上がりエッジの後に、図の右側に示すように、連続した
複数の期間に発生した場合にのみ生成されます。逆に図の左側では、第3ピリオドを経て、3つ目の障害なしで連続した障害が2つしか存在しないため、障害カウンタはリセットされます。

31

高分解能タイマによるA/Dコンバータへのトリガ

32• 高分解能タイマには10個のA/Dコンバータ･トリガ･チャネルがある• A/Dコンバータあたり2チャネル、レギュラとインジェクト• 複数のコンバータに対して最大10個の独立したA/Dコンバータ･プロセスを並列で使用可能• 各トリガ･チャネルには32のソースがある• 各タイミング･ユニットからの4/5イベント（マスタを含む）と5つの外部イベント• トリガ選択レジスタは、オンザフライ･トリガソース更新用にプリロードされる• トリガ1~4に対して複数のソースを同時に有効にすることが可能• 典型的な使用例:インターリーブ･コンバータ• トリガ5~10に対して1つのシングルソースが可能

高分解能タイマは、レギュラおよびインジェクトシーケンサー用に、
A/Dコンバータあたり2つのチャネルを持つ10個のA/Dコンバータ
トリガチャネルを持っています。これにより、複数のコンバータに対して最大10個の独立したA/Dコンバータの動作を並列で実行できます。
各トリガチャネルには、マスタタイマの5つ、外部イベントの5つ、タイミング単位ごとに4つまたは5つを含む32のソースがあります。
多相のフェーズコンバータで一般的に示されているように、トリガ
1~4の複数のソースを同時に有効にすることが可能です。トリガ
5~10では、一度に1つのイベントしか許可されてません。
最後に、トリガ選択レジスタは、オンザフライのトリガソース更新のためにプリロードされます。

32

A/Dコンバータ･ポストスケーラ

33• 高周波スイッチング･アプリケーションでは、A/Dコンバータ･ポストスケーラを使用してA/Dコンバータのトリガレートを低減することが可能• 各A/Dコンバータ･トリガは、32個のうち1つまで個別に調整可能

A/Dコンバータのトリガレートは、A/Dコンバータポストスケーラで削減できます。これにより、高周波のPWMスイッチングアプリケー
ションの変換数とA/Dコンバータ割込みサービスルーチンの数を減少させることが可能です。
10個のA/Dコンバータトリガのそれぞれは、2つの図に示すように、
32のカウンタ期間あたり1変換まで減らすことができます。右側の
図は、ADROM[1:0]ビットを使用して、カウント期間のアップまたは
ダウンフェーズの間にA/Dコンバータトリガを配置できることを示しています。

33

標準D/Aコンバータ･トリガ

34• D/Aコンバータは、PWM周期のペースで、マスタおよびタイマ･ユニットからのタイマ
更新イベントと同期して更新することが可能• 3出力、D/Aコンバータごとに複数のソースを使用可能

高分解能タイマはD/Aコンバータトリガも提供します。これにより、マスタタイマとスレーブタイマからのタイマ更新イベントと同期してD/Aコンバータ値を更新することが可能になります。
通常、これはD/Aコンバータをコンパレータの閾値として使用する
ピーク電流モードで使用されます。これにより、新しいD/Aコン
バータ値次の切り替え期間の最初に適用できます。
3つのD/Aコンバータトリガが使用可能であり、同じトリガに対して複数の同時ソースを使用できます。

34

スロープ補償35• D/Aコンバータを使用し、電流値との比較に負の鋸歯の形（スロープ）を適用することによって適応• この鋸歯はPWMと同期する必要があり、高分解能タイマは2つのD/Aコンバータのトリガを備えている• 鋸歯をリセット（同期）する場合• D/Aコンバータの出力値を減らす場合

高分解能タイマはスロープ補償の技術を容易に実施することが可能です。これは、ピーク電流モードコンバータに必要です。この場合、PWM出力は、D/Aコンバータによって設定された閾値と電流値のレベルを比較するコンパレータによってオフにされます。この構成で電源の安定性を保証するには、図に示すように、コンパ
レータに接続されたD/Aコンバータ出力にスロープ（鋸歯）を適用する必要があります。
この鋸歯はPWM波形と同期する必要があります。これは、2つのD/Aコンバータトリガを使用して、鋸歯信号をリセットする（開始値を再ロードする）とD/Aコンバータ値を定期的に減らすためにもう1つのD/Aコンバータトリガを使用します。
鋸歯の開始値と振幅は、D/Aコンバータペリフェラルで定義されます。

35

デュアル・チャネルD/Aコンバータ･トリガ

36• 2つの制御ビットにより、D/AコンバータのリセットおよびD/Aコンバータ･ステップ･イベ
ントの構成が可能• 通常、D/Aコンバータの周期とDMP2のステップでのD/Aコンバータをリセット• その他のオプションが可能（ヒステリテコントロール用D/Aコンバータ矩形波）• コンペア2（CMP2）はステップ数を定義

高分解能タイマのデュアル・チャンネルD/Aコンバータトリガ回路
は、トリガ生成タイミングを調整するようにプログラムできます。
デフォルトのスロープ補償の設定では、D/Aコンバータリセットトリ
ガがPWM周期の開始に送信されます。
D/Aコンバータステップトリガは、（D/Aコンバータ出力電圧をデクリメントさせるために）コンペア2がカウンタ値とマッチした状態で生成されます。このレジスタは、1つの周期内のステップ数を定義
します:CMP2値は、各コンペアマッチの後に高分解能タイマによって自動的に再計算されます（図に示すように、カウント周期ごとに複数回一致できるようにします）。コンペア2のレジスタ値は、一度だけプログラムする必要があります。
（図中の階段効果は実在のアプリケーションに対して代表的なものではなく、単なる説明が目的のために掲載されているものであることに注意してください。）高速D/Aコンバータは、ステップのはるかに多い数とそれによる擬似的な直線性を可能にします。

36

レジスタ更新37• すべての作業レジスタは複製されている（プリロード/アクティブレジスタ）• 2つの制御ビットは、プリロード機構の処理することが可能• 各タイマのプリロード･イネーブル･ビット（PREEN）• 更新ディセーブル･ビット（MUDIS、TxUDIS）を使用し、更新メカニズム機構を一時的に停止（UDISビットがリセットされたときに再開）• 数多くのソースが利用可能••••

タイマ自身で（リピート、リセット）
他のタイマ（マスタ、タイマA～F）からオンチップ･ソース（汎用タイマ）から
バースト･モードDMAに続く

高分解能タイマの作業レジスタはすべてシャドウレジスタと重複しています。これは、ピリオドとコンペアレジスタ、および他の多数の設定レジスタに適用されます。これにより複数のレジスタを更新する場合にグリッチのない操作が可能です。書込みアクセスは、
更新イベントが発生したときにプリロード・レジスタに行われ、PWMサイクルの開始時にアクティブ・レジスタに転送されます。
2つの制御ビットにより、プリロード機構の長さを使用できます。
プリロードはビットPREENを使用可能にし、各タイマで、グローバ
ルにレジスタシャドウを有効にします。
更新無効ビットMUDISとTxUDISは、複雑な高分解能タイマの更新またはオンザフライ高分解能タイマの再構成の更新イベントを一時的に中断できます。
多数の更新トリガソースは、他のタイマ（マスタ、タイマA～F）、その他のオンチップソース（汎用タイマ）、またはDMAバーストモー
ドに続くタイマ内で利用できます。

37割込み:8ベクタと100ソース
割込みイベント
受信した同期イベント

マスタ

タイマA~Fx38

説明
複数の高分解能タイマを連結する場合

遅延保護のトリガx

高度なフォルト（障害）保護スキーム

カウンタのリセットまたはロールオーバー･イベントx

各サイクルで発生するPWM割込み

出力1および出力2リセット

x

出力1と出力2セット

x

キャプチャ1と2のイベント

x

キャプチャ値の処理を許可

割込みを出力の変更に同期する必要がある場合タイミングユニットレジスタの更新

xx

プリロードからアクティブに転送されたコンテンツの登録繰り返しイベントxx

制御ループの定期的なPWM割込み

1から4のイベントの比較

xx

コンペア･マッチ･イベントを示す

システム障害x

x

MCUレベルのフォルト（障害）を示す

フォルト1～6xx

外部フォルト（障害）を示す

バーストモードxx

バースト･モードピリオド

DLL準備

x

x

DLLキャリブレーション終了

高分解能タイマは合計100ソースから割り込みを生成できます。
これらは、次のように8個の割り込みベクタテーブルにディスパッ
チされます。タイミングユニットとマスタタイマごとに1つ、フォルト（障害）管理専用のベクタが1つ追加されます。
この表には、すべてのソースが一覧表示され、それぞれの簡単な説明が示されています。

38

DMA:7つのリクエスト、および91のソース
DMA要求
受信した同期イベント

マスタ

タイマA
～F

x

39

説明
複数の高分解能タイマをチェーンする場合のDMA転送

遅延保護のトリガx

高度なフォルト（障害）トリガの場合のDMA転送

カウンタリセットまたはロールオーバー･イベントx

各PWM割込みでのDMA転送

出力1および出力2リセットx

出力1および出力2セット

x

キャプチャ1と2のイベント

x

キャプチャされた値を格納するDMA転送

出力の変更時のDMA転送

タイミングユニット･レジスタの更新

xx

レジスタの内容がプリロードからアクティブに転送された場合のDMA転送

繰り返しイベントxx

PWM更新でのMA転送（複数期間）

1から4のイベントの比較

xx

コンペアマッチでのDMA転送• タイマは、バースト･モードでDMA転送を使用して動的に再構成が可能• 1つのイベントでメモリ内のテーブルが選択された高分解能タイマ･レジスタに転送される• バーストが完了すると、選択した更新スキームごとにグローバル･レジスタの更新（プリロードからアクティブへの転送）が実行

高分解能タイマは、合計91のソースからDMA転送をトリガすることもできます。それらは7つのDMAチャネル（タイミングユニットとマスタタイマごとに1つ）にディスパッチされます。
この表には、すべてのソースが一覧表示され、それぞれの簡単な説明が示されています。
DMAを使用して、コンバータの実行時に高分解能タイマを動的に再構成することもできます。これはDMAバーストモードを使用して行われます。
トリガされると、メモリ内のテーブルの内容が高分解能タイマコン
トロールとコンフィギュレーションレジスタに転送されます。DMA
バースト制御レジスタは、更新するレジスタを1つずつ指定します。
転送が完了すると、グローバル・レジスタ更新が発行され、新しい値がプリロードからアクティブ・レジスタに転送されます。

39

低電力モード
モード

40

説明

RUN/低電力RUN

有効SLEEP/低電力SLEEP

有効 ペリフェラル割込みによりデバイスはSLEEPモードを終了

STOP0、STOP1

無効 高分解能タイマは機能せず、無効にしなくてはいけない

STANDBY

パワーダウン STANDBYモードを終了した後、ペリフェラルを再初期化する必要がある

SHUTDOWN

パワーダウン SHUTDOWNモードを終了した後、ペリフェラルを再初期化する必要がある

高分解能タイマペリフェラルは、RUNモードとSLEEPモードでのみ有効にできます。STOPモードとSTANDBYモードでは、高分解能
タイマを無効にする必要があります。

40

アプリケーション例

41• インターリーブ･コンバータ• 3つの降圧コンバータを120°の位相シフト
で並列で動作させ、出力電力のリップルを最小化し、入力電流の需要を分散• マスタ･タイマは、カウンタ･リセットを使用して、3タイマ（A、B、C）をシフト• デューティ･サイクルは、各タイマの制御
ループによって調整

このスライドは、高分解能タイマのアプリケーション事例を示しています。
トリプルインターリーブコンバータのPWM信号を生成する方法を示します。3つのステップダウンコンバータは、出力電圧リップルを最小限に抑え、入力電流需要を分散させるため、120°位相シフトで並行に動作しています。
一定の位相シフトを保証するために同期し、最終的には1つのフェーズをオフに切り替え、フェーズシフトを180°に調整する必要があります。
これはマスタタイマを使用して行われます。マスタの期間に生成されるイベント、コンペア1とコンペア2はタイマA、B、Cをリセットします。
TA1、TB1、TC1出力のパルス幅は、制御ループの需要に従って、各タイミングユニットのコンペア1レジスタにプログラムされます。
TA1出力を考慮すると、マスタピリオドイベントに設定された出力で設定され、タイマAコンペア1イベントで出力がリセットされます。
出力TB1はマスタピリオド1イベントに設定され、タイマBコンペア1イベ
ントでリセットされます。
出力TC1はマスタピリオド2イベントに設定され、タイマCコンペア1イベ
ントでリセットされます。
各タイミングユニットの予備のコンペアレジスタを使用して、パルス幅の中央にA/Dコンバータトリガを非常に簡単に発行できます。
41

関連するペリフェラルとリソース

42• このペリフェラルに関連するこれらのトレーニングを参照してください。:
• RCC
• 割込み
• DMA
• タイマ
• D/Aコンバータ• A/Dコンバータ• ドキュメント• 高分解能タイマクックブック（アプリケーションノートAN4539）• STM32F334アプリケーションノートとユーザーマニュアル（AN4885、AN4449、UM1733、
UM1735、UM1736）

ここに記載されているペリフェラルは高分解能タイマの動作に影響を与えます。詳細については、対応するトレーニングを参照してください。
STM32F334の高分解能タイマには、複数のアプリケーションノー
トとユーザーマニュアルが用意されています。これらは、STM32G4でも部分的に有効であり、開発者が高分解能タイマの使用方法をよりよく理解するのに役立ちます。

42