STM32H7- HRTIM
高分解能タイマ

1.0版

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

1

はじめに

2

• STM32H7の高分解能タイマは、STM32F334の高分解能タイマを応用したもので、達成可能な分解能（～2.1ns vs 217ps）を実現している• クロック周波数が480MHzであるため、GPタイマの2倍の性能を持ち、多くのアプリケーションで優れた分解能を発揮
例えば、20kHzで14ビット以上のPWM精度、100kHzで25Hzの周波数ステップが可能• さらに重要なのは、汎用またはデジタル電力変換アプリケーション向けに、
タイミングまたはイベントドリブンの最大10種類の複雑な波形を構築するための柔軟性が非常に高い

STM32H7の高分解能タイマは、達成可能な分解能の点でSTM32F334のバージョンから派生しています（約2.1ns vs 217ps）。
また、STM32F334のHRタイマのエコシステムのほとんどは、このタイマの動作をよりよく理解するために有益です。しかし、480MHzの入力クロックにより、STM32H7の汎用タイマの2倍の分解能を実現しています。例えば、14ビット精度の20kHzのPWM信号を生成することができ、100kHzレンジのPWMでは25Hzの周波数分解能を持っています。
さらに注目すべきは、標準的なタイマと比較して、その機能と管理可能なI/Oの数から、タイミングドリブンまたはイベントドリブンの最大10種類の複雑な波形を構築するための柔軟性がはるかに高いことです。
これは、デジタル電力変換（デジタルSMPS、ソーラーコンバータ、
モーター制御）だけでなく、汎用的なアプリケーションにも有効です。

2

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

3

合計6つのタイムベースが利用可能• 6x16ビット･アップカウンタ• 独立クロック･プリスケーラ• 各タイマは、独立して使用することも、他のタイマと結合することも可能• 24個のコンペアと10個のキャプチャ･ユニット

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

3

クロスバー･ユニット

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

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

4

汎用性の高い出力管理•

5

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

ハードウェア･バースト･
モード･コントローラ•

非同期フォールト保護

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

5

複数入力管理6

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

 アナログおよびデジタル入力 どこでもリダイレクト可能
 コンディショニングを含む(エッジ/レベル感度、
デジタル･フィルタ)

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

6

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

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

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

7

3タイマ動作モード

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

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

8

繰り返しカウンタ

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

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

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

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

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

10キャプチャ･ユニット

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

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

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

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

12

自動遅延モード

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

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の値で定義されたタイムアウト閾値と等しくなると、
キャプチャは強制的に実行されます。
自動遅延イベントが発生した場合、または新しいピリオドが開始されると、新しいキャプチャが可能になります。

13

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

14• この例では、出力波形は以下のように定義• コンペア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サイクルの不確実性は、キャプチャ信号の再同期による通常の待ち時間です。
14

プッシュプル･モード

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

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

15

デッドタイム

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

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

16

マスタ･タイマ

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

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

17

外部イベント

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

18

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

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

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

19

外部イベント管理

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

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

20

出力ステージ

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

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

チョッパ

22

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

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

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

22

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

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

•
•
•
•

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

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

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

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

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

24

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

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

遅延アイドル(LLCコンバータの場合)

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

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

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

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

25

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

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

高分解能タイマは、レギュラおよびインジェクト・シーケンサー用に、A/Dコンバータあたり2つのチャネルを持つ4個のA/Dコン
バータ・トリガチャネルを持っています。これにより、複数のコンバータに対して最大4個の独立したA/Dコンバータの動作を並列で実行できます。
各トリガチャネルには、マスタタイマからの5つのソース、外部イベントからの5つのソース、各タイミングユニットの4つまたは5つのソースを含む32のソースがあります。多相コンバータのようにさま
ざまなトリガの瞬間が明確に定義されている場合、固有のトリガに対して複数のソースを同時に有効にすることができます。
最後に、トリガ選択レジスタは、オンザフライのトリガソース更新のためにプリロードされます。

26

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

27• マスタおよびタイマ･ユニットからのタイマ更新イベントに同期してDACを更新可能• 3出力、DACごとに複数のソースを使用可能

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

27

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

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

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

28

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

マスタ

タイマA ~ Ex29

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

遅延保護のトリガx

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

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

x

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

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

x

出力1と出力2セット

x

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

x

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

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

xx

レジスタの内容がプリロードからアクティブに移行したことを示す

繰り返しイベントxx

制御ループのための周期的なPWM割り込み（複数周期でも可）

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

xx

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

システム障害x

x

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

障害1～5

x

x

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

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

29

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

マスタ

タイマ A
～E

x

30

説明
複数の高分解能タイマをチェーンする場合の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つのイベントでメモリ内のテーブルが選択された高分解能タイマ･レジスタに転送される• バーストが完了すると、選択した更新スキームごとにグローバル･レジスタの更新(プリロードからアクティブへの転送)が実行

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

30

低電力モード
モード

31

説明

RUN

有効

SLEEP

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

STOP

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

STANDBY

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

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

31

アプリケーション例

32• インタリーブ･コンバータ• 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コンバータトリガを非常に簡単に発行できます。

32

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

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

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

33