FLAC高保真數字音頻播放器,方案設計、硬件平臺、軟件架構
一、項目概述
本文引用地址:http://dyxdggzs.com/article/201610/306432.htm1.1 引言
目前,大部分的音樂(lè )文件都是以mp3格式來(lái)保存的,mp3是一種有損的音頻壓縮格式,它無(wú)法完美地再現原版音樂(lè )。隨著(zhù)存儲器容量的擴大、網(wǎng)絡(luò )帶寬的增加、處理器性能的增強以及人們對生活品質(zhì)要求的提高,無(wú)損音樂(lè )越來(lái)越受到人們的青睞,對無(wú)損音樂(lè )播放器的需求也就越來(lái)越大。
1.2 項目背景/選題動(dòng)機
我們希望能在A(yíng)VR單片機上實(shí)現一個(gè)“FLAC高保真音頻播放器”。播放器用ATMEL的EVK1105套件來(lái)實(shí)現,它將從SD卡、U盤(pán)和網(wǎng)絡(luò )中讀取音頻文件,并對其進(jìn)行解碼及播放。該播放器能播放高保真音頻文件,具有設備體積小、操作簡(jiǎn)單和便于攜帶使用等優(yōu)點(diǎn)。
二、需求分析
2.1 功能要求
音頻播放:能支持FLAC格式的音頻播放
音頻文件的存儲介質(zhì):支持SD卡、移動(dòng)硬盤(pán)、U盤(pán)、網(wǎng)絡(luò )流中音頻文件的讀取和播放
力爭實(shí)現對APE格式的支持
2.2 性能要求
播放文件的采樣頻率:48-96kHz
播放文件的采樣精度:16/24位字長(cháng)
三、方案設計
3.1 系統功能實(shí)現原理
系統通過(guò)讀取本地存儲器(SD卡、U盤(pán)、移動(dòng)硬盤(pán))上的音頻文件,或者從網(wǎng)絡(luò )接口獲取數據流,得到音頻數據,然后通過(guò)AT32UC3A0512 MCU進(jìn)行解碼播放操作。

圖1 系統硬件結構框圖
3.2 硬件平臺選用及資源配置
系統使用AVR EVK1105開(kāi)發(fā)板,該開(kāi)發(fā)板資源配置如下:
AT32UC3A0512處理器,最高主頻66MHz;
立體聲音頻輸出;
全彩QVGA(320*240)LCD顯示屏;
JTAG接口;
USB OTG接口;
SD和MMC讀卡器;
10/100Mbps的以太網(wǎng)接口;
TLV320AIC23B編解碼芯片
3.3系統軟件架構
系統組件可分解為如下圖所示的模塊:

圖2 系統模塊圖
系統層模塊
文件系統:由于要讀取SD卡、U盤(pán)上的文件,所以要在底層實(shí)現一個(gè)文件系統,如fat。
網(wǎng)絡(luò )協(xié)議棧:播放器可以接收網(wǎng)絡(luò )流媒體,這需要網(wǎng)絡(luò )協(xié)議棧的支持,如LwIP。
設備驅動(dòng):由于程序中會(huì )使用LCD、按鍵、SD card讀卡器、USB接口、網(wǎng)絡(luò )接口、編解碼芯片,需要為它們實(shí)現驅動(dòng)。
應用層模塊
音頻獲?。?/p>
從網(wǎng)絡(luò )流或者SD卡、U盤(pán)中讀取音頻文件。
音頻解碼:
解碼音頻數據,并進(jìn)行播放。
播放器UI:
用于控制播放的過(guò)程,例如開(kāi)始播放、停止播放,以及響應用戶(hù)的其它操作請求。
3.4 系統軟件流程

