STM32MP1 - DFSDM
デルタシグマモジュレータ向け
デジタルフィルタインタフェース

1.0 版

こんにちは、STM32 のデルタシグマモジュレータ向けデジタ
ルフィルタインタフェースのプレゼンテーションへようこそ。このプレゼンテーションでは、外部にアナログパーツを持ち、速度と分解能の比率の設定ができ、アナログデジタルコンバー
タ（A/D コンバータ）のように動作する、このインタフェースの機能を説明します。

1

DFSDM：紹介と代表的な活用法

2

スケーラブルな速度／分解能と外部にアナログフロントエンドを備えた A/D コンバータのように動作
アナログ
入力

U

アナログ
部
外部SD
モジュレータ• アナログ部とデジタル部への分割：

DATA
CLK

• アナログ部の外部化によるメリット• 内部のデジタル機能（DFSDM）によるメリット
高速
シリアル
ライン

オプション
オプティカル・ア
イソレーション

1bit データ
ストリーム

DFSDM

STM32
スプレッドアーキテクチャの A/D コンバータ

アプリケーション側の利点• 外部アナログ部：ニーズに応じた選択：精度、低ノイズ、超高速、ガルバニック絶縁、直線性、安価、高電圧側動作• デジタル部：シリアルラインインタフェース（1 または 2 線）、
スケーラブルな速度対分解能（最大 24bit）、A/D コンバータと同等の完全な機能• 例：電力量計、モータ制御、医療アプリケーション、MEMS
マイクロフォンオーディオなど

DFSDM ペリフェラルは STM32 マイクロコントローラに搭載した新しいデジタル
ペリフェラルです。その動作は、マイクロコントローラの外部にアナログ部を持つ
標準的な A/D コンバータに似ています。
主なメリットは、アナログ部をマイクロコントローラの外に移動し、内部に幅広い機能を備えたデジタル部を設けることで得られます。DFSDM とは、高速シリア
ルインタフェースを介してアナログ部とつながるデジタル部を意味します。外部
アナログ部は通常、多くのベンダが提供するデルタシグマモジュレータです。
この機能は、ユーザニーズに合った特定のアナログ部を選択する可能性を提供します。そのようなアナログ部にはモータ制御または計測アプリケーションに使用するガルバニック絶縁対応部品、センサデータの取得に使用する低ノイズで高精度のアナログ部品、または価格重視のアプリケーション向けの安価なアナログ部品が含まれます。最後に、アナログ部は DFSDM 向けにデジタル化されたデータを提供します。
デジタル部（DFSDM ペリフェラルと表現）は、外部データからのデジタル信号を処理します。このように、DFSDM は速度と分解能の間のスケーラブルな比率ソ
リューションだけでなく、標準の内蔵 A/D コンバータに統合されている追加の機能（アナログウォッチドッグ、通常のインジェクト変換、柔軟性の高いトリガシ
ステム、ブレーク信号生成、極値検出回路など）も提供します。PDM 出力データ
フォーマットを出力するデジタル MEMS マイクロフォンは、オーディオ信号を直接処理できる DFSDM に直接接続できます。
DFSDM はまた、外部シリアルデータと、CPU またはダイレクトメモリアクセス（DMA）コントローラがメモリから取り出す内部のパラレル 16bit データの転送を処理できます。

2

主な機能

3

CPU の負荷軽減と遅延時間を短くしたハードウェア安全機能• トランシーバ• 高速シリアル入力（20MHz）：• SPI またはマンチェスタ符号化モード（クロック不在検出あり）• クロック出力生成• 内部パラレルデータ入力• 16bit のレジスタデータ入力（CPU/DMA による書込み）• 内部 A/D コンバータから直接入力• フィルタ• 最大 1024 のオーバーサンプリング比を持つ Sinc1、
Sinc2、Sinc3、Sinc4、Sinc5、および FastSinc フィルタ
• 最大 1024 のオーバーサンプリング比を持つ積分器

アプリケーション側の利点• さまざまなSD モジュレータサプライヤ（ST、TI、アナログデバイスなど）をサ
ポート• フィルタ構成による速度対分解能の選
択• 内部データの後処理（SAR A/D コンバータの結果など）• 追加機能：ウォッチドッグ、短絡検出回
路、極値検出回路、オフセット補正

トランシーバは、外部のデルタシグマモジュレータにシリアル接続を提供します。設定可能なプロトコル（SPI またはマンチェスタ
符号化済）および設定可能なパラメータを使用したシリアル接続をサポートします。それらの機能については後で詳しく説明しま
す。トランシーバは、内部 A/D コンバータ、CPU、DMA コントロー
ラにより DFSDM 入力データレジスタに書き込まれる内部の16bit パラレルデータ入力もサポートします。
フィルタは、1bit ストリームフィルタの実行により低速で高出力分解能を提供する DFSDM 機能の中核を担います。デジタルフィ
ルタの後ろには追加的にデータの平均化を行う積分器が追加されています。
アプリケーションは、（さまざまなベンダの製造品から）さまざまなタイプのデルタシグマモジュレータを使用して設計できます。パラ
レルデータ入力機能は、内部データ（たとえば、内部 A/D コン
バータストリーム、オーディオデータフィルタリングなど）の後処理を実行できます。追加機能については後で詳しく説明します。

