STM32U5
MDF/ADF
マルチファンクション・デジタルフィル
タ オーディオ・デジタルフィルタ
Rev 1.0

STM32U5 シグマデルタモジュレータのデジタルフィルタのイ
ンタフェースのプレゼンテーションへようこそ。マルチファ
ンクション・デジタルフィルタ（MDF）とオーディオ・デジ
タルフィルタ（ADF）の両方が対象となります。

1

アジェンダ
1

概要

2

ADF/MDF と DFSDM

3

ADF/MDF のプレゼンテーション

2

このプレゼンテーションは、次の 3 つのパートに分かれています。
- 最初に概要- 次に、STM32U5 にある ADF/MDF モジュールと STM32L5にある DFSDM モジュールの比較。DFSDM は、Digital filter
for Sigma-Delta modulators interface（シグマデルタモジュ
レータのデジタルフィルタインタフェース）の略です。
- 最後に、ADF および MDF モジュールの詳細説明

2

概要

1

• MDF は Multi-function Digital Filter（マルチファンクション・デジタルフィルタ）の略です• ADF は Audio Digital Filter（オーディオ・デジタルフィルタ）の略です• ADF は MDF のサブセットで、サウンドアクティビティ検出器を備えています• ADF/MDF は、シグマデルタ A/D コンバータを使用した外部センサの接続専用です• ADF/MDF の対象用途は次のとおりです

SDM4 量子化ノイズの例• モータ制御• オーディオのキャプチャと検出• 計測

3

マルチファンクション・デジタルフィルタ（MDF）とオーディオ・デ
ジタルフィルタ（ADF）は、サンプル取得用の外部シグマデルタ（ΣΔ）モジュレータの接続専用の高性能モジュールです。
また、設定可能なフィルタ機能もサポートしています。
ADF は MDF のサブセットですが、サウンドアクティビティ検出器はADF でのみサポートされています。
ADF と MDF の対象用途は次のとおりです。
オーディオのキャプチャと検出
計測
また、MDF はモータ制御用に使用できます。
右の図に示しているのは、4 次シングルビットシグマデルタ ADC に
よって変換された正弦波のスペクトルの例です。MDF と ADF の主な目的は、低周波数部分（ここでは最大 10 kHz の信号）を保ち、 量子化ノイズを除去し、サンプリングレートを下げることです。

3

2

ADF/MDF と DFSDMDFSDM ブロックから ADF/MDF へ
DFSDM と比較した場合の ADF/MDF の主な改良点：• 自律モードをサポート• 必要なカーネルクロックはビットストリームレートの 2 倍だけ• Fs/2 ～ Fs 帯域でのイメージ除去の向上• 帯域内ドループの改善• ハイパスフィルタの追加• 約 3dB のゲイン/減衰ステップ• 飽和ブロック• ボイス/サウンドアクティビティ検出器

利点：• 消費電力の削減• 音声キャプチャの品質の向上• より高度なトリガ検出
4

STM32L5 には、DFSDM と呼ばれるモジュールが搭載されています。DFSDM は、シグマデル
タモジュレータのデジタルフィルタデジタルフィルタインタフェースの略です。
ADF/MDF の改良点を DFSDM と比較して示します。
まず、ADF と MDF は低電力バックグラウンド自律モード（LPBAM）に対応しているため、ソフトウェアを実行していなくても、これらのペリフェラルは STOP モードでも機能し、自律的に動作することができます。
クロッキングの利点としては、DFSDM のカーネルクロックはビットストリームレートの 4 倍が必要なのに対し、ADF/MDF では 2 倍で済みます。
サンプリング周波数の半分からサンプリング周波数までの周波数範囲で、ADF/MDF ではイ
メージ除去が向上します。左の図を参照してください。
ADF/MDF に実装されたカスケード接続積分器櫛形（CIC）フィルタでも、帯域内ドループが改善されています。
入力信号から低周波数ノイズを除去するためのハイパスフィルタが追加されています。
ゲインまたは減衰は、3 デシベルの精度で調整できます。
ADF/MDF には、コードが最大値または最小値を超えた場合にバイナリコードのラップアラウ
ンドを防止する飽和ブロックも搭載されています。
最後に、ADF は、ボイス/サウンドアクティビティ検出器に対応しています。
これらすべての技術革新が、消費電力の低減とスピーチキャプチャの品質向上に貢献しています。
柔軟性の高いトリガインタフェースを使用して、変換の開始を制御できます。このタイミング制御により、同時変換をトリガしたり、変換の間にプログラム可能な遅延を挿入したりすることができます。

4

MDF の概要

3A
DC
ADCITF0、
1

MDF
AHB ド
メイン

カーネルクロックドメイン

MDF は以下を備えています

SCD0
RxFIFO0

DFLT0

SITF0

MDF_SDI[0]MDF_CKI[0]SITF1

MDF_SDI[1]MDF_CKI[1]SITF2

MDF_SDI[2]MDF_CKI[2]SITF3

MDF_SDI[3]MDF_CKI[3]SITF4

MDF_SDI[4]MDF_CKI[4]SITF5

MDF_SDI[5]MDF_CKI[5]

TRIG0

割込み
リクエスト

SCD1
レ
ジ
ス
タ

DMA
リクエスト
hclk

AHB

イ
ン
タ
フ
ェ
ー
ス

RxFIFO1

DFLT1
TRIG1
SCD2

RxFIFO2

DFLT2
TRIG2
SCD3

RxFIFO3

DFLT3

B
S
M
X

TRIG3
SCD4
RxFIFO4

DFLT4
TRIG4
SCD5

RxFIFO5DFLT5TRIG_CK

mdf_ker_ck
mdf_ker_ckreq
mdf_bus_ckreq

クロック生成と制御

mdf_break[3:0]mdf_trgo• 任意のシリアルインタフェースから任意のデジタルフィ
ルタへの接続が可能なフルマトリックス（BSMX）• モータ制御、計測、オーディオキャプチャのために設定可能な 6 つのフレキシブルデジタルフィルタ（DFLTx）• フィルタ取得を制御するための柔軟性の高い
TRIGGER インタフェース• その他の様々な機能：短絡検出器（SCD）、飽和、ゲイ
ン制御、スナップショット、ADCITF....

TRIG5
mdf_trig[13:0]• 外部センサ接続用の 2 つの共通クロック付きの 6 つのフレキシブルシリアルインタフェース（SITF）

MDF_CCK[0]MDF_CCK[1]• 柔軟性を向上させ、消費電力を低減するためのデュア
ルクロックドメイン

5

MDF にはいくつかの機能が組み込まれており、オーディオキャプチャ、モータ制
御、計測アプリケーション用のシグマデルタモジュレータとのインタフェースに非常に適しています。
MDF は以下を備えています。
6 つのフレキシブルシリアルインタフェース（SITF）と、外部センサ接続用の
2 つの共通クロック（入力/出力）
任意のシリアルインタフェースから任意のデジタルフィルタへの接続が可能な
フルデジタルマトリックス（BSMX）
モータ制御、計測、オーディオキャプチャのために設定可能な 6 つのフレキ
シブルデジタルフィルタ（DFLT）
内部 ADC 用の 2 つのパラレルインタフェース。STM32U5 では ADC1 と
MDF との相互接続のために 1 つだけを使用
フィルタ取得を制御するための柔軟性の高い TRIGGER インタフェース
その他の様々な機能：短絡検出器（SCD）、境界外検出器、クロック無検出
回路、飽和、ゲイン制御、スナップショット
MDF では 2 つのクロックドメインにより、柔軟性を高めて消費電力を低減します。

5

ADF の概要
ADF
AHB ド
メイン

ADF は以下を備えていますADC

カーネルクロックドメイン• 外部センサ接続用の 2 つの共通クロック付きの 1
つのフレキシブルシリアルインタフェース（SITF）

ADCITF0、1

adf_sad_det
割込み
リクエスト

• オーディオ・デジタルフィルタ（DFLT）

レ
ジ
ス
タ

DMA
リクエストあり
hclk

AHB

イ
ン
タ
フ
ェ
ー
ス

• フィルタ取得を制御するための柔軟性の高い
TRIGGER インタフェース
サウンドアクティ
ビティ検出

RxFIFO0• サウンドアクティビティ検出（SAD）
DFLT0
TRIG0

adf_trig0
adf_ker_ck
adf_ker_ckreq
adf_bus_ckreq
adf_break[3:0]
adf_trgo

B
S
M
X

SITF0

ADF_SDI[0]• 柔軟性を高めて消費電力を低減するデュアルク
ロックドメイン

TRIG_CK

クロック生成と制御

ADF_CCK[0]ADF_CCK[1]6

ADF は MDF のサブセットで、主にオーディオアプリケーションに非常に適しています。
ADF は以下を備えています。
- 1 つのフレキシブルシリアルインタフェースと、外部マイクロフォ
ン接続用の 2 つの共通クロック（入力/出力）- 希望するビットストリームを選択するための BSMX
- オーディオキャプチャ用の設定可能なオーディオ・デジタルフィル
タ- 内部 ADC 用の 2 つのパラレルインタフェース（STM32U5 では使用しません）- フィルタ取得を制御するための柔軟性の高い TRIGGER インタ
フェース- サウンドまたはボイス検出用のサウンドアクティビティ検出器
ADF では 2 つのクロックドメインにより、柔軟性を高めて消費電力を低減します。

6

MDF と ADF の実装
STM32U5

ADC1
mdf_ブレーク[3：0]

TIM1、TIM8
TIM3、TIM4、TIM6、TIM7、
TIM16
LPTIM1

TIMx_TRGO、TIM16_OCz• MDF はメインドメインにあります

LPTIM 1_CH1• ADF は SmartRun ドメインにあります• MDF と ADF は同じ I/O を共有し、必要に応じて同じマイクロフォンを共有します

EXTI[15]、EXTI[11]EXTI

ADF_SAD_DET

ADF

ADF_TRGO
TRIG IN

ブレーク OUTADCITFMDF_SDI0 / ...
MDF_CKI0 / ...

.....

MDF_SDI5 / ...

RCC

MDFSEL
hclk

0

pll1_p_ck
pll3_q_ck
SAI_EXTCLK
msi_ck1
2

MDF_CKI5 / ...

MDF

MDF_CCK1 / ...
mdf_ker_ck

MDF_CCK0 / ...

3
4

0

MDF_SDI4 / ADF

1
2• MDF ではいくつかのトリガが発生する可能性があります

adf_ker_ck• ADF では、音声が検出されたとき、または取得が開始されたときに MDF をトリガできます

MDF_CCK0 / ADF

3

ADF

4

MDF_SDI0 / ...

ADFSELMDF_CCK1 / ...
TRIG 入力

ADCITF

MDF_CCK0 / ...

