FLAC高保真數(shù)字音頻播放器,方案設(shè)計(jì)、硬件平臺(tái)、軟件架構(gòu)
一、項(xiàng)目概述
本文引用地址:http://cafeforensic.com/article/201610/306432.htm1.1 引言
目前,大部分的音樂(lè)文件都是以mp3格式來(lái)保存的,mp3是一種有損的音頻壓縮格式,它無(wú)法完美地再現(xiàn)原版音樂(lè)。隨著存儲(chǔ)器容量的擴(kuò)大、網(wǎng)絡(luò)帶寬的增加、處理器性能的增強(qiáng)以及人們對(duì)生活品質(zhì)要求的提高,無(wú)損音樂(lè)越來(lái)越受到人們的青睞,對(duì)無(wú)損音樂(lè)播放器的需求也就越來(lái)越大。
1.2 項(xiàng)目背景/選題動(dòng)機(jī)
我們希望能在AVR單片機(jī)上實(shí)現(xiàn)一個(gè)“FLAC高保真音頻播放器”。播放器用ATMEL的EVK1105套件來(lái)實(shí)現(xiàn),它將從SD卡、U盤和網(wǎng)絡(luò)中讀取音頻文件,并對(duì)其進(jìn)行解碼及播放。該播放器能播放高保真音頻文件,具有設(shè)備體積小、操作簡(jiǎn)單和便于攜帶使用等優(yōu)點(diǎn)。
二、需求分析
2.1 功能要求
音頻播放:能支持FLAC格式的音頻播放
音頻文件的存儲(chǔ)介質(zhì):支持SD卡、移動(dòng)硬盤、U盤、網(wǎng)絡(luò)流中音頻文件的讀取和播放
力爭(zhēng)實(shí)現(xiàn)對(duì)APE格式的支持
2.2 性能要求
播放文件的采樣頻率:48-96kHz
播放文件的采樣精度:16/24位字長(zhǎng)
三、方案設(shè)計(jì)
3.1 系統(tǒng)功能實(shí)現(xiàn)原理
系統(tǒng)通過(guò)讀取本地存儲(chǔ)器(SD卡、U盤、移動(dòng)硬盤)上的音頻文件,或者從網(wǎng)絡(luò)接口獲取數(shù)據(jù)流,得到音頻數(shù)據(jù),然后通過(guò)AT32UC3A0512 MCU進(jìn)行解碼播放操作。
圖1 系統(tǒng)硬件結(jié)構(gòu)框圖
3.2 硬件平臺(tái)選用及資源配置
系統(tǒng)使用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系統(tǒng)軟件架構(gòu)
系統(tǒng)組件可分解為如下圖所示的模塊:
圖2 系統(tǒng)模塊圖
系統(tǒng)層模塊
文件系統(tǒng):由于要讀取SD卡、U盤上的文件,所以要在底層實(shí)現(xiàn)一個(gè)文件系統(tǒng),如fat。
網(wǎng)絡(luò)協(xié)議棧:播放器可以接收網(wǎng)絡(luò)流媒體,這需要網(wǎng)絡(luò)協(xié)議棧的支持,如LwIP。
設(shè)備驅(qū)動(dòng):由于程序中會(huì)使用LCD、按鍵、SD card讀卡器、USB接口、網(wǎng)絡(luò)接口、編解碼芯片,需要為它們實(shí)現(xiàn)驅(qū)動(dòng)。
應(yīng)用層模塊
音頻獲?。?/p>
從網(wǎng)絡(luò)流或者SD卡、U盤中讀取音頻文件。
音頻解碼:
解碼音頻數(shù)據(jù),并進(jìn)行播放。
播放器UI:
用于控制播放的過(guò)程,例如開(kāi)始播放、停止播放,以及響應(yīng)用戶的其它操作請(qǐng)求。
3.4 系統(tǒng)軟件流程
圖3 程序運(yùn)行流程圖
系統(tǒng)在啟動(dòng)之后,進(jìn)行相關(guān)的初始化工作。初始化結(jié)束、進(jìn)入了開(kāi)始界面之后,若用戶按下按鈕播放音樂(lè),那么就選擇播放本地音頻或者網(wǎng)絡(luò)音頻:若選擇本地音頻文件,則讀取SD卡、U盤、移動(dòng)硬盤中的相應(yīng)文件并進(jìn)行播放;若選擇網(wǎng)絡(luò)音頻文件,則接收網(wǎng)絡(luò)音頻數(shù)據(jù)流并進(jìn)行播放。播放完畢后,重新回到開(kāi)始界面。
3.5 系統(tǒng)預(yù)計(jì)實(shí)現(xiàn)結(jié)果
該系統(tǒng)能夠播放SD卡、U盤和移動(dòng)硬盤上存儲(chǔ)的FLAC文件,也可以播放網(wǎng)絡(luò)流媒體;由按鍵來(lái)控制播放器,在LCD上顯示音頻信息。此外,爭(zhēng)取實(shí)現(xiàn)對(duì)APE格式文件的支持。
一、項(xiàng)目概述
1.1 引言
目前,大部分的音樂(lè)文件都是以mp3格式來(lái)保存的,mp3是一種有損的音頻壓縮格式,它無(wú)法完美地再現(xiàn)原版音樂(lè)。隨著存儲(chǔ)器容量的擴(kuò)大、網(wǎng)絡(luò)帶寬的增加、處理器性能的增強(qiáng)以及人們對(duì)生活品質(zhì)要求的提高,無(wú)損音樂(lè)越來(lái)越受到人們的青睞,對(duì)無(wú)損音樂(lè)播放器的需求也就越來(lái)越大。
1.2 項(xiàng)目背景/選題動(dòng)機(jī)
我們希望能在AVR單片機(jī)上實(shí)現(xiàn)一個(gè)“FLAC高保真音頻播放器”。播放器用ATMEL的EVK1105套件來(lái)實(shí)現(xiàn),它將從SD卡、U盤和網(wǎng)絡(luò)中讀取音頻文件,并對(duì)其進(jìn)行解碼及播放。該播放器能播放高保真音頻文件,具有設(shè)備體積小、操作簡(jiǎn)單和便于攜帶使用等優(yōu)點(diǎn)。
二、需求分析
2.1 功能要求
音頻播放:能支持FLAC格式的音頻播放
音頻文件的存儲(chǔ)介質(zhì):支持SD卡、移動(dòng)硬盤、U盤、網(wǎng)絡(luò)流中音頻文件的讀取和播放
力爭(zhēng)實(shí)現(xiàn)對(duì)APE格式的支持
2.2 性能要求
播放文件的采樣頻率:48-96kHz
播放文件的采樣精度:16/24位字長(zhǎng)
三、方案設(shè)計(jì)
3.1 系統(tǒng)功能實(shí)現(xiàn)原理
系統(tǒng)通過(guò)讀取本地存儲(chǔ)器(SD卡、U盤、移動(dòng)硬盤)上的音頻文件,或者從網(wǎng)絡(luò)接口獲取數(shù)據(jù)流,得到音頻數(shù)據(jù),然后通過(guò)AT32UC3A0512 MCU進(jìn)行解碼播放操作。
圖1 系統(tǒng)硬件結(jié)構(gòu)框圖
3.2 硬件平臺(tái)選用及資源配置
系統(tǒng)使用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系統(tǒng)軟件架構(gòu)
系統(tǒng)組件可分解為如下圖所示的模塊:
圖2 系統(tǒng)模塊圖
系統(tǒng)層模塊
文件系統(tǒng):由于要讀取SD卡、U盤上的文件,所以要在底層實(shí)現(xiàn)一個(gè)文件系統(tǒng),如fat。
網(wǎng)絡(luò)協(xié)議棧:播放器可以接收網(wǎng)絡(luò)流媒體,這需要網(wǎng)絡(luò)協(xié)議棧的支持,如LwIP。
設(shè)備驅(qū)動(dòng):由于程序中會(huì)使用LCD、按鍵、SD card讀卡器、USB接口、網(wǎng)絡(luò)接口、編解碼芯片,需要為它們實(shí)現(xiàn)驅(qū)動(dòng)。
應(yīng)用層模塊
音頻獲取:
從網(wǎng)絡(luò)流或者SD卡、U盤中讀取音頻文件。
音頻解碼:
解碼音頻數(shù)據(jù),并進(jìn)行播放。
播放器UI:
用于控制播放的過(guò)程,例如開(kāi)始播放、停止播放,以及響應(yīng)用戶的其它操作請(qǐng)求。
3.4 系統(tǒng)軟件流程
圖3 程序運(yùn)行流程圖
系統(tǒng)在啟動(dòng)之后,進(jìn)行相關(guān)的初始化工作。初始化結(jié)束、進(jìn)入了開(kāi)始界面之后,若用戶按下按鈕播放音樂(lè),那么就選擇播放本地音頻或者網(wǎng)絡(luò)音頻:若選擇本地音頻文件,則讀取SD卡、U盤、移動(dòng)硬盤中的相應(yīng)文件并進(jìn)行播放;若選擇網(wǎng)絡(luò)音頻文件,則接收網(wǎng)絡(luò)音頻數(shù)據(jù)流并進(jìn)行播放。播放完畢后,重新回到開(kāi)始界面。
3.5 系統(tǒng)預(yù)計(jì)實(shí)現(xiàn)結(jié)果
該系統(tǒng)能夠播放SD卡、U盤和移動(dòng)硬盤上存儲(chǔ)的FLAC文件,也可以播放網(wǎng)絡(luò)流媒體;由按鍵來(lái)控制播放器,在LCD上顯示音頻信息。此外,爭(zhēng)取實(shí)現(xiàn)對(duì)APE格式文件的支持。
評(píng)論