新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Cortex M3的音頻播放器的設計

        基于Cortex M3的音頻播放器的設計

        作者: 時間:2016-09-12 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/201609/303781.htm

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

        1 系統總體設計

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

        基于Cortex M3的音頻播放器的設計

        2 硬件系統設計

        2. 1 Cortex M3 LM3S9B96微處理器

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

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

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

        基于Cortex M3的音頻播放器的設計

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

        系統中SD卡通過SPI接口與LM3S9B96進行連接,其主要實現MP3音頻文件的存儲,其電路連接如圖3所示。

        基于Cortex M3的音頻播放器的設計

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

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

        基于Cortex M3的音頻播放器的設計

        2.5 LCD觸摸屏與μC/GUI

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

        其運行界面如圖5所示。

        基于Cortex M3的音頻播放器的設計

        3 系統軟件設計

        系統軟件設計分為三部分。

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

        2)μC/GUI圖形用戶接口,μC/GUI是一種嵌入式應用中的圖形支持系統,本設計中用移植了μC/GUI來實現的操作界面。

        3)數據存儲方面,播放MP3時,系統采用讀取存儲在SD卡中的MP3數據。

        3.1 μC/OS-Ⅱ操作系統

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

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

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

        3)用C語言就可以開關中斷。

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

        5)處理器有將堆棧指針和其它CPU寄存器讀出和存儲到堆棧或內存中的指令。

        本系統主要是將μC/OS—II移植處理器上需要修改3個ARM體系結構相關的文件:OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C進行了操作。移植包括以下幾步:

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

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

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

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

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

        3.2 μC/GUI的移植

        對于μC/GUI圖形系統應用不管什么目標系統,大部分的圖形應用開發系統都可以在模擬器下運行,但最終的目的還是要在目標系統上運行。因此在移植?C/GUI的時候,目標系統必須具備如下幾點:

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

        2)必要的RAM和ROM存儲

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

        本次移植過程分為以下幾個步驟進行:


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 青田县| 杭锦后旗| 东城区| 加查县| 南岸区| 来凤县| 临汾市| 冷水江市| 合作市| 邹城市| 兴安盟| 焦作市| 江永县| 广元市| 滦南县| 阿克| 汪清县| 麻城市| 祁东县| 泰宁县| 凌海市| 河西区| 车致| 察雅县| 乐陵市| 敦化市| 景谷| 虞城县| 葫芦岛市| 游戏| 平阴县| 长丰县| 南川市| 安达市| 来宾市| 嘉峪关市| 肥乡县| 肥东县| 丰城市| 兴文县| 尖扎县|