SmartRun ドメイン

EXTI

EXTI[15]7

このスライドは、STM32U5 での MDF と ADF の実装を示しています。
MDF はメインドメインにあり、ADF は低消費電力アプリケーション
向けに SmartRun ドメインにあります。そのため、STOP 2 では
ADF は自律的に動作します。興味深いユースケースは、ボイス検出の場合の ADF からのウェイクアップリクエストです。
必要に応じて同じマイクロフォンを共有できるように、一部のピンはMDF と ADF で共有されます。
MDF は、タイマ、EXTI などのいくつかのペリフェラルによってトリガできます。
サウンドが検出されたとき、または取得が開始されたときに、ADF
は MDF をトリガできます。
トリガの詳細については、このプレゼンテーションの後半で説明します。

7

クロックジェネレータ（CKGEN）
A/MDF• RCC には、A/MDF カーネルクロック用に豊富なクロッ
クソースの選択肢が用意されています

TRIGx、TRIG_CK
デジタル処理• ほとんどの処理は、カーネルクロックを PROCDIVで除算して実行されます（a/mdf_proc_ck）

インタフェース：
ADCITF[2:1]、SITFx

a/mdf_proc_ck

CKGEN
PROCDIVCKGDENCCKDIVCKGMOD÷ 1 ～ 128

0

CCK0DIR
CCK0EN

A/MDF_CCK0

÷ 1 ～ 161

cck_trg

A/MDF_CCK1（TRIG_CK から）

CCK1ENCCK1DIR• A/MDF_CCK[1:0] は、a/mdf_proc_ck を CCKDIV で除算して導かれます

RCC

4

3

2

1

a/mdf_ker_ck
0• A/MDF_CCK[1:0] ピンは、CCK[1:0]DIR に応じて出力にも入力にもできます

msi_ck
SAI_EXTCLK
pll3_q_ck
pll1_p_ck
hclk

8

RCC には、MDF および ADF カーネルクロック用に豊富なクロック
ソースの選択肢が用意されています。
SAI_EXTCLK と pll1_p_ck ソースは、 SAI カーネルクロックに共通です。
MSIK のクロック周波数は、16 種類の周波数から選択できます。
内部処理については、MDF および ADF では、カーネルクロックを
PROCDIV プリスケーラで除算して得られる処理クロックを使用します。
この処理クロックは、シリアルインタフェース、ADC インタフェース、トリガ機能、デジタルフィルタ、短絡検出器、境界外検出器に使用されます。
MDF_CCK および ADF_CCK ピンは、CCKDIR に応じて出力にも入力にもできます。
MDF_CCK クロックが ADF または MDF によって生成される場合、それらはカーネルクロックを CCKDIV で除算したものから導かれます。

8シリアルインタフェース（SITF）
BSMX へMDF
MDF_SDI0

bs0_R

SITF0

2

bs0_F

MDF_CKI0

1• ADF/MDF は、いくつかのシリアルモードをサポート
しています

0

BSMX へ

.....

.....

.....

MDF_SDI5

bs[x]_R

SITF5

2

MDF_CKI5

1bs[x]_F

0

CCK1EN

mdf_itf_ck

MDF_CCK1

CKGEN

mdf_ker_ck

MDF_CCK0
mdf_ker_ck クロックドメイン

BSMX へMDF_SDI0

bs0_R

SITF0

2

bs0_F

1
0

MDF_SITF0CR.SCKSRC
mdf_itf_ck

CCK1ENMDF_CCK1CKGEN• 最適な柔軟性を得るために、各 SITF は以下を使用できます• MDF_CKIx パッドの専用シリアルクロック• ADF/MDF によって生成された、あるいは MDF_CCK0 また
は 1 パッドから受信した共通クロック

CCK0ENADF

mdf_ker_ck• SDR または DDR モードの SPI• マンチェスタモード• サポートされている最大速度は 25MHz です• ADF/MDF では、オーディオアプリケーション（MASTER_LF モード）の場合、シリアルリンクの速度の 2 倍のカーネルクロックのみ必要になります

MDF_CCK0
mdf_ker_ck クロックドメイン

CCK0EN9

MDF は、2 つの主要なシリアルモードをサポートしています。
-SDR または DDR モード の SPI-マンチェスタモード
より高い柔軟性が必要な場合、MDF の各シリアルインタフェースで以下を使用できます。
-専用パッドからのそれ自身のシリアルクロック入力-MDF によって生成された、あるいは MDF_CCK0 または 1 パッドから受信した共通クロック
ADF は、シリアルインタフェースクロック入力に対応していません。
サポートされている最大速度は 25MHz です。
オーディオアプリケーションの場合、MDF では、シリアルリンクレートの 2 倍のカーネルクロックのみ必要になります。

9シリアルインタフェース（SITF）
FBS
MDF_CCKy ま
たは MDF_CKIx

MDF_SDIx

L0

R0

L1

R1

L2

R2

L3

• SPI モードでは、各シリアルインタフェースにより以下が提供されます。

R3• ビットストリームクロック（bs[x]_R）の立ち上がりエッジでサンプリングされたデータ

bs[x]_ck
bs[x]_R

L0

L1

L2

L3

bs[x]_F

R0

R1

R2

R3

FBS

• マンチェスタモード：

MDF_SDIx
1

1

0

0

0

1

1

0

0

• 外部ビットストリームクロック信号は必要ありません• データは bs[x]_R で使用可能です

bs[x]_ck
bs[x]_R• ビットストリームクロック（bs[x]_F）の立ち下がりエッジでサンプリングされたデータ

X• SPI またはマンチェスタモードでは、クロックなしを検出できます10

SPI モードでは、シリアルインタフェースによりシリアルク
ロックの立ち下がりおよび立ち上がりエッジで入力データがサンプリングされます。
各シリアルインタフェースは、デジタルビットストリームマ
トリックスへの 2 つのデータストリームを備えています。
- シリアルクロック（bs[x]_R）の立ち上がりエッジでサン
プリングされたデータを表すもの- シリアルクロック（bs[x]_F）の立ち下がりエッジでサンプリングされたデータを表すもの
マンチェスタモードでは、クロックはデータストリームから復元されます。有効なデータは、bs[x]_R 出力で使用できます。
クロック無検出を使用すると、アプリケーションは、定義された期間にクロックなしの遷移がないかどうかを検出できます。

10

接続例（SITF）
例1
センサ

MDF

• 例1

MDF_SDI0
MDF_SDI1• 共通のビットストリームクロックを持つ複数のセンサ

MDF_SDI2• ビットストリームクロックをセンサまたは MDF により供給

MDF_SDI3
MDF_CCK0

• 例2

例2

MDF

MDF_SDI0

DMIC1

MDF_CCK0

MDF_SDI1• 4 つのデジタルマイクロフォンをシンプルに接続

DMIC2• すべてのマイクロフォンが同じクロックを共有

DMIC3• 各マイクロフォンペアは同じデータラインを共有

DMIC4

• 例3

例3

MDF

MDF_SDI0• 独立したクロックを持つ独立したセンサ

MDF_CKI0
MDF_SDIx
MDF_CKIx11

例 1 では、複数のセンサが同じビットストリームクロックを共有する場合を示しています。
MDF では、この図のように共通ビットストリームクロックを提供することも、外部センサから共通ビットストリームク
ロックを受信することもできます。
2 番目の例では、複数のデジタルマイクロフォンの接続を示しています。4 つのマイクロフォンを接続するために必要な
IO パッドは 3 つだけです。
各マイクロフォンペアは 1 本のデータラインを共有します。
専用のクロック信号を持つ 1 本のマイクロフォンを用意し、そのマイクロフォンをアクティブに保ち、他のマイクロフォ
ンを STANDBY にすることもできます。
例 3 では、独立型センサが MDF に接続された場合を示しています。各データラインには、独自の専用クロックがあります。

11ビットストリームマトリックス（BSMX）
ADCITF0、1

SCD0
DFLT0

MDF

BSMX

bs_flt0

bs0_R
bs0_F
bs1_R
bs1_F
bs2_R
bs2_F
bs3_R
bs3_F

bs0_R
bs0_F

SITF0

• BSMX は、選択された入力をデジタルフィルタ（DFLTx）に供給します

MDF_BSMX0CR[BBSEL]

bs5_R

SCD5
DFLT5

bs_flt5

bs0_R
bs0_F
bs1_R
bs1_F
bs2_R
bs2_F
bs3_R
bs3_F

• BSMX はすべてのシリアルインタフェース（SITFx）からビットストリームを受信します

bs5_F

SITF5

• 各フィルタパスに対して、任意のビットストリーム
入力を選択できます

MDF_BSMX5CR[BBSEL]ADCITF0、1

DFLT0

BSMX

bs_flt0

ADF

bs0_R
bs0_F

SITF0

MDF_BSMX0CR[BBSEL]12

BSMX は、すべてのシリアルインタフェースからビットスト
リームを受信し、選択された入力をデジタルフィルタに供給します。
各フィルタに対して、任意のビットストリーム入力を選択できます。
各シリアルインタフェースには、2 つのストリームがあります。1 つは立ち下がりエッジでサンプリングされたデータのもの、もう 1 つは立ち上がりエッジでサンプリングされたデータのものです。

12

短絡検出回路（SCD）

MDF のみ非常に短い応答時間で短絡または開回路状態を検出• SCD では、入力ビットストリームが一定の時間、最小値または最大値に固定されているかどうかが、非常に短い応答時間で検出されます。
• これは、短絡または開回路エラー（過電流や過電圧など）の検出に使用できます。
• 割込み/ブレークイベントを生成できます
ブレークイベントを使用して、パワーステージの非常停止ができます• 選択されたビットストリームごとに、SCD ブロックを使用できます
bs_flt[x]_dat
1

2

3

4

5

6

1

2

3

4

5

6

bs_flt[x]_ck
scd_brk[x]mdf_evt_it[x]/mdf_it[x]（scd_evt[x] による）

ブレーク

ブレーク

SCDF に「1」を書き込む

13

SCD は、入力ビットストリームが一定の時間、最小値または最大値に固定されているかどうかを、非常に短い応答時間で検出します。
アプリケーションにより、ビットストリームが同じ値を保持する時間をプログラムできます。プログラムされた値よりも長い時間、ビットストリームが固定されたままになっている場合、割込みとブレークイ
ベントを生成することができます。
ブレークイベントを使用すると、ブレーク信号をアサートして、パワーステージを非常停止させることができます。
SCD は、短絡または開回路エラー（過電流や過電圧など）の検出に使用します。
選択したビットストリームごとに、SCD ブロックを使用できます。
この図では、入力ビットストリームが 5 ビットストリームクロックサ
イクルを超えて同じ値に固定されたままになった場合に、割込みおよびブレークイベントが生成される例を示しています。

