你們好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給你們介紹的是基於i.MXRT1011的MP3播放器參考設計。git
i.MXRT1011是恩智浦i.MXRT四位數系列的入門型號,雖然是入門級,可也是500MHz主頻的大殺器。github
爲了讓你們見識到i.MXRT1011的能量,特給你們分享一個基於i.MXRT1011-EVK開發板的MP3播放器設計,mp3源文件從U盤獲取,使用Helix MP3庫進行軟解碼,最後將解碼出的pcm數據經過板載Codec(WM8960)連耳機進行播放。app
功能模塊簡圖:ui
這個設計目前還處於初級階段,但已經實現了最核心的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官網下載不到源碼了,這裏感謝原子哥的開源。code
所有硬件清單:blog
1. MIMXRT1010-EVK (Rev.C) 2. U盤 (Micro-USB接口) 3. 耳機(3.5mm接口),或音箱 4. USB線(連主機供電)
實物鏈接圖:接口
代碼是開源的,會持續添加功能(考慮加入Arduino接口的觸摸屏,實現GUI),歡迎感興趣的小夥伴加入一塊兒開發!開發