吳社民
(安陽市高級技工學校,河南 安陽 455000)
本方案采用ST公司的STM32F103VBT6芯片完成MP3/WMA音頻文件的解碼播放功能。其中STM32F103VBT6為主控芯片,采用VS1003芯片進行硬件解碼,MP3/WMA格式音頻文件存儲在SD卡中。
由于采用新的數據壓縮標準,MP3文件具有良好的音效和始于傳輸的體積大小。
本方案完成的功能包括:
(1)SD 卡文件的讀寫
(2)FAT32 文件系統(tǒng)的讀寫
(3)支持“上一曲/下一曲”、“順序播放”功能
(4)支持歌詞同步
1.1.1 Cortex-M3內核
Cortex-M3是ARM公司推出的新一代32位嵌入式微處理器內核。它采用ARM-V7-M架構,具有高性能、低功耗、少門數的特點;因此,非常適合嵌入式系統(tǒng)領域的設計和應用。
Cortex-M3具有一個與內核系統(tǒng)緊密耦合的嵌套向量終端控制器NVIC(Nested Vectored Interrupt Controller)。該NVIC可配置8級搶占式、256級優(yōu)先級的1—240個外部中斷,同時支持咬尾中斷、遲到中斷技術,大大縮短了中斷響應時間。
1.1.2 STM32芯片
STM32xxx系列芯片是ST公司基于ARM Cortex-M3設計的一個32位微處理器系列。該系列處理器在繼承ARM Cortex-M3內核優(yōu)點的基礎上,擴展了其外部接口、增強其定時器功能、增加了A/D、D/A模塊。
1.1.3 VS1003音頻解碼芯片
VS1003是VSL公司生產的一款單片MP3/WMA/MIDI音頻解碼和ADPCM編碼芯片。VS1003內部包含一個DSP處理器,為用戶提供5KB的指令RAM和0.5KB的數據RAM,提供一個SPI接口和一個UART接口,同時支持一個高質量采樣頻率可變的ADC和立體聲DAC模塊。
1.1.4 TDA1308T數模轉換芯片
當前,自然資源確權登記就是將相對完整的生態(tài)功能區(qū)域作為一個自然資源登記單元,自然資源統(tǒng)一確權登記將各類自然資源的質量、數量和保護要求全面摸清,并通過登記的法律手段予以公示明確,落實到每一個產權人或者使用權人,有助于充分掌握自然資源家底,并根據自然資源容量和承載力進行分類開發(fā)和保護,做到自然資源分類施策。
TDA1308是AB類的數字音頻(CD)專用耳機功放IC,具有低電壓、低失真、高速率、強輸出的優(yōu)異特性。芯片內采用MOS管輸出,可直接推動低阻抗耳機。因為封裝和功能引腳位與一般的雙運放相同,在特定條件下,也能當雙運放使用。在低供電電壓條件下,性能比一般的運放要好。因其封裝體積小,低電壓低功耗等特點,主要應用在便攜式數字音頻電路中,如discman,光驅的耳放電路等。
按模塊劃分,本方案主要包括如下幾個模塊:SD卡模塊、STM32主控模塊、VS1003音頻轉換模塊、TDA1308T數模轉換模塊、液晶模塊、人機交互模塊。
硬件電路框圖如圖1所示。
下面主要介紹SD卡模塊、VS1003模塊與STM32模塊的鏈接。
1.2.1 SD卡與STM32
本方案中SD卡用來存儲MP3/WMA格式的音頻文件。STM32處理器通過SPI1接口讀取SD卡中的音頻文件。STM32芯片處于Master模式,SD卡處于Slave模式。
在本方案中SD卡與STM32芯片之間的數據通信采用SPI協(xié)議。PA4:低電平有效,連接至SD卡的CS/DATA3引腳。在初始化過程中,SD卡根據該引腳電平的高低判斷進入SPI模式還是SDHC模式。在STM32與SD卡的數據通信過程中,該引腳需保持為低電平。
圖1 硬件電路框圖
PA5:連接至SD卡的CLK引腳,用于提供STM32與SD卡數據通信過程中時鐘信號。
PA7:連接至SD卡的CMD引腳。對SD卡而言,該引腳為數據輸入引腳,對STM32而言,該引腳為數據輸出引腳。
1.2.2 VS1003與STM32
本方案中VS1003用來進行MP3/WMA格式音頻文件的硬件解碼。STM32處理器通過SPI2接口將數據送入VS1003進行解碼。STM32芯片處于Master模式,VS1003芯片處于Slave模式。
硬件電路框圖如圖2所示。
圖2 硬件電路框圖
PB14:連接至VS1003的SO引腳。對STM32而言,該引腳為數據輸入引腳;對VS1003而言,該引腳為數據輸出引腳。
PB15:連接至VS1003的SI引腳。對STM32而言,該引腳為數據輸出應交;對VS1003而言,該引腳為數據輸入引腳。
PB13:連接至VS1003的CLK引腳,用于提供VS1003與STM32之間數據通信時所需的始終信號。
PB12:連接至VS1003的CS引腳,低電平有效。在STM32與VS1003通信過程中,該引腳需保持低電平。
本方案程序設計的總體思路為:STM32芯片通過SPI1接口從SD卡中讀取以FAT32文件系統(tǒng)個格式存儲的MP3/WMA音頻文件,然后將數據文件通過SPI2接口送至VS1003進行解碼,解碼結果通過TDA1308T芯片的轉換送往耳機播放。
應用程序流程圖,如圖3所示。
圖3 應用程序流程圖
本方案提出一種基于STM32F103VBT6的MP3/WMA音頻文件播放設計模型。硬件上,簡要介紹了各個模塊的電路連接和工作流程;軟件上,介紹了程序組織模型和應用程序設計流程。整個系統(tǒng)設計簡明、簡單、可靠性強,具有很高的性價比。
[1]STM32F103X Datasheet Rev1[OL].pdf www.st.com.
[2]STM32F10X Reference Manual V8[OL].pdf www.st.com.
[3]The Definitive Guide to The ARM Cortex-M3.pdf[OL].
[4]李寧.ARM開發(fā)工具KeilMDK使用入門[M].北京:北京航空航天大學出版社,2008.
[5]李寧.基于MDK的STM32處理器開發(fā)應用[M].北京:北京航空航天大學出版社,2008.