STM32MP1 - D/A コンバータ
D/A コンバータ
0.1 版

STM32MP1 D/A コンバータのプレゼンテーションにようこそ。
このブロックは、デジタル信号を外部とインタフェース接続できるアナログ電圧に変換するために使用します。

1

概要

2

• デジタルデータをアナログ出力に変換します。
• 8 または 12bit モード• 2 個の D/A コンバータモジュール

VREF+
1212bit
R-2R
D/Aコンバータ• 低電力サンプルおよびホールドモード
DAC_OUT
バッファ

アプリケーション側の利点••

オンチップ D/A コンバータ は、ポテンショメータに代わって外部バイアス回路を制御できます。
また、音声および任意の信号ジェネレータとしても機能します。

STM32MP1 D/A コンバータは、8 または 12bit デジタルデータをアナログ電圧に変換します。2 個の D/A コンバータ
モジュールが STM32MP1 マイクロプロセッサに組み込まれています。
低電力サンプルおよびホールドモードも組み込まれています。
D/A コンバータ は、外部のポートやバイアス回路とインタフェース接続できます。また、音声および任意の信号も生成できます。

2

• 8 または 12bit モード

主な機能

3

• 10bit の単調出力を保証• バッファ有出力• 低電力アプリケーションのサンプルおよびホールドモード• 同期更新機能• DMA 機能
• 複数のトリガ入力• ノイズ波、三角波の生成

STM32MP1 製品内の D/A コンバータは、8 または 12bitモードでのシンプルなデジタルアナログ変換を備えており、10bit の単調出力を保証します。D/A コンバータ 出力にはローインピーダンスバッファがあり、外部負荷を駆動します。
サンプルおよびホールドモードを使用すれば、消費電力を大幅に削減できます。2 個の D/A コンバータは互いに同期することもできます。入力データは DMA で転送でき、CPU の負荷を軽減します。D/A コンバータの 出力データは、タイマや外部トリガ、ソフトウェアトリガで更新できます。また、内蔵の小規模ロジックによりノイズ波や三角波を生成できます。

3

ブロック図4オフセット較正
制御ロジック

VREF+

APB
インタフェース

データホールドレジスタ

データレジスタ1212bit
R-2R
D/A
コン
バータ

DAC_OUT
バッファ

ノイズ／三角DMA リクエスト

トリガ
信号x2

ここでは、D/A コンバータの簡略化されたブロック図を示します。STM32MP1 には、2 個組み込まれています。D/A コン
バータブロック は VDDA によって電源供給されます。

4

出力バッファ有の D/A コンバータ

5

簡単に異なる設定でインタフェース接続可能

• 出力

VREF+

• バッファ有モードを使用したローインピーダンス
出力12• R-2R タイプ抵抗ラダー D/A コンバータ からの元出力

12bit
R-2R
D/A
コン
バータ

DAC_OUTバッファ• 出力インピーダンスは、約13kΩ です。

D/A コンバータの出力はインピーダンス負荷を下げるためにバッファ有に設定できます。バッファ無の場合、出力は D/Aコンバータの R-2R 抵抗ラダータイプのネットワークタイプに直接接続されます。

5

D/A コンバータ データフォーマット（1/2）

6

柔軟性の高いデータ入力フォーマット

• 8bit モード：
• 右詰めデータ入力（16bit のデータレジスタ）• デュアルチャネルモードでは 8bit + 8bit のデータ入力

D7 D6 D5 D4 D3 D2 D1 D0• 12bit モード：
• 右詰めデータ入力（16bit のデータレジスタ）• 左詰めデータ入力（16bit のデータレジスタ）

D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

D/A コンバータは異なる入力フォーマットをサポートできます。
8bit モードでは、右詰め 8bit のデータフォーマットになります。

6

D/A コンバータ データフォーマット（2/2）

7デュアルチャネルモード• 8bit モード：
• デュアルチャネルモードでは 8bit + 8bit のデータ入力• 12bit モード：
• デュアルチャネルモードでは 12bit + 12bit右詰めのデータ入力• デュアルチャネルモードでは 12bit + 12bit
左詰めのデータ入力

3123157CH1CH2312315CH23123

CH2070CH11570CH1

デュアルチャネルモードでは、8bit + 8bit のデータフォーマッ
トで 2 個の D/A コンバータに同時に入力データを供給します。
12bit + 12bit では、入力データに右詰めモードまたは左詰めモードを使用できます。

7

D/A コンバータ 変換トリガ

8

D/A コンバータ を起動する複数のトリガ• 変換を開始できます。
• データホールドレジスタへの書込みによって自動的に開始します。
• トリガ変換は次の動作によって開始します。
• 12 種類のタイマ出力• 外部 I/O トリガ• ソフトウェアトリガビットのセット

D/A コンバータの出力変換は、ソフトウェアを使用したデータホールドレジスタへの書込みによって開始します。12 種類のタイマ出力、外部 I/O またはソフトウェアで D/A コンバータ変換をトリガできます。

8サンプルおよびホールド機能（1/2）

9低電力モード• 「サンプルおよびホールド」機能は、非常に低い電力要件で使用できます。

D/Aコンバータ（サンプルおよびホールドモード）

サンプリングCload

Vout

ホールド リフレッシュ

VOUT

D/A コンバータには、サンプルおよびホールドモード機能があります。D/A コンバータは断続的に動作可能で、外部コンデンサまたは内部コンデンサをチャージして、ホールドコンデンサに出力電圧を保持しつつパワーダウン状態にすることができます。一定期間後、D/A コンバータはパワーオン状態に復帰し、ホールドコンデンサを再チャージします。