3

ブロック図内部の 16bit データ

A/D コンバータ データ

内部
A/D コンバータ

16 16
8 個の
パラレル
トランシーバ4

6 ユニット
16

M
U 32
1+1 X

デジタル
フィルタ
（Sinc）

32

積分器

32

出力データ
ユニット

B
U
S
24

CLK_OUT

外部
デルタシグマモジュレータ1+1

8 シリアルトランシーバ

1+1

24
Sinc フィルタ

最大 8 個のアナログ信号

8 短絡検出回路

6 ウォッチドッグ

6 極値検出回路

デルタシグマモジュレータ向けデジタルフィルタインタフェースの構成は以下の通りです。
• 8 シリアルトランシーバ• 6 Sinc フィルタ部品と積分器• 6 出力データユニット• 6 アナログウォッチドッグ• 8 短絡検出回路• 6 極値検出回路• 8 パラレルデータ入力レジスタ4

シリアルトランシーバ

5• 1 線式マンチェスタ符号化モード：システムコストが最小（入力チャネルごとにアイソレータ 1 個）

• 外部ピンに出力クロックを生成

DATA_IN

アナログ信号

シリアルトランシーバ 0

パルススキッパ

CLK_IN

CLK_INDATA_IN

アナログ信号

シリアルトランシーバ 7

クロック
データ

短絡検出回路アナログウォッチドッグ

パルススキッパ• SPI モード（クロックおよびデータ線）：立ち下がり／立ち上がりサンプリングエッジ、データレート測定、およびクロック
有無の検出

共通
CLK_OUT...

• どのようなSD モジュレータ出力プロトコルも以下を
サポート：

外部SD
モジュレータ• SD モジュレータから生の 1bit シリアルストリームを受信し、フィルタステージにデータとクロックを提供する（最大 8 個の入力シリアルチャネル）

外部SD
モジュレータ

SDすべてのデルタシグマモジュレータに適合

M
U 32
X

クロック
データ

8 シリアルトランシーバ
短絡検出回路アナログウォッチドッグ• システムクロックまたはオーディオ PLL クロック（分周器）
から取得

シリアルトランシーバは、外部のデルタシグマモジュレータとの接続を行います。

SPI モードは最大 20MHz（または DFSDM クロックを 4 分周）まで機能します。サンプリングエッジの選択、データレートの測定、クロッ
ク有無の監視など、設定可能なオプションがあります。
1 線式マンチェスタ符号化モード（データからクロックが回復される）は、最大 10MHz（または DFSDM クロックを 6 分周）まで機能します。
同期検出機能は、マンチェスタモードでも使用できます。
マンチェスタモードは、デルタシグマモジュレータをオプティカルアイソ
レーションする場合には、入力チャンネルごとに1つのアイソレータだけで済むため、システムコストを抑えることができます。
DFSDM クロックは、デルタシグマモジュレータを駆動するクロック出
力信号を備えています。内部相互接続により SPI クロック入力のソースとして使用して外部ピンを節約できます。
調整可能な分周係数を持つクロック出力は、システムクロックまたは微調整されたオーディオ PLL クロックで駆動されます。
パルススキッパモジュールの機能は、指定した数のサンプルをフィル
タに入る前のシリアルデータストリームから除去することです。パルス
スキッパは所定の入力チャネルに対して遅延ラインに似た動作を実装することを目的とし、ビームフォーミングアプリケーションで役に立ちます。
5パラレルトランシーバ

6

内部データの高速ハードウェアフィルタリング• 内部ソースからフィルタステージへの 16bit パ
ラレルデータストリームを受信（最大 8 個のパ
ラレルチャネル／レジスタ）• データの後処理

MEM2MEM モードで
CPU または DMA

内部
A/D コン
バータ

BUS

16

16/32

データ 1

データ 0

• 内部 A/D コンバータからのデータ処理

16• 収集したデータからのデータ後処理

16
8 個のパラレル入力レジスタ• DMA または CPU は入力レジスタにデータを
提供可能

M
U 32
X

DFSDM_CHDATINyR

パラレルトランシーバは、内部データソース、たとえばメモリ
バッファからパラレル入力を供給します。
パラレル入力は通常、A/D コンバータからの内部データまたは通信用ペリフェラルの収集データに対する高速ハードウェ
アフィルタリングに使用されます。
データは、メモリ間転送モードの CPU または DMA コント
ローラにより、 DFSDM パラレル入力レジスタに書き込まれます。内部アナログデジタルコンバータは、DFSDM パラレル
入力レジスタに直接データを送信できます。