13

デジタルフィルタ（MDF DFLT）

MDF のみ非常に柔軟性の高いデジタルフィルタチェーン
MDF は 6 個のデジタルフィルタが内蔵され、次の機能で構成されています。
• 遅延ブロック（DLY）• スケールブロック（SCALE）• Sinc および FastSinc フィルタ（MCIC、MCICF）• 再形成フィルタ（RSFLT）• オフセットエラー訂正（OEC）• ハイパスフィルタ（HPF）• 境界外検出器（OLD）• 積分器ブロック（INT）
DFLT[5:0]

境界外検出器（OLD）
CMP

D2
↓

ACIC[3:1]、ACICF

0xx

D1↓

MCIC[3:1]、MCICF

0xx

MCIC4

100

MCIC5

101

HPFBYPINTVAL

RSFLTBYP

PCM[23:0]

≠
0

RX
FIFO

1

HPF

INT
0

0

4 x 24 ビット

1
0

4
RSFLT
↓

SAT

SCALE

OEC
+
-

破棄ロジック

FINT

FPCM

ドメイン

ドメイン

101

FRS

ドメイン

CICMODDATSRCADCITF1 から

2
100

D1
↓
D1
↓

DLY

1
0

1←1
-1 ← 0SBRADCITF0 から
BSMX から

FBS

ドメイン

14

MCF デジタルフィルタにはいくつかのブロックが内蔵されているため、非常に柔軟にフィルタ設定が行えます。
最も重要な部分は次のとおりです。
データソースセレクタ
遅延ブロック
メインのカスケード接続積分器櫛形（CIC）フィルタ（MCIC とも呼ばれる）
補助 CIC フィルタ（ACIC とも呼ばれる）。このフィルタは、境界外検出器（OLD）と呼ばれる機能に含まれます。
オフセットエラー訂正
ゲイン調整（SCALE）
再形成フィルタ（RSFLT）
ハイパスフィルタ（HPF）
破棄機能
積分器（INT）
デジタルフィルタは複数の段階で設定できるため、フィルタのすべての部分が同じ周波数で機能する
わけではありません。
これは Fbs 周波数ドメインと呼ばれ、ビットストリームクロックで機能するクロックドメインです。
Frs ドメインは再形成フィルタの周波数で機能するドメインであり、Fpcm は再形成フィルタの出力でのサンプリングレートです。
最後に、Fint 周波数ドメインは、RX-FIFO に格納されているサンプルの最終的なサンプリングレートです。
最終ステージでは、フィルタによって処理されたデータを RxFIFO に格納します。
フィルタは処理クロックで機能することにも注意してください。

14

デジタルフィルタ（ADF DFLT）

ADF のみ非常に柔軟性の高いデジタルフィルタチェーン
ADF デジタルフィルタにはいくつかのブロックが内蔵されていて、構成要素は次のとおりです。
• 遅延ブロック（DLY）• 再形成フィルタ（RSFLT）• Sinc4 および Sinc5 フィルタ（MCIC）• ハイパスフィルタ（HPF）• スケールブロック（SCALE）
PCM[23:8]

SAD へ
DFLT[5:0]

HPFBYP
1

HPF

0

0

4 x 24 ビット

DATSRC

1
4
↓

RSFLT

SAT

RX
FIFO

SAT

PCM[23:0]

SAT

RSFLTBYP
100

SCALE
101

破棄ロジック

D1
↓
D1
↓

MCIC4

DLY
MCIC5

101

FRS

ドメイン

1
0

CICMOD
FPCM

ドメイン

ADCITF1 から

2

100

1←1
-1 ← 0SBRADCITF0 から
BSMX から

FBS

ドメイン

15

ADF デジタルフィルタにはいくつかのブロックが内蔵されているため、非常に柔軟にフィルタ設定が行えます。
最も重要な部分は次のとおりです。
データソースセレクタ
遅延ブロックメイン CIC フィルタ（MCIC とも呼ばれる）
補助 CIC フィルタ（ACIC とも呼ばれる）このフィルタは、境界外検出器（OLD）と呼ばれる機能に含まれます。
供給エラー訂正
ゲイン調整（SCALE）
再形成フィルタ（RSFLT）
ハイパスフィルタ（HPF）
破棄機能
積分器（INT）
デジタルフィルタは複数の段階で設定できるため、すべてのフィルタ部が同じ周波数で機能するわけではありません。
これは Fbs 周波数ドメインと呼ばれ、ビットストリームクロックで動作するクロックドメインです。
Frs ドメインは再形成フィルタの周波数で機能するドメインであり、Fpcm は再形成フィルタの出力でのサンプリングレートです。
最後に、Fint 周波数ドメインは、RX-FIFO に格納されているサンプルの最終的なサンプリングレートです。
最終ステージでは、フィルタによって処理されたデータを RxFIFO に格納します。
フィルタは処理クロックで機能していることにも注意してください。

15

デジタルフィルタ（データソース）• データソースとして以下が使用できます• BSMX によって供給されるストリーム

MDF• ADC1 によって供給されるサンプル

再同期

DATSRCMCIC および
ACIC へ

10

未接続

ADCITF2
データ2

16 ビットADCITF1

1←1-1 ← 0
符号の再
割当て

クロック

ADC1

• BSMX から供給されるシリアルデータは、一連の「+1」、「-1」の符号に再割当てされます

BSMX から• MDF の場合のみ、ADC1 によりサンプリングク
ロックの周期でパラレルデータが供給されます

16

デジタルフィルタによって処理されたサンプルは、BSMX ま
たは ADC1 から供給されます。
BSMX からシリアルビットストリームが供給され、符号のリ
マッパを利用してこのビットストリームが一連のプラス 1 とマイナス 1 に変換されます。
ADC1 から供給されたサンプルは、ADC インタフェースの 1
番目の ADCITF1 によって再同期されます。
ADC1 により、サンプルとサンプリングクロックが供給されます。
ADF は ADC に接続されていません。

16

デジタルフィルタ – ビットストリーム遅延（DLY）
ビームフォーミング用の高分解能遅延• DLY ブロックでは、各ビットストリーム間の遅延を微調整できます• この機能は、デジタルマイクロフォンアレイを使用したオーディオビームフォーミングに必要です• 性能を低下させたり処理に影響を与えたりすることなく、
マイクロフォンを互いに近くに配置することができます• 主な機能：• 分解能：1 ビットストリームクロック周期• 遅延範囲：通常は PCM 1 周期ですが、これより大きくすることもできます（制限は RX-FIFO の深さによって与えられます）• 動的に変更できます• ADC インタフェースでも機能します17

遅延ブロックを使用すると、1 つ以上のデータパスを他より遅延させることができます。
遅延を実行するには、デシメーションの前に一定のサンプル数をス
キップします。
遅延の粒度は、 ビットストリームクロックレートまたは ADC から供給されるサンプルクロックレートによって決まります。
この機能は、マイクロフォンを使用したビームフォーミングアプリ
ケーションに有益です。
たとえば、16 kHz、デシメーション 64 の標準的なスピーチキャプチャ
では、DLY ブロックの分解能は約 976 ナノ秒で、音声は 976 ナノ秒中に約 0.33 mm 進みます。デシメーション率が増加すると、それに比例して分解能も向上します。
遅延範囲は RX-FIFO の深さに依存しますが、通常はこのブロックを使用して 1 PCM サンプル周期以上を遅延させる必要はありません。
さらに長い遅延が必要な場合は、ソフトウェアによる方法や破棄ブロックの使用といった他の手段が必要となります。

17

デジタルフィルタ – CIC
柔軟性の高い CIC アーキテクチャ
CIC1

Sin

Sout_cic

I1

↓D

C1

I1

I2

↓D

C1

C2

I1

I2

↓D

C1

C2

I1

I2

I3

↓D

C1

C2

C3

I1

I2

I3

I4

↓D

C1

C2

C3

C4

I2

I3

I4

I5

↓D

C1

C2

C3

C4

CIC2

Sin

Sout_cic

FastCIC

Sin

Sout_cic

+

Z-2

CIC3

Sin

Sout_cic

CIC4

Sin

Sout_cic

CIC5

Sin

I1

+

Z-1

Z-1

C5

+

ADF および MDF のメイン CIC でのみ使用できます
MDF のメイン CIC および補助 CYC に使用できます

Sout_cic• CIC は、3 つの設定に対応しています• メインおよび補助フィルタ：（モータ制御専用の設定）• メインフィルタは CIC1、2、3、FastCIC のいずれかにすることができます• 補助フィルタは CIC1、2、3、FastCIC のいずれかにすることができ、境界外検出器（OLD）によって使用されます。
• CIC4 を使用したメインフィルタ：（一般にオーディオまたは計測に使用される設定）• 境界外検出器は使用できません• CIC5 を使用したメインフィルタ：（一般にオーディオまたは計測に使用される設定）• 境界外検出器は使用できません• ADF は CIC4 および CIC5 のみに対応します

18

略語 CIC は、Cascaded Integrator-Comb（カスケード接続積分器櫛型）フィルタの略です。
MDF には柔軟性の高い 1 つの CIC フィルタが内蔵されており、2 つのフィルタ（補助フィルタとメインフィルタ）に分割することも、1 つのメインフィルタとして使用することもできます。
CIC は、3 つの設定に対応しています
メインおよび補助フィルタこの設定はモータ制御専用です。
この設定では、メインフィルタは CIC1、CIC2、CIC3、FastCIC のいずれかにすることができます。
また、補助フィルタも CIC1、2 ,3、FastCIC のいずれかにすることができ、境界外検出器（OLD）に使用されます。
CIC フィルタは、CIC4 または CIC5 で単一のメインフィルタとして設定することもできます。
これら 2 つの設定は、通常、オーディオまたは計測アプリケーションで使用されます。
この場合、境界外検出器は使用できません。
ADF は CIC4 および CIC5 の設定のみに対応することに注意してください。

18

デジタルフィルタ – CIC
大きなデシメーション範囲
メインおよび補助 CIC フィルタは、最大 26 ビットの出力データサイズ（DSCIC）に対応します
出力データサイズは、入力信号振幅（DSIN）、デシメーション率（D）、および CIC 次数（N）の関数です
DSCIC =

N∙ln(D)+ DSINln(2)GCIC = DN

メイン CIC のデシメーション率範囲（1）

補助 CIC のデシメーション率範囲（1）• CIC1 および CIC2 では最大 512• 最大 32 のデシメーション率• CIC3 では最大 322• CIC4 では最大 76• CIC5 では最大 32（1）シリアルインタフェース（SITF）から入力データを取得する場合
19