9サンプルおよびホールド機能（2/2）

10低電力モード• 「サンプルおよびホールド」機能は、非常に低い電力要件で使用できます。

D/Aコンバータ（サンプルおよびホールドモード）

Cload

Vout

• D/A コンバータが「サンプルおよびホールド」モードに設定されているときは、変換した出力電圧を生成でき、アクティブな回路をオフにできます。

サンプルホールド リフレッシュ

Vout

この操作を行うと、D/A コンバータは非常に低いデューティサイクル中にのみアクティブになり、非常に低い消費電力となります。デューティサイクルのプログラムは非常に柔軟性の高い自律的なプログラムです。

10ノイズ波および三角波の生成

11

複数の波の生成• ノイズ生成• LFSR（線形フィードバックシフトレジスタ）に基づきます。
• 初期値 = 0xAAA• 算出されたノイズ値が、外部トリガを使用してオーバーフローなしでデータホールドレジスタに追加されます。

• 三角生成• アップダウンカウンタに基づいて、三角波を生成できます（各トリガで +/- 1 ステップのインクリメント）。

MAMPx[3:0]：
最大振幅

DAC_DHRx：
ベース値

D/A コンバータデジタルインタフェースには、2 個の特別な信号ジェネレータが組み込まれています。線形フィードバックシフトレジスタは、D/A コンバータ入力のノイズ信号を生成できます。トリガごとに、LFSR ブロックで D/A コンバータ出力データを更新します。
プログラム可能なカウント値のあるアップダウンカウンタで、D/A コンバータ出力データを更新できる三角波データを生成できます。データは、トリガ信号でも更新できます。

11

DMA 付き D/A コンバータ

12CPU の負荷軽減• 外部トリガが発生したときに、 D/AコンバータのDMA リクエストが生成されます。
• データホールドレジスタ値がデータ出力レジスタに転送されます。

CPURAM（パターン 1）（パターン 2）DMA

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

チャネル x
出力• 割込み機能で DMA アンダーランが発生します。
• 安定したサンプリング時間ベース（タイマ制御）の出力を生成できます。

D/A コンバータは、トリガ信号から DMA リクエストも生成できます。トリガが検出されると、データホールドレジスタ値がデータ出力レジスタに転送されます。次に、データホールドレジスタの新しいデータを取得するために、DMA リクエストが生成されます。出力データレジスタの更新はトリガ信号によって直接開始されるため、D/A コンバータ出力信号にジッタはなく、安定したサンプリング時間信号出力を生成でき、サンプリング周波数をフィルタしやすくなります。

12割込みおよび DMA
割込みイベント
DMA アンダーラン

DMA イベント
DMA リクエスト

説明
DMA リクエストが次の外部トリガによって処理されない場合

説明
DMAENx bit がセットされたときの外部トリガ

D/A コンバータは DMA アンダーラン割込みを生成できます。
メモリからデータを転送するために、DMA リクエストを生成できます。

13

低電力モード
モード

説明

CRUN

アクティブです。

CSLEEP

アクティブです。出力データは DMA によって更新できます。

STOP + LP STOP

アクティブです。静的出力値かサンプルおよびホールドモードで、D/A コンバータはアクティブなままになります。

LPLV STOP

アクティブです。静的出力値かサンプルおよびホールドモードで、D/A コンバータはアクティブなままになります。

STANDBY

パワーダウン状態です。ペリフェラルは、STANBY モード終了後に再初期化する必要があります。

D/A コンバータは、CRUN、CSLEEP、STOP、LP STOP、LPLV STOP の低電力モードではアクティブになります。
STANDBY モードでは、D/A コンバータはパワーダウン状態となり、後で再初期化する必要があります。

14

パフォーマンス状態値（標準）単位

VDDA

1.8～3.6V

単調出力

10bit

DNL+/- 2LSB

INL+/- 4LSB

ENOB

1kHz 出力

10.9bit

消費バッファオン

TBDµA

バッファオフTBDµA+/- 1LSB、C = 10pF

2.0µs

1.0

M サンプル/秒

安定時間
サンプリングレート15

次の表には、D/A コンバータのパフォーマンスパラメータをいくつか示しています。D/A コンバータは 1.8～3.6V で動作します。10bit の単調出力が保証されています。サンプリングおよびホールドモードを使用すると、消費電流が大幅に減少します。条件やホールドコンデンサの特性に応じて、このモード
では 1µA 未満の消費電流を実現できます。D/A コンバータのバッファ有出力では、10pF の負荷で 2 マイクロ秒の安定時間があります。D/A コンバータは、1 秒あたり 1M サンプルのサンプリングレートを処理できます。外部コンポーネントを使用している場合、1 秒あたり 10M サンプルまでサポートできます。これについては、アプリケーションノート AN4566 で詳しく説明します。

15

関連するペリフェラル

16• 本ペリフェラルに関連する以下のペリフェラルのトレーニングを参照してください。
• DMA – ダイレクトメモリアクセス• 割込み• GPIO – 汎用入出力• TIM – タイマ• ADC – A/D コンバータ• COMP – コンパレータ• Op Amp – オペアンプ

これは、D/A コンバータに関連するペリフェラルの一覧です。
詳細については、必要に応じてこれらのペリフェラルのトレーニングを参照してください。

16

参照

17

• 詳細については、次のリソースを参照してください。
• AN3126：Audio and waveform generation using the DAC in STM32 microcontrollers• AN4566：Extending the DAC performance of STM32 microcontrollers

D/A コンバータの項目に特化したアプリケーションノートも参照できます。

17