6

Sincx/x デジタルフィルタ

7

CPU フリーデジタルフィルタリング• デジタルフィルタステージでは、入力データストリームのデジタルフィルタリングを実行

FOSR = 0 でバイパス• SD モジュレータからの入力データストリームの平均値は最終的なA/D コンバータ値となる（平均化）。
• Sincx フィルタは、所定数のサンプルに対して移動平均を実行（オーバーサンプリング比）。

フィルタ次数（FORD）

I

I

D

C

C

31+1

• 設定オプション：

31+1
デシメーションレート（FOSR）• フィルタタイプ：Sinc1、Sinc2、Sinc3、Sinc4、Sinc5、および FastSinc• オーバーサンプリング比（FOSR）：1-1024 （バイパス可能）• 速度対分解能バランスの選択• フィルタデータの分解能は 31bit（最大）6 個のフィルタユニット

デジタルフィルタは、デルタシグマモジュレータからの 1bit の入力データストリームを平均化して分解能を高めますが、データ出力は遅くなります。
デジタルフィルタは、1～5 の次数を持つ Sinc X タイプです。
FastSinc タイプのフィルタも選択できます。
オーバーサンプリング比は、1 回のフィルタリングで平均化できるサンプル数を表します。オーバーサンプリング比は 1～1024 の広い範囲から選択できます。
フィルタ次数とオーバーサンプリング比のすべての組み合わせが使用できるわけではありません。フィルタの次数が高い
場合、オーバーサンプリング比を下げて 31bit のデータ幅（内部フィルタ分解能）からオーバーフローしないようにする必要があるためです。

7

積分器ユニット

8

分解能のさらなる増加• 積分器ステージでは、追加の信号処理 – デジタルフィルタからのデータ平均化（N サンプルの加算）を実行
IOSR = 0 でバイパス• 設定：• 1～256 のサンプル（N）の加算• バイパス可能（IOSR = 0 の場合）

• 最終結果は出力データユニットに送信

31+1

𝑦(𝑚) =

𝑥(𝑛)31+1

6 積分器ユニット

積分器ユニットは、デジタルフィルタからのデータに対して単純な平均化処理を追加します。この処理は、デジタルフィルタからのデータを単純に合算するものです。
合計するサンプル数は 1～256 の範囲で設定できます。正しく設定するには、最終的なデータ長が内部積分器の分解能である
31bit 幅に収まるように注意する必要があります。デジタルフィル
タからのデータの幅も考慮する必要があります。

8

出力データユニット

9

CPU 不要の外部オフセットの除去とデータフォーマティング• 最終データに対して最終後処理機能を実行：

24bit のオフ
セットデータB
US
24+8• オフセット補正／減算
24• プログラム可能な右ビットシフト
31+1

右ビットシフト• オフセット補正機能：• オフセットは、各入力チャネルに対してユーザがレジスタに保存（ユーザ較正手順による）• 24bit の最終データレジスタ幅：• 内部の 31bit 分解能を最終的なデータレジスタ
分解能に変換する設定可能な右ビットシフト

24

オフセット補正

6 出力データユニット
DFSDMx_JDATARDFSDMx_RDATAR
31

16
MSB 出力データ（U2）

16
32

15

8 7
LSB 出力データ（U2）0チャネル情報DMA 転送出力データユニットは、最終データが最終データレジスタに書き込まれる前に最終データを調整します。
各チャネルのデータ結果から自動的に減算されるオフセット値は、オフセットレジスタで定義できます。正しいオフセット値は、較正
手順を使用して決定されます。この較正手順はユーザのファームウェアでプログラムする必要があり、接続するデルタシグマモ
ジュレータの種類とアプリケーションのニーズによって異なります。
最終出力データレジスタの最大分解能は 24bit ですが、内部分
解能は 31bit まで可能です。ただし、アプリケーションによっては、データ分解能が 8、12、16、または 24bit であるなどの固有の制
約があります。このため、データの右ビットシフトを実行して最終的なデータ結果に必要な幅を設定し、最終的なデータレジスタの24bit 幅をオーバーフローさせないオプションが用意されています。右ビットシフトは 0～31bit に設定できます。
最終的な分解能は、デジタルフィルタと積分器の設定、および右ビットシフトのオプションによって異なります。

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

10

安全および緊急機能：
重要なモータ制御値の監視など
6 個の最終データレジスタ

8 個のシリアル
入力チャネル1• 値が選択した範囲外にあるかどうかを監視• 最終データ結果の監視

24

16

0

0

• 安全／緊急機能のサポート

MUX• ブレークまたは割込み信号の生成• オーバーサンプリング範囲が 1～32 の Sinc1、Sinc2、Sinc3 フィルタ• ユーザはウォッチドッグデータフィルタを使用可能

