STM32H7ハイスペック・マイコンで作るオーディオ・スペクトラム・アナライザ


マイク録音とスピーカ再生

実験製作用ソースコード

STM32H7ハイスペック・マイコンで作るオーディオ・スペクトラム・アナライザ 第1回 マイク録音とスピーカ再生(著 山田 浩之/Y-Logic)」の制作用ソースコードは下記からダウンロードできます.

H7_LCD_Audio_Example_1.zip

詳細は下記参照(ピーバンドットコム・ホームページ内

[エレクトロニクスの確かな情報便]-[STM32H7 ハイスペック・マイコンで作るオーディオ・スペクトラム・アナライザ]-[第1回 マイク録音とスピーカ再生](株式会社ピーバンドットコム)

Arm M4/M7×500MHzの全部入りキットで信号処理プログラミング

図1 大型カラーLCDを搭載するマイコン・キット STM32H747I-DISCOを使って,再生速度&音程エフェクタを制作.オーディオ機能を制御する専用API``BSP''(Board Support Package)を利用してスピード開発.画像クリックで動画を見る.または記事を読む.詳細は[VOD/KIT/data]ARM M4/M7/DSP 500MHz!STM32H7計測&通信用ハイスペック I/O Module開発

デュアル・コア搭載のSTM32H7シリーズ

STM32H7シリーズは,STマイクロエレクトロニクスが提供する高性能マイコンで,Cortex-M7とCortex-M4のデュアル・コアを搭載しています.STM32H747I-DISCOは,オーディオ処理に適した機能を備えており,オーディオ・アナライザやエフェクタの開発に適しています.

このボードは,以下のような特徴をもちます.

  1. 動作クロック470MHzのCortex-M7とCortex-M4を搭載
  2. 高精度なA-D/D-A変換を実現するオーディオCODEC内蔵
  3. タッチパネルLCDを搭載し,視覚的なフィードバックが可能
  4. 組み込み開発向けのST-LinkV3Eデバッガを標準搭載

これらの機能を活用することで,オーディオ信号のリアルタイム解析が可能です.

オーディオ信号処理の基礎

オーディオ信号処理では,入力信号$V_{in}$をA-Dコンバータでディジタル化し,処理後にD-Aコンバータを通じてスピーカへ出力します.STM32H747I-DISCOでは,ボード上のオーディオCODECがこの役割を果たし,以下の流れで動作します.

  1. ディジタル・マイクからの音声をA-D変換
  2. STM32H7のデュアル・コアによる信号処理
  3. 処理結果をD-A変換し,スピーカへ出力

この一連の流れをプログラムで制御することで,オーディオ・スペクトラム・アナライザを実現できます.

キーワード

BSPドライバとは

BSP(Board Support Package)ドライバは,STM32シリーズの評価ボード向けに提供される専用APIです.STM32H747I-DISCOでは,オーディオ機能を制御するためにBSPドライバを利用します.

BSPドライバを使用することで,以下のような処理が簡単に実装できます.

  1. マイクからの音声データ取得
  2. スピーカへの音声データ出力
  3. オーディオCODECの初期化および設定

BSPドライバの組み込み手順

BSPドライバをプロジェクトに組み込むには,STM32CubeH7パッケージから必要なファイルをコピーし,プロジェクトに追加する必要があります.

  1. STM32CubeH7の`Drivers/BSP/STM32H747I-DISCO/`フォルダから`stm32h747i_discovery_audio.c`と`stm32h747i_discovery_audio.h`をプロジェクトへコピー
  2. `Drivers/BSP/Components/wm8994/`フォルダのオーディオCODEC関連ファイルをプロジェクトに追加
  3. STM32CubeIDEのビルド設定でBSPドライバを適用

〈著:ZEPマガジン〉

動画を見る,または記事を読む

著者紹介

  • 2015年 都内電子機器メーカに入社.主にUSB3.1やDisplayPort,MIPI,車載向けSer/Desなど高速インタフェース変換基板の設計開発.回路設計からファームウェア,ソフトウェア開発(C/C++)を担当
  • 2023年 「Y-Logic」として独立開業

著書

  1. [VOD/KIT/data]ARM M4/M7/DSP 500MHz! STM32H7計測&通信用ハイスペック I/O Module開発,ZEPエンジニアリング株式会社.
  2. タッチパネルLCD搭載!Cortex-M4/M7×500MHz!全部入りマイコン・キット STM32H747I-DISCO誕生,ZEPエンジニアリング株式会社.
  3. STM32H7 ハイスペック・マイコンで作るオーディオ・スペクトラム・アナライザ,マイク録音とスピーカ再生,株式会社ピーバンドットコム.
  4. 世界統一規格新USBType-C攻略DVD(特集)第4部,トランジスタ技術2020年2月号,CQ出版社.
  5. 電池交換不要!消費電流1μA未満のソーラ充電式導通チェッカ,トランジスタ技術2020年10月号,CQ出版社.
  6. AVRでサクッとマイコン開発(特集すべて),トランジスタ技術2021年4月号,CQ出版社.
  7. 3桁表示ミリオーム計の設計・製作,トランジスタ技術2021年6月号,CQ出版社.
  8. 直流バイアス付きコンデンサ容量計,トランジスタ技術2021年11月号-2022年3月号(短期連載),CQ出版社.
  9. 超便利!ICの故障・真贋チェッカの製作,トランジスタ技術2023年3月号,CQ出版社
  10. 作る!わかる!USBType-C&電源(特集)第1部3-4章,トランジスタ技術2023年6月号,CQ出版社.
  11. 20mVステップUSB可変電源の製作,トランジスタ技術2023年9月号,CQ出版社.
  12. 「大安」「仏滅」を計算する六曜カレンダ回路の製作,トランジスタ技術2024年3月号,CQ出版社.

参考文献

  1. [VOD/KIT/data]ARM M4/M7/DSP 500MHz! STM32H7計測&通信用ハイスペック I/O Module開発,ZEPエンジニアリング株式会社.
  2. タッチパネルLCD搭載!Cortex-M4/M7×500MHz!全部入りマイコン・キット STM32H747I-DISCO誕生,ZEPエンジニアリング株式会社.
  3. [VOD/KIT]STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門,ZEPエンジニアリング株式会社.
  4. 実験しながら学ぶフーリエ解析とディジタル信号処理[Vol.1:フーリエ解析の基本「三角関数」の正しい理解]
  5. [VOD]Pythonで学ぶ やりなおし数学塾2【フーリエ解析】