STM32MP1 – A/D コンバータ
A/D コンバータ
1.0 版

STM32 A/D コンバータブロックのプレゼンテーションにようこそ。
ここでは、センサ出力のような外部アナログ電圧をデジタル値に変換するブロックの主な機能について説明します。

1

概要

2

• アナログデジタル変換を提供します。
• 最大 20 個の入力チャネルを備えた 2 つの A/D コン
バータ
19:00
mux

SAR
A/D コンバータ

16bit• 16bit 構造（オーバーサンプリングで最大 21bit）• ノイズレベルによって 14bit に制限された ENOB
• 最大 4.0M サンプル/秒（14bit 分解能）• A/D コンバータごとに 3 個のアナログウォッチドッグ• DMA リクエストの生成

オーバーサンプリング回路• 割込みの生成アナログ ウォッチドッグ

DMA／割込み生成

アプリケーション側の利点
x2• 超低消費電力：210µA @ 1M サンプル/秒• 柔軟性の高いトリガ、CPU の負荷を軽減するデータ管理

STM32 製品内の A/D コンバータによって、マイクロコントローラはセンサ出力のようなアナログ値を受け取って、その信号をデジタルドメインに変換できます。3 個の A/D コンバータで使用できるアナログ入力が最大 20 チャンネルあります。この A/D コン
バータモジュール自体は、追加のオーバーサンプリングハードウェアを備えた 16bit の逐次比較型コンバータです。ノイズレベルのため、14bit 相当のパフォーマンスのみ実現できます。16bitを超えるパフォーマンスを実現するには、オーバーサンプリング法を活用する必要があります。特定の条件下で、オーバーサンプリングされた出力の結果は 21bit になります。サンプリング速度は、14bit 分解能で 1 秒あたり 4M サンプルです。各 A/D コン
バータモジュールにはアナログウォッチドッグが組み込まれています。このデータは、DMA の移動または割込みで使用できるようになります。この A/D コンバータは、低電力かつ高性能向けに設計されています。数多くのトリガメカニズムがあり、CPU の負荷を最小限に抑えるようにデータ管理を設定できます。

2

主な機能機能3

説明

A/D コンバータユニット

モジュール 2 個

入力チャネルA/D コンバータごとに最大 20 個の外部（GPIO）または内部チャネル
16bit の逐次比較型

変換時間250ns、4M サンプル/秒（fADC_CLK = 36MHz、14bit の場合）

機能モード

シングル、連続、スキャン、不連続、インジェクトトリガ

ソフトウェアトリガまたは外部トリガ（タイマと IO の場合）

特別な機能

アナログウォッチドッグ、ハードウェアオーバーサンプリング、自己較正

データ処理

割込み生成、DMA リクエスト

低電力モードディープパワーダウン、自動遅延、速度に依存した消費電力

2 個のアナログデジタルウォッチドッグが STM32MP1 製品内に組み込まれています。入力チャネルは、シングルエンドモードまたは差動モードで信号を変換できる最大 20 個のチャネルに接続されます。A/D コンバータは、14bit 分解能で 1 秒あたり 4Mサンプルの信号を変換できます。機能的なモードがいくつかありますが、後ほど説明します。トリガ方式も複数あります。CPU の負荷を軽減するために、A/D コンバータにはしきい値を監視するためのアナログウォッチドッグがあります。また、A/D コンバータ
は最終的な変換値のビット数を拡張するオーバーサンプリングも備えています。電力の影響を受けやすいアプリケーション向けに、A/D コンバータは数多くの低電力機能を備えています。

3ブロック図VREF+
VDDA

ADEN/ADDISSAR
A/Dコンバータ
開始

レギュラデータレジスタ（12bits）

開始 & 停止
制御

3 個のアナログウォッチドッグ

ソフトウェア
トリガ

トリガ信号

アド
レス
／データバス

インジェクトデータレジスタ（ 4x12bits）

割込みの生成ハード
ウェア
トリガ

アナログウォッチドッグ
高しきい値レジスタ（ 12bits）
低しきい値レジスタ（ 12bits）

J ソフトウェア
トリガ

NVIC へのA/D コンバータ割込み

タイマへ

AWD3_OUT

GPIO

サンプルおよびホールド

