国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32微控制器的mp3播放器設計

2015-02-21 13:56范文豪
現代電子技術 2015年4期
關鍵詞:開發(fā)板播放器解碼

李 偉,張 真,范文豪

(黃河科技學院,河南 鄭州450063)

基于STM32微控制器的mp3播放器設計

李 偉,張 真,范文豪

(黃河科技學院,河南 鄭州450063)

介紹了一種音樂播放器的設計方法,該播放器是基于Cortex?M3內核的STM32微控制器的MP3播放器。Cor?tex?M3是ARM公司為要求低成本、低功耗、高性能的嵌入式應用專門設計的內核。結果表明該系統(tǒng)可以播放MP3和WAV音樂文件,播放同時顯示歌曲名字,歌手和專輯名稱。

音樂播放器;STM32;MP3播放器;Cortex?M3

0 引言

隨著科技發(fā)展,MP3播放器早已擺脫了單純聽音的時代,而朝著多功能一體化方向不斷發(fā)展。MP3從一個音樂播放載體逐漸演變?yōu)閿荡a多功能產品。MP3是MPEG Audio Layer3的簡稱,其通過音頻壓縮技術,可以將音樂壓縮,從而降低了音樂文件的體積。盡管MP3是一種有損壓縮,其壓縮過后還能保持很好的音質。正是因為MP3體積小、音質高的特點,使得MP3格式的音樂在網絡上廣為傳播。市面上的中低端MP3都是采用的單芯片解決方案,而本系統(tǒng)采用雙芯片解決方案,理論上要比市場上的中低端質量要好。

該設計是基于STM32微控制器所設計的MP3播放器,MP3文件儲存在SD卡上,由STM32讀取數據并送到VS1003音頻解碼模塊解碼輸出。同時STM32驅動液晶模塊顯示當前播放信息,提供播放歌曲名顯示。

1 硬件系統(tǒng)

整個系統(tǒng)硬件模塊分為兩個模塊:STM32開發(fā)板、VS1053音頻解碼模塊。

如圖1所示STM32開發(fā)板由供電電路、時鐘源電路、SPI存儲電路、JTAG接口和復位電路、SD卡插座、USB接口、液晶顯示模塊及與音頻解碼芯片的連接電路。VS1053是單獨的模塊,作用是音頻解碼。

圖1 硬件電路

1.1 供電電路設計

供電電源采用AMS1117?3.3。該電源的特點:三端可調或固定電壓3.3 V輸出電流為1 A線路調整率。如圖2所示,輸入5 V,提供3.3 V的固定電壓輸出,為了降低電磁干擾,C7~C10濾波后為CPU提供電源,R8為DGND與AGND的連接,R9和D5為LED電源指示。

1.2 SPI存儲電路

該設計采用M25P16(16 MB)作為存儲電路。CPU采用SPI1端口PA7?SPI1?MOSI(P32)、PA6?SPI1?MISO

(P31)、PA5?SPI1?SCK(P30)、PA4?SPI1?NSS(P29)控制讀/寫訪問,SPI1地址為0x4000 3800~0x4000 3BFF。SPI存儲電路見圖3。

圖2 供電電路

1.3 JTAG接口

該接口用于測試芯片的電氣特性,檢測芯片是否有問題。如圖4所示為JTAG接口電路。

圖3 SPI存儲電路

圖4 JTAG接口電路

1.4 SD卡接口

本設計采用的MicroSD卡,卡座接口為8腳(見圖5),與CPU的SD卡接口連接分別為SD卡座CPU 1~8:SDIO?D2 PC10?SDIO?D2(P78);SDIO?D3 PC11?SDIO?D3(P79);SDIO?CMD PD2?SDIO?CMD(P83);+3 V+3 V;SDIO?CK PC12?SDIO?CK(P80);GND GND;SDIO?D0 PC8?SDIO?D0(P65);SDIO?D1 PC9?SDIO?D1(P66)SDIO。地址為0x4001 8000~0x4001 83FF。

圖5 SD卡座

1.5 Cortex?M3處理器的設計

Cortex?M3具有調試成本低,中斷延短,門數目少的特點,是一種低功耗處理器,主要應用于有快速中斷響應能力的深度嵌入式設備中。所以該設計采用Cortex?M3作為處理器。

Cortex?M3處理器整合了以下組件:

