STM32G4 - COMP
アナログ･コンパレータ

1.0版

こんにちは、STM32G4アナログコンパレータのプレゼンテーションへようこそ。超低消費電力コンパレータの主な機能とアプリ
ケーションの例をいくつか説明します。

1

概要

2

• 2つのアナログ信号を比較し、どちらが大きいかを示すデジタル出力を発生• STOPモードからCPUを起動• モ ー タ･コ ン ト ロ ー ル･フ ォ ー カ ス : タ イ マ （ TIM 、HRTIM）、D/Aコンバータ、Vrefint
アプリケーション側の利点• タイマの設定ロックやブレーク･イベント･ジェネ
レータなどの安全機能• フレキシブルなI/O相互接続• ヒステリシスおよびスピードに対する消費電力• ~15nsの高速な伝播ディレイ

STM32マイクロコントローラ内の最大2つのアナログコンパレータ
は、正入力のアナログ電圧が負入力の電圧より大きい場合にバイナリ出力を発生します。
アナログ信号が事前に定義した閾値を超えたときに、MCUが反応するよう促します。
コンパレータは、サンプリングモードで動作するA/Dコンバータとは異なり、電圧を継続的に監視します。
コンパレータは、SLEEPモードとSTOPモードからデバイスをウェイクアップすることができます。
モータ制御ループは、コンパレータ、タイマ、D/Aコンバータ、VREFINTの各ユニット間の連携を可能にすることで簡素化されます。
コンパレータは安全確保のためロックが可能で、またその柔軟性の高い設定機能はアプリケーションにメリットをもたらします。
コンパレータのもう1つの安全機能はタイマのブレーク信号生成機能で、これによりPWM駆動信号の生成を確実に停止できます。
アナログ閾値の交差ポイントからデジタル出力アサーションの間の遅延は15ns未満です。

2

主な機能

3

• 最大7つの独立したコンパレータ• プログラム可能なヒステリシス• 設定可能な正入力および負入力• 多重化されたI/Oピン、D/Aコンバータ･チャネル1および2、内部リファレンス電圧とその3つのサブマルチプル値• 出力リダイレクト• 設定可能なI/O• タイマ – 高速PWMシャットダウン、サイクルごとの電流制御、タイミング測定用の入力キャ
プチャのためのブレーク･イベント• 出力ブランクソース• コンパレータ制御およびステータスレジスタは、書込み保護可能

STM32G4マイクロコントローラは、最大7つのコンパレータを内蔵します。
コンパレータには、ノイズの多い入力信号によるスプリアス出力遷移を回避するためのプログラム可能なヒステリシスが含まれています。
入力と出力の柔軟な相互接続を提供し、D/Aコンバータ出力や内部リファレンス電圧出力など、複数の外部入力および内部入力の閾値を選択できます。
コンパレータ出力は、代替機能チャネルを使用してI/Oに接続することも、さまざまなタイマ入力に内部的にリダイレクトして、高速PWMシャットダウンのためのブレークイベントを可能にすることもできます。
サイクル-バイ-サイクルの電流制御やタイミング測定用の入力キャプチャを作成することもできます。
COMPxコントロールレジスタは、次のマイクロコントローラリセットまでロックできます。

3

COMPブロック図
COMP1

COMP2

COMP3

COMP4

COMP5

COMP6

COMP7

STM32G43x









STM32G44x









STM32G47x











STM32G48x



4GPIO代替機能

ヒステリシスCOMPx_INP I/Os

COMPx_INPCOMPx_INM

COMPx_INM I/Os
DACx_OUTy
DACx_OUTy
VREFINT¾ VREFINT½ VREFINT¼ VREFINT+COMPx_OUT
VALUE

ウェイクアップEXTIライン割込み

極性選択

タイマ

コンパレータの数は、STM32G4マイクロコントローラの製品毎に異なります。
STM32G43xおよびSTM32G44xシリーズは4つのコンパレータを内蔵し、STM32G47xおよびSTM32G48xシリーズは7つのコンパレータを内蔵します。
図はSTM32G4マイクロコントローラに内蔵されたコンパレータの一般的なブロック図を示しています。
左側のマルチプレクサは、比較する電圧源を選択します。:GPIO、D/Aコンバータ出力、4つの分周比を持つVREFINT
コンパレータの出力は反転できます。
コンパレータの出力状態は、以下に伝えることができます。
• GPIO• CPUにウェイクアップリクエスト、またはイベントを生成する
EXTIモジュール• タイマ入力
コンパレータ出力を内部および外部に同時にリダイレクトさせることが可能です。

4COMP入力
INM

INP

5OUT

COMP外部内部

外部

外部

PA1、PB1

PA0 、 PA6 、 PA11 、 PB8 、PF4

COMP1

PA4、PA0

DAC3_CH1
DAC1_CH1

COMP2

PA4、PA2

DAC3_CH2
DAC1_CH2

PA7、PA3

PA2、PA7、PA12、PB9

COMP3

PF1、PC0

DAC3_CH1
DAC1_CH1

PA0、PC1

PB7、PB15、PC2

COMP4

PE8、PB2

DAC3_CH2
DAC1_CH1