DMA リクエスト

AWD2_OUT

GPIO

ADCAL

AWD1_OUT

アナログマルチ
プレクサ

GPIO

インジェクトトリガ信号

4x2

このスライドでは、STM32MP1 マイクロプロセッサに組み込まれている 3 個のA/D コンバータの一般的なブロック図を示しています。

4低電力機能5

複数の低電力機能を実装• ディープパワーダウンモード

VDDA• リークを削減するためにパワースイッチで A/D コンバータの内部電源を無効にできます。

ディープパワーダウン• 自動遅延変換

A/D コンバータ• A/D コンバータは最後のデータが読み出されるまで自動的に待機します。

• サンプリング時間に応じた消費電力• 2.4mA @ 4M サンプル/秒、650µA @1M サンプル/秒

VREF+

変換

自動ウェイト

データレディ
データ読出しSTM32MP1 の A/D コンバータは、ディープパワーダウンモードをサポートしています。A/D コンバータが使用されていないとき、パワースイッチで切断してリーク電流をさらに削減できます。自動遅延モードを使用すると、A/D コンバータは次の変換を開始する前に最後の変換データが読み出されるまで待機します。これによって不要な変換を回避して、消費電力を抑えられます。消費電力は、サンプリング周波数と相関があります。低いサンプリングレートの場合、消費電流はほぼ比例した形で抑えられます。

5ハイパフォーマンス機能

6

複数のハイパフォーマンス機能を実装• 36MHz A/D コンバータクロック @14bit 変換では 4M サンプル/秒

SAR
A/D コンバータ• 最大 7.2M サンプル/秒をサポート可能なインタリーブモード• 柔軟性の高いシーケンサ• オフセットを低減する自動較正、直線性の向上（シングル最大）

7.2M サンプル/秒

SAR
A/D コンバータ• ハードウェアオーバーサンプリング• CPU サポートなしで 21bit データ出力可能なアキュムレータとビットシフタ

4.0M サンプル/秒（デュアル最大）SAR
A/D コンバータ+

アキュムレーション
データレジスタ

CH1

CH2

CH8CH1

データ
シフタ

21bit
出力

CH3

1.5サイクル
32.5サイクル
16.5サイクル
8.5サイクル
1.5サイクル

A/D コンバータは、14bit 変換で 1 秒あたり最大 4M サンプルをサポートします。デュアルインタリーブモードを使用することで、1秒あたり 7.2M サンプルまで拡張できます。A/D コンバータには、CPU のサポートなしにデータを累積・分割するオーバーサンプリ
ングハードウェアが搭載されています。オーバーサンプリング回路では、2～1024 倍のサンプルに対応でき、1～8bit 右シフト処理できます。シーケンサによって、ユーザは最大 16 個のチャネルを好きな順に変換できます。また、各チャネルに異なるサンプリング期間を設定できます。A/D コンバータは、オフセットと直線性のための自動較正メカニズムを備えています。リセットや、アナログ電圧電源を取り外して元に戻した際の低電力状態から発生する場合も含め、基準電圧が 10% 以上変化する場合、アプリ
ケーションで較正の実行をお勧めします。

6A/D コンバータ変換速度7

変換速度は分解能に依存• A/D コンバータはサンプリング期間に最低1.5ADC_CLKs、変換（14bit）に最低 7.5ADC_CLKs必要となります。

分解能t変換• 9 サイクルで 36MHz の最大クロックの場合、4M サンプル/秒となります。

16bit

8.5サイクル

14bit

7.5サイクル• 低分解能で高速化します。

12bit

6.5サイクル• 12bit：6.5ADC_CLKs（+1.5） => 4.5M サンプル/秒

10bit5.5サイクル• 10bit：5.5ADC_CLKs（+1.5） => 5.1M サンプル/秒

8bit4.5サイクル• 16bit：8.5ADC_CLKs（+1.5） => 3.6M サンプル/秒•

8bit：4.5ADC_CLKs（+1.5） => 6.0M サンプル/秒

A/D コンバータはサンプリングに最低 1.5 クロックサイクル、14bit モードの変換に最低 7.5 クロックサイクル必要となります。
36MHz A/D コンバータクロックなら、1 秒あたり 4M サンプルを実現できます。サンプリング速度を上げるために、8bit まで分解能を下げれば、サンプリング速度を 1 秒あたり 6M サンプルまで上昇させることができます。