8
16/24

<?<

16/24

高閾値

低閾値

• 入力チャネル監視に設定可能なフィルタを用意

16/24

8

• 高閾値と低閾値ごとに別のフラグ

いいえ

23

23
割込み

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

8 sinc1..3フィルタ• または独立した入力チャネルのデータ監視

タイマへのブレーク信号

アナログウォッチドッグは、サンプリングされたアナログデータを監視して、選択した高閾値と低閾値の範囲内にあるかどうかを確認します。アナログ
ウォッチドッグ機能への入力は、最終的に変換されたデータの結果から取得することも、設定可能なフィルタを経由して入力シリアルチャネルから直接取得することもできます。
データが許容範囲を超えると、割込みの起動とブレーク信号の生成を行います。割込みにより、ソフトウェアは次に取るべきアクションを決定します。
生成されたブレーク信号は、モータを制御するタイマーの停止など、ハード
ウェアによる直接の安全機能を実行できます。
高閾値のレベル、低閾値のレベル、およびそれぞれのフラグが別々に設定され、閾値に達したことがわかります。
アナログウォッチドッグは 2 種類のデータを監視できます。最初の種類は、
標準 A/D コンバータと同様の標準出力データです。2 番目の種類のデー
タは、設定可能な専用フィルタを経由してシリアルトランシーバから取得するものです。この 2 番目のオプションでは、必要な速度と分解能がフィルタパラメータで設定されている場合に、より高速な信号監視を選択できます。
それぞれのシリアルチャネルウォッチドッグフィルタは 1～3 に、またオーバーサンプリング比は 1～32 の範囲に設定可能です。これらのウォッチ
ドッグフィルタからのデータは、ユーザファームウェアでも読み取ることがで
きます。

10

短絡検出回路11

極めて高速な安全機能および緊急機能：
モータ制御での短絡監視など• 回路状態を非常に迅速に検出

シリアル入力トランシーバ• 入力信号の長時間の飽和は過電流（短絡）や過電圧の兆候がみえる• 信号が所定の時間、飽和しているとそれを検出• 設定可能な時間：SD ストリーム（すべて 1 または 0）内の、1～256 の連続する 1 または 0

連続する 1 または 0 のカウンタ

リミット• すべての入力チャネルを個別に監視• 主変換が停止したときも同様• 割込み生成（ソフトウェア介入のため）または
ブレーク信号（例：遅延なしで PWM 生成をシャットダウンするため）

<
はい

タイマへの
ブレーク信号

8 短絡検出回路

データ

クロック

経由）割込み短絡検出回路は、飽和状態について入力シリアルチャネルを監視します。入力信号の飽和は入力信号が許容される測定の範囲外にあることを意味し、信号のオーバーフローまたはアンダーフ
ローが発生している状況です。電流の測定イベントでは通常、過電流（または短絡）が検出され、また電圧の測定時に過電圧が検出されます。
入力信号の飽和の検出は、デルタシグマモジュレータからの入力シリアルデータストリームの監視、および比較的長時間にわた
る 1 または 0 の連続セットの有無の監視に基づいています。この最大飽和時間は、サンプリングされた入力データの、0 か 1 が連続している状態（1～256 の範囲）を指定することで設定できます。
監視は主変換とは独立して実行されます。主変換は、別のチャネルに切り替えることも停止することもできます。すべての入力
チャネルは、個別に飽和時間を設定して並行して監視できます。
飽和イベントが検出されると、割込みの起動やブレーク信号の生成が行われます。次に、アナログウォッチドッグと同様に、ソフトウェアが次のアクションを決定するか、ハードウェアブレーク信号
がソフトウェアの遅延なしで安全機能を実行します。たとえば、短絡を検出するとモータを制御するタイマを停止します。
11

極値検出回路12

ハードウェアによるピーク値の検出
例：オーディオデータの正規化• データ出力結果の最小値と最大値を監視

出力データ

24

• 出力データ値の最大値と最小値を、選択したチャネルのレジスタに保存最大値• ハードウェアにより極値を監視• 極値はソフトウェアによりリフレッシュ（最小／最大レジスタの読取りに基づく）

<
はい

最小値

>
はい

6 個の極値検出回路

極値検出回路は出力結果を監視し、極値を発生チャネル番号と共に最小値または最大値レジスタに保存します。
極値データの監視は、チャネルが異なる入力レベルと混合しない
よう、選択したチャネルでのみ実行されます。
保存された極値は、値がレジスタに読み込まれるたびにリフレッ
シュされます。

12

レギュラ変換• チャネルは 1 個のみ選択（8 個の入力チャネルから）

CLK_IN

デルタシグマモジュレータ
DATA_IN

チャネル
0

MUX

• 起動はソフトウェアからのみ（HW トリガなし）• 連続モード機能• インジェクト変換による迅速な割込みが可能

13

32bit

24bit