PB0、PE7

PB1、PB6、PB14

COMP5

PB10、PD13

DAC4_CH1
DAC1_CH2

PB13、PD12

PA9、PC7COMP6

PD10、PB15

DAC4_CH2
DAC2_CH1

PB11、PD11

PA10、PC6

COMP7PD15、PB12

DAC4_CH1
DAC1_CH2

PB14、PD14

PA8、PC8¼、½、¾、1Vrefint

内部

TIM、HRTIM、EXTI信号

各コンパレータには、非反転入力と反転入力があります。
COMP1_CSRレジスタおよびCOMP2_CSRレジスタのINMSEL
フィールドは、反転入力の選択に使用されます。
VREFINTは、任意のコンパレータのINM入力として選択できます。
COMP1_CSRレジスタおよびCOMP2_CSRレジスタのINPSEL
フィールドは、非反転入力を選択するために使用されます。
任意のコンパレータの出力は、タイマおよびEXTIユニットに接続できます。

5コンパレータ出力ブランキング機能（1/3）

6• コンパレータの場合、ターンオン中のスプリアス過電流、またはターンオフ中のゼロクロス･イベントをマスクするためのブランキングが可能（予測機能制御の場合）• 7つのソース:TIM1、TIM2、TIM3、TIM4、TIM8、TIM15、TIM20

ヒステリシスCOMPx_INP I/Os

COMPx_INPCOMPx_INM

COMPx_INM I/Os
DACx_OUTy
DACx_OUTy
VREFINT¾ VREFINT½ VREFINT¼ VREFINT+

ブランキング機能
VALUE

コンパレータ出力

極性選択

相互接続マトリクス
TIMx_OCy

タイマ･ユニット

ブランキング関数は、タイマによって示される時間の間にコンパレータの出力をマスクすることを目的としています。
これは通常、PFC（Predictive Functional Control）技術（予測機能制御）で使用されます。
タイマTIMx_OCyシグナルがアサートされると、VALUEというコンパレータの出力は無視されます。

6

コンパレータ出力ブランキング機能（2/3）

7• PWM期間の開始時の短時間の電流スパイクによる電流レギュレーションのトリップを防止• タイマ･ブレーク入力にリダイレク
トされたCOMP出力をマスク

コンパレータは、負荷に流れる電流のピーク値を監視するためのサイクル-バイ-サイクルのレギュレーションループで使用できます。
ブランキング機能の目的は、PWM期間の初めに短い期間の電流スパイクによる不正な電流調節のトリップを防ぐことです。
電源スイッチをアクティブにすることによって発生する短電流スパ
イクは、コンパレータ出力に偽のパルスを生成することができます - 図の青い色でマークされています。
これらのパルスは、誤った障害検出を避けるために、ブランキングウィンドウでマスクする必要があります。
ブランキングウィンドウの波形は、タイマ出力チャネルの1つで生成できます。

7コンパレータ出力ブランキング機能（3/3）
BLANKSEL

COMP1

COMP2

COMP30b000

COMP4

COMP5

COMP6

COMP78

ブランキングなし

0b001

TIM1_OC5

TIM1_OC5

TIM1_OC5

TIM3_OC4

TIM2_OC3

TIM8_OC5

TIM1_OC50b010

TIM2_OC3

TIM2_OC3

TIM3_OC3

TIM8_OC5

TIM8_OC5

TIM2_OC4

TIM8_OC50b011

TIM3_OC3

TIM3_OC3

TIM2_OC4

TIM15_OC1

TIM3_OC3

TIM15_OC2

TIM3_OC3

0b100

TIM8_OC5

TIM8_OC5

TIM8_OC5

TIM1_OC5

TIM1_OC5

TIM1_OC5

TIM15_OC2

0b101

TIM20_OC5

TIM20_OC5

TIM20_OC5

TIM20_OC5

TIM20_OC5

TIM20_OC5

TIM20_OC5

0b110

TIM15_OC1

TIM15_OC1

TIM15_OC1

TIM15_OC1

TIM15_OC1

TIM15_OC1

TIM15_OC1

0b111

TIM4_OC3

TIM4_OC3

TIM4_OC3

TIM4_OC3

TIM4_OC3

TIM4_OC3

TIM4_OC3

コンパレータの出力は、BLANKSELフィールドで選択されたタイマ
出力比較値で定義されたブランク時間の期間中マスクすることができます。
各コンパレータについて、この表はブランキングの制御にどのタイマ出力信号が使用されているかを示しています。

8COMPヒステリシス

9• COMPプログラマブル･ヒステリシス• 8レベルのヒステリシス• 0 ~ 70mV（10mVステップ）• HYST[2:0]ビットで設定• ヒステリシスは出力の立下りエッジのみに対応

コンパレータには、ノイズがによる入力信号を伴うスプリアス出力遷移を避けるために、プログラム可能なヒステリシスが含まれています。
これは非対称であり、コンパレータ出力の立下りにのみ対応します。
内部ヒステリシス機能を無効にして、外部コンポーネントを使用してヒステリシスの量を設定することができるため、低電力モードを終了する場合などに便利です。

9タイマとのコンパレータの連携