7サンプリング時間

8

プログラム可能なサンプリング時間• 次のサンプリング時間を選択できます。
•1.5サイクル•••

2.5サイクル
8.5サイクル
16.5サイクル•

32.5サイクル•

64.5サイクル• 387.5サイクル• 810.5サイクル• スキャンモードを選択すれば、各入力チャネルのサンプリング時間を変更できます。
• 1 個の A/D コンバータでさまざまなソースインピーダンスの異なる入力ソースをスキャンできます。

サンプリング時間は、A/D コンバータの入力チャネルごとに個別にプログラムできます。このスライドに列挙されている A/D コン
バータクロックサイクルでのサンプリング時間を設定できます。サンプリング時間が長くなれば、より高いインピーダンスの信号を正しく変換できます。

8

A/D コンバータクロック

9

柔軟性の高いクロック選択• A/D コンバータクロックは、次から選択できます。
• 1 分周、2 分周、4 分周された AHB クロック
トリガイベントが AHB クロックに依存している
場合、イベントと変換の開始の間の遅延が確定的になります。
• 専用 A/D コンバータクロック
独立しており、システムクロック（AHB）とは非同期です。A/D コンバータがフルスピードで実行している場合でも、CPU は低速で実行できます。adc_ker_ck ソースは、独立した PLLに接続できます。

A/D コンバータ1、A/D コンバータ2、A/D コンバータ3

HCLK

AHB インタフェース

リセット&
クロック

A/D コンバータ1（マスタ）

コントローラ/1、/2 または /4
adc_ker_ck

A/D コンバータ2（スレーブ）/1～/256CKMODE[0:1]

A/D コンバータには、選択可能なクロックソースがあります。シス
テムを同期して実行する必要がある場合、AHB クロックソースが最適です。低速の CPU 速度が求められつつ、A/D コンバータではより高いサンプリングレートが必要となった場合、専用 A/D コンバータクロックを選択できます。adc_ker_ck ソースは、独立した PLL に選択できます。

9

A/D コンバータ変換モード

10異なる変換モード
開始

開始

開始

CHx

CHx

CHx
..
.

停止

CHn

開始

CHx
..
.

CHn

停止

開始
CHx
停止／開始..
.

停止／開始

CHn

停止シングルシングル連続

スキャン：
マルチチャネル

スキャン：連続（マルチチャネル繰り返し）

不連続モードA/D コンバータは複数の変換モードをサポートしています。


シングルショットまたは連続モードでチャネルを 1 個だけ変換するシングルモード
シングルショットまたは連続モードで事前定義されたプログラ
ム済みの入力チャネルのセットを変換するスキャンモード
事前定義されたプログラム済み入力チャネルのリストから各トリガ信号につきチャネルを 1 個だけ変換する不連続モード

10ハードウェアオーバーサンプリング

11

CPU の負荷を軽減するためのデータの前処理• プログラム可能なオーバーサンプリング比：
x2～x1024

SAR
A/D コンバータ+アキュムレーション
データレジスタ• プログラム可能なデータシフタとトランケータ
左シフト 0～15bit、右シフト 0～11bit• 最大 32bit のデータ幅• 平均化、データレートの削減、SNR の向上、基本的フィルタリング

データシフタトランケータ

32bit データ出力

オーバーサンプリング比

出力分解能

相当するサンプリング
周波数（最大）x1（なし）

16bit

3.6M サンプル/秒

x1618bit

225K サンプル/秒x256

20bit

14K サンプル/秒

x1024

21bit

2.9K サンプル/秒

A/D コンバータはハードウェアオーバーサンプリングをサポートしています。CPU サポートなしで 2～1024 倍のサンプリングが可能です。変換されたデータはレジスタに累積され、出力はデータシフタやトランケータで処理できます。
16bit データは、32bit データレジスタとして存在するように拡張できます。この機能は、平均化機能、データレートの軽減、信号対雑音比の改善、基本的なフィルタリングに使用できます。

11アナログウォッチドッグ

12