(1)處理器內核,ARMv7?M:Thumb?2 ISA子集,包含所有基本的16位和32位Thumb?2指令。硬件除法指令,SDIV和UDIV(Thumb?2指令)處理模式(Han?dler Mode)和線程模式(Thread Mode)。

(2)嵌套向量中斷控制器(NVIC)。為了實現低延遲中斷處理,讓嵌套向量中斷控制器和處理器緊密結合,并且具有以下特性:

①優(yōu)先級分組。分為占先中斷等級和非占先中斷等級。

②優(yōu)先級位可配置為3~8位。

③外部中斷可配置為1~240個。

④中斷優(yōu)先級可動態(tài)地重新配置。

(3)存儲器保護單元(MPU)的主要作用是對存儲器進行保護,具有以下特性:

① 子區(qū)禁止功能(SRD),實現對存儲器區(qū)的有效使用。

②可使能背景區(qū),執(zhí)行默認的存儲器映射屬性。

③8個存儲器區(qū)。

1.6 Cortex?M3的層次和實現

Cortex?M3處理器的組件存在于兩個層次等級中。因為ROM、SW/JTAG?DP、TPIU和ETM組件是可選的,這4個組件位于Cortex?M3處理器的外面,執(zhí)行和使用它們的方式非常靈活??赡艿南到y(tǒng)實現的選項有TPIU和SW/JTAG?DP。

(1)TPIU的實現選項。如果系統(tǒng)中有ETM,則會含有TPIU格式程序,否則就不包含該格式程序。一個多內核的實現可使用單個或多個TPIU來跟蹤。ARM TPIU模塊可以用兼容TPIU的指定合作伙伴的Core?Sight取代。在生產設備中,TPIU可以移除。

(2)SW/JTAG?DP的實現選項。實現可以含有SW?DP或JTAG?DP中的任一個或兩者都有。ARM SW?DP可以被兼容SW?DP的指定合作伙伴的CoreSight取代。ARM JTAG?DP可以被兼容JTAG?DP的指定合作伙伴的CoreSight取代。SW?DP或JTAG?DP可以包含指定合作伙伴的測試接口。

1.7 VS1003的主控單元設計

1.7.1 VS1003芯片介紹

解碼芯片用的是VLSI的VS1003。VS1003是由荷

蘭VLSI公司出品的一款單芯片MP3/WMA/MIDI/WAV音頻解碼和ADPCM編碼芯片。VS1003的特性如下:能解碼音頻文件;支持MP3和WAV;對話筒輸入或線路輸入的音頻信號進行IMAADPCM編碼;低功耗;單時鐘操作12~13 MHz;高低音控制;內含能驅動30 Ω負載的耳機驅動器。

VS1003通過SPI接口來接收輸入的音頻數據流,它可以是一個系統(tǒng)的從機,也可以作為獨立的主機。這里只把它當成從機使用。通過SPI口向VS1003不停地輸入音頻數據,它就會自動解碼,然后從輸出通道輸出音樂,這時接上耳機就能聽到所播放的歌曲。VS1003音頻解碼模塊是一個通用的解碼模塊。

1.7.2 控制VS1003播放歌曲步驟

(1)復位VS1003。這里包括了硬復位和軟復位,是為了讓VS1003的狀態(tài)回到原始狀態(tài),準備解碼下一首歌曲。建議在每首歌曲播放之前都執(zhí)行一次硬件復位和軟件復位,以便更好的播放音樂。

(2)配置VS1003的相關寄存器;這里配置的寄存器包括VS1003的模式寄存器(MODE)、時鐘寄存器(CLOCKF)、音調寄存器(BASS)、音量寄存器(VOL)。

(3)發(fā)送音頻數據。當經過以上兩步配置以后,需要往VS1003里面送音頻數據了,只要是VS1003支持的音頻格式,直接往里面送就可以,VS1003會自動識別,并進行播放。不過發(fā)送數據要在DRE信號的控制下有序的進行,不能亂發(fā)。這個規(guī)則很簡單:只要DREQ變高,就向VS1003發(fā)送32 B。然后繼續(xù)等待DREQ變高,直到音頻數據發(fā)送完。

2 軟件設計

2.1 主程序流程圖