10• 2つのコンパレータの出力は、多目的な構成のためのタイマ入力と相互接続されている:• 入力1および2（外部タイミングまたは外部カウンタリセットをキャプチャする場合）• ブレーク入力（PWMシャットダウンまたはサイクル-バイ-サイクルの制限）• ETR入力（サイクル-バイ-サイクルの制限または外部カウンタリセットの場合）

コンパレータは、タイマユニットと内部接続しています。
出力は、以下の目的のために、幅広いタイマ入力に内部的にリダイレクトできます。
• BKINおよびBKIN2入力を使用したPWM信号の緊急シャットダウン• 電子タイミングリレー(ETR)入力を使用したサイクル-バイ-サイ
クル電流制御• タイミング測定の入力キャプチャ

10タイマとのコンパレータの連携

11• STM32F0 OCREF_CLR接続はSTM32G4 ETRタイマ入力に置き換え可能• 利点:コンパレータは、マルチ目的に:• サイクル-バイ-サイクル電流制限• 外部カウンタのリセット（ゼロ交差検出）• 制限:• 外部カウンタ･リセットとサイクル-バイ-サイクル電流制限を同時に使用する場合、外部リセットではTIM CH1またはCH2入力（TIM ETRピンは使用できない）を使用
次のスライドを参照• この制限が該当するのは非常にレアケース（すべてのTIM入力/出力、サイクル-バイ-サイクル電流制限と外部カウンタのリセットを必要とするユースケースは無いため）• 例• 照明（PFC）:現在の保護のためのETR、PWMのためのCH1、ゼロ交差検出のためのCH2• 照明（LLC）:ハーフブリッジ制御用CH1+ CH1N、フォルト保護用BKIN• 照明（バックコンバータ）:PWM用CH1、電流ループ用ETR

コンパレータとタイマの間の接続は、一般的に2つの目的のために使用されます。
• ブランキング機能に基づくサイクル-バイ-サイクル電流制限• 電圧が閾値を下回ると外部カウンタがリセットされるゼロクロス
検出
両方が同時に必要な場合、現在の制限はETRタイマ入力に基づき、カウンタリセット信号がタイマチャネル入力を介して入力されます。

11

タイマ電流制御とのコンパレータの連携

12• 内部コンパレータのリソースを使用した電流制御
TIMx

CH2CH2PWM出力

CH1ETR

ETR

BKIN

過電流（フォルト）（恒久的なシャットダウン）

内部コンパレータを使用した過電流（サイクル-バイ-サイクル制御）+
COMP1-+内部コンパレータを使用したZCD

COMP2-

この図は、タイマとCOMPユニット間の直接接続の例を示しています。
過電流保護ではETR入力を使用し、外部リセットではCH1入力を使用します。

12割込み割込みイベント
EXTI を介したコンパレータ出力

13説明
立上がり、または立下りエッジ、その両方を使用して設定可能• COMP出力はEXTIラインを通して割込みをトリガ可能• COMP1:EXTIライン21;COMP2:EXTIライン22;COMP3:EXTIライン29,• COMP4:EXTIライン30;COMP5:EXTIライン31;COMP6:EXTIライン32• COMP7:EXTIライン33
割込みイベント
NVIC へのコンパレータ出力

説明
割込みを生成するには AHB クロックが必要• COMP出力はNVICで割込みをトリガ可能• COMP1、COMP2、COMP3:NVIC位置64• COMP4、COMP5、COMP6:NVIC位置65• COMP7:NVIC位置66

コンパレータは、EXTIラインを通して出力されるコンパレータの立ち上がり、立下り、または両方のエッジに割込みをトリガできます。
これは、STOPモードを終了するために必要です。
出力は、CPUのネスト化されたベクタ割込みコントローラ（NVIC）に接続することもできます。

13

低電力モードモード

説明RUN

有効SLEEP

コンパレータに影響なし
コンパレータ割込みによって、デバイスはSLEEPモードを終了

STOP0
STOP1
STANDBY
SHUTDOWN

14

コンパレータに影響なし
コンパレータの割込みによって、デバイスはモードをSTOP0/STOP1終了
COMPレジスタの電源がオフになり、STANDBYモード、SHUTDOWNモード終了後に再初期化する必要がある

オンチップコンパレータは、次のモードでアクティブ状態を保ちます。RUN、SLEEP、STOPモード
STANDBYモードとSHUTDOWNモードでは、このモードではパワーダウンされ、より高い動作モードのいずれかに戻る場合には、使用するために再初期化する必要があります。
コンパレータは、EXTIユニットを介してSLEEPモードとSTOPモードからのウェイクアップで割込み生成をサポートします。

14

関連ペリフェラル

15• このペリフェラルに関連するペリフェラルのトレーニングは以下を参照
してください。
• IMX - 相互接続マトリックス• TIM - タイマ• HRTIM - 高分解能タイマ• EXTI - 拡張割り込みおよびイベント・コントローラ• GPIO - 汎用入力/出力• D/Aコンバータ

COMPユニットに関連するペリフェラルのリストです。
必要に応じて、これらのペリフェラルトレーニングを参照してください。

15