ソフトウェアによるオーバヘッド負荷を低減• 2 個の A/D コンバータのそれぞれに 3 個のウィンドウコンパレータがあります。
• 1 個の 26bit アナログウォッチドッグで、選択した 1 チャネルまたはすべての有効なチャネルを監視できます。
• 2 個の 26bit アナログウォッチドッグで、複数の選択したチャネルを監視できます。

SARA/D コンバータ

高しきい値
低しきい値

割込み／信号ジェネレータ

• 各ウォッチドッグは、しきい値を超える条件や下回る条件を継続的に監視して、割込みや外部信号を生成するか、タイマを停止させます。

各 A/D コンバータには、高しきい値と低しきい値の設定がある組込みアナログウォッチドッグがあります。A/D コンバータの変換値は、この枠のしきい値と比較されます。結果がしきい値を超えている場合、割込みや外部信号を生成したり、CPU 介入なしで即座にタイマを停止させたりできます。

12

データ転送13

ソフトウェアによるオーバヘッド負荷を低減• レギュラ変換データは 32bit のデータレジスタに格納• ソフトウェアポーリング、割込み、DMA リクエストはデータの移動に使用可能。
• 以前に変換したデータが現在のデータで上書きされると、OVERRUN フラグがセットされる。
• アナログウォッチドッグでは、各データの処理は不要。OVERRUN フラグを無効にできる。

• インジェクト変換データは 4 個の 32bit のデータレジスタに格納• インジェクト変換データは専用レジスタに格納される。インジェクト変換が発生した場合でも、レギュラデータシーケンスを保持可能。

A/D コンバータの変換結果は 32bit のデータレジスタに格納されます。システムでは、CPU ポーリング、割込み、DMA を使用して、変換データを利用できます。次の変換データが準備できる前に、データが読み出されない場合、オーバーランフラグを生成できます。インジェクトチャネル変換の場合、4 個の専用データレジスタが使用できます。

13インジェクト変換

14

A/D コンバータ変換中の割込み• A/D コンバータは、レギュラ変換が実行中の場合でもインジェクトトリガを受け入れ可能• トリガによってレギュラ変換が停止し、インジェクト変換を開始。
1 回のトリガで最大 4 個のインジェクト変換が可能。
• インジェクト変換が終了すると、自動レジューム。
• 4 個の専用 32bit データレジスタがインジェクト変換の結果に対して使用可能。
• 割込みか、ユーザのファームウェアで使用するフラグを作成。
• インジェクト変換のキューは、動作中に再プログラム可能。

インジェクト変換は、レギュラ変換に割り込んで最大 4 個のチャネル変換を挿入するために使用されます。インジェクト変換が終了したら、レギュラ変換シーケンスを再開できます。インジェクト変換の結果は専用データレジスタに格納されます。フラグおよび割込みは、変換終了またはシーケンス終了で使用できます。イン
ジェクトチャネルの選択は、動作中に再プログラムできます。レギュラ変換やインジェクト変換が進行中の場合でも、異なるチャネルをキューに追加して、次のインジェクトチャネルを前のチャネルから変更できます。

14割込みおよび DMA
割込みイベント

説明

割込みイベント説明

ADRDY

The ADC is ready to convert(A/D コンバータは変換開始可能)

AWDx

An analog watchdog thresholdbreach detection occurs(アナログウォッチドッグしきい値違反を検出)

EOC

The end of regular conversion(レギュラ変換の終了)

EOSMP

The end of a sampling phase(サンプリングフェーズの終了)

EOS

The end of sequence for regularconversion group(レギュラ変換グループの OVRシーケンスの終了)

A data overrun occurs(データオーバーランが発生)

JEOC

The end of injected conversion(インジェクト変換の終了)

The injected sequence context
queue overflows(インジェクトシーケンスのコンテキストキューがオーバーフロー)JEOS

The end of sequence of an injectedconversion group(インジェクト変換グループのシーケンスの終了)

JQOVF

15

• DMA リクエストは、各チャネルの変換終了後に生成可能

各 A/D コンバータは 9 種類の割込みを生成します。A/D コン
バータレディ、変換終了、シーケンス終了、インジェクト変換終了、インジェクトシーケンス終了、アナログウォッチドッグ、サンプリング終了、データオーバーラン、インジェクトシーケンスのコンテキストキューのオーバーフローです。
A/D コンバータ出力データが準備できると、各変換終了時にDMA リクエストを生成できます。

