新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Cortex M3的音頻播放器的設(shè)計

基于Cortex M3的音頻播放器的設(shè)計

作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

隨著科學(xué)技術(shù)的發(fā)展,MP3這一產(chǎn)品的技術(shù)越來越成熟,MP3現(xiàn)在以外形精致小巧,功能的的多樣性,且抗震省電等特點(diǎn)得到了廣大消費(fèi)者的喜愛,且MP3歌曲可以隨時自由下載,更是將MP3的使用達(dá)到極大的普及,豐富了人們的文化生活。

本文引用地址:http://butianyuan.cn/article/201609/303781.htm

系統(tǒng)采用TI公司新推出的Cortex M3系列微控制器LM3S9B96。該芯片使用高性能的ARM Cortex-M3 32位的RISC內(nèi)核,工作頻率為80 MHz。完全滿足音頻文件的讀取、解碼、播放等功能。改進(jìn)了市場中流行的MP3由于播放文件格式單一、人機(jī)界面的單調(diào)的缺陷。

1 系統(tǒng)總體設(shè)計

系統(tǒng)總體設(shè)計如圖1所示,以TI公司的微處理器LM3S9B96為控制核心,通過讀取SD卡*.mp3、*.wma、*.wav等格式的音頻文件,然后通過音頻解碼芯片VS1003實現(xiàn)解碼,最后通過外部音頻功放完成放大,推動揚(yáng)聲器工作。LCD觸摸屏主要完成所播放歌曲名稱的顯示和人機(jī)交互功能。系統(tǒng)由ARM微處理器控制核心、音頻解碼模塊、功率放大模塊、SD卡存儲模塊、人機(jī)交互模塊等組成。系統(tǒng)框圖如圖1所示。

基于Cortex M3的音頻播放器的設(shè)計

2 硬件系統(tǒng)設(shè)計

2. 1 Cortex M3 LM3S9B96微處理器

LM3S9B96是TI公司最新推出的基于ARMv7體系架構(gòu)的處理器核,主要實現(xiàn)對SD卡音頻格式文件的讀取、然后將音頻文件發(fā)送到外部音頻解碼芯片VS1003。人機(jī)交互功能中的觸摸屏控制所包括的操作系統(tǒng)移植及應(yīng)用軟件的執(zhí)行均是通過該處理器來完成。

2.2 音頻編解碼器及與控制器的硬件連接

音頻解碼芯片VS1003采用芬蘭VLSI公司出品的一款單芯片的MP3/WMA音頻解碼芯片,其內(nèi)部集成一個高性能低功耗的DSP處理器核,來實現(xiàn)將SD卡里的音頻數(shù)據(jù)流讀出并進(jìn)行解析、轉(zhuǎn)化成模擬信號輸出。同時,微控制器通過SPI接口發(fā)出命令控制字實現(xiàn)對VS1003芯片的功能控制,如初始化、暫停、音量控制、播放時間的讀取等。其與LM3S9B96的硬件連接連接如圖2所示。

基于Cortex M3的音頻播放器的設(shè)計

2.3 SD卡與微控制器LM3S9B96的硬件連接

系統(tǒng)中SD卡通過SPI接口與LM3S9B96進(jìn)行連接,其主要實現(xiàn)MP3音頻文件的存儲,其電路連接如圖3所示。

基于Cortex M3的音頻播放器的設(shè)計

2.4 觸摸屏模塊功能與微控制器LM3S9B96的硬件連接

LCD觸摸屏采用SSD1298驅(qū)動控制器和ADS7843觸摸屏控制芯片實現(xiàn)LCD的顯示和觸摸功能。其顯示功能主要包括:MP3文件名的顯示、歌詞顯示功能及一些附助信息,主要完成人機(jī)對話。觸摸屏控制芯片ADS7843 LCD觸摸屏和LM3S9B96的電路連接、如圖4所示。

基于Cortex M3的音頻播放器的設(shè)計

2.5 LCD觸摸屏與μC/GUI