CIC データサイズは 26 ビット固定です。
CIC フィルタのゲインは、デシメーション率（D）と次数（N）によって決まります。
データサイズについても同様です。
CIC フィルタの出力で信号振幅が 26 ビットを超えないようにするため、デシメーション率と次数を調整する必要があります。
この要件を満たすため、このスライドではフィルタの次数に応じた最大デシメーションを示しています。CIC n は n 次のフィルタです。

19

CIC 転送関数
N
1 −z−DH(z)=1 −z−1

CIC 特性：CIC 転送関数：• 高次数ほど有効帯域での減衰が強くなります（B）• ゼロは k.FBS / dec にあります

高速 CIC 転送関数（MDF のみ）：

以下の図は dec =16 の場合です2
1 −z−DH(z)=∙ 1+ z− 2∙D
1 −z−1

Usefulband: B

FBS/16

2.FBS/16

3.FBS/16

4.FBS/16

5.FBS/16

6.FBS/16

7.FBS/16

FBS/2

20

CIC は、加算器に基づく非常にシンプルなフィルタ構造を備えています。
次数が高いほど高周波成分の減衰が大きくなりますが、有効帯域にドループも生じます。
ゼロの数はデシメーション率によって決まり、Fbs/デシメー
ションの倍数です。
この図には、デシメーション率を 16 とした場合の CIC フィ
ルタの周波数応答を示しています。

20

デジタルフィルタ – オフセットエラー訂正

MDF のみ• MCIC から供給される信号から定数値を減算することができます飽和フラグ• 値 OFFSET[25:0] が入力信号から減算されます
26

MCIC

+

26

+

SAT26

SCALE

-

• OFFSET 値を動的に変更することができますOEC

MDF_OECxCR.OFFSET[25:0]• 飽和ブロックによりラップアラウンドが防止されます21

オフセットエラー訂正ブロックを使用して、MCIC から供給される信号から DC 成分値をキャンセルすることができます。
入力信号から値 OFFSET[25:0] が減算されます。
アプリケーションでは、必要に応じてこの OFFSET 値を動的に変更できます。
さらに、飽和ブロックによりラップアラウンドの問題が防止されます。
飽和が発生した場合は、アプリケーションに通知するために飽和フラグがセットされます。

21

デジタルフィルタ – SCALE
飽和ブロックを使用した広いゲイン範囲• 幅をフィルタ設定と対象アプリケーションに合わせるために SCALE ブロックが必要です

飽和フラグ

SCALE[5:0]• 次のように調整する必要があります

SCALE
ロジック

OEC

26

ゲイン
ステー
ジ

ゲイン
ステー
ジ

ゲイン
ステー
ジ

SAT
24

24

RSFLT

• RSFLT が有効な場合、RSFLT の入力でデータ幅を 22
ビットに制限します• その他の場合のデータ幅を 24 ビットに制限します• ゲインステップは 3 dB（+/- 0.5 dB）です• ゲイン範囲は +72 dB（+12 ビット） ~ -48 dB（-8ビット）です• ゲイン値は動作中に変更できます• ゲインステージの後、24 ビットまで飽和が行われます22

幅をフィルタ設定と対象アプリケーションに合わせるために
SCALE ブロックが必要です。
再形成フィルタを使用する場合、SCALE ブロックの出力の信号は 22 ビットを超えてはなりません。
再形成フィルタがバイパスされる場合、SCALE ブロックの出力の信号は最大 24 ビットとすることができます。
ゲインステップは 3 dB ± 0.5 dB です。
ゲイン範囲は +72 dB ~ -48 dB です。
ゲイン値は動作中に変更できます。
信号幅を 24 ビットに制限するために、SCALE ブロックの出力で飽和化が行われます。

22デジタルフィルタ – SCALE• 信号品質を最適化するには、ゲインを正しく調整する必要があります• RX-FIFO に格納される信号は、できるだけ 24 ビットに近くする必要があります• RSFLT に供給される信号は 22 ビットを超えてはなりません
最大ゲイン値と設定およびデシメーション率：
デシメーション率

SITF  CICx  RSFLT （HPF）
CIC5

CIC4

CIC3

8

33.6 dB

51.7 dB

69.7 dB

1218.1 dB

39.6 dB

60.2 dB

16

3.5 dB

27.6 dB

51.7 dB

24-12 dB

15.6 dB

42.1 dB

32-26.6 dB

3.5 dB48--8.5 dB

64--20.6 dB

128

-

256

-

SITF  CICx （HPF）
CIC2

CIC5

CIC4

45.7 dB

63.7 dB

30.1 dB

51.7 dB

15.6 dB

39.6 dB

63.7 dB

69.7 dB

0 dB

27.6 dB

54.2 dB

33.6 dB

63.7 dB-14.5 dB

15.6 dB

45.7 dB

24.1 dB

57.5 dB-

3.5 dB

31.6 dB

15.6 dB

51.7 dB--8.5 dB

27.6 dB

63.7 dB--2.5 dB

39.6 dB--

9.5 dB

51.7 dB--20.6 dB

27.6 dB---8.5 dB

39.6 dB

72.2 dB

CIC3

CIC2

72.2 dB
72.2 dB

69.7 dB23

理想的には、フルスケール入力信号の場合、再形成フィルタに供給される信号はできるだけ 22 ビットに近いサイズにする必要があります。
再形成フィルタを使用しない場合、信号サイズはできるだけ 24 ビットに近くする必要があります。
ゲインが小さぎると、信号対雑音比が低下することがあります。ゲインが大きすぎると、飽和が発生する可能性があります。
このスライドの表は、いくつかのフィルタ設定に対する最適ゲイン値を示しています。
再形成フィルタが有効な場合は表の左側が適用され、再形成フィルタがバイパスされる場合は表の右側が適用されます。
また、アプリケーションによっては、異なるゲイン設定が必要な場合があることにも注意してください。

23

デジタルフィルタ – RSFLT
帯域内リップルとイメージ除去の向上• RSFLT は、イメージ除去と帯域内リップルを向上させるように設計されたローパスフィルタです

RSFLTBYP
RSFLTD
RSFLT
1
1

SCALE
22

0

ローパスフィルタ
ゲイン=+9.5dB

SAT
24

↓4

• RSFLT では、サンプルの出力のために 24 サイクルの mdf_proc_ck が必要です

24

HPF

• RSFLT はバイパスが可能です

0
1

飽和フラグ

• RSFLT では、フィルタリング後に 4 でのデシメーションが実行されます• 必要に応じて、4 でのデシメーションをバイパスできます• 24 ビットまでの飽和化

24再形成フィルタは、イメージ除去と帯域内リップルを向上させるように設計されたローパスフィルタです。
再形成フィルタでは、フィルタリング後に 4 でのデシメーションが実行されます。再形成フィルタは、完全にバイパスすることも、4 のみでのデシメーションをバイパスすることもできます。
この 機能は、ソフトウェアで追加の処理を実行する必要がある場合に役立ちます。
再形成フィルタでは、サンプルの出力のために 24 サイクルのmdf_proc_ck が必要です。
ローパスフィルタの後、24 ビットまでの飽和化が実行されます。

24

デジタルフィルタ – RSFLT
帯域内リップルとイメージ除去の向上• カットオフ周波数は 0.444 x FPCM 固定です。
• FPCM = 16 kHz の場合、カットオフ周波数は 7,100 Hz です• FPCM = 48 kHz の場合、カットオフ周波数は 21,000 Hz です• 帯域内リップルは +/- 0.4 dB です• ストップバンドの減衰量は FPCM / 2 で 30 dB です• フィルタゲインは約 +9.5 dB です

25

次の図に、4 でのデシメーションを行わない再形成フィルタ
のみの転送関数を示します。
カットオフ周波数は 0.444 × Fpcm 固定です。
帯域内リップルは ±0.4 dB です。
ストップバンドの減衰量は、Fpcm の 2 分周で 30 dB です。
帯域外ノイズは、70 dB を超えるビットにより減衰されます。
フィルタゲインは約 +9.5 dB です。

25

デジタルフィルタ – HPF
調整可能なハイパスフィルタ
HPFC• HPF は、低周波数成分をキャンセルするように設計された 1 次ハイパスフィルタです

HPFBYP

•
HPF
1

RSFLT
24

ハイパスフィルタ
ゲイン = 0 dB

SAT
24

24

DISC

0

1

飽和フラグ

選択可能な 4 つのカットオフ周波数（表を参照）：
カットオフ周波数の選択

FPCM = 16kHz でのカットオフ周波数

FPCM = 48 kHz でのカットオフ周波数

0.000625 x Fs

10 Hz

30 Hz

0.00125 x Fs

20 Hz

60 Hz

0.0025 x Fs

40 Hz

120 Hz0.0095 x Fs

152 Hz456 Hz

赤 = 0.000625 x Fs、黒 = 0.00125 x Fs、青 = 0.0025 x Fs、緑 = 0.0095 x Fs

26

HPF は、バイパス可能な低周波数成分をキャンセルするように設計された 1 次ハイパスフィルタです。
HPF は選択可能な 4 種類のカットオフ周波数を備えています。
HPF のゲインは 0 dB です。
次の表に、16 および 48 kHz でのオーディオキャプチャの例
を示します。
HPF 出力は 24 ビットまで飽和化されます。
4 つのカットオフ周波数に対する応答周波数がチャートにプ
ロットされています。

26

デジタルフィルタ – DISC
最初に受信したサンプルを削除できます• センサのインパルス応答または整定時間に起因するフィルタ遷移をマスクするために、破棄ブロックを使用して、デジタルフィルタによって供給された最初のサンプルをキャン
セルすることができます• 破棄機能を使用して、（デシメートされたレートで）取得を遅延させることもできます。
• 最大 256 サンプルを破棄できます

HPF 出力INT または
RXFIFO に供給

ドロップ

S4
S3
S1

S2

S5

S6

S7

S8

S9...

TPCM

時間
27

MDF では、再起動のたびに破棄するサンプル数をプログラムすることができます。
破棄ブロックでは、センサのインパルス応答または整定時間に起因するフィルタ遷移をマスクするために、デジタルフィ
ルタによって供給された最初のサンプルを破棄することができます。
破棄機能を使用して、（ デシメートされたレートで）取得を遅延させることもできます。
最大 256 サンプルを破棄できます。
図に示した例では、破棄機能を使用して、デジタルフィルタ
から供給された最初の 5 つのサンプル（S1 ~ S5）をドロップしています。
RXFIFO （または有効な場合は INT ブロック）に転送される
最初のサンプルは S6 です。

27

デジタルフィルタ – INT

MDF のみ• 積分器では、追加のデシメーションが実行されます• 積分器では、破棄ブロックから供給されたデータが単純に合計されます
INT

DISC

• 積算値は 2 ~ 128 までの任意の値です

24

+

Z-1

INTVAL = 2 ~ 128

分周比：
128、32、4、1

24