15

低電力モード
MPU/MCU ドメインの状態

ドメインに割り当てられるペリフェラルの説明

CRunアクティブ

CSleep

アクティブ ペリフェラル割込みによって、デバイスは SLEEP モードを終了

Stop + LP STOP

停止 ペリフェラルレジスタの内容は保持

LPLV STOP

停止 ペリフェラルレジスタの内容は保持

STANDBY またはSHUTDOWN

パワーダウン状態 ペリフェラルは、STANBY モード終了後に再初期化する必要あり• ディープパワーダウンモードでは、各 A/D コンバータのアナログ部分がオンチップパワースイッチでオフに切り替わる。較正データは保持。

A/D コンバータは CRun モードや CSleep モードでアクティブになります。Stop、LP Stop、LPLV Stop のモードでは、A/D コンバータを使用できませんが、レジスタの内容は保持されます。
STANDBY モードでは、A/D コンバータがパワーダウン状態となり、高い電力状態に戻る際に再初期化する必要があります。各
A/D コンバータ自体がオンチップパワースイッチをオフにしてリークを抑えるディープパワーダウンモードもあります。これは、A/Dコンバータが使用されていない場合にお勧めのモードです。

16

性能状態

データ（標準）単位

16bit モード

3.6

M サンプル/秒

14bit モード

4.0

M サンプル/秒

8bit モード

6.0M サンプル/秒

DNL（シングルエンド）±3.0

LSBINL

16bit モード

±6.0

LSBENOB

16bit モード
（シングルエンド）

12.5

bit

16bit モード（差動）

13.3

bit

3.6M サンプル/秒

2.41mA

1M サンプル/秒

650µA

サンプリングレート

消費電流

17

次の表には、A/D コンバータのパフォーマンスパラメータを示しています。すべての値は事前設定です。
16bit モードの ENOB は、システムのノイズレベルによって14bit 未満になった場合に飽和します。オーバーサンプリング
モードを使用すると、ENOB をさらに拡張できます。

17

関連するペリフェラル

18• 必要に応じて、次のペリフェラルに関するトレーニングを参照• DMA – ダイレクトメモリアクセスコントローラ• 割込み• GPIO – General-purpose inputs and outputs(汎用入出力)• RCC – Clock module(クロックモジュール)• DAC – Digital-to-analog converter(D/A コンバータ)• TIM – Timers for triggering interrupts and events(割込みとイベントをトリガするタイマ)• DFSDM – Digital filter for sigma delta modulators(デルタシグマ変調器のデジタルフィルタ)

これらのペリフェラルは、A/D コンバータと正しく使用するために特別に設定しなければならない場合があります。詳細については、対応するペリフェラルのトレーニングモジュールを参照してください。

18

各 A/D コンバータの機能
A/D コンバータの機能

A/D コンバータ 1

デュアルモード

マスタ

スレーブ

相互接続

MLAHB

MLAHB

内部チャネル接続

19

A/D コンバータ 2

VSENSE、VREFINT、VDDCORE、VBAT/4、
DAC 1 出力、DAC2 出力

STM32MP1 には、2 つの A/D コンバータが組み込まれています。 A/D コンバータ 1 および A/D コンバータ 2 は、デュアルモードでともに動作するように設定でき、アナログデジタル変換ごとに 2 つのモジュール間で同期できます。
A/D コンバータ 3 はスタンドアロンコンバータとして機能します。

19

参照

20

• 詳細については、次のリソースを参照してください。
• アプリケーションノート AN2834：How to get the best ADC accuracy in STM32Fx Series andSTM32L1 Series devices• アプリケーションノート AN4073：How to improve ADC accuracy when using STM32F2xx
and STM32F4xx microcontrollers• アプリケーションノート AN2668：Improving STM32F1x and STM32L1x ADC resolution byoversampling• アプリケーションノート AN4629：ADC hardware oversampling for microcontrollers of theSTM32 L0 and L4 series

A/D コンバータに特化した複数のアプリケーションノートが利用できます。A/D コンバータの詳細については、逐次比較型A/D コンバータについて説明しているウェブページを参照してください。

20