新聞中心

EEPW首頁 > 設(shè)計應(yīng)用 > FLAC高保真數(shù)字音頻播放器,方案設(shè)計、硬件平臺、軟件架構(gòu)

FLAC高保真數(shù)字音頻播放器,方案設(shè)計、硬件平臺、軟件架構(gòu)

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

一、項目概述

本文引用地址:http://2s4d.com/article/201610/306432.htm

1.1 引言

目前,大部分的音樂文件都是以mp3格式來保存的,mp3是一種有損的音頻壓縮格式,它無法完美地再現(xiàn)原版音樂。隨著存儲器容量的擴大、網(wǎng)絡(luò)帶寬的增加、處理器性能的增強以及人們對生活品質(zhì)要求的提高,無損音樂越來越受到人們的青睞,對無損音樂播放器的需求也就越來越大。

1.2 項目背景/選題動機

我們希望能在AVR單片機上實現(xiàn)一個“F音頻播放器”。播放器用ATMEL的EVK1105套件來實現(xiàn),它將從SD卡、U盤和網(wǎng)絡(luò)中讀取音頻文件,并對其進行解碼及播放。該播放器能播放音頻文件,具有設(shè)備體積小、操作簡單和便于攜帶使用等優(yōu)點。

二、需求分析

2.1 功能要求

音頻播放:能支持F格式的音頻播放

音頻文件的存儲介質(zhì):支持SD卡、移動硬盤、U盤、網(wǎng)絡(luò)流中音頻文件的讀取和播放

力爭實現(xiàn)對APE格式的支持

2.2 性能要求

播放文件的采樣頻率:48-96kHz

播放文件的采樣精度:16/24位字長

三、方案設(shè)計

3.1 系統(tǒng)功能實現(xiàn)原理

系統(tǒng)通過讀取本地存儲器(SD卡、U盤、移動硬盤)上的音頻文件,或者從網(wǎng)絡(luò)接口獲取數(shù)據(jù)流,得到音頻數(shù)據(jù),然后通過AT32UC3A0512 MCU進行解碼播放操作。

圖1 系統(tǒng)硬件結(jié)構(gòu)框圖

圖1 系統(tǒng)硬件結(jié)構(gòu)框圖

3.2 硬件平臺選用及資源配置

系統(tǒng)使用AVR EVK1105開發(fā)板,該開發(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)模塊圖

圖2 系統(tǒng)模塊圖

系統(tǒng)層模塊

文件系統(tǒng):由于要讀取SD卡、U盤上的文件,所以要在底層實現(xiàn)一個文件系統(tǒng),如fat。

網(wǎng)絡(luò)協(xié)議棧:播放器可以接收網(wǎng)絡(luò)流媒體,這需要網(wǎng)絡(luò)協(xié)議棧的支持,如LwIP。

設(shè)備驅(qū)動:由于程序中會使用LCD、按鍵、SD card讀卡器、USB接口、網(wǎng)絡(luò)接口、編解碼芯片,需要為它們實現(xiàn)驅(qū)動。

應(yīng)用層模塊

音頻獲?。?/p>

從網(wǎng)絡(luò)流或者SD卡、U盤中讀取音頻文件。

音頻解碼:

解碼音頻數(shù)據(jù),并進行播放。

播放器UI:

用于控制播放的過程,例如開始播放、停止播放,以及響應(yīng)用戶的其它操作請求。

3.4 系統(tǒng)軟件流程

圖3 程序運行流程圖

圖3 程序運行流程圖

系統(tǒng)在啟動之后,進行相關(guān)的初始化工作。初始化結(jié)束、進入了開始界面之后,若用戶按下按鈕播放音樂,那么就選擇播放本地音頻或者網(wǎng)絡(luò)音頻:若選擇本地音頻文件,則讀取SD卡、U盤、移動硬盤中的相應(yīng)文件并進行播放;若選擇網(wǎng)絡(luò)音頻文件,則接收網(wǎng)絡(luò)音頻數(shù)據(jù)流并進行播放。播放完畢后,重新回到開始界面。

3.5 系統(tǒng)預(yù)計實現(xiàn)結(jié)果