RxFIFO• 積分出力は、4、32、または 128 の単位で再ス
ケールできます• 積分器はバイパスできます• 積分器のゲインは次の式で表されます
GINT =INTVAL+1
DIV• ここで、DIV は再スケール係数（1、4、32、または 128）です。

28

積分器では、追加のデシメーションが実行されます。
積分器では、破棄ブロックから供給されたデータが単純に合計されます。
積分値は 2 ~ 128 までの任意の値です。
積分出力は、4、32、または 128 の単位で再スケールできます。
積分器のゲインは、積分値（INTVAL）と再スケール係数によって決まります。
積分器をバイパスするには、INTVAL 値をゼロに初期化します。

28

デジタルフィルタ – OLD

MDF のみ境界外検出器（OLD）

THINB
+

THHF
OLDF
THLF
ブレー
クへ

-

ロジック

割込み
へ

OLDTHH[25:0]
D2 ACIC[3:1]、↓
ACICF

DATSRCMUX から+-

OLDTHL[25:0]• 2 つのデジタルコンパレータ（下限および上限閾値）• CIC1、CIC2、CIC3、または FastCIC で設定可能な補助
CIC フィルタ（ACIC）

old_brk+225 - 1
OLDTHH[25:0]

OLDTHL[25:0]-225• 信号が閾値によって定義された境界の内部または外部にある場合に、OLD によりイベントが生成されます• 生成されたイベントによって割込み信号またはブレーク信号を発行できます

THHF
THLF

• ACIC 特性：
OLDF に「1」を書き込む

ブレーク

ブレーク

OLDF に「1」を書き込む

ブレーク

THINB = ‘0’

OLDF
MDF_FLT[x]old_brk[x]• 境界外検出器（OLD）には、以下が装備されています• CIC サイズは 26 ビットです• デシメーション率は最大 32 です29

境界外検出器は、信号が規定の最大閾値および最小閾値に達するか、超えた場合に、イベントをトリガします。
境界外検出器（OLD）は、2 つのデジタルコンパレータ（低閾値と高閾値）を備えています。
これらのコンパレータは、補助 CIC （ACIC）の出力に接続されます。
この補助 CIC フィルタは、CIC1、CIC2、CIC3、または FastCIC に設定でき、デシメーション率を最大 32 とすることができます。
ACIC のサイズは 26 ビットで、ACIC のデータソースは MCIC と同じで、シリアルインタフェースに接続されたセンサまたは ADC1 のいずれかとすることができます。
信号が閾値で定義された境界の内部または外部にある場合、境界外検出器によりイベントが生成されます。
生成されたイベントによって割込み信号またはブレーク信号を発行で
きます。

29

トリガ

MDF のみ柔軟性の高いトリガ機能
old_evt[0:5]
立ち上がり/立ち下がり

1

TIM8_TRGO

立ち上がり/立ち下がり

立ち下がり

TIM1_TRGO2• トリガロジックは、次の目的で使用できます

TRIG0• フィルタ取得の開始/停止

0
1

DFLT0

&

ACQ_CTL
立ち下がり

立ち上がり/立ち下がり

2

TRGSENSDFLTEN

立ち上がり
立ち上がり

0

ACQMOD

TRGSRC

立ち上がり/立ち下がり

TIM1_TRGO• いくつかの取得モードを使用できます立ち上がり/立ち下がり

5

TIM10_OC1

6

TIM6_TRGO

7

TIM7_TRGO

8

ADF_SAD_DET

9

EXTI11

10

EXTI1511

再同期とエッジ検出

TIM4_TRGO

立ち上がり/立ち下がり

立ち上がり

立ち上がり/立ち下がり

TRGSENS

立ち上がり
立ち下がり

13

&

DFLT5

• シングルショットまたは連続取得モード• いくつかのトリガが実行可能です

DFLT5 のスナップショットロジックへ• エッジ（立ち上がりまたは立ち下がり）
TRGSRC

立ち上がり

12

1

立ち上がり/立ち下がり

立ち上がり/立ち下がり

LPTIMER1• 非同期または同期トリガモード

TRIG5

0

ACQ_CTL
立ち下がり

立ち上がり/立ち下がり

立ち上がり/立ち下がり

ADF_TRGOTRGSENSDFLTEN

立ち上がり/立ち下がり

立ち上がり/立ち下がり

ACQMOD

TRGSRC

立ち下がり

3

4

立ち上がり

TIM8_TRG2
TIM3_TRGO• クロックジェネレータの開始

DFLT0 のスナップショットロジックへ

立ち下がり

0

TRIG_CK

cck_trg

1

立ち上がり/立ち下がり

立ち上がり/立ち下がり

CGR[TRGO]• ウィンドウ
CKGEN• 最大 16 のトリガソース:• タイマ、EXTI、ADF...
• 境界外検出器• グローバルトリガビット

30

このスライドでは、MDF のトリガについて説明しています。
デジタルフィルタとクロックジェネレータには、それぞれ独自のトリガブロックがあります。
トリガブロックを使用して、メインデジタルフィルタの取得を開始/停止したり、
MDF_CCK[1:0] クロックの生成を開始したりすることができます。
使用可能なトリガソースは次のとおりです。
他の回路ブロック（各種タイマ、LPTIMER1、ADF、EXTI）からの 14 個の信号。これらのトリガソースは、すべてのトリガブロックに共通です。
1 つの共通内部信号：TRGO
1 つの専用内部信号：各 OLD ブロックによりメインフィルタをトリガできます。
デジタルフィルタではいくつかの取得モードを使用できます。
-

非同期または同期トリガモード-

シングルショットまたは連続取得モード

いくつかのトリガが実行可能です-

エッジ（立ち上がりまたは立ち下がり）

-

ウィンドウ

30

トリガ

ADF のみ柔軟性の高いトリガ機能• トリガロジックは、次の目的で使用できます
ACQMOD

TRGSRCTRGSENS

立ち上がり
立ち上がり

立ち上がり/立ち下がり• フィルタ取得の開始/停止

1

&

立ち下がり

立ち下がり

0

DFLT0

• いくつかの取得モードを使用できます

DFLT0 のスナップショットロジックへ

TRGSENS立ち上がり• クロックジェネレータの開始

0

ACQ_CTL
立ち下がり

TRGSRC立ち上がり

再同期とエッジ検出

0

立ち下がり

立ち上がり

EXTI15TRIG0DFLTEN• 非同期または同期トリガモード

TRIG_CK• シングルショットまたは連続取得モード
cck_trg

1

CKGEN• いくつかのトリガが実行可能です• エッジ（立ち上がりまたは立ち下がり）

CGR[TRGO]• ウィンドウ• 2 つのトリガソース:• EXTI[15]• 内部トリガビット

31

このスライドでは、ADF のトリガについて説明しています。
デジタルフィルタとクロックジェネレータには独自のトリガブロックがあります。
トリガブロックを使用して、デジタルフィルタの取得を開始/停止したり、
ADF_CCK[1:0] クロックの生成を開始したりすることができます。
使用可能なトリガソースは次のとおりです。
EXTI[15] 信号
内部信号：TRGO
デジタルフィルタではいくつかの取得モードを使用できます。
-

非同期または同期トリガモード-

シングルショットまたは連続取得モード

いくつかのトリガが実行可能です-

エッジ（立ち上がりまたは立ち下がり）

-

ウィンドウ

31

DFLT の状態
DFLTxACTIVE

DFLTxRUNDFLTx の状態

0

X

OFF

1

0

WAIT

1

1

RUN

• 各デジタルフィルタは、DFLTxEN ビットで有効にできます• アプリケーションでフィルタの状態を確認するには、
2 つのフラグDFLTACTIVE および DFLTRUN を使用します• DFLT の状態は次のとおりです。
• OFF：フィルタは無効です• WAIT：フィルタは有効であり、トリガイベントを待っています• RUN：フィルタはサンプルを処理しています

32

各デジタルフィルタは、DFLTxEN ビットで有効にできます
フィルタ x の MDF_DFLTxCR レジスタには、アプリケーションでフィルタの現在の状態をチェックできるようにするための 2 つのフラグ、
DFLTACTIVE および DFLTRUN が含まれています。
DFLT の状態は次のとおりです。
•

OFF：フィルタは無効です•

WAIT：フィルタは有効であり、トリガイベントを待っています•

RUN：フィルタはサンプルを処理しています。

32

トリガの例無視
DFLTxEN”
1”

DFLTxEN への書込み
DFLTx 出力”1”

破棄 （1）

OFF

.....

S1

”
1
”

”
1
”

破棄 （1）

破棄 （1）

WAIT：

.....

S2

WAIT：

”
0
”
.....

S3 WAIT：OFF

DFLTxRUN• 非同期シングルショット取得モード：• 各フィルタの取得は、そのイネーブルビットに「1」が書き込まれたときにトリガされます• フィルタがトリガされたとき、RX-FIFO に 1 つのサンプルのみが保存されます

DFLTxACTIVE
MDF_CCK/CKI（1）破棄フェーズはオプションです• 非同期連続取得モード：
DFLTxEN

破棄 （1）DFLTx 出力

.....

S1

S2

.....

SN

OFF
失われた

DFLTxRUNDFLTxACTIVE• 各フィルタの取得は、そのイネーブルビットによってトリガされます• イネーブルビットが「1」である限り、連続したサンプルが取得されます

MDF_CCK/CKI（1）破棄フェーズはオプションです33

非同期シングルショット取得モードでは、各フィルタの取得は、そのイネーブルビットに「1」が書き込まれるとトリガされます。
デジタルフィルタが WAIT 状態で、DFLTxEN ビットに「1」が書き込まれるたびに、サンプルが処理され、RX-FIFO に格納されます。
変換の進行中にアプリケーションにより DFLTxEN に「1」がセットされた場合、上方のタイミング図に示すように、書込み操作は無視されます。
イネーブルビットが「1」である間は、連続したサンプルが取得されます。
DFLTxEN がデアサートされると、下方のタイミング図に示すように、
現在のサンプルは失われます。

33

トリガの例
無視

無視

無視

DFLTxEN• 同期シングルショット取得モード：

mdf_trgi[y]破棄 （1）DFLTx 出力

OFF

.....

WAIT：

破棄 （1）

S1

.....

WAIT：

• 各フィルタの取得は、選択したトリガ信号によって、選択された感度でトリガされます

S2 OFF

DFLTxRUN• フィルタがトリガされたとき、RX-FIFO に 1 つのサンプルのみが保存されます

DFLTxACTIVE
MDF_CCK/CKI（1）破棄フェーズはオプションです無視

無視• ウィンドウ連続取得モード：

DFLTxEN
mdf_trgi[y]破棄 （1）DFLTx 出力

OFF

.....

S1 S2 ..... SN

破棄 （1）.....