フィルタ
0

出力
データ

チャネル 0

SW スタート

CLK_IN

1

0

0

0

1

0

1

1

DATA_IN

最初の出力サンプル処理

2 番目の出力サンプル処理

出力データレジスタの最初の出力
サンプル（24bit）レディ

出力データレジスタの 2 番目の出力サンプル（24bit）レディ

レギュラ変換は優先度が低く、インジェクト変換による中断が可能です。レギュラ変換がインジェクト変換によって中断された場
合、レギュラ変換はインジェクト変換が終了すると再開され、この中断はレギュラ変換の遅延としてフラグが立ちます。レギュラ変換はソフトウェアでのみ起動でき、スキャンモードは使用できません。レギュラ変換は、チャネル切り替えのない連続モードで実行でき、フィルタのリフィルなしで高速モードで実行できます。
レギュラ変換は、温度や遅い信号を測定する場合など、タイミン
グが重要視されない測定に使用されます。
レギュラ変換は、通常、オーディオまたはエネルギー測定アプリ
ケーションなど、1 つのチャネルのみからの連続変換にも使用さ
れます。

13

MEMS マイクロフォン、
測定用 STPMS2••

インジェクト変換

より多くの入力チャネルに設定可能（インジェクト変換グループに追加）

CLK_IN

デルタシグマモジュレータ

スキャンモード（トリガイベントによる）：
選択したすべてのチャネル（グループ全体）が変換

チャネル
0

DATA_IN•

シングルモード（トリガイベントによる）：1 つのチャネルのみ変換され、次のチャネルが選択•

SW または HW トリガにより起動：タイマー出力または外部
ピン•

連続モードなし（タイマトリガモードによりエミュレート可能）

MUX
チャネル
1

14

32bit

24bit

フィルタ
0

出力
データ

トリガ
（すなわち、TIM1_TRGO）

チャネル 0チャネル 1チャネル 0

CLK_IN

1

0

0

0

0

1

1

1

1

1

0

0

DATA_IN
CH0 の最初の出力データ処理

CH1 の最初の出力データ処理
CH0_out[0]CH0 の 2 番目の出力データ処理
CH1_out[0]CH0_out[1]トリガ

インジェクト変換は高い優先度を持っています。レギュラ変換を即座に中断し、トリガの直後に開始します。入力チャネルはすべて、インジェクトチャネルグループに割当てできます。変換動作には、スキャンモードとシングルモードの 2 つのモードがあります。
スキャンインジェクトモードでは、トリガが発生すると、インジェクト
チャネルグループのすべてのチャネルが変換されます（グループ内の最小チャネル番号からスタートし順次最大チャネル番号へ
移動）。
シングルインジェクトモードでは、インジェクトチャネルグループの1 つのチャネルのみ変換され、次の変換を行うインジェクトグ
ループのチャネルが選択されます。次のトリガでこの次のチャネル変換が開始し、グループからまた別の数字のより大きなチャネ
ルが選択されます。
インジェクト変換は、ソフトウェアまたはハードウェア（タイマまたは外部ピンから）により起動します。
連続モードではインジェクト変換はできませんが、周期的なタイマ
トリガを使用すればエミュレートできます。
これらのモードにより、アプリケーションの要件に応じて適切な変換モードを選択できます。
14

MEMS マイクロフォンのサポート（PDM）

15

消費電力と CPU 使用率の削減
DFSDM ペリフェラル• PDM 出力をサポートするマイクロフォン
チャネル 7• シンプルな接続：• 両方の L/R マイクロフォンにワイヤが 2 本だけ（データとクロック信号が共通）• チャネル分離は内部で処理（L/R データに異なるサンプリングエッジを適用）。
。
。

ステレオマイクロフォン
DFSDM_DATIN3DFSDM_DATIN2

MEMS
マイクロフォン左L データ

DFSDM_DATIN1

クロック• フィルタの設定で出力データレートと分解能を設定MEMS
マイクロフォン
右

R データ

クロック

フィルタ 2フィルタ 1R

フィルタ 0L

チャネル 2チャネル 1- 直接入力- 立ち下がりエッジでサンプリング（R データ）チャネル 0- 次のチャネルからリダイレクト- 立ち上がりエッジでサンプリング（L データ）

内部クロックDFSDM_DATIN0チャネル 3フィルタ 3DFSDM_CKOUTMEMS マイクロフォンは、理論的にはデルタシグマモジュ
レータからのデルタシグマビットストリームに似た形式のパル
ス密度変調（PDM）データ信号を発生します。
2 つのマイクロフォンを共通のデータおよびクロック信号で並列に接続すれば、MEMS マイクロフォンはステレオをサポートします。
立ち上がりクロックエッジは、左のオーディオデータをサンプ
リングします。
立ち下がりクロックエッジは、右のオーディオデータをサンプ
リングします。
DFSDM トランシーバへの実装には次の設定を行います。
チャネル 0 は、チャネル 1 からのリダイレクト入力を使用。
チャネル 1 は直接入力を使用。
チャネルの SPI 設定で立ち上がりエッジまたは立ち下がり
エッジを選択することで、チャネルデータ（左と右）が内部で分離されます。
MEMS マイクロフォンはスレーブであり、データのサンプリングと通信に外部クロックが必要なため、クロック信号は
DFSDM クロック出力によって供給されます。
15