該系統(tǒng)能夠播放SD卡、U盤和移動硬盤上存儲的F文件,也可以播放網(wǎng)絡(luò)流媒體;由按鍵來控制播放器,在LCD上顯示音頻信息。此外,爭取實現(xiàn)對APE格式文件的支持。

一、項目概述

1.1 引言

目前,大部分的音樂文件都是以mp3格式來保存的,mp3是一種有損的音頻壓縮格式,它無法完美地再現(xiàn)原版音樂。隨著存儲器容量的擴大、網(wǎng)絡(luò)帶寬的增加、處理器性能的增強以及人們對生活品質(zhì)要求的提高,無損音樂越來越受到人們的青睞,對無損音樂播放器的需求也就越來越大。

1.2 項目背景/選題動機

我們希望能在AVR單片機上實現(xiàn)一個“FLAC音頻播放器”。播放器用ATMEL的EVK1105套件來實現(xiàn),它將從SD卡、U盤和網(wǎng)絡(luò)中讀取音頻文件,并對其進行解碼及播放。該播放器能播放高保真音頻文件,具有設(shè)備體積小、操作簡單和便于攜帶使用等優(yōu)點。

二、需求分析

2.1 功能要求

音頻播放:能支持FLAC格式的音頻播放

音頻文件的存儲介質(zhì):支持SD卡、移動硬盤、U盤、網(wǎng)絡(luò)流中音頻文件的讀取和播放

力爭實現(xiàn)對APE格式的支持

2.2 性能要求

播放文件的采樣頻率:48-96kHz

播放文件的采樣精度:16/24位字長

三、方案設(shè)計

3.1 系統(tǒng)功能實現(xiàn)原理

系統(tǒng)通過讀取本地存儲器(SD卡、U盤、移動硬盤)上的音頻文件,或者從網(wǎng)絡(luò)接口獲取數(shù)據(jù)流,得到音頻數(shù)據(jù),然后通過AT32UC3A0512 MCU進行解碼播放操作。

圖1 系統(tǒng)硬件結(jié)構(gòu)框圖

圖1 系統(tǒng)硬件結(jié)構(gòu)框圖

3.2 硬件平臺選用及資源配置

系統(tǒng)使用AVR EVK1105開發(fā)板,該開發(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)模塊圖

圖2 系統(tǒng)模塊圖

系統(tǒng)層模塊

文件系統(tǒng):由于要讀取SD卡、U盤上的文件,所以要在底層實現(xiàn)一個文件系統(tǒng),如fat。

網(wǎng)絡(luò)協(xié)議棧:播放器可以接收網(wǎng)絡(luò)流媒體,這需要網(wǎng)絡(luò)協(xié)議棧的支持,如LwIP。

設(shè)備驅(qū)動:由于程序中會使用LCD、按鍵、SD card讀卡器、USB接口、網(wǎng)絡(luò)接口、編解碼芯片,需要為它們實現(xiàn)驅(qū)動。

應(yīng)用層模塊

音頻獲取:

從網(wǎng)絡(luò)流或者SD卡、U盤中讀取音頻文件。

音頻解碼:

解碼音頻數(shù)據(jù),并進行播放。

播放器UI:

用于控制播放的過程,例如開始播放、停止播放,以及響應(yīng)用戶的其它操作請求。

3.4 系統(tǒng)軟件流程

圖3 程序運行流程圖

圖3 程序運行流程圖

系統(tǒng)在啟動之后,進行相關(guān)的初始化工作。初始化結(jié)束、進入了開始界面之后,若用戶按下按鈕播放音樂,那么就選擇播放本地音頻或者網(wǎng)絡(luò)音頻:若選擇本地音頻文件,則讀取SD卡、U盤、移動硬盤中的相應(yīng)文件并進行播放;若選擇網(wǎng)絡(luò)音頻文件,則接收網(wǎng)絡(luò)音頻數(shù)據(jù)流并進行播放。播放完畢后,重新回到開始界面。

3.5 系統(tǒng)預(yù)計實現(xiàn)結(jié)果

該系統(tǒng)能夠播放SD卡、U盤和移動硬盤上存儲的FLAC文件,也可以播放網(wǎng)絡(luò)流媒體;由按鍵來控制播放器,在LCD上顯示音頻信息。此外,爭取實現(xiàn)對APE格式文件的支持。



評論


相關(guān)推薦

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

關(guān)閉