![基于S3C2410處理器的的MP3設(shè)計(jì)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/03269716-d17d-42b2-85ca-18de69ce516f/03269716-d17d-42b2-85ca-18de69ce516f1.gif)
![基于S3C2410處理器的的MP3設(shè)計(jì)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/03269716-d17d-42b2-85ca-18de69ce516f/03269716-d17d-42b2-85ca-18de69ce516f2.gif)
![基于S3C2410處理器的的MP3設(shè)計(jì)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/03269716-d17d-42b2-85ca-18de69ce516f/03269716-d17d-42b2-85ca-18de69ce516f3.gif)
![基于S3C2410處理器的的MP3設(shè)計(jì)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/03269716-d17d-42b2-85ca-18de69ce516f/03269716-d17d-42b2-85ca-18de69ce516f4.gif)
![基于S3C2410處理器的的MP3設(shè)計(jì)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/03269716-d17d-42b2-85ca-18de69ce516f/03269716-d17d-42b2-85ca-18de69ce516f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目錄一、引言4二、MP3編碼和解碼原理42.1、MP3編碼原理52.1.1、濾波器段52.1.2、神經(jīng)聽覺模型62.1.3、量化和編碼72.2、MP3解碼原理7三、MP3的設(shè)計(jì)與實(shí)現(xiàn)83.1、硬件設(shè)計(jì)93.1.1、SDRAM103.1.2、FLASH103.1.3、輸出電路113.2、軟件設(shè)計(jì)123.2.1、驅(qū)動程序基礎(chǔ)123.2.2、UDA1341聲卡驅(qū)動程序133.2.3、Madplay播放軟件13四、參考文獻(xiàn)14基于S3C2410處理器的的MP3設(shè)計(jì)摘要:設(shè)計(jì)一種基于S3C2410的MP3播放器。該播放器是基于嵌入式linux操作系統(tǒng)、應(yīng)用S3C2410為平臺。詳細(xì)介紹了MP3編碼和解碼
2、的原理、設(shè)計(jì)及實(shí)現(xiàn)過程。由于采用的是嵌入式linux實(shí)現(xiàn)的,該種MP3播放器可以很容易地移植到其他微控制器系統(tǒng)中,使設(shè)備兼具M(jìn)P3播放功能的設(shè)備。關(guān)鍵字:嵌入式linux;MP3;編碼和解碼原理;設(shè)計(jì)及實(shí)現(xiàn)一、 引言 MP3(MPEGAudioLayer-3)是一種數(shù)字音頻壓縮技術(shù),數(shù)字壓縮速率達(dá)到每通道128kbps,數(shù)比例可以達(dá)到12:1。MP3播放器的主要作用就是解壓壓縮的MP3數(shù)字音頻,再現(xiàn)MP3音樂,同時為攜帶方便還要能存貯MP3文件,MP3歌曲可以從電腦上下載。MP3播放器主要由MP3文件解碼部分、文件存貯部分、文件下載接口和語音播放部分構(gòu)成。根據(jù)解碼的方法播放器可分為軟解碼和硬解
3、碼兩種:軟解碼是利用控制軟件解壓縮MP3文件,它要求控制器處理速度要快。MPEG1音頻標(biāo)準(zhǔn)是一個普遍適用的音頻壓縮標(biāo)準(zhǔn),它對音頻源沒有任何要求。它利用人耳聽覺系統(tǒng)的感知特性,壓縮率的取得來自去掉人耳聽不到的信息細(xì)節(jié),雖然壓縮是有失真的,但對人耳來說這些失真是聽不到的。也即對人耳而言,MPEG1音頻壓縮是不失真的。因此,MPEG1音頻標(biāo)準(zhǔn)的應(yīng)用非常廣泛。二、 MP3編碼和解碼原理音頻壓縮由編碼和解碼兩個部分組成。把波形文件里的數(shù)字音頻數(shù)據(jù)轉(zhuǎn)換為高度壓縮的形式(稱為比特流)即為編碼;要解碼則把比特流重建為波形文件。2.1 MP3編碼原理圖1MP3是MPEG-1音頻標(biāo)準(zhǔn)中的LayerIII的簡稱,它
4、基于感知音頻編碼,結(jié)合了MUSICAM (掩蔽模式通用子帶集成編碼與多路復(fù)用) 算法和ASPEC ( 自適應(yīng)頻譜感知熵編碼) 算法 的優(yōu)勢, 利用人耳的聽覺特性, 在保證高品質(zhì)的音響效果的前提下,可以把原始的音樂數(shù)據(jù)壓縮為原來的十二分之一,目標(biāo)編碼速率為聲道, 適合于 網(wǎng)絡(luò)上音頻數(shù)據(jù)64kbps的傳輸 。數(shù)字音頻采樣通過由兩個濾波器組成的濾波器組輸入到心理聲學(xué)模型中, 由心理聲學(xué)模型 的輸出控制音頻屏蔽等參數(shù),最終通過量化和霍夫曼Huffman)編碼得到輸出的比特流 。2.1.1 濾波器段 數(shù)字音頻信號以脈沖的形式送進(jìn)編碼器,首先會經(jīng)過一濾波器段(filterbank),它由兩個串聯(lián)的濾波器段
5、組成:一個多相分析濾波器段和一個MDCT(Modified Discrete Cosine Transform,經(jīng)改良的離散余弦轉(zhuǎn)換),前者也應(yīng)用到layer-1和layer-2中,后者是MP3獨(dú)有的。輸入的音頻信號在20Hz-20k Hz的頻率范圍內(nèi),通過第一個濾波器段后,把信號按頻率分成32個小頻帶,稱為子帶(Subband)。20000Hz/32=625Hz,那么每個子帶的寬度就是625Hz。人耳對不同頻段的靈敏度是不同的,編碼器可對不同的子帶進(jìn)行不同的量化分層。不過等寬的子帶并沒有準(zhǔn)確反映人耳的聽覺特性,這樣進(jìn)行等寬劃分并沒有考慮到不同信號的臨界寬度,也就是該信號的影響范圍,以及不同信
6、號的相互影響,所以這樣會產(chǎn)生大量的信號重疊。MDCT轉(zhuǎn)換就是為了解決這問題,它能對子帶進(jìn)行細(xì)分,清楚重疊部分,得到更高的頻譜解析度。2.1.2神經(jīng)聽覺模型神經(jīng)聽覺模型可以說是感受編碼的重中之中,它決定著編碼器的編碼質(zhì)量。最主要的原因是它采用了聲音心理模型來模擬人耳的聽覺,利用人耳聽覺感知上的遮蔽效應(yīng)所得到的遮噪門檻曲線,決定各個子頻帶所容許的最大量化誤差,使得了量化后的失真能被聽見。聲音心理模有兩種,其中第一聲音心理模型比較簡單,適用于高傳輸率;第二聲音心理模型比較復(fù)雜,在較低的傳輸率的情況下,也能維持聲音的品質(zhì)。此兩模型皆先將音訊經(jīng)傅里葉頻譜變換,在對映射到臨界頻帶,并區(qū)分出單頻以及非單頻成
7、分,依其所在的頻率位置與強(qiáng)度大小,分別計(jì)算遮噪門檻曲線,而整合成整體遮噪門檻曲線,并對映成每個子頻帶信號編碼時所需的位元素。2.1.3 量化和編碼 當(dāng)PCM訊號被分成好幾個頻段并經(jīng)過一系列的處理后,最后經(jīng)過MDCT,將波型轉(zhuǎn)換為一連串的系數(shù)。這些系數(shù)就由Huffman編碼器會選擇最合適的Huffman表來做最后的壓縮。 Huffman編碼一般是雙路工作的,但是在某些需要精密編碼的情況下,它會進(jìn)行四路工作。編碼器一般會有很多的Huffman編碼表,很多時候?yàn)榱烁玫穆曇糍|(zhì)量和更有效屏蔽量化噪音,編碼器甚至能為每一個頻段選擇最合適的Huffman編碼表。不過編碼不是一次就能成功的,要采取Try a
8、nd Error的方式循環(huán)進(jìn)行。因?yàn)榫幋a器一方面要削減量化噪音,讓它在人耳遮蔽曲線以下;另一方面要保證bitrate滿足要求。所以兩個回路是嵌套工作的,互相協(xié)調(diào),中止條件是量化噪音降到屏蔽臨界線以下而碼率也足夠小。良好的編碼器會讓兩個回路有條不紊的工作,因?yàn)橐坏┨幚聿缓镁秃苋菀紫萑胨姥h(huán)。22 MP3解碼原理對于一個MP3文件的解碼,本質(zhì)上就是循環(huán)地對每一個Frame進(jìn)行解碼,直到完成所有Frame的解碼,或者中途出現(xiàn)錯誤而中止。MP3文件的解碼流程如圖2所示。而對于每一幀的解碼,首先是要獲取每一幀的同步字符和幀頭信息,從而獲得相應(yīng)的參數(shù),并根據(jù)對幀頭信息的分析進(jìn)而得到實(shí)際一幀的音頻數(shù)據(jù);然后
9、讀取主要數(shù)據(jù)并獲得縮放因子數(shù)據(jù)和霍夫曼碼字,接著進(jìn)行霍夫曼解碼;其次進(jìn)行反量化,并根據(jù)幀頭的立體聲信息對反量化結(jié)果進(jìn)行立體聲處理;最后通過混迭處理、IMDCT和合成濾波器重建數(shù)字音頻信號,這一程如圖3所示。 圖2 圖3MP3文件解碼播放的簡化流程可用圖4表示。 圖4 解碼播放簡化流程由圖4可知,MP3文件或者其它音頻文件,經(jīng)過解碼庫(解碼器)的解碼,生成PCM數(shù)據(jù),然后將PCM數(shù)據(jù)寫入聲卡設(shè)備,即可實(shí)現(xiàn)音頻文件的播放。三、 MP3的設(shè)計(jì)與實(shí)現(xiàn)一個完整MP3播放機(jī)要分幾個部分:中央處理器、解碼器(軟件解碼)、存儲設(shè)備、主機(jī)通訊端口、音頻DAC和功放、顯示界面和控制鍵。其中中央處理器和解碼器是整個
10、系統(tǒng)的核心。這里的中央處理器我們通常稱為cpu(微處理器)。它運(yùn)行MP3的整個控制程序,也稱為fireware(或者固件程序)??刂芃P3的各個部件的工作:從存儲設(shè)備讀取數(shù)據(jù)送到解碼器(軟件解碼)解碼;與主機(jī)連接時完成與主機(jī)的數(shù)據(jù)交換;接收控制按鍵的操作,顯示系統(tǒng)運(yùn)行狀態(tài)等任務(wù)。MP3播放機(jī)是軟件解碼,由高速中央處理器完成。它可以直接完成各種格式MP3數(shù)據(jù)流的解碼操作,并輸出PCM或I2S格式的數(shù)字音頻信號。 圖5 系統(tǒng)總體結(jié)構(gòu)圖3.1 硬件設(shè)計(jì)處理器:硬件電路以處理器為中心。Samsung公司的ARM9處理器S3C2410X,是一款基于ARM920T內(nèi)核的16位/32位RISC嵌入式處理器。
11、ARM920T核由ARM9TDMI、存儲管理單元(MMU)和高速緩存三部分組成。其中MMU可以管理虛擬內(nèi)存,高速緩存由獨(dú)立的16KB地址和16KB數(shù)據(jù)高速Cache組成。S3C2410芯片集成了大量的功能單元。3.1.1SDRAM隨機(jī)存取存儲器RAM(RandomAccessMemory)是易失性的存儲器,在掉電以后數(shù)據(jù)即消失,不能長期保存。但與ROM器件不同的是,它的隨機(jī)讀寫速度非???寫入數(shù)據(jù)之前也不需要進(jìn)行擦除,常用的RAM分為SRAM(靜態(tài)RAM)和DRAM(動態(tài)RAM),我們這里采用SDRAM(同步動態(tài)RAM),S3C2410X芯片本身提供對SDRAM進(jìn)行直接接口的解決方案,因此不需
12、要通過編程來實(shí)現(xiàn)它們所需的接口時序,而只須對與存儲器控制器相應(yīng)的寄存器進(jìn)行適當(dāng)配置。SDRAM是多bank結(jié)構(gòu),例如在一個具有兩個bank的SDRAM的模組中,其中個bank在進(jìn)行預(yù)充電期間,另一個bank卻可以馬上被讀取,這樣當(dāng)進(jìn)行一次讀取后,又馬上去讀取已經(jīng)預(yù)充電bank的數(shù)據(jù)時,就無需等待而是可以直接讀取了。這也就大大提高了存儲器的訪問速度。具體芯片采用現(xiàn)代HY57V641620,分成4個Bank,每個Bank的容量為1M×16位。Bank的地址由BA1,BA0決定,00對應(yīng)Bank0,01對應(yīng)Bank1,10對應(yīng)Bank2,11對應(yīng)Bank3。在每個Bank中,分別用行地址脈
13、沖選通RAS和列地址脈沖選通CAS進(jìn)行尋址。3.1.2 FLASHNOR和NAND是目前市場上兩種主要的非易失散存技。Nor-flash存儲器的容較小、寫入速度慢,但其隨即讀取速度快,因此在嵌入式系統(tǒng)中,常應(yīng)用在程序代碼的存儲中。另外,Nor-flash存儲器的內(nèi)部結(jié)構(gòu)決定了它不適合朝大容量方向發(fā)展;而Nand-flash存儲器結(jié)構(gòu)能提供極高的單元密度,可以達(dá)到很大的存儲容量,并且寫入和擦除速度也很快。Nand-flash存儲器內(nèi)部采用非線性宏單元模式,為固態(tài)大容量存儲器的實(shí)現(xiàn)提供了廉價有效的解決方案,因而現(xiàn)在得到了越來越廣泛的應(yīng)用。例如體積小巧的U盤就是采用Nand-flash存儲器。在這里
14、我們也采用Nand-flashK9F2808U。3.1.3輸出電路UDA1341是飛利浦公司的一款經(jīng)濟(jì)型音頻CODEC,用于實(shí)現(xiàn)模擬音頻信號的采集(音頻AD)和數(shù)字音頻信號的模擬輸出(DA),并通過IIS數(shù)字音頻接口,實(shí)現(xiàn)音頻信號的數(shù)字化出理。UDA1341的IIS引腳分別接到S3C2410對應(yīng)的IIS引腳上,音頻輸入輸出(VIN,VOUT)分別和麥克風(fēng)揚(yáng)聲器連接;UDA1341的L3接口相當(dāng)于一個Mixer控制器接口,可以用來控制輸入/輸出音頻信號的音量大小,低音等。L3接口的引腳L3MODE,L3DATA和L3CLOCK分別鏈接到S3C2410的IICSCL,IICSDA和GPF6引腳上。
15、153.2軟件設(shè)計(jì)我們選擇在此MP3播放器上運(yùn)行arm-Linux操作系統(tǒng)。嵌入式Linux系統(tǒng)從軟件角度來可以分為5個層次:(1)引導(dǎo)加載程序,固化固件中的啟動代碼和Bootloader兩大部分。(2)內(nèi)核特定于具體硬件的定制內(nèi)核以及控制內(nèi)核引導(dǎo)系統(tǒng)的參數(shù)。(3)文件系統(tǒng)包括根文件和建立于Flash存儲器設(shè)備上的文件系統(tǒng)。(4)UDA1341聲卡驅(qū)動程序。這個驅(qū)動主要涉及S3C2410 DMA的使用。(5)用戶應(yīng)用程序。特定于用戶的應(yīng)用程序。對于本系統(tǒng)來說就是播放程序。3.2.1 驅(qū)動程序基礎(chǔ)Linux設(shè)備驅(qū)動程序?qū)⒃O(shè)備看成文件。設(shè)備驅(qū)動程序是操作系統(tǒng)內(nèi)核和機(jī)器硬件之間的接口。設(shè)備驅(qū)動程序?yàn)?/p>
16、應(yīng)用程序屏蔽了硬件的細(xì)節(jié), 這樣使硬件對應(yīng)用程序來說是透明的, 在應(yīng)用程序看來, 硬件設(shè)備只是一個設(shè)備文件, 應(yīng)用程序可以像操作普通文件一樣對硬件設(shè)備進(jìn)行操作。設(shè)備驅(qū)動程序是嵌入式Linux內(nèi)核的一部分, 它完成以下的功能:(1)對硬件設(shè)備初始化和釋放。(2)把數(shù)據(jù)從內(nèi)核傳送到硬件, 或從硬件讀取數(shù)據(jù)。(3)讀取應(yīng)用程序給設(shè)備文件的數(shù)據(jù)和回送應(yīng)用程序請求的數(shù)據(jù)。(4)檢測和處理設(shè)備出現(xiàn)的錯誤和異常。用戶進(jìn)程通過設(shè)備文件實(shí)現(xiàn)與硬件的交流。Linux 給每個設(shè)備都分配一個主設(shè)備號 (MajorNumber)和次設(shè)備號(MinorNumber)。主設(shè)備號一般用來定義這個設(shè)備的類型, 次設(shè)備號是一個8
17、位的數(shù)字, 它指定一個特定的設(shè)備。設(shè)備文件的主設(shè)備號必須與設(shè)備驅(qū)動程序在登記時申請的主設(shè)備號一致, 否則用戶進(jìn)程將無法訪問到驅(qū)動程序。3.2.2 UDA1341聲卡驅(qū)動程序該音頻系統(tǒng)采用的音頻設(shè)備是Philips公司的UDA 1341TS 芯片。UDA1341支持IIS總線數(shù)據(jù)格式,采用位元流轉(zhuǎn)換技術(shù)進(jìn)行信號處理, 完成聲音信號的模數(shù)轉(zhuǎn)換,具有可編程增益放大器和數(shù)字自動增益控制器,其低功耗、低電壓的特點(diǎn)使其非常適合用于MP3、 筆記本電腦等便攜式設(shè)備。驅(qū)動程序主要包括幾個模塊:設(shè)備的初始化和卸載、內(nèi)存和DMA 緩存區(qū)的設(shè)置、聲音的播放和錄制、其它相關(guān)控制,當(dāng)然也包含相關(guān)的實(shí)現(xiàn)功能函數(shù)。UDA1
18、341音頻芯片提供如下功能數(shù)字化音頻。這個功能有時被稱為 DSP 或Codec設(shè)備。其功能是實(shí)現(xiàn)播放數(shù)字化聲音文件(數(shù)字信號轉(zhuǎn)變?yōu)槟M信號)或錄制聲音(模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號)?;祛l器。用來控制各種輸入輸出的音量大小, 在本系統(tǒng)中對應(yīng)L 3 接口。數(shù)字音頻設(shè)備(audio)、混頻器(mixer)對應(yīng)的設(shè)備文件分別是/dev/dsp和/dev/mixer。3.2.3 Madplay播放軟件播放MP3的軟件我們選用MAD(MPEGAudioDecoder),MAD是一個高品質(zhì)的MPEG音頻解碼軟件,能夠輸出24-bit的音頻,完全是定點(diǎn)計(jì)算,非常適合沒有浮點(diǎn)支持的平臺上使用。它現(xiàn)在支持MPEG-1和MPEG-2擴(kuò)展到低頻采樣的部分,以及實(shí)際的MPEG-2.5格式。所以三個音頻層LayerI,Layer,和Layer(也就是MP3)被完全實(shí)現(xiàn)。MAD還不支持MPEG-2多波段音頻,并且現(xiàn)在還不支持AAC。MAD具有以下特點(diǎn):24位的PCM輸出;100%的定點(diǎn)(整數(shù))計(jì)算;基于ISO/IEC標(biāo)準(zhǔn)的全新實(shí)現(xiàn)。在GPL協(xié)議下可用MAD提供完全24位的PCM輸出,所以使用MAD的應(yīng)用程序能夠產(chǎn)生高品質(zhì)的音頻。即使輸出設(shè)備僅支持16位PC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 拍賣行拍賣業(yè)務(wù)風(fēng)險管理最佳實(shí)踐總結(jié)與分享推廣考核試卷
- 健身器材行業(yè)國際貿(mào)易與市場準(zhǔn)入考核試卷
- 出口機(jī)器合同范例
- 印刷機(jī)節(jié)能環(huán)保措施考核試卷
- 休閑食品采購合同范例
- 2013旅游合同范本
- 出口俄羅斯合同范例
- 2025-2030年改善記憶力耳機(jī)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 保潔保養(yǎng)合同范例
- 三只松鼠合同范本
- 工程量清單及招標(biāo)控制價編制服務(wù)采購實(shí)施方案(技術(shù)標(biāo))
- 全國住戶收支調(diào)查業(yè)務(wù)知識考試復(fù)習(xí)題庫(含答案)
- 復(fù)方氨基酸注射液的匯總
- 2023年上海市秋考語文真題試卷含答案(整理版)
- 2023年心理咨詢師之心理咨詢師基礎(chǔ)知識考試題庫附完整答案【有一套】
- 一級建造師繼續(xù)教育最全題庫及答案(新)
- LS/T 1226-2022糧庫智能通風(fēng)控制系統(tǒng)
- 直線加速器專項(xiàng)施工方案
- 聯(lián)苯二氯芐生產(chǎn)工藝及產(chǎn)排污分析
- 儲能設(shè)備項(xiàng)目采購供應(yīng)質(zhì)量管理方案
- 美國房地產(chǎn)市場特征、框架與周期演變
評論
0/150
提交評論