S1 S2 ..... Sk

失われた

OFF

• 各フィルタの取得は、選択したトリガの立ち下がりエッジによってトリガされ、立ち上がりエッジによって停止します（またはその逆）

失われた

DFLTxRUNDFLTxACTIVE
MDF_CCK/CKI（1）破棄フェーズはオプションです34

同期シングルショット取得モードでは、各フィルタの取得は、選択したトリガ信号
によって、選択された感度でトリガされます。
デジタルフィルタが WAIT 状態でトリガ条件が発生するたびに、サンプルが処理され、RX-FIFO に格納されます。
DFLTxRUN フラグは、デジタルフィルタが新しいトリガイベントを受け入れる準備ができたかどうかをアプリケーションに通知します。
トリガ信号は、上方のタイミング図に示すように、フィルタが WAIT 状態になるまで無視されます。
ウィンドウ連続取得モードでは、各フィルタの取得は、選択したトリガの立ち下がりエッジでトリガされ、立ち上がりエッジで停止します（またはその逆）。
下方のタイミング図では、mdf_trgi[y] 信号の立ち下がりエッジは取得のトリガに使用され、立ち上がりエッジは取得を停止するために使用されています。
DFLTxEN がデアサートされた場合、トリガは無視されます。

34

MDF のみ

トリガの例• 複数のフィルタを同時に開始します• 次の方法で、複数のフィルタの取得を同時に開始できます• 複数のフィルタに共通のトリガソースと感度を選択• TRGO ビットを使用• オーディオビームフォーミングアプリケーションでは、いくつかのフィルタを同時に起動すると非常に有益です• 同期スナップショットモード：• トリガ入力を使用して、CIC および INT フィルタの状態をキャプチャできます• この機能を使用して、デシメートされた 2 つのサンプル間にいくつかの中間値を内挿することができます35

複数のフィルタを同時に取得するには、いくつかのフィルタに共通のトリガソースと感度を選択します。
簡単なオプションとして、トリガソースとして TRGO を選択し、TRGO ビットに「1」をセットします。
その他の共通トリガ信号を使用することもできます。
オーディオビームフォーミングアプリケーションでは、いくつかのフィルタを同時に起動する必要があることに注意してください。
同期スナップショットモードでは、前回の有効なサンプルをキャプチャし、トリガ入力を使用して CIC および INT フィルタの状態をキャプチャすることができます。
この機能を使用して、デシメートされた 2 つのサンプル間にいくつかの中間値を内挿することができます。

35

メモリ転送MDF
REGIF
mdf_dma[0]MDF_DFLT0DR

RxFIFO

DFLT0

mdf_dma[1]

MDF_DFLT1DR

RxFIFO

DFLT1

mdf_dma[2]MDF_DFLT2DR

RxFIFO

DFLT2

mdf_dma[3]MDF_DFLT3DR

RxFIFO

DFLT3

mdf_dma[4]MDF_DFLT4DR

RxFIFO

DFLT4

mdf_dma[5]MDF_DFLT5DR

RxFIFO

DFLT5

メモリ内のサンプル• 各 FIFO には 24 ビットで 4 ワードの深度があります• 独立転送モード：• 各 RXFIFO ストリームは独立させることができます• 次の 2 つの閾値が利用できます• FIFO は空ではありません。
• FIFO ハーフフル

S0_DFLT0...
SN-1_DFLT0ブロック 0
デジタルフィルタ 0 の出力• RXFIFO にはそれぞれ独自の DMA リクエストまたは割込みサービスがあります

S0_DFLT1...
SN-1_DFLT1ブロック 1
デジタルフィルタ 1 の出力• このモードは、あらゆる種類のアプリケーションに使用できます

S0_DFLT5...
SN-1_DFLT5ブロック 5
デジタルフィルタ 5 の出力

36

各 FIFO には 24 ビットで 4 ワードの深度があります。
MDF は、独立転送モードとインタリーブ転送モードの 2 つのデータ転送モードに対応しています。
独立転送モードでは、RXFIFO ストリームは互いに完全に独立しています。
メモリへのサンプルの転送は、2 つのイベントによってトリガできます。
•

FIFO がノットエンプティの場合•

FIFO がハーフフルの場合

RXFIFO にはそれぞれ独自の DMA リクエストまたは割込みサービスがあります。
DMA を使用する場合、図のように、アプリケーションにより FIFO ごとに 1 つのデータブロックがメモリ内で探されます。
このモードは、あらゆる種類のアプリケーションに使用できます。

36

メモリ転送MDF
REGIF
mdf_dma[0]1

MDF_DFLT0DR

RxFIFODFLT0

RxFIFO

DFLT1

2

mdf_dma[1]

MDF_DFLT1DR
3

mdf_dma[2]MDF_DFLT2DR

RxFIFO

DFLT2

mdf_dma[3]MDF_DFLT3DR

RxFIFO

DFLT3

mdf_dma[4]MDF_DFLT4DR

RxFIFO

DFLT4

mdf_dma[5]MDF_DFLT5DR

RxFIFO

DFLT5

メモリ内のサンプル• インタリーブ転送モード：• インタリーブ転送モードでは、シングル DMA チャネルを使用していくつかのフィルタのサンプルを得ることができます• インタリーブストリームは、同じサンプリング周波数でサンプリングする必要があります• インタリーブモードでセットされたすべての
RXFIFO が空でない場合、データはメモリに転送されます

S0_DFTL0
S0 _DFLT1
S0 _DFLT2...
SN-1_DFLT2ブロック 0
デジタルフィルタ 0、1、2 の出力• 割込みまたは RXFIFO[0] の DMA リクエストのみが使用されます

S0_DFLT3...
SN-1_DFLT3ブロック 1
デジタルフィルタ 3 の出力• このモードは、通常、オーディオアプリケーションに使用できますS0_DFLT5...
SN-1_DFLT5ブロック 3
デジタルフィルタ 5 の出力• インタリーブ転送モードと独立転送モードを混在させることができます37

インタリーブ転送モードでは、シングル DMA チャネルを使用していくつかのフィルタのサンプルを得ることができます。
インタリーブストリームは、同じサンプリング周波数でサンプリングする必要があります。
インタリーブ転送モードでは、インタリーブモードでセットされたすべての RXFIFO が空でない場合に、データがメモリに転送されます。
割込みまたは RXFIFO[0] の DMA リクエストのみが使用されます。
このモードは、通常、オーディオアプリケーションで使用されます。
図に示すように、デジタルフィルタ 0 ~ 2 はインタリーブ転送モードで機能するように、
またデジタルフィルタ 3、4、5 は独立モードで機能するようにプログラムできます。
DMA を使用する場合、インタリーブされたストリームに対応するメモリブロック内のデータもインタリーブされます。図のブロック 0 を参照してください。

37

ブレーク信号MDF のみ• 4 つのブレーク信号が使用できます
MDF ブレークインタフェース• ブレークイベントを生成できるのは OLD と SCD
のみです

MDF_OLD0CR.BKOLD[y]old_brk[0].....

OLD[0]

OLD[5]

MDF_OLD5CR.BKOLD[y]old_brk[5]MDF_SCD0CR.BKSCD[y].....

SCD[0]

SCD[5]

OR

mdf_break[y] （1）scd_brk[0]• 1 つのブレーク信号内に、すべての OLD および
SCD ブロックからのブレークイベントを混在させることができますMDF_SCD5CR.BKSCD[y]scd_brk[5]（1） - 各 mdf_break[y] 出力に同じロジックが実装されます。‘y’ は 0、1、2、または 3とすることができます。

38

4 つのブレーク信号が使用できます。
タイマブレーク入力により、異常状態発生時のタイマの出力
信号は、ユーザにより選択できる安全な設定になります。
ブレークイベントを生成できるのは、境界外検出器（OLD）と短絡検出器（SCD）のみです。
1 つのブレーク信号内に、すべての OLD および SCD ブロッ
クからのブレークイベントを混在させることができます。これは図の OR ゲートによって行われます。

38

割込み

MDF のみMDF
クリア

SnapShot
データレデ
ィ

ED

FIFO オー バ
ーラ ンED• 各デジタルフィルタパスには独自の割込みベクタが
あります

FTHF
FTHIE

FIFO 閾値到達

SSDRF
SSDRIEクリア• 次のようなイベントにより割込みを生成できます

DOVRF
DOVRIEクリア

スナップショ
ットオーバーラン

ED

RSFLT オー
バーラン

ED

OLD 到
達

ED

OLDF
OLDIE

old_thhx

ED

THHF

old_thlx

ED

THLF• アラートSSOVRFSSOVRIE

クリア• RXFIFO、SnapShot、または RSFLT オーバーラン

RFOVRFRFOVRIE• データ飽和クリア

OR

MDF_FLT[x]

クリア

クリア

飽和検出

ED
クリア

クロック無検 出ED

MDF_DFLTxISR

読出し

ED
書込み

SCD 検
出

SCDF
SCDIE
SATF
SATIE

• 境界外検出• 短絡検出• クロック無検出• データ･フロー• RXFIFO レベル到達• SnapShot データレディ

CKABF
CKABIE

MDF_DFLTxIER

39

この図には、MDF 割込み管理の詳細を示します。
各デジタルフィルタパスには、独自の割込みベクタがあります。
アラートイベントとデータフローイベントでは、割込みを生成できます。
アラートイベントは、次のとおりです。
- RXFIFO、SnapShot、または RSFLT オーバーラン- データ飽和- 境界外検出- 短絡検出- クロック無検出
データフローイベントは、次のとおりです。
- RXFIFO レベル到達- SnapShot データレディ

39

割込み

ADF のみ• 次のようなイベントにより割込みを生成できますADF• アラートFTHF
FTHIE

FIFO 閾値到達クリア

FIFO オーバ
ーラン

クリア

飽和検出

読出し

ED

書込み

クリア

RSFLT オー
バーラン

クリア

ED

サウンド検出

ED

クリア

OR

クリア

ADF_DFLTxISR

読出し

サウンドレベルレディ• クロック無検出
ADF_FLT[x]CKABFCKABIE
書込み

ED• データ飽和RFOVRFRFOVRIE
SATF
SATIE

ED

クロック無検出• RXFIFO または RSFLT オーバーラン

DOVRF
DOVRIEED• サウンドレベル検出• サウンドレベル値レディ• データ･フローSDLVLFSDLVLIE• RXFIFO レベル到達

SDDETF
SDDETIE
ADF_DFLTxIER

40

この図には、ADF 割込み管理の詳細を示します。
アラートイベントとデータフローイベントでは、割込みを生成できます。
アラートイベントは、次のとおりです。
- RXFIFO または RSFLT オーバーラン- データ飽和- クロック無検出- サウンドレベル検出- サウンドレベル値レディ
データフローイベントは次のとおりです。
- RXFIFO レベル到達