圖3 程序運行流程圖
系統在啟動(dòng)之后,進(jìn)行相關(guān)的初始化工作。初始化結束、進(jìn)入了開(kāi)始界面之后,若用戶(hù)按下按鈕播放音樂(lè ),那么就選擇播放本地音頻或者網(wǎng)絡(luò )音頻:若選擇本地音頻文件,則讀取SD卡、U盤(pán)、移動(dòng)硬盤(pán)中的相應文件并進(jìn)行播放;若選擇網(wǎng)絡(luò )音頻文件,則接收網(wǎng)絡(luò )音頻數據流并進(jìn)行播放。播放完畢后,重新回到開(kāi)始界面。
3.5 系統預計實(shí)現結果
該系統能夠播放SD卡、U盤(pán)和移動(dòng)硬盤(pán)上存儲的FLAC文件,也可以播放網(wǎng)絡(luò )流媒體;由按鍵來(lái)控制播放器,在LCD上顯示音頻信息。此外,爭取實(shí)現對APE格式文件的支持。
一、項目概述
1.1 引言
目前,大部分的音樂(lè )文件都是以mp3格式來(lái)保存的,mp3是一種有損的音頻壓縮格式,它無(wú)法完美地再現原版音樂(lè )。隨著(zhù)存儲器容量的擴大、網(wǎng)絡(luò )帶寬的增加、處理器性能的增強以及人們對生活品質(zhì)要求的提高,無(wú)損音樂(lè )越來(lái)越受到人們的青睞,對無(wú)損音樂(lè )播放器的需求也就越來(lái)越大。
1.2 項目背景/選題動(dòng)機
我們希望能在A(yíng)VR單片機上實(shí)現一個(gè)“FLAC高保真音頻播放器”。播放器用ATMEL的EVK1105套件來(lái)實(shí)現,它將從SD卡、U盤(pán)和網(wǎng)絡(luò )中讀取音頻文件,并對其進(jìn)行解碼及播放。該播放器能播放高保真音頻文件,具有設備體積小、操作簡(jiǎn)單和便于攜帶使用等優(yōu)點(diǎn)。
二、需求分析
2.1 功能要求
音頻播放:能支持FLAC格式的音頻播放
音頻文件的存儲介質(zhì):支持SD卡、移動(dòng)硬盤(pán)、U盤(pán)、網(wǎng)絡(luò )流中音頻文件的讀取和播放
力爭實(shí)現對APE格式的支持
2.2 性能要求
播放文件的采樣頻率:48-96kHz
播放文件的采樣精度:16/24位字長(cháng)
三、方案設計
3.1 系統功能實(shí)現原理
系統通過(guò)讀取本地存儲器(SD卡、U盤(pán)、移動(dòng)硬盤(pán))上的音頻文件,或者從網(wǎng)絡(luò )接口獲取數據流,得到音頻數據,然后通過(guò)AT32UC3A0512 MCU進(jìn)行解碼播放操作。

圖1 系統硬件結構框圖
3.2 硬件平臺選用及資源配置
系統使用AVR EVK1105開(kāi)發(fā)板,該開(kāi)發(fā)板資源配置如下:
AT32UC3A0512處理器,最高主頻66MHz;
立體聲音頻輸出;
全彩QVGA(320*240)LCD顯示屏;
JTAG接口;
USB OTG接口;
SD和MMC讀卡器;
10/100Mbps的以太網(wǎng)接口;
TLV320AIC23B編解碼芯片
3.3系統軟件架構
系統組件可分解為如下圖所示的模塊:

圖2 系統模塊圖
系統層模塊
文件系統:由于要讀取SD卡、U盤(pán)上的文件,所以要在底層實(shí)現一個(gè)文件系統,如fat。
網(wǎng)絡(luò )協(xié)議棧:播放器可以接收網(wǎng)絡(luò )流媒體,這需要網(wǎng)絡(luò )協(xié)議棧的支持,如LwIP。
設備驅動(dòng):由于程序中會(huì )使用LCD、按鍵、SD card讀卡器、USB接口、網(wǎng)絡(luò )接口、編解碼芯片,需要為它們實(shí)現驅動(dòng)。
應用層模塊
音頻獲?。?/p>
從網(wǎng)絡(luò )流或者SD卡、U盤(pán)中讀取音頻文件。
音頻解碼:
解碼音頻數據,并進(jìn)行播放。
播放器UI:
用于控制播放的過(guò)程,例如開(kāi)始播放、停止播放,以及響應用戶(hù)的其它操作請求。
3.4 系統軟件流程

圖3 程序運行流程圖
系統在啟動(dòng)之后,進(jìn)行相關(guān)的初始化工作。初始化結束、進(jìn)入了開(kāi)始界面之后,若用戶(hù)按下按鈕播放音樂(lè ),那么就選擇播放本地音頻或者網(wǎng)絡(luò )音頻:若選擇本地音頻文件,則讀取SD卡、U盤(pán)、移動(dòng)硬盤(pán)中的相應文件并進(jìn)行播放;若選擇網(wǎng)絡(luò )音頻文件,則接收網(wǎng)絡(luò )音頻數據流并進(jìn)行播放。播放完畢后,重新回到開(kāi)始界面。
3.5 系統預計實(shí)現結果
該系統能夠播放SD卡、U盤(pán)和移動(dòng)硬盤(pán)上存儲的FLAC文件,也可以播放網(wǎng)絡(luò )流媒體;由按鍵來(lái)控制播放器,在LCD上顯示音頻信息。此外,爭取實(shí)現對APE格式文件的支持。
評論