μC/GUI是一種嵌入式應(yīng)用中的圖形支持系統(tǒng)。其適用于任意LCD控制器和CPU下任何尺寸的真實顯示或虛擬顯示。為了方便對LCD觸摸屏的控制,在LCD中繪制各種窗口,做出友好的人機(jī)互動界面,方便客戶的操作,在μC/GUI中提供了內(nèi)存管理、視窗管理器、各種常用的控件、字體管理、文本輸出、圖形繪制等功能,開發(fā)者借助輔助開發(fā)工具很容易生成用戶所需要的圖形界面,大大縮短了開發(fā)時間。

其運(yùn)行界面如圖5所示。

基于Cortex M3的音頻播放器的設(shè)計

3 系統(tǒng)軟件設(shè)計

系統(tǒng)軟件設(shè)計分為三部分。

1)μC/OS—II操作系統(tǒng)。μC/OS—II是一個支持多任務(wù)的操作系統(tǒng),本次設(shè)計將創(chuàng)建3個任務(wù),觸摸屏任務(wù)、圖形界面任務(wù)和音樂播放任務(wù),系統(tǒng)移植的μC/OS—II來實現(xiàn)任務(wù)的調(diào)度、任務(wù)切換和信號量處理。

2)μC/GUI圖形用戶接口,μC/GUI是一種嵌入式應(yīng)用中的圖形支持系統(tǒng),本設(shè)計中用移植了μC/GUI來實現(xiàn)的操作界面。

3)數(shù)據(jù)存儲方面,播放MP3時,系統(tǒng)采用讀取存儲在SD卡中的MP3數(shù)據(jù)。

3.1 μC/OS-Ⅱ操作系統(tǒng)

μC/OS—II是嵌入微處理器的操作系統(tǒng),它是實時操作系統(tǒng),具有任務(wù)管理,文件管理,設(shè)備管理的底層支持。μC/OS—II具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良和可擴(kuò)展性強(qiáng)等特點(diǎn),最小內(nèi)核可編譯至2 KB,它適用于多種微處理器,微控制器和數(shù)字處理芯片,已經(jīng)移植到了幾乎所有知名的CPU上。要使μC/OS-Ⅱ能正常運(yùn)行,處理器必須滿足以下要求:

1)處理器的C編譯器能產(chǎn)生可重入代碼。

2)處理器支持中斷,并且能產(chǎn)生定時中斷(通常在10~100 Hz之間)。

3)用C語言就可以開關(guān)中斷。

4)處理器支持能夠容納一定量數(shù)據(jù)(可能是幾千字節(jié))的硬件堆棧。

5)處理器有將堆棧指針和其它CPU寄存器讀出和存儲到堆?;騼?nèi)存中的指令。

本系統(tǒng)主要是將μC/OS—II移植處理器上需要修改3個ARM體系結(jié)構(gòu)相關(guān)的文件:OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C進(jìn)行了操作。移植包括以下幾步:

1)用#define設(shè)置一個常量的值 (OS_CPU.H)

2)聲明10個數(shù)據(jù)類型 (OS_CPU.H)

3)用#define聲明3個宏 (OS_CPU.H)

4)用C語言編寫6個簡單的函數(shù) (OS_CPU_C.C)

5)編寫4個匯編語言函數(shù) (OS_CPU_A.ASM)

3.2 μC/GUI的移植

對于μC/GUI圖形系統(tǒng)應(yīng)用不管什么目標(biāo)系統(tǒng),大部分的圖形應(yīng)用開發(fā)系統(tǒng)都可以在模擬器下運(yùn)行,但最終的目的還是要在目標(biāo)系統(tǒng)上運(yùn)行。因此在移植?C/GUI的時候,目標(biāo)系統(tǒng)必須具備如下幾點(diǎn):

1)CPU(8/16/32/64位)

2)必要的RAM和ROM存儲

3)LCD顯示器(任何類型及分辯率的)

本次移植過程分為以下幾個步驟進(jìn)行:


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