40

MDF 低消費電力モード
モード

説明

RUN

アクティブ

低電力 RUN

アクティブ

SLEEP

アクティブ

低電力 SLEEP

アクティブ

STOP 0/STOP 1

選択されたカーネルクロックが RC オシレータの場合にアクティブ

STOP 2/STOP 3

非アクティブ

STANDBY

非アクティブSHUTDOWN

非アクティブ41

MDF は、STOP 2、STOP 3、STANDBY、SHUTDOWN モー
ドを除くすべてのモードでアクティブにできます。
STOP モードでは、 MDF レジスタの内容は保持されます。
STOP 0 および STOP 1 モードでは、MDF は低電力バックグ
ラウンド自律モード（LPBAM）に対応します。
STANDBY モードでは、MDFはパワーダウンされ、STANDBY
モード終了後に再初期化が必要です。

41

ADF 低消費電力モード
モード

説明

RUN

アクティブ

低電力 RUN

アクティブ

SLEEP

アクティブ

低電力 SLEEP

アクティブ

STOP 0/STOP 1/STOP 2

選択されたカーネルクロックが RC オシレータの場合にアクティブ

STOP 3

非アクティブ

STANDBY

非アクティブSHUTDOWN

非アクティブ42

ADF は、STOP 3、STANDBY、SHUTDOWN モードを除くす
べてのモードでアクティブにできます。
STOP モードでは、ADF レジスタの内容は保持されます。
STOP 0、STOP 1、STOP 2 モードでは、ADF は低電力バッ
クグラウンド自律モード（LPBAM）に対応します。
STANDBY モードでは、ADFはパワーダウンされ、STANDBY
モード終了後に再初期化が必要です。

42

全体の周波数応答-74.5 dB

全体の周波数応答は、以下の設定によって決まります• CIC 次数• CIC デシメーション• RSFLT が有効化されているかどうか• HPF が有効化されているかどうか• HPF のカットオフ周波数• INT が有効化されているかどうか• .....

このプロットは、次で得られます• デシメーション率 16 の CIC5
• RSFLT が有効で、デシメーション率は 4• HPF が有効で、HPFC = 1• INT は無効です。
• ビットストリーム周波数は 1.024 MHz• PCM 周波数は 16 kHz
43

この上図は、1.024 MHz で動作するデジタルマイクロフォンによる 16
kHz オーディオ信号の全体の周波数応答を示しています。
フィルタ設定は、次のとおりです。
- CIC 次数は 5、ディメーション率は 16- RSFLT は有効で、デシメーション率は 4- HPF は有効で、カットオフ周波数は 40 Hz
下方の図は、1.024 MHz で動作するデジタルマイクロフォンによる 16
kHz オーディオ信号の帯域内リップルを示しています。
フィルタ設定は、次のとおりです。
- CIC 次数は 5、ディメーション率は 16- RSFLT は有効で、デシメーション率は 4- HPF は有効で、カットオフ周波数は 20 Hz
その結果得られる帯域内リップルは、CIC5 に対して ± 0.41 dB です。
-3 dB のカットオフ周波数は 7061 Hz です。

43

いくつかの測定値• 次の表に、A 加重ウィンドウを使用した場合と使用しない場合の信号対雑音比（SNR）とダイナミックレンジ（DR）の値を示します• これらの結果は、126 dB @ 0 dBFS の DR の信号を出力する 5 次シグマデルタモジュレータマイクロフォンモデ
ルを使用して得られたものです• 結果は、いくつかのデシメーション率において CIC5、RSFLT、HPF を使用して得られたものです。
MDF モード

ビットストリーム周波数

デシメーション率PCM 周波数

SNR

フル機能またはオーディオ

0.768

12 x 4

16000

100

106

113

フル機能またはオーディオ

1.024

16 x 4

16000

115

120

123

フル機能またはオーディオ

1.536

24 x 4

16000

121

125

127

フル機能またはオーディオ

2.048

32 x 4

16000

123

125

126

フル機能またはオーディオ

3.072

16 x 4

48000

115

121

128

フル機能またはオーディオ

4.224

22 x 4

48000

120

124

130

UNIT

MHz

Hz

dB

dB

dBA

DR

現在のデジタルマイクロフォンの DR は 90 ~ 105 dBです。DR は、-12 dBFS の入力信号を適用し、測定された SNR に 12 dB を加算することによって測定します。
44

このスライドの表に、MDF と ADF に実装されているデジタ
ルフィルタの測定値を示します。
これらの結果は、0 dB フルスケールで 126 dB の DR の信号を出力する 5 次シグマデルタモジュレータマイクロフォンモ
デルを使用して得られたものです。
フィルタの設定は次のとおりです。
CIC 時数 5
再形成フィルタ
ハイパスフィルタ
さまざまなデシメーション率に対して信号対雑音比とダイナ
ミックレンジの値が示されています。

44

サウンドアクティビティ検出（SAD）

ADF のみサウンド/ボイスアクティビティの検出に使用できます• SAD は ADF に含まれます

ADF
SAD

• SAD は、デジタルフィルタ 0（DFLT0）から供給される信号を「監視」します

SADEN
ロジック

DARCAP[1:0]sddet_evt
adf_sad_det

トリガロジック• 有効にすると、SAD によりサウンドと環境ノイズのレベルが継続的に計算されます• SAD は、いくつかの検出モードで機能します閾値計算• サウンド検出器モードでは、SAD により以下のいずれかが検出できます

環境ノイズレベル（ANLVL）
推定器
サウンドレベル（SDLVL）の計算

sdlvl_evt• サウンドレベルが定義されたレベルに達したとき• 環境ノイズが定義されたレベルに達したとき|x[n]|
PCM[23:8]

RxFIFO0PCM[23:0]

DFLT0• ボイス検出モードでは、SAD により、サウンドレベル
が環境ノイズレベルを基準とした閾値より大きいときに検出できます45

SAD はサウンドアクティビティ検出の略です。
SAD 機能は ADF によって提供されます。
SAD は、デジタルフィルタ 0 から供給される信号を監視するために使用でき、オーディオアプリケーションでの使用が想定されています。
有効にすると、SAD によりサウンドと環境ノイズのレベルが継続的に計算されます。
SAD は、2 つの異なるモードで機能します。
サウンド検出器モードでは、SAD により、サウンドレベルまたは環境ノイズが定義された閾値に達したときに検出できます。
ボイスアクティビティ検出器モードでは、SAD により、サウンドレベルが環境ノ
イズレベルを基準とした閾値より大きいときに検出できます。

45

ADF のみ

サウンドアクティビティ検出（SAD）

SAD には 3 つの状態があります• 「LEARN」状態•

環境ノイズレベルの最初の推定を実行します• 「MONITOR」状態•

SAD がトリガイベントを待っています•

SAD はサウンドレベルを継続的に計算し、環境ノイズ値を更新します

SAD には、3 つのデータキャプチャモードがあります• サンプルが常にメモリに転送されます• サンプルがメモリに転送されません• サンプルは、SAD が DETECT 状態のときにメモリに保存されます• 「DETECT」状態•

SAD によりイベントが検出されました•

SAD はサウンドレベルを継続的に計算し、環境ノイズ値を更新します46

有効にすると、SAD は「LEARN」状態に移行します。この状態中、SAD では連続したサウン
ドレベルの値を使用して、環境ノイズレベルの最初の推定を実行します。
環境ノイズの最初の推定が行われたとき、SAD は MONITOR 状態に遷移します。この状態で、SAD はトリガイベントを待ち、継続的にサウンドレベルを計算して、環境ノイズ値を更新します。
SAD がトリガされると、状態は DETECT に移行します。この状態で、SAD では DETECT 条
件が真のままかどうかが継続的にチェックされます。DETECT 状態でも、SAD では継続的にサウンドレベルを計算し、環境ノイズ値を更新します。
柔軟性を高めるため、SAD にはメモリへの監視信号データの転送を制御する 3 つのオプションが用意されています。
•

サンプルが常にメモリに転送されます•

サンプルがメモリに転送されません•

サンプルは、SAD が DETECT 状態のときにメモリに保存されます。

46

ADF のみ

サウンドアクティビティ検出（SAD）• サウンドレベル（SDLVL）を推定するには、受信サンプルの絶対値を平均します• 環境ノイズレベル（ANLVL）の推定方法には、次の 2 つの方法があります• SAD が LEARN 状態のときに SDLVL を平均する方法• SAD が LEARN 状態でない場合に環境ノイズをスムーズに更新する方法• ANLVL は、このサウンドレベルが環境ノイズとみなされる場合に、現在の SDLVL 値を使用して更新されます

47

有効にすると、SAD によりサウンドレベル値が継続的に計算されます。
サウンドレベルは、FRSIZE[2:0] によって与えられる PCM サンプル数の絶対値の平均を表します。
環境ノイズレベル（ANLVL）は、SAD の動作モードが 2 進の 00 または 10 である
場合に計算されます。
環境ノイズレベル（ANLVL）の推定方法には、次の 2 つの方法があります-SAD が LEARN 状態のときに SDLVL を平均する方法-SAD が LEARN 状態でない場合に環境ノイズをスムーズに更新する方法。
ANLVL は、このサウンドレベルが環境ノイズとみなされる場合に、現在の SDLVL
値を使用して更新されます。

47

ADF のみ

ボイスアクティビティ検出モード

非常に高いレベルの柔軟性

アプリケーションのニーズを満たすために、レジスタを介していくつかのパラメータを調整できます• FRSIZE：SDLVL の計算に使用されるサンプル（フレーム）• ANMIN：ボイスアクティビティモードで、最小環境ノイズ（感数を定義します度）を定義しますサウンドアクティビティモードの場合、基準使用可能な数：8、16、32、64、128、256、または 512 サンプル

閾値を定義します• LFRNB：LEARN フェーズに使用されるフレーム数を定義• SNTHR：トリガレベルを定義します

します

使用可能な数：基準閾値に対して 3.5、6、9.5、12、15.6、18、21.6、使用可能な数：2、4、8、16、または 32 フレーム

24.1、27.6、または 30.1 dB• ANSLP：ノイズ推定器の傾斜を定義します。 標準値は +4.2
dB/s と -17.1 dB/s です• HYSTEN：ヒステリシス機能を有効にします• HGOVR：2 つのトリガ条件の間で、SAD が DETECT モー
ドを維持する最小時間を定義します
4、8、16、32、64、128、256、または 512 フレームが使用可能です48

SAD は非常に柔軟性があり、アプリケーションのニーズを満たすように以下のパラメータを調整できます。
•

フレームサイズ（FRSIZE）。SDLVL の計算に使用されるサンプルの数を定義します。

•

