ソフトウェアデコード式 I2S出力型 PIC32MZ MP3 プレーヤ |
|||||||
2019.02.03 PIC情報交換会資料 | |||||||
YS電子工作デザイン http://www.ys-labo.com/ 斎藤 | |||||||
YS電子工作ショップ http://ys-labo.shop-pro.jp/ | |||||||
1. | MP3プレーヤ概要 | ||||||
・CPU: PIC32MZ2048EFH100 システムクロック200MHz ・演奏可能ファイルフォーマット: MP3、WAV ・MP3デコード方式: Harmony用 MP3 デコーダーライブラリ使用 ・DAコンバータ: I2Cインターフェース
・押しボタンスイッチ x2: プレー/一時停止用、演奏曲スキップ用 ・表示機能: 演奏中のファイル名を表示( by キャラクタ液晶 SC1602 16文字x 2行) ・開発環境: Harmony ver.2.06 XC32 ver2.10 MPLABX ver4.20 ・設計方針: MP3ファイル再生をテーマとした、シンプルなPIC32MZ評価ボード用サンプルソフトとする。 |
|||||||
2. | 回路図(→PDFファイル) | ||||||
3. |
|
||||||
4. | 動作結果 | ||||||
→ YouTube 動画 | |||||||
5. | プログラム | ||||||
・ハーモニーサンプルプログラムのuniversal_audio_decoders(PIC32MX470用、DAC:AK4384、 オーディオプロトコル:右詰め、グラフィック付)を参考に作成 |
|||||||
・プログラム概略 ➀ダブルバッファ使用 |
|||||||
➁USBメモリ内のファイルをオープン後、512バイトバッファにデータを読み込み | |||||||
③バッファ内のMP3の512バイトを一括でWAV形式に変換してDMA用バッファに保存 | |||||||
④DMA用バッファからサウンドデータサイズ(2バイト)毎にI2Sモジュールのバッファに書き込み 書き込みタイミング: 再生サンプリング周波数(I2Sボーレート、タイマ2の割り込みを使用) |
|||||||
⑤I2Sモジュールが LRCLK、SDATA、BCLK端子に所要の信号を出力 | |||||||
・プロジェクトファイル → ダウンロード | |||||||
6. | Harmony用 MP3 デコーダーライブラリ | ||||||
・マイクロチップダイレクトでダウンロード販売されている。 価格:197ドル 名称/パーツNo: SW320022-1HPM - PIC32 Compact MP3 Decoder Library for Harmony |
|||||||
・Harmonyにプラグインして使用する。 | |||||||
・同様品: WMA Decoder Library(199ドル)、AAC Decoder Library(197ドル) | |||||||
7. | I2Sについて | ||||||
■ I2Sとは デジタル音声データをシリアル転送するための規格で、3本の信号線(LRCLK、BCLK、SDATA)から 構成される。ICによっては、この3信号と同期するMCLKの供給が必要になることがある。 |
|||||||
■ データ波形 | |||||||
|
|||||||
|
|||||||
■ MCLK ・DACでの用途: MCLK はインタポ-レーション(補間)フィルタとΔΣDA変換器に使用されます |
|||||||
・入力パルス条件: | |||||||
➀ データパルスと同位相ではなくてもよいが、同一タイミングであること | |||||||
➁ サンプリング周波数の特定整数倍のクロック (注)高い周波数のMCLKを入力するほうがノイズの少ない良いサウンドが聴ける |
|||||||
③ 上記表に基づくクロックでなくとも入力クロックをもとに 自動的に適切なシステムクロック周波数を選択できる。 (PCM5102、AK4384) | |||||||