大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是基於i.MXRT1011的MP3播放器參考設計。
i.MXRT1011是恩智浦i.MXRT四位數系列的入門型號,雖然是入門級,可也是500MHz主頻的大殺器。
為了讓大家見識到i.MXRT1011的能量,特給大家分享一個基於i.MXRT1011-EVK開發板的MP3播放器設計,mp3源文件從U盤獲取,使用Helix MP3庫進行軟解碼,最后將解碼出的pcm數據通過板載Codec(WM8960)連耳機進行播放。
功能模塊簡圖:
這個設計目前還處於初級階段,但已經實現了最核心的mp3文件解碼與播放。設計主要參考了SDK包里的兩個例程:通過USB讀取U盤中的音頻源文件(usb_host_msd_fatfs),使用I2C對Codec進行設置后使用SAI和DMA進行數據的傳輸(sai).
SDK\boards\evkmimxrt1010\usb_examples\usb_host_msd_fatfs\bm
SDK\boards\evkmimxrt1010\demo_apps\sai
此外,核心mp3解碼功能是使用了正點原子移植好的Helix MP3解碼庫。因為一些歷史原因,我們在Helix Community官網下載不到源碼了,這里感謝原子哥的開源。
全部硬件清單:
1. MIMXRT1010-EVK (Rev.C)
2. U盤 (Micro-USB接口)
3. 耳機(3.5mm接口),或音箱
4. USB線(連主機供電)
實物連接圖:
代碼是開源的,會持續添加功能(考慮加入Arduino接口的觸摸屏,實現GUI),歡迎感興趣的小伙伴加入一起開發!
- 代碼倉庫: https://github.com/JayHeng/RT-Mp3Player
- 工程路徑: \RT-Mp3Player\boards\evkmimxrt1010\demo_apps\udisk_mp3
歡迎訂閱
文章會同時發布到我的 博客園主頁、CSDN主頁、知乎主頁、微信公眾號 平台上。
微信搜索"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。