【Microchipマイコンで便利に】MPLAB®を使ってMP3を流す!【デモ動画あり】

はじめに
こんにちは
マイコン開発をされている方で以下のようなお困りごとはありませんか?
- ・マイコンを使用している製品の付加価値を高めたい
- ・簡単にBGMや音声の再生機能を実装できないか?
- ・制御用に使用しているマイコンで、BGMや音声の再生ができたらいいのに...
- ・マイコンの機能開発に時間がかかってとても負担だ
このような皆様に簡単にマイコンでMP3再生を実現するための方法をお伝えします
(※実際にご利用いただく場合には、基板のご購入が別途必要となります)
それでは始めましょう。
目次
MPLAB® Harmony v3って?
MPLAB® Harmony v3(以下Harmony3)は無償の組み込みソフトウェアフレームワークです。柔軟なソフトウェアライブラリが提供されているため、開発の簡素化と開発時間の短縮を実現します。また、GUIベースの構成機能を使用することでデバイスとライブラリの構成の際の負担を減らします。
出典:Microchip Technology Inc.
提供されているソフトウェアライブラリは、ネットワーク、USB、モータ制御、暗号化セキュリティ等、様々なアプリケーションリポジトリが用意されています。
今回は提供されている中からAudioライブラリを使用し、簡単にマイコンでMP3を再生できるようにします。
構成紹介
ハードウェア編
評価ボード:SAM E70 Xplained Ultra開発キット
品番:ATSAME70-XULT(DM320113)
ATSAME70ファミリーマイコン搭載 SAM E70 XPLAINED ULTRA 開発キット
出典:Microchip SAM E70 XPLAINED ULTRA EVALUATION KIT
https://www.microchip.com/en-us/development-tool/DM320113 (参照 2022/2/10)
Daughter ボード:PIC32 Audio Codec ドーターカード
品番:AC328904
https://www.microchip.com/en-us/development-tool/AC328904
出典:Microchip AC328904 - PIC32 AUDIO CODEC DAUGHTER CARD
https://www.microchip.com/en-us/development-tool/AC328904 (参照 2022/2/10)
USBメモリ (FAT32)
USB Aメス - MicroBオス変換ケーブル
ソフトウェア編
MPLAB® X IDE | v5.50 |
MPLAB® XC32 Compiler | v2.30 |
Harmony 3 Launcher | v3.6.4 |
Harmony 3 Content Manager | v1.7.0 |
audio | v3.5.1 |
今回使用するMPLAB®プロジェクトは、Harmony 3 Content Managerで取得した Audioライブラリに付属しているアプリケーションを利用します。
上記環境を構築後、MPLAB® X IDEで、Harmony3 Content Managerを選択後、フォルダ内のAudio\apps\universal_audio_decoders\firmware\uad_sam_e70_xult_wm8904_ssc.Xを開きます。
プロジェクトを開きましたら、一度Clean and Build projectを行い、エラーがないことを確認した後に、SAM E70 Xplained Ultra開発キットへ書き込みます。
参考 Harmony3 Content Manager導入手順
1 上部ツールTools → Embedded → ContentManagerを選択します。
2 Framework PathにContentManager用のフォルダパスを指定した後、Nextを押します。(パスには全角文字・スペースが入らないようにしてください。)
出典:MPLAB® Harmony3 Content Manager
1 ContentManager起動後Remote Packagesが選択されていることを確認します。
core・bsp・csp・gfx・usb・audioを選択し、Downloadを押します。
出典:Harmony Content Manager
2 下画像のウィンドウが開きましたら、記載内容に承諾いただければAccept All Licensesにチェックを入れ、Closeを押します。
出典:Harmony Content Manager
3 ダウンロードが終わりましたら、Local Packagesにダウンロードしたライブラリが表示されているかご確認ください。
出典:Harmony Content Manager
4 上記環境を構築後MPLAB® X IDEで、Harmony3 Content Managerで指定したフォルダ内のAudio\apps\universal_audio_decoders\firmware内の uad_sam_e70_xult_wm8904_ssc.Xを開きます。
5 プロジェクトを開きましたら、一度Clean and Build projectを行い、エラーがないことを確認した後に、SAM E70 Xplained Ultra開発キットへ書き込みます。
構成図
操作方法
※音量についての注意
初期設定では大きな音が再生される可能性がありますので、イヤホン等は最初耳から外した状態で作業を行ってください。
1 PIC32 Audio Codec ドーターカードのHP OUT端子(黄緑)にヘッドフォンを接続します。
2 DEBUG USBポートとPCを接続します。必要に応じてボードに追加で電源を接続してください。システムはUSBの接続待ち状態になります。 (琥珀色のLED1が点滅)
3 オーディオファイルが入ったUSBマスストレージデバイスをボードのUSB TARGETコネクタに接続します。
※USB Aメス - MicroBオス変換ケーブルが必要です。
4 デバイスが接続されると、システムはオーディオファイルをスキャンします。
スキャンが完了し、ファイルが見つかるとヘッドフォンより曲が再生されます。
動作デモ
実際に動かしてみた映像は以下のYouTubeをご覧ください。
YouTube動画はChromeまたはFirefoxでご覧ください。
機能詳細
・LEDによる現在の状態の表示
状態 | LED |
---|---|
ストレージが接続されていない | 100ms周期で点滅 |
ストレージが接続されている | Off |
音量調節モード | Off |
ミュート状態(一時停止中) | 500ms周期で点滅 |
リニアトラックチェンジモード | On |
・機能切り替え
スイッチを1秒以上長押しすると、LEDが消灯/点灯し、音量調整モード⇔曲送りモードで切り替わります。
・音量調節モード
音量調整モードではLEDが消灯します。スイッチを短押しすると、出力音量が「低」「中」「高」「ミュート」の4段階に切り替えることが可能です。ミュートでは、一時停止状態になり、LEDが点滅します。
・曲送りモード
曲送りモードではLEDが点灯します。
スイッチを短押しすると次のトラックの再生が開始されます。
・再生情報
シリアルモニタを使用することで、現在の再生ファイルの詳細情報を確認することが可能です。(115200-8-N-1)
出典:Teraterm
まとめ
今回は、簡単にMP3の再生機能を実装するため 無償で提供されている、マイコン開発ツールMPLAB® X IDEと、ソフトウェアフレームワークHarmony3の内のソフトウェアライブラリを使用して、MCUマイコンでMP3を再生する方法の紹介でした。
今回の方法を使用することで曲の再生に加え追加機能として音量調節、曲送りモード、再生ファイル情報の表示が可能です。
今回の方法のように、無償提供されているHarmonyは、使用することで付加価値機能の開発を簡素化でき、市場投入までの時間短縮が可能です。
また、GUIベースの構成機能を使用することでデバイスとライブラリの構成の際の負担を減らします。
おわりに
今回はHarmony3で提供されているアプリケーションライブラリの内のAudioライブラリを利用してMP3を再生してみました。
Harmony3にはほかにも様々なライブラリがございます。ぜひ一度お試しください。