原創博文,轉載請注明出處
這是我高級電子技術試驗課做的作業,拿來共享一下。項目在安福萊例程基礎之上進行的功能完善,里面的部分內容可參考安福萊mp3例程。當然用的板子也是安福萊的板子,因為算起來總共做了也沒幾天,技術含量嘛,一般般,大家不喜勿噴。如果你正在學習stm32,希望能幫助到你。
項目代碼已提交到我的github,點擊進入。
下面是一些簡單的介紹。
摘 要
Cortex-M3是ARM公司為要求高性能(1.25 Dhrystone MIPS/MHz)、低成本、低功耗的嵌入式應用專門設計的內核。STM32系列產品得益於Cortex-M3在架構上進行的多項改進,包括提升性能的同時又提高了代碼密度的Thumb-2指令集和大幅度提高中斷響應的緊耦合嵌套向量中斷控制器,所有新功能都同時具有業界最優的功耗水平。
本報告給出一個由STM32、普通SD卡、VS1003B硬件解碼芯片以及其他外圍器件構成的MP3播放器。系統采用ARM Cortex-M3內核的STM32F103ZE作為微控制器,結合VS1003B音頻解碼芯片,SD卡存儲器,TFT液晶顯示屏等外圍設備,以及FAT文件操作,設計並實現了可以控制暫停、播放、靜音、刪除、選擇歌曲和調整音量的MP3播放器。本報告從硬件設計和軟件設計兩個方面對該MP3播放器的工作過程做了詳盡分析。
關鍵詞:STM32F103ZE、VS1003、FAT、Fonts、SD卡、MP3播放器
1、設計目的
MP3是MPEG Audio Layer3的簡稱,其實就是一種音頻壓縮技術。通過這個技術,MP3可以把音樂以1:10甚至1:12的壓縮率壓縮,從而大大降低了音樂文體的體積。由於MP3體積小,音質高的特征,所以MP3格式的音樂被廣泛傳播。
本次實驗的目的是通過制作一個MP3播放器有助於我們更加了解對STM32、SPI接口、SD卡、TIMER、中斷、FAT文件系統、VS1003B解碼器的應用。
2、設計任務與性能指標
整個系統的功能實現包括:
1、SD卡讀寫
2、FAT文件系統
3、LCD人界界面
4、MP3文件播放
對於播放器的歌曲控制功能則包括暫停、播放、靜音、刪除、選擇歌曲和調整音量。
3、系統總體設計與工作原理
STM32嵌入式MP3播放器由微處理器STM32F103ZE、SD卡、I2S音頻DAC、VS1003B音頻解碼芯片、電源電路、晶振電路、復位電路、SPI總線、RS232串口、功能按鍵、指示燈、JTAG接口及各種擴展接口組成。
整個系統模塊分為四個模塊:MCU主芯片、CPU外圍電路、VS1003B音頻解碼芯片、TFT液晶顯示。MCU是STM32主芯片的最小板,上面有芯片工作需要的最小資源:時鍾控制電路、復位電路、JTAG控制口以及與外圍電路的接口。CPU外圍電路上集成了穩壓電源、濾波電路、SD卡、與液晶及音頻解碼芯片的連接電路。VS1003B和液晶分別是單獨的音頻解碼芯片、控制顯示部分。
整個系統的工作原理:STM32F103ZE微控制器首先對硬件設備進行初始化,然后讀取SD卡中的音樂文件,並將數據送入VS1003B進行音頻解碼,得到模擬的音樂流,從而實現MP3的播放功能,同時結合TFT顯示屏和功能按鍵實現了人機交互。
系統框圖如下: