STM32H7 - D/Aコンバータ
D/Aコンバータ
1.0版

こんにちは、STM32H7デジタルアナログコンバータのプレゼンテーションへようこそ。
このブロックは、デジタル信号を外部の世界とインターフェイスできるアナログ電圧に変換するために使用されます。

1

概要2

• デジタルデータをアナログ出力に変換• 8ビットまたは12ビット･モード• 2つのD/Aコンバータ･モジュール

VREF+
12

• 低電力サンプル & ホールド･モード

12ビット
R-2R
D/Aコン
バータ

DAC_OUT
バッファ

アプリケーション側のメリット••

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

STM32H7 D/Aコンバータは、8ビットまたは12ビットのデジタルデータをアナログ電圧に変換します。2つのD/Aコンバータ
モジュールがSTM32H7に内蔵されています。
低電力サンプル&ホールド・モードも統合されています。
D/Aコンバータは外部ポテンショメータまたはバイアス回路とインタフェイス可能です。
また、音声や任意の信号を作成することができます。

2

主な機能

3

• 8ビットまたは12ビット･モード• 10ビット単調性を保証• バッファード出力• 低電力アプリケーションのサンプル & ホールド・モード• 同期更新機能• DMA機能• 複数のトリガ入力• ノイズ波、三角波発生

STM32H7内蔵のD/Aコンバータは、8ビットまたは12ビット・モードでシンプルなデジタル・アナログ変換を提供します。10ビット単調性が保証されます。
D/Aコンバータ出力は、外部負荷を駆動するための低インピーダンスバッファを持つことができます。そのサンプル&ホールドモードは、消費電力を大幅に削減することができます。
2つのD/Aコンバータを同期させることができます。
入力データは、CPUの負荷をオフロードするDMAで転送することができます。
D/Aコンバータからの出力データは、ソフトウェアトリガの他にタイマや外部トリガで更新することができます。
また、三角波だけでなく、ノイズ波を発生させるための小さなロジックを内蔵しています。

3

ブロック図4

オフセット較正
制御ロジック
APB
インタフェイス

VREF+DataHold
register

データレジスタ

12

12ビット
R-2R
D/Aコン
バータ

DAC_OUT
バッファ

ノイズ/三角波

DMAリクエスト

トリガ
信号
x2

ここでは、簡略化されたデジタル-アナログ変換器のブロック
図を見ることができます。STM32H7は2つのD/Aコンバータモジュールを持っています。D/AコンバータはVDDAによって電源供給されます。

4

出力バッファを備えたD/Aコンバータ

5

異なる構成とのインタフェースが容易

• 出力
VREF+

• バッファ･モードを使用した低インピーダンス
出力12• R-2R型抵抗ラダーD/Aコンバータからの直接出力

12ビット
R-2R
D/Aコン
バータ

DAC_OUTバッファ• 出力インピーダンス ~12kΩ

D/Aコンバータ出力は、低インピーダンス負荷時にはバッファリングが可能です。バッファリングされていない場合は、出力はR-2R抵抗ラダーネットワークタイプのD/Aコンバータに直接接続されます。

5

D/Aコンバータ･データフォーマット(1/2)

6

柔軟なデータ入力形式• 8ビットモード:• 右揃えデータ入力（16ビット･データレジスタ）• デュアルチャネル･モード用8ビット + 8ビット
データ入力

D7 D6 D5 D4 D3 D2 D1 D0• 12ビットモード:• 右寄せデータ入力（16ビット･データレジスタ）• 左寄せデータ入力（16ビット･データレジスタ）

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コンバータは様々な入力フォーマットに対応しています。
8ビットモードでは、右揃えの8ビットデータフォーマットです。

6

D/Aコンバータ･データフォーマット(2/2)

7デュアルチャネル･モード• 8ビットモード• デュアルチャネル･モード用8ビット+8ビット
データ入力

3123

15

70

CH1CH2• 12ビットモード• デュアルチャネル･モード用
12ビット + 12ビット右揃えデータ入力• デュアルチャネル･モード用
12ビット + 12ビット左寄せデータ入力

31

23

15CH23123CH2

70

CH1
15

70CH1

デュアルチャネルモードでは、2つのD/Aコンバータに同時に入力データを提供することが出来る、8ビット＋8ビットのデータフォーマットです。12ビット+12ビットでは、右揃えまたは左揃えのモードを入力データに使用することができます。

7

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

8

D/Aコンバータを起動するためのいくつかのトリガ• 変換を開始• 自動的にデータホールド･レジスタへの書き込み• トリガ変換によって• 12種類のタイマ出力• 外部I/Oトリガ• ソフトウェア･トリガビットの設定

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

8サンプル & ホールド機能

9低電力モード• “サンプル & ホールド"機能は、非常に低消費電力の場合に利用可能

D/Aコンバータ(サンプル &ホールド･モード)

CloadVout

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

Vout

D/Aコンバータには、サンプル＆ホールドモード機能を搭載しています。D/Aコンバータは間欠的に動作し、外部または内部コンデンサを充電し、出力電圧がホールドコンデンサに保持されている間、パワーダウンさせることができます。一定期間後、D/Aコンバータは再び電源を入れ、ホールドコンデンサを充電します。

9サンプル & ホールド機能

10

低電力モード• “サンプル & ホールド"機能は、非常に低い電力要件で利用可能• D/Aコンバータを“サンプル & ホールド"モードに設定すると、変換された出力電圧を生成することができ、アクティブ回路をオフにすることが出来る

D/Aコンバータ(サンプル &ホールド･モード)

Cload

Vout

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

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リクエストは、外部トリガが発生したときに生成• データホールド・レジスタの値がデータ出力レジスタに転送• 割り込み機能を備えたDMAアンダーラン

CPURAM(パターン1)(パターン2)DMA

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

Channelxoutput• 安定したサンプリング時間ベースの出力(タイマ制御)を生成可能

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

12

割込みとDMA
割込みイベント
DMAアンダーラン

DMAイベント
DMAリクエスト

13

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

説明
DMAENxビットが設定されている場合の外部トリガ

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

13

低電力モード

14Descriptionモード
RUN

有効

SLEEP

有効STOP

有効

STANDBY

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

D/Aコンバータは、RUN、SLEEP、およびSTOPの低電力モードで有効です。
STANDBYモードでは、D/Aコンバータの電源がオフになり、後で再初期化する必要があります。

14パフォーマンス値(typ.)

単位

VDDA

1.8~3.6

V

単調性

10ビット

DNL

+/-2

LSB

INL

+/-4

LSB

1kHz出力

10.9

ビット

差動

13.5ビット

バッファオン

170µA

バッファオフ

160µA+/-1LSB、C=10pF

1.7µs

10

メガサンプル/秒

条件

ENOB

消費電流
セトリング時間
サンプリングレート

15

この表は、D/Aコンバータの性能パラメータを示しています。
D/Aコンバータは1.8～3.6ボルトの間で動作します。10ビットの単調性が保証されています。消費電力は、バッファが有効の場合は170μA、バッファが無効の場合は160μAです。サンプル＆ホールドモードを使用することで、消費電流を大幅に削減することができます。条件とホールドコンデンサの特性にもよりますが、このモードでは1μA以下の消費電流が可能です。D/Aコンバータのバッファリング出力は、10pFの負荷で1.7μsecのセトリングタイムを持っています。D/Aコンバータは1秒間に1メガサンプルのサンプリングレートを扱うことができますが、外部コンポーネントを使用する場合は、1秒間に最大10メガサンプルをサポートすることができます。これについては、アプリケーションノートAN4566に詳細が記載されています。

15

関連するペリフェラル

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

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