割込み
割込みイベント

16

説明

変換終了
（レギュラ／インジェクト）変換の終了でセット（レギュラ変換とインジェクト変換で別々のフラグ）

データオーバーラン（レギュラ／インジェクト）

変換済みインジェクトデータが、（CPU または DMA により）出力データレジスタから読み取られず、新しい変換により上書きされた場合にセット（レギュラ変換とインジェクト変換で別々のフラグ）

アナログウォッチドッグ

変換済みデータ（出力データまたはアナログウォッチドッグフィルタからのデータ）がアナログ
ウォッチドッグの上側／低閾値レジスタを超える／下回る場合にセットされます（高／低超過検出で別々のフラグ）

短絡検出回路安定したデータサンプルの数が選択した短絡回路閾値を超える場合にセット

チャネルクロック無入力シリアルチャネルクロックピンにクロックがない場合にセット

CPU パフォーマンスを向上させるため、DFSDM イベントに関連する一連の割込みが実装されています。
この表は、すべての DFSDM 割込みソースを示したものです。
• 変換イベントの終了、レギュラ変換およびインジェクト変換で異なるフラグ• データオーバーランイベント、レギュラ変換およびイン
ジェクト変換で異なるフラグ• アナログウォッチドッグイベント• 短絡検出回路イベント• チャネルクロック無しイベント

16

DMA
DMA リクエスト
変換終了（レギュラ／インジェクト）

17

説明
DMA リクエストは、変換が完了するとセット （レギュラまたはインジェクト変換）• DMA リクエストを有効にして、変換したデータをメモリに転送する CPU の介入を減らすことが可能• DMA の「メモリ間」転送モードは、16bit データをパラレル入力データレジスタに転送するためのパラレルデータ入力ソースとしても使用可能• メモリからメモリへの DMA 転送は、パラレルデータ入力レジスタをターゲットアドレスとして使用する必要があるCPU 介入を低減するために、変換を DMA 転送を使用してメモリに転送することができます。インジェクト変換とレギュラ
変換の DMA 転送は、個別に有効にできます。
DMA コントローラは、パラレルデータレジスタへの高速デー
タ転送方法としても使用できます。この場合、パラレルデータ
は、DMA メカニズムを使用してメモリバッファからパラレル
データレジスタに転送されます。したがって、DMA コントロー
ラは、ターゲットアドレスがパラレル入力データレジスタのア
ドレスであるメモリ間転送モードで設定する必要があります。

17

低電力モード
モード

18

説明

RUN

アクティブ

SLEEP

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

STOP

停止。ペリフェラルレジスタの内容は保たれます。

STANDBY

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

DFSDM ペリフェラルは、RUN モードと SLEEP モードでのみアクティブになります。STOP モードと STANDBY
モードでは、DFSDM を無効にする必要があります。

18

パフォーマンス

19

ハードウェアでの非常に高速な信号処理：消費電力削減
すべての既存のSD モジュレータをサポート• クロック速度• 最高 DFSDM クロック：fCPU/4 (最高 100MHz)• チャネルへの最高入力シリアルクロック（入力データレート）• SPI モード：DFSDM クロックの4分周（最高 20MHz）• マンチェスタモード：DFSDM クロックの6分周（最高 10MHz）• クロック出力の最高出力周波数：DFSDM クロックの4分周（最高 20MHz）• 出力データレート• フィルタと積分器のオーバーサンプリング比（FOSR、IOSR）に依存：• 出力データレート = 入力データレート／（FOSR * IOSR）、
ここで： FOSR = 1～1024, IOSR = 1～256

各入力データサンプルが次のデジタルフィルタ操作の原因となるため、DFSDM パフォーマンスは最高許容入力データレートに依存します。DFSDM では、SPI モードで 20MHz、マンチェスタ
モードで 10MHz の最高入力データレートでの動作が可能になります。
パラレルデータ入力のパフォーマンスは同じのため、CPU または DMA コントローラを使用して、パラレルデータをフル 20MHzの速度で DFSDM に送り込むことができます。
アプリケーションは、今では既存のすべてのデルタシグマモジュ
レータ速度をサポートする DFSDM ハイスピード処理から恩恵を受けることができます。

19

DFSDM の割当て

20

DFSDM の リソースは、Cortex®-A7 または Cortex-M4 のいず
れかに割り当てることが可能
インスタンス Cortex-A7 S Cortex-A7 NS
DFSDMCortex-M4（OP-TEE）（Linux）（STM32Cube）

