Make Technology

I2Sデジタル出力マイクをESP32で扱う方法(2)

Make
スポンサーリンク

前回の記事からだいぶ時間が経ってしまいましたが、ESP32でI2Sマイク(正確には PDMマイク + PDM-I2S コンバータ)を扱う方法を紹介していきます。今回は電子回路編です。
(ちなみに前回の記事は↓)

電子部品

前の記事でも触れましたが、主な部品は以下の通り。
全ての部品にピンヘッダが付属しており、ブレッドボードにつけることが可能です。

  • ESP32開発ボード(ESP32 devkitc)
  • SPH0641LU4H使用 超音波対応マイクモジュールキット
  • ADAU7002仕様ステレオPDMーI2S(TDM)コンバータ

回路図

今回はブレッドボードで回路を作ってみることにしました。早速、回路図を見てみましょう。

ブレッドボードの配線図

まず、全体の構成は大体こんな感じです。
[ESP32] <–> [PDM-I2S コンバータ] <–> [PDMマイク]

PDMマイクとI2SコンバータのセットでI2Sマイクを構成して、ESP32と接続していると考えると分かりやすいと思います。
それを踏まえて、各部品の接続を見てみましょう。

電源

電源(VDD)とグランド(GND)はすべて共通でOK。
電源は3.3Vですが、ESP32開発ボードの電源ピン(3.3V)から供給します。また、ボードのマイクロUSBコネクタはファームウェア書き換えなどの通信に使いますが、電源も供給できるのでPCとUSBケーブルでつなげば手軽に使えます。センサの消費電流も少ないので、電源容量も心配ありません。

モジュール間の接続(信号線)

では、各モジュール間の接続について見てみます。

PDMマイク – I2Sコンバータ

マイクの信号線はDAT(データ)とCLK(クロック)の2本でI2C通信と似ています。信号ライン自体はI2Sも似たようなもの(+I2SではオーディオのLR選択ピン)ですが、通信データのフォーマットが異なるため、そのままではI2S用のプログラムで処理できません。そこで、I2SコンバータによりI2S形式に変換します。

PDMマイクPDM-I2S コンバータ
ピン3 (CLK)ピン8 (PDM_CLK)
ピン4 (DAT)ピン1 (PDM_DAT)

ESP32 – I2Sコンバータ

続けて、I2S(モジュール)とESP32の接続も見てみます。
ESP32の入出力ピンは基本的に自由ですが、とりあえず以下のリストのように定義しました。
コンバータのSDATAはデータ用、LRCLKとBCLKはクロック用のピンです。CONFIGは信号ピンとは少し異なり、コンバータの通信形式を指定するピンで、電源かGNDピンをつないで決定します(正確には、電源は抵抗を介するかどうかで変わります。詳細はデータシート参照)。

ESP32PDM-I2S コンバータ
IO33ピン2 (SDATA)
IO32ピン7 (LRCLK)
IO27ピン6 (BCLK)
3.3Vピン5 (CONFIG): 電源と共通

I2Sマイクの場合も、SDATA、LRCLK、BCLKを同様につなげば使えます。I2S出力のマイクであれば、今回のI2Sコンバータは不要なので回路がスッキリします。

272.0¥ 16% OFF|1個sipeed高感度i2sインターフェースシングルマイクモジュール|Integrated Circuits| - AliExpress
Smarter Shopping, Better Living! Aliexpress.com

これでハードウェアは完成です。次回はいよいよソフトウェアを書き込みます。

タイトルとURLをコピーしました