学習フレームの数（LFRNB）では、初期の環境ノイズレベルの計算に使用されるフレーム数を定義します。

•

環境ノイズレベルの勾配（ANSLP）では、MONITOR および DETECT 状態での環境ノイズ推定器の勾配を定義します。

•

トリガレベル調整（SNTHR）では、トリガレベルを定義します。このトリガレベルは、選択した検出
モードによって使用方法が異なります。

•

ハングオーバー（HGOVR）では、2 つのトリガ条件の間で SAD が DETECT モードを維持する最小時間を定義します。

•

感度またはレベル（ANMIN）。ボイスアクティビティ検出モードでは、これにより最小の環境ノイズ（感度）を定義します。サウンドアクティビティ検出モードでは、閾値の調整に使用します。

•

HYSTEN パラメータを使用して、閾値にヒステリシスを設定することもできます。

48

ボイスアクティビティ検出モード

ADF のみ• 主要原理：SAD 有効化• LEARN フェーズ中、SAD では環境ノイズの最初の推定値を計算します

SADST= LEARN
サウンドレベル（SDLVL）の計算

N

SADST
= LEARN ?

Y• SAD のトリガ条件：

ANLVL の更新
初期環境ノイズレベル（ANLVL）の計算
THR を計算（ANLVL、SNTHR、および HYSTEN を使用）

ANLVL は使用可能
か？
N

HGCNT =0?

N

HGCNT --SDLVL >THR ?

Y

SADST= MONITORANLVL を保持

YY
N

SADST= MONITORSADST = DETECT
HGCNT = HOVR

• ANLVL は ANMIN 未満にはできないことに注意
してくださいANLV L をドロップ

49

ボイスアクティビティ検出モードでは、SAD が有効な場合、環境ノイズレベルの最初の推定値が計算されます。
環境ノイズレベルは、サウンドレベル値（SDLVL）を使用して推定されます。
この LEARN フェーズの時間は、パラメータ LFNBR により与えられます。
環境ノイズレベルの推定値が使用できる場合、SAD は MONITOR 状態に移行します。
MONITOR および DETECT モードでは、新しいサウンドレベル値が使用可能になるたびに、SAD により環境
ノイズレベルが更新され、この新しいサウンドレベル値と比較するための閾値レベルが計算されます。
サウンドレベルが閾値より大きい場合、SAD は DETECT 状態に移行します。
SAD が DETECT 状態に移行すると、割込みを生成することができ、信号 adf_sad_det が「1」になります。
サウンドレベルが連続して閾値を下回る場合、SAD が MONITOR 状態に戻ります。連続回数を調整するには
HGOVR を使用します。
SAD が MONITOR 状態に戻ったときに、割込みを生成することもできます。

49

ボイスアクティビティ検出モード

ADF のみボイスアクティビティ検出モードで使用される SAD の例：• LEARN 状態の終了時に、THR と ANLVL が更新され、SAT により入力信号が監視されます• ANLVL は継続的に更新されます（THR も同様）
• SDLVL が THR より高い場合、SAD がトリガされます• ハングオーバー機能により、指定された時間、SAD は DETECT 状態を維持できます

THR は ANLVL より
24.1 dB 高くなります

SDLVL は信号とみなされるので、
ANLVL は更新されません

ハングオーバーにより、SAD は
DETECT 状態に維持されますSDLVL は信号とみなされないので、
ANLVL は更新されます

レベル (dBFS)LEARN フェーズの
終了

|Sin|
SDLVL
ANLVL
THR
SAD Detect

ANLVL の最小値

50
時間 (s)

ボイスアクティビティ検出モードで使用される SAD の例を示します。
LEARN 状態の終了時に、THR と ANLVL が更新され、SAD により入力信号が監視されます。
黒色は、一連のサウンドレベル値を示しています。
ダークブルーの ANLVL は継続的に更新され、赤の信号の閾値レベルは環境ノイズレベルに正確に従い、SNTHR によって与えられたゲインはこの例では 24.1 dB に設定されています。
サウンドレベル が THR より高い場合、SAD がトリガされます。緑色の信号はSAD 検出を示します。信号が高い場合、SAD がトリガされていることを示します。
また、サウンドレベルが閾値レベルよりも高い場合、環境ノイズレベルが更新されないことも確認できます。環境ノイズレベルは、サウンドレベルが閾値よりも低い
場合に更新されます。
ハングオーバー機能により、指定されたフレーム数の間、SAD は DETECT 状態を維持できます。
水色の信号 ANMIN は ANMIN の最小許容値を定義するため、これは一種の感度調整であり、THR が与えられた値より低くならないことが保証されます。

50

サウンドアクティビティ検出モード 1

ADF のみ• ANMIN で基準閾値を定義し、SNTHR を使用してトリガレベル（THR）を定義します

SAD 有効化
SADST= LEARN
サウンドレベル（SDLVL）の計算• SAD のトリガ条件：（FRSIZE サンプルを使用）

N

SADST
= LEARN ?

Y

THR 値を更新（ANMIN、HYSTEN、SNTHR を使用）

初期環境ノイズレベル（ANLVL）の計算（LFRNB、SDLVL を使用）
NN

HGCNT =
0?

SDLVL >
THR ?

Y

Y

SADST = DETECTANLV L は使用可能
か？

N

HGCNT --SADST= MONITOR

HGCNT = HOVR

Y

• THR が現在の SDLVL と比較されます

SADST= MONITOR

51

サウンドアクティビティ検出モード 1 では、サウンドレベルの絶対値に達すると SAD がトリガされます。
このモードでは、ANMIN フィールドで基準閾値を定義し、SNTHR を使用してトリガレベル（THR）を定義します。
式にトリガ条件を示します。
このモードでは環境ノイズレベルは使用されませんが、SADが有効になれば LEARN フェーズに移行します。

51サウンドアクティビティ検出モード 1

ADF のみサウンドアクティビティ検出モード 1 で使用される SAD の例：• 600 LSB が 73.5 dBSPL の信号を表すように SCALE が調整されています• ANMIN は 200 に、SNTHR は 9.5 dB に設定されています。すなわち、THR = 200 x 10^(9.5/20) = 600 LSB となります• SDLVL が THR よりも高い場合、SAD がトリガされます• ハングオーバー機能により、指定された時間、SAD は DETECT 状態を維持できます

THR は ANMIN より
9.5 dB 高くなります

SDLVL が THR よりも高い場合、SAD がトリガされます(この例では ~73.5 dBSPL)

|Sin|
SDLVL
ANLVL
THR (SNTHRxANMIN)
SAD Detect

レベル (dBSPL)

ANMIN

ハングオーバーにより、SAD は
DETECT 状態に維持されます

時間 (s)

52

ここでは、サウンドアクティビティ検出モード 1 で使用される SAD の例を示します。
黒色は、SAD によって計算された連続的なサウンドレベル値を示しています。
閾値レベル THR は、ANMIN の値に SNTHR で選択されたゲ
イン係数を乗算して、計算されます。
サウンドレベル が THR より高い場合、SAD がトリガされます。緑色の信号は SAD 検出を示します。信号が高い場合、SAD がトリガされていることを示します。
ハングオーバー機能により、指定されたフレーム数の間、SAD は DETECT 状態を維持できます。

52

サウンドアクティビティ検出モード 2

ADF のみ• サウンドアクティビティ検出モード 2
SAD 有効化• SAD のトリガ条件：

SADST= LEARN
サウンドレベル（SDLVL）の計算（FRSIZE サンプルを使用）

N

SADST
= LEARN ?

Y

ANLVL の更新
（SDLVL、ANSLP を使用）

初期環境ノイズレベル（ANLVL）の計算
THR 値を更新（LFRNB、SDLVL を使用）

（ANMIN 、SNTHR を使用）

N

ANLVL >THR ?

Y

ANLV L は使用可能
か？

N
N

HGCNT --

HGCNT
=0?

Y

SADST= MONITORSADST = DETECT• THR が現在の ANLVL と比較されますY

SADST= MONITOR

HGCNT = HOVR

• SNTHR（dB） = 12 dB の場合、THR = ANMINとなります

ANLVL を保持

53

サウンドアクティビティ検出モード 2 では、環境ノイズレベ
ルの絶対値に達すると SAD がトリガされます。
このモードでは、ANMIN フィールドで基準閾値を定義します。
この基準閾値レベルは、環境ノイズと比較され、SNTHR に
よって選択されたゲインが乗算されます。
式にトリガ条件を示します。
SNTHR（dB）= 12 dB の場合、THR = ANMIN となります。
10 乗（SNTHR を 20 で割ったもの）は約 4 になるためです。

53

サウンドアクティビティ検出モード 2

ADF のみサウンドアクティビティ検出モード 2 で使用される SAD の例：• 600 LSB が 73.5 dBSPL の信号を表すように SCALE が調整されています• ANMIN は 150 に設定されています。すなわち、THR = 150 x 4 = 600 LSB となります。
• 推定された環境ノイズレベルは、SNTHR で増幅されます• 増幅された SNTHR が THR よりも高い場合、SAD がトリガされます
THR は4 x ANMIN に固定されます

増幅された ANLVL が THR よりも高い場合、SAD がトリガされます(この例では ~ 73.5 dBSPL)

レベル (dBFS)ANLVL は SNTHRで増幅されます (9.5 dB)

|Sin|
SDLVL
ANLVL
ANLVL x SNTHR
THR (4xANMIN)
SAD Detect

ANLVL

時間 (s)

54

ここでは、サウンドアクティビティ検出モード 2 で使用される SAD の例を示します。
黒色は、SAD によって計算された連続的なサウンドレベル値を示しています。
閾値レベル THR は、ANMIN の 4 倍の値から計算されます。
推定された環境ノイズは、SNTHR で選択されたゲイン係数により乗算された後に、閾値と比較されます。
この増幅された環境ノイズレベルが閾値 THR よりも高い場合、SAD がトリガされます。
緑色の信号は SAD 検出を示します。信号が高い場合、SADがトリガされていることを示しています。

54

© STMicroelectronics - All rights reserved.
ST logo is a trademark or a registered trademark of STMicroelectronics International NV or its affiliates in the EU and/or other countries.
For additional information about ST trademarks, please refer to www.st.com/trademarks.
All other product or service names are the property of their respective owners.

次のペリフェラルは MDF および ADF の動作に影響します。
詳細については、対応するプレゼンテーションを参照してください。
-RCC（MDF/ADF クロック制御、MDF/ADF 有効化/リセット）- 割込み（MDF/ADF 割込みの配置）-DMA（MDF/ADF 出力データ転送）-GPIO（MDF/ADF 入出力ピン、トリガ）-タイマ（MDF/ADF トリガ、ブレーク信号）- ペリフェラル相互接続マトリックス（MDF/ADF 相互接続）

55