-

X

X

コメント
シングルチョイス割当て

詳しくは、MP1 の Wiki ページ を参照

DFSDM ブロックは、Cortex-A7 非セキュアまたは Cortex-M4のいずれかに割り当てることができます。
詳しくは、MP1 の Wiki ページ を参照してください。

20

アプリケーションの例：その 1• ステレオ MEMS マイクロフォン（PDM 出力付き）の再生• レギュラ変換は、連続モードの 2 つの DFSDM チャ
ネルに使用• 軽い CPU 負荷：最初の DMA が出力オーディオ
データを RAM に転送し、2 番目の DMA がそれらのデータを I2S インタフェース（そこから外部オーディオ
コーデックとヘッドフォンに送信）に転送

DFSDM ペリフェラル
フィルタ 7チャネル
7ステレオマイクロフォン

LEFT

L データ

DFSDM_DATIN3チャネル
3

DFSDM_DATIN2

チャネル
2

DFSDM_DATIN1

クロック

チャネル
1

DFSDM_DATIN0

チャネル
0

RIGHT

R データ
クロック

。
。
。

。
。
。

DFSDM_CKOUT

フィルタ 1R

フィルタ 0L-

直接入力
立ち下がりエッジでサンプリング（R データ）-

次のチャネルからリダイレクト立ち上がりエッジでサンプリング（L データ）

内部
クロック

• 2 つのマイクロフォン（ステレオ）を 2 本のワイヤだけで接続 – 共通のクロックとデータ用のワイヤ、左と右チャネルに異なるサンプリングエッジを使用（DFSDM
機能を使用して、特定の入力チャネルピンから別のチャネルデータ入力にデータをリダイレクト）21

STM32MP1 評価ボードを使用して簡単なアプリケーションの例を実行し、デルタシグマモジュレータインタフェースのデジタルフィ
ルタを体験することができます。
この例は、DFSDM ペリフェラルに直接接続した MEMS マイクロフォンを示すものです。マイクロフォンからのデータは、正しいフィルタ設定で DFSDM により処理され、通常の連続変換と DMAを使用してメモリバッファに収集されます。マイクからの録音デー
タは、DMA コントローラによりバッファーから I2S ペリフェラルに直ちに送られ、ヘッドフォンで再生されます。

21

アプリケーションの例：その2

22• PT100 温度計• 外付けの STPMS2 デバイス（デュアルチャネル、2次デルタシグマモジュレータ）を使用して、2 つの入力
チャネルを検出• 1 つのチャネルは PT100 センサの電圧を検知し、2 番目のチャネルは PT100 センサの電流を検知（シャントを使用）
チャネルデータ結果の比率から、PT100 センサの抵抗がわかる• 1 秒の周期的なタイマートリガを持つ 2 つのチャネルにインジェクトスキャン変換が使用される

この例は、2 つのチャネルを監視する外付けの STPMS2デルタ
シグマモジュレータを使用した PT100 温度計です。1 つのチャネ
ルは電圧を検知し、2 番目のチャネルは PT100 センサの電流を検知します。両方のチャネルは、スキャンモードでタイマがトリガするインジェクト変換によりサンプリングされます。次に、ソフト
ウェアは収集したデータから PT100 の抵抗を計算し、最終的に温度を決定します。

22

アプリケーションの例：その3

23• STPMS2 を使用した電力量計• 外付けの STPMS2 デバイス（デュアル SD
モジュレータ）を使用して、2 つの入力チャネルを検知：電圧（分圧器）と電流（電流トランスまたはシャント）。
• 電圧および電流のサンプルは、シリアルイ
ンタフェースによって DFSDM に送信（クロックおよびデータワイヤのみ）• DFSDM は、電圧と電流のサンプルを高い分解能で処理• STM32 ファームウェアにより、FFT 分析を使用して電力とエネルギーを計算

この例は、STPMS2 デバイスと STM32 マイクロコントローラを使用した典型的な単相電力量計の設計を示しています。
STPMS2 は、電力メーターアプリケーションのために設計したデュアルチャネルのデルタシグマモジュレータです。電圧と電流のチャネル入力があります。電流チャネルは、広範囲の測定電流をカバーするプログラム可能なゲインアンプを備えています。
サンプリングした 1bit のデータは、シリアルインタフェースによってホストデバイス（ここでは DFSDM インタフェース）に送信されます。電圧と電流の両方の 1bit データサンプルが同じデータワ
イヤで送信されますが、電圧はクロックの立ち上がりエッジで、電流はクロックの立ち下がりエッジでサンプリングされます。クロッ
クは DFSDM が供給し、最高で 4MHz が可能です。
次に、DFSDM は、電圧および電流チャネルの 1bit データスト
リームを処理して、より高い分解能とより遅いデータレートの出力
データに処理します。最後に、ファームウェアで FFT 分析を行い、電流と電圧のサンプルから電力とエネルギーを計算します。