主程序完成開發(fā)板的初始化和文件系統(tǒng)的初始化,初始化后MCU先把音樂文件信息比如歌曲名字、作者和專輯名稱顯示出來。然后開始向VS1003模塊發(fā)送32 B的音樂數據,VS1003開始解碼音樂數據,解碼后VS1003把DREQ拉高,MCU判斷DREQ為高后繼續(xù)發(fā)送32 B數據,直到把音樂數據發(fā)送完畢,之后系統(tǒng)進入死循環(huán),如圖6所示。

2.2 開發(fā)板初始化

開發(fā)板初始化程序,先是系統(tǒng)時鐘的初始化,然后初始化LED為后面的電亮做準備,然后初始化LCD,為顯示做準備。如圖7所示。

2.3 軟件結構

本設計具有開始、暫停、Vol+、Vol-和播放上一首下一首的功能。每一個功能都有對應的按鍵。軟件結構如圖8所示。

圖6 主流程序流程圖

圖7 開發(fā)板初始化

圖8 軟件結構示意圖

3 結語

該設計基于以AMS1117?3.3作為供電電源,以Cor?tex?M3作為處理器,通過VS1003實現音頻解碼,達到播放音樂的目的。

該音樂播放器可以實現開始、暫停、聲音加減和上一首、下一首的功能。功能比較單一,如何在單一平臺上實現更多的功能是一個發(fā)展方向,譬如iPod通過移植操作系統(tǒng)作為通用平臺,然后下載各種應用軟件實現各種應用,比如上網瀏覽網頁、游戲等功能。

[1]YIU Joseph.Cortex?M3權威指南[M].宋巖,譯.北京:北京航空航天大學出版社,2009.

[2]VLSI公司.VS1003中文說明書[EB/OL].[2011?04?07].http:// wenku.baidu.com.

[3]張陽天,韓異凡.Protel DXP電路設計[M]北京:清華大學出版社,2003.

[4]VLSI公司.VS1003?MP3/WMA AUDIO CODE數據手冊[EB/ OL].[2005?06?07].http://download.csdn.net/detail/zhongpai/ 4392299.

[5]陳杰.基于ARM平臺的MP3編碼器的實現及性能優(yōu)化[D].上海:上海交通大學,2007.

[6]李國輝.基于ARM的MP3播放器設計與實現[J].現代電子技術,2012,35(16):1?2.

Design of MP3 player based on STM32 micro controller

LI Wei,ZHANG Zhen,FAN Wen?hao
(Huanghe Science and Technology College,Zhengzhou,450063,China)

A design method of a music player is introduced in this paper,which is the MP3 player based on STM32 mi?cro controller of Cortex?M3 kernel that is designed specifically by ARM for the embedded applications of low cost,low power con?sumptionand high performance.This system can realize the functions:playback of MP3 and WAV music file,and name dis?play of song,singer name and album.

music player;STM32;MP3 player;Cortex?M3

TN710?34

A

1004?373X(2015)04?0118?03

李 偉(1983—),女,河南南陽人,碩士,講師。主要研究方向為移動通信與無線網絡技術。

張 真(1992—),男。研究方向為通信工程。

2014?08?15

鄭州市無線與移動通信網絡應用技術創(chuàng)新團隊(121PCXTD511);河南省民辦高校通信工程品牌專業(yè)

猜你喜歡
開發(fā)板播放器解碼
《解碼萬噸站》
Walkman誕生40周年 索尼適時發(fā)布NW-ZX500和NW-A100系列播放器
解碼eUCP2.0
基于STM32的MP3播放器設計
NAD C368解碼/放大器一體機
Quad(國都)Vena解碼/放大器一體機
Moon ACE播放器/放大器一體機
Microchip最新推出兩款PIC32 Curiosity開發(fā)板
淺析單片機開發(fā)板的設計與制作
播放器背板注塑模具設計
陈巴尔虎旗| 泗水县| 南汇区| 怀远县| 安溪县| 新乐市| 罗江县| 高尔夫| 公安县| 邮箱| 无锡市| 山阳县| 阳泉市| 东辽县| 咸阳市| 星座| 静乐县| 阿荣旗| 瓦房店市| 县级市| 临潭县| 镇康县| 常德市| 封开县| 贵溪市| 三门县| 宝清县| 西安市| 邹平县| 潞城市| 云安县| 崇礼县| 神农架林区| 青浦区| 汶川县| 峨边| 穆棱市| 东乡县| 樟树市| 扎兰屯市| 化州市|