23

アプリケーションの例：その4• 3 相電力量計（シャントを使用、変成器は使用せず）

L3

L2

L1

N

I

• 電圧（U）を抵抗分周器により検知
3 つの多重化された入力を持つ 1 つのDFSDM フィルタを使用して、3 相電圧をス
キャン• 電流（I）を、ガルバニック絶縁の SD モジュ
レータによりシャント抵抗で検知
DFSDM チャネルへの電流のデータ転送に限りフェーズごとに 1 つまたは 2 つの分離線が必要になる（マンチェスタ符号化モードは 1
ラインしか必要ありません）

24

SD モジュレータ
SD モジュレータ
SD モジュレータ

ガルバニックガルバニックアアイソレータガルバニックア
イソレータ
イソレータ

DFSDM_FLT1
DFSDM_FLT2
DFSDM_FLT3

電源
SD モジュレータ
SD モジュレータ

U

STM32

SDモジュレータ
SD モジュレータ
SD モジュレータDFSDM_FLT0• STM32 ファームウェアにより電力とエネル
ギーを計算

この例は、電流検知にシャント抵抗を使用する 3 相電力量計の設計を示したものです。高価な変流器を使用する必要はありません。
電圧は、3 つの抵抗分圧器と 外部デルタシグマモジュレータにより検知します。
電流は 3 つのシャント抵抗で検知します。各シャント抵抗器の電圧は、1 つのデルタシグマモジュレータが検知します。各デルタ
シグマモジュレータは高位相電圧で動作するため、DFSDM へのデータ転送にはガルバニック絶縁が使用されます。デルタシグ
マモジュレータがマンチェスタ符号化シリアルプロトコルフォー
マットを使用している（かつ内部クロックソースを備えている）場合、必要なアイソレータは相ごとに 1 つだけです。デルタシグマモ
ジュレータが SPI シリアルフォーマットを使用している場合、フェーズごとに 2 つのアイソレータが必要になります。各デルタ
シグマモジュレータは、個別の DC 電源電圧から給電されます。

24

アプリケーションの例：その 5

25

DC バス

• 3 相モータ制御

PWM• SD モジュレータにガルバニック絶縁使用：
データおよびクロックワイヤ（マンチェスタ符
号化データのみ）

PWM• DFSDM は同じビットストリームから 3 つの測定を並行して実施：• PWM 周期に同期した高精度の低速測定（メイン Sinc フィルタを使用）• ウォッチドッグ（中速）による連続過負荷監視• 超高速応答の連続短絡検出（PWM ジェネ
レータを無効化）

STM32
SD
SD モジュ
モジュレータSD モジュ
レータ
レータ

M

ガルバニックガルバニック
アイソレータガルバニック
アイソレータアイソレータDFSDM_FLT1
DFSDM_FLT2
DFSDM_FLT3

電源
SD
モジュ
SD モジュ
レータ
レータ

3 相モータ

この例は、3 相産業用（高電圧、大電流）モータ駆動に関連するもので、フローティングシャントとガルバニック絶縁が標準で使用されます。ここでは読取りチャネルが 1 つだけ示されていますが、実際のアプリケーションでは、電流用に 2 ま
たは 3 個、電圧用にも 2 または 3 個のチャネルが使用されます。電流は通常 3 つの DFSDM チャネルで同時に測定しますが、電圧は同じ DFSDM チャネルで順次測定できます。
同じビットストリームを 3 回測定します。
1 回目：高精度の測定では、メインフィルタを比較的長時間使用します。測定は PWM 周期と同期して行い、スイッチングノ
イズを回避して定期的なサンプルを取得します。
2 回目：ウォッチドッグチャネルは、それ自身の（低域）フィル
タを持つ同じビットストリームを使用して信号を連続監視し、過負荷の場合は中程度の反応時間で割込みを呼び出します。
3 回目：短絡検出回路は、モジュレータの飽和（連続するゼロ
または 1 で、長さはプログラム可能）を極めて迅速に検出するために使用するもので、PWM ジェネレータを自動的に無効にします（ブレーク信号を専用 DFSDM を経由してタイマ
相互接続へ送信）。
25

関連ペリフェラル

26• このペリフェラルに関連する以下のトレーニングを参照可能• RCC（DFSDM クロック制御、DFSDM 有効／リセット）• 割込み（DFSDM 割込みマッピング）• DMA（DFSDM 出力データ転送、パラレルデータ入力）• GPIO（DFSDM 入出力ピン、トリガ）• タイマ（DFSDM トリガ、ブレーク信号）• ペリフェラル相互接続マトリックス（DFSDM 相互接続）

ここにリストアップしたペリフェラルは、DFSDM の動作に影響を与えます。詳細については、対応するトレーニングを参照してください。

26