畢業(yè)設計基于單片機的便攜式MP3播放器設計_第1頁
畢業(yè)設計基于單片機的便攜式MP3播放器設計_第2頁
畢業(yè)設計基于單片機的便攜式MP3播放器設計_第3頁
畢業(yè)設計基于單片機的便攜式MP3播放器設計_第4頁
畢業(yè)設計基于單片機的便攜式MP3播放器設計_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、1 便攜式MP3播放器基本原理本章首先討論便攜式MP3播放器的結(jié)構、然后介紹多種存儲器類型、接著介紹各種通信接口及其擴展功能,其中簡要介紹了USB2.0通信協(xié)議。最后說明便攜式MP3播放器的擴展功能。1.1 便攜式MP3播放器的結(jié)構 對于便攜式MP3系統(tǒng),主要考慮的是其體積小巧、低功耗、高容量、低價格。當前流行的MP3播放器其主要結(jié)構如圖2.1所示??梢?,一個MP3播放器主要應包括:(1)單片機控制系統(tǒng)(2)大容量的移動存儲設備(3)MP3解碼器(4)D/A轉(zhuǎn)換芯片(5)音頻放大電路(6)USB接口(7)LCD顯示和鍵盤電路USB大容量移動存儲器LCD顯示器鍵盤按鈕單片機控制系統(tǒng)MP3解碼D/

2、A轉(zhuǎn)換音頻放大聲音輸出 圖2.1 MP3播放器的主要結(jié)構示意圖事實上,隨著MP3播放器的激烈競爭和產(chǎn)品開發(fā)的發(fā)展。一些芯片廠商已經(jīng)推出了集成MP3解碼及其它附加功能的單片機,使MP3播放器向集成化發(fā)展,如ATMEL的AT89C51SND1芯片。另一方面,MP3播放器的附加功能也越來越具有吸引力,如將MP3中的儲存器開辟為移動存儲設備,增加了MP3錄音、調(diào)頻收音機以及多種現(xiàn)場環(huán)境感覺功能的播放模式,在MP3播放器集成時鐘功能等??傊?,MP3播放器在不斷集成化的同時,功能正朝著多樣化方向發(fā)展。2.2 MP3播放器的通信接口 MP3播放器的通信接口MP3的通信方式已從PC并口的Normal方式過渡到

3、ECP或EPP方式,上/下載速率從100Kbytes/s上升到300Kbytes/s;最新的產(chǎn)品,大多已經(jīng)使用了支持熱插拔的USB接口,通信速率最高可達400到500Kbytes/s,用戶下載32Mbytes的MP3音樂只需大約一分半鐘時間,大大縮短了用戶上/下載MP3音樂的時間,有的甚至采用了USB2.0接口。當前,USB已經(jīng)是便攜式MP3通信接口的主流標準,不過,將來甚至可能采用1394火線技術。 USB2.0簡介通用串行總線(USB)是由INTEL,DEC,MICROSOFT和IBM等公司聯(lián)合提出的一種新的串行總線標準,主要用于PC機與外接設備的互聯(lián)。眾所周知,計算機外設的豐富及消費電子

4、設備與計算機連接的實現(xiàn),擴展了PC的應用空間,同時外設的日益豐富也給用戶造成了連接上的困難。USB技術的提出就是基于通用連接技術實現(xiàn)外設的簡單連接,以達到方便用戶,降低成本,擴展PC機外設的目的。通用串行總線是一種快速,靈活的總線接口。與其它通信接口比較,USB接口的最大特點是易于使用,這也是USB的主要設計目標。作為一種高速總線接口,USB適用于多種設備,其易于使用表現(xiàn)在USB接口支持熱插拔,并且所有的配置過程都由系統(tǒng)自動完成,無須用戶干預。 USB協(xié)議的傳輸速率USB是一種支持在USB主機和USB設備之間進行串行數(shù)據(jù)傳輸?shù)耐ㄐ艆f(xié)議。主機作為總線的主叫方,采用兩種信令模式:全速模式12Mb/

5、S和低速模式1.5Mb/S。目前普通采用的USB1.1主要應用在中低速外部設備上,它提供的傳輸速率有低速1.5Mb/S和全速12Mb/S兩種。扣除用于總線狀態(tài),控制和錯誤監(jiān)測等的數(shù)據(jù)傳輸,USB的最大理論傳輸速率仍達1.2Mb/S或9.6Mb/S, 高于一般的串行總線接口?,F(xiàn)在的2.0可以達到500Mb/S。總的來說,中速的傳輸是同步的,低速的數(shù)據(jù)來自交互的設備。USB設計的初速率是針對桌面計算機而不是應用于可移動的環(huán)境下的。軟件系統(tǒng)通過對各種主機控制器提供支持以保證將完成USB的擴充。 USB的4個層次·USB物理設備(USB physical device):USB上的一種硬件,

6、可運行一些用戶程序。·客戶軟件(dent software):為一個特定的USB設備而在主機上運行的軟件。這種軟件由USB設備的提供者提供或由操作系統(tǒng)提供。·USB系統(tǒng)軟件(USB system software):此軟件用于在特定的操作系統(tǒng)中支持USB,它由操作系統(tǒng)提供。與具體的USB設備無關,也獨立于客戶軟件。·USB主機控制器(USB host controvert):總線在主機方面的總和。用于支持USB設備通過USB連接到主機上。一臺主機與一個USB設備間的連接是由許多層上的連接組成的。USB總線接口層提供了在主機和設備之間的物理連接,發(fā)送連接,數(shù)據(jù)包連接

7、。USB設備層對USB系統(tǒng)軟件是可見的,系統(tǒng)軟件基于它所見的設備層 完成對設備的一般的USB操作。應用層可以通過與之相配合的客戶軟件向主機提供一些額外的功能。USB設備層和應用層的通信是邏輯上的,對應于這些邏輯通信的實際物理通信由USB總線接口層速完成。2.3便攜式MP3播放器的擴展功能播放數(shù)字音樂的同時,消費者還希望能夠有多種功能,比如用于實時記錄語音信號等,一些廠商在他們的MP3中又加入了使用G.726標準的ADPCM語音編碼算法,實現(xiàn)MP3的實時語音錄音功能,由于該算法的編碼速率為32Kbps,因而可以在32Mbytes的Flash中連續(xù)錄音2個小時左右,能夠滿足一般記錄語音的質(zhì)量要求。

8、許多MP3還具有日歷、秒表甚至萬年歷等輔助功能。此外,市面上還出現(xiàn)了嵌入MP3播放器功能的各種形式的電子產(chǎn)品,如能夠播放MP3的手機,PDA,車載音響和數(shù)字相機等。2 便攜式MP3播放器的方案分析本章分兩大部分MP3播放器的硬件解決方案和MP3播放器的軟件解決方案4。硬件方面包括:基于分離芯片的MP3播放器方案、基于集成MP3功能單片機的MP3播放器方案、基于定制ASIC電路的MP3播放器方案及彩FPGA實現(xiàn)MP3播放器的方案。3.1 MP3播放器的硬件解決方案從技術角度上說,MP3播放器存在多種方案,其分類方法也較多。這里僅從主要的MP3解碼芯片類型,即按MP3播放器內(nèi)部的主要芯片類型進行分

9、類,大體可分為:·基于分離芯片的MP3播放器(存在多種方案)·基于集成MP3功能單片機(MCU)的MP3播放器·基于定制ASIC電路的MP3播放器·采用FPGA實現(xiàn)MP3播放器的方案2.1.1 基于分離芯片的MP3播放方案采用分離芯片的MP3的播放器,主要包括MP3解碼芯片、立體聲D/A轉(zhuǎn)換芯片、移動存儲設備、微控制器芯片(單片機)和LCD顯示電路等,下面分別介紹這些芯片的可選方案,并簡述其技術特性。1、MP3解碼芯片早期的MP3播放器大多采用基于解碼芯片的方案,隨著MP3播放器市場的發(fā)展,幾乎所有的半導體公司都推出了自己的MP3解碼芯片和MP3解決方案

10、。2、立體聲D/A轉(zhuǎn)換器立體聲D/A轉(zhuǎn)換器是MP3播放器極其重要的部件。其功能是將已經(jīng)解碼的立體聲位流數(shù)據(jù)轉(zhuǎn)換為合適大小級別的模擬電壓,并通過耳機或揚聲器進行播放??梢哉f,人們從MP3播放器聽到的聲音質(zhì)量幾乎完全取決于該部件,因此,選擇一個高質(zhì)量的D/A轉(zhuǎn)換器是至關重要的。3、微控制器(單片機)對MP3播放器而言,一個微控制器是必需的,作為播放器的控制器,它從內(nèi)存中讀入數(shù)據(jù),并將數(shù)據(jù)發(fā)送給MP3解碼器,獲取鍵盤和按鈕的輸入,處理用戶選擇,并提供給LCD控制器控制信號和數(shù)據(jù)。4、大容量的可擦除存儲器對于便攜式MP3播放器,大容量的可擦除存儲器是其必備的,同時該設備的類型,質(zhì)量和容量大小,直接決定

11、了MP3播放器的價格,當前MP3播放器都具有大容量的可擦除存儲器,而且其容量有越來越大之趨勢。5、液晶顯示面板為了實現(xiàn)良好的交互操作,MP3基本上都提供了一個液晶顯示面板LCD,主流的MP3通常都采用字符型LCD。 2.1.2 基于集成MP3功能單片機的MP3播放方案當前市場比較流行的是基于集成MP3功能單片機的MP3播放器,該方案僅需少量的外圍器件就可以構成MCU單芯片的MP3播放器,這些芯片提供豐富的接口功能。2.1.3 基于定制ASIC電路的MP3播放器方案MP3播放器有一塊定制的ASIC電路,它比通常MCU的功能要強大,且速度也快。由于該設計的ASIC具有并口和USB口可復用通信的特性

12、,因而使用不同連接電纜和適配器,就能夠?qū)崿F(xiàn)與PC機不同的通信方式,對于PC僅有并口的用戶和具有USB口的用戶均能使用該款機器。使用PC并口通信時,最高可達300KB/s的通信頻率;使用USB通信時,最高可達400500KB/s的通信頻率。2.1.4 采用FPGA實現(xiàn)MP3播放器的方案Xilinx公司采用了具有現(xiàn)場可編程門陣列(FPGA)的MP3,實現(xiàn)具有先進用戶接口特性的MP3播放器。其中,F(xiàn)PGA器件主要用于實現(xiàn)存儲器與輸入/輸出器件的管理和接口功能。2.1.5 各個方案的比較基于分離芯片的MP3播放器成本大,現(xiàn)在已經(jīng)逐漸淘汰。現(xiàn)在大部分采用的是基于集成MP3功能單片機的MP3播放方案。基于

13、定制ASIC電路的MP3播放器方案的顯著特點是電路集成度高,可降低成本,擴展功能,增強競爭力,但不普及。采用FPGA實現(xiàn)MP3播放器的方案比較完美,但難度大我沒有采用?;谝陨戏治?,又由于本人能力和時間所限,本文采用基于集成MP3功能單片機進行MP3的研究和設計。4基于AT89C51SND1的MP3播放器設計開發(fā)AT89C51SND1C單片機是ATMEL公司的系列單片機之一,本章將以該芯片為核心來開發(fā)MP3播放器。4. 1 系統(tǒng)分析本系統(tǒng)主要實現(xiàn)一個MP3播放器的功能,由于涉及文件傳輸和存儲問題,所以附帶需要實現(xiàn)USB存儲器的功能。整個系統(tǒng)由AT89C51SND1C(MCU)、K9F2808U

14、0A(Flash芯片),電源部分、音頻部分、串行通信部分和人機接口部分組成。·MCU部分:控制整個系統(tǒng),提供USB控制和MP3解碼功能;·Flash芯片:存放系統(tǒng)文件;·電源部分:提供系統(tǒng)工作所需要的電源,包括1個升壓和1個降壓部分;·音頻部分:把數(shù)據(jù)流轉(zhuǎn)化為聲音信號;·人機接口部分:包括按鍵和LED指示等等為了方便調(diào)試,系統(tǒng)中還提供了串行通信部分,在這個部分中主要詳細介紹電源、音頻部分。·電源部分:整個開發(fā)板上所有芯片統(tǒng)一采用3.3伏供電,對開發(fā)板的供電采取2種形式:USB供電和7號電池供電。USB供電模式:USB供電參數(shù)如下:US

15、B接口提供5V電壓和200mA電流,Imax=500mA;PC機為500mA;筆記本電腦為100mA。由于AT89C51SND1所需要的電壓為3V(±10%),25mA,所以能夠滿足需要。把5V電壓轉(zhuǎn)為成3.3V電壓方案有兩種:電位器分壓和DC-DC芯片。在ATMEL提供的開發(fā)板中采用的是第一種方案,為了保證輸出電壓的穩(wěn)定,我采取第2種方案:第2種方案備選芯片為AS1117和MAX1626/7,參數(shù)比較如表4.1所列。表4.1 降壓電源芯片比較名 稱性 能價 格AS1117IOUT=10 mA,VIN=5.0V0IOUT800 mA,4.75VIN10V1元MAX1626/715IO

16、UT50 mA,3.0VIN16.5V$1.50電池供電模式:考慮到產(chǎn)品的完整性,故同時設置用7號干電池進行供電的模式,這就需要一個1.53.3V的DC芯片,備選芯片為LM2621和MAX1642/3。參數(shù)比較如表4.2所列。本設計中選MAX856芯片。表4.2 升壓電源芯片比較名 稱性 能價 格LM26211.2至14 V Input Voltage1.24至14 V Adjustable Output VoltageUp to 1A Load Current$0.75MAX856Vout=3.3 V 0.7Vm1.65 V Iout=0.03 A$1.76結(jié)合比較,在系統(tǒng)設計中我們分別選擇

17、芯片AS1117和MAX856。·音頻部分:AT89C51SND1C的音頻輸出提供PCM和I2S2種模式,使得音頻芯片的選擇變得比較容易。綜合考慮數(shù)據(jù)精度和供電電壓等因素,選擇CS4330為音頻DAC芯片,CS4330可是兼容性標準的48kHz、44.1kHz和32kHz音頻信號,音頻信號通過串行數(shù)據(jù)口SDATA送入,左右時鐘信號LRCK控制左右聲道和描繪數(shù)據(jù)和串行時鐘系統(tǒng)的其它部分可以參照前面章節(jié)中提到的設計思想。4.2 系統(tǒng)開發(fā)系統(tǒng)開發(fā)包括硬件和軟件兩個部分,其中硬件主要是指開發(fā)電路板,軟件部分主要包括軟件模塊分析,解碼和音頻的分析。 硬件設計整個系統(tǒng)劃分成幾個部分:電源部分、控

18、制器部分、存儲器部分、音頻部分、人機接口和RS232通信部分。電路圖見附錄A。·電源部分:整個系統(tǒng)采用3V電源供電,系統(tǒng)電源可以取自USB接口,也可來自干電池,所以系統(tǒng)電源由兩個部分組成,一個部分提供從USB接口的5到3V的DC-DC降壓轉(zhuǎn)化;另外一個部分提供從1.5V干電池到3V的DC-DC升壓轉(zhuǎn)化。圖4.1是利用AS1117進行電壓轉(zhuǎn)換的電路圖。如圖4.1所示,從USB接口出來的5V電源通過AS1117芯片被轉(zhuǎn)化為3V電源,給整個系統(tǒng)供電。 圖4.1 利用AS117進行電壓轉(zhuǎn)化XX-1117芯片(其中XX是公司給產(chǎn)品的系列名字,如AS-1117、LM1117等,其大體功能相同,只

19、是在具體參數(shù)上有細微的差別)有多種不同的封裝形式,重要的是有不同的電壓輸出型號,在本系統(tǒng)中一定要選擇XX-1117芯片輸出電壓是3V的芯片,否則調(diào)試起來很麻煩。圖4.2是利用MAX856進行升壓的電路圖,通過MAX856把干電池的1.5V電壓轉(zhuǎn)化為供系統(tǒng)使用的3V電壓。整個電路中比較重要的是二極管1N5817,總的說來,按照圖4.2連接之后,在輸入端加上1.5V電壓,就可以在輸出端上得到需要的電壓,相當方便。圖4.2 MAX856外圍電路·控制器部分:控制器是整個系統(tǒng)的核心部分,其電路圖如圖4.3所示。需要注意的是,由于在系統(tǒng)中有MP3和USB傳輸?shù)认鄬碚f是高頻的信號,為了避免噪聲

20、對系統(tǒng)的影響,尤其是對音頻輸出信號的影響,所以在AT89C51SND1C的正負電源之間需要加上一個RC濾波電路以消除電路中的噪聲,而且對于AVDD和UVDD兩個模擬電壓和數(shù)字電源而言,兩者需要在數(shù)字地和模擬地處單點通過一個磁珠相連接,以避免數(shù)字電源和模擬電源之間的影響,在系統(tǒng)中A3V是模擬電源,3V是數(shù)字電源。圖4.3 控制芯片AT89C51SND1C ·音頻部分:音頻部分是整個系統(tǒng)中最為重要的一個部分,在把數(shù)字信號轉(zhuǎn)化為模擬信號的過程中,容易產(chǎn)生噪聲,這個關系到MP3播放器的聲音效果的好壞。本系統(tǒng)選擇的是CS4330芯片,其外圍電路連接如圖4.4所示。CS4330能夠兼容48kHz

21、、44.1kHz和32kHz的音流頻。聲音數(shù)據(jù)通過串行輸入引腳SDATA輸入。左右輸入時鐘LRCK決定了左右聲道,而在串行輸入時鐘SCLK的驅(qū)動下數(shù)據(jù)被送入CS4330的數(shù)據(jù)緩存中,而主時鐘決定了數(shù)據(jù)濾波器的使用。圖4.4 CS4330的外圍電路(a)圖4.4 CS4330的外圍電路(b) 1、主時鐘Master Clock(MCLK)主時鐘MCLK必須是采樣時鐘的256、384或者512倍,采樣時鐘和LRCK的頻率相等,而MCLK對LRCK的頻率可以自動的檢測和初始化。CS4330內(nèi)部的分頻器在初始化的時候自動把時鐘信號轉(zhuǎn)化為需要的時鐘信號。2、串行時鐘Serial Clock(SCLK)串

22、行時鐘驅(qū)動了數(shù)據(jù)的輸入,CS4330支持內(nèi)部和外部的串行時鐘模式。3、初始化和掉電模式CS4330進入掉電模式?jīng)Q定于初始化上電。內(nèi)部分類濾波器和delta-sigma調(diào)制器重置,內(nèi)部的電壓參考,一位數(shù)字-模擬轉(zhuǎn)化器選擇電容低通濾波器并且掉電。一直到MCLK和LRCK提供,CS4330都會保持在掉電模式。當檢測到MCLK和LRCK后,MCLK將計算一個LRCK時鐘周期來決定MCLK/LRCK的頻率。隨即根據(jù)供給內(nèi)部的電壓參考,決定是5V或者3V電壓模式。最后,電壓提供給D/A轉(zhuǎn)化器和選擇電容濾波器,模擬輸入也會變化為大約2.3V(1.3V在3V模式下)。這個過程需要大約1ms,1024個LRCK

23、時鐘周期。在一個LRCK時鐘周期下,如果MCLK或者CRCK都沒有,CS4330進入掉電模式。當MCLK和LRCK恢復后初始化順序馬上進行。如果MCLK/LRCK頻率或者電壓在掉電模式下發(fā)生了改變,CS4330將進行相應的改變。在有時鐘輸入的時候,CS4330最好不要進行上電操作。4、供電模式CS4330名義上的供電可以是5V或者3V?!癝MART類似電路”在進入初始化的時候或者跳出掉點模式的時候?qū)⒆詣拥倪x擇電壓。當VA+引腳上輸入電壓為4.755.5V時候,輸出電壓是3.7V;當VA+引腳上輸入電壓為2.74.0V時,輸出電壓為1.85V。在4.04.75V的時候,輸出電壓將是3.7V,但是

24、這種情況必須要盡量避免,因為這種情況將帶來極大的功耗損失。同樣的,CS4330也需要加上濾波電路,而且這個電路離CS4330越近越好。CS4330的模擬濾波器是一個開關電容濾波器,而且該濾波器的頻率決定于時鐘頻率以及采樣頻率。(1)人機接口部分人機接口部分主要是提供一個人和系統(tǒng)進行信息交換的接口,包括鍵盤輸入、LED顯示以及串行接口3個部分。鍵盤輸入提供給用戶選擇功能的能力、LED顯示系統(tǒng)現(xiàn)在的工作狀態(tài),如前面章節(jié)中提到,串行接口可以方便開發(fā)過程中的調(diào)試,通過串行調(diào)試助手等工具,把系統(tǒng)運行情況反饋到PC機的屏幕。鍵盤輸入、數(shù)碼管、撥碼以及LED的顯示電路圖如圖4.5,圖4.6和圖4.7。以下給

25、出各個人機接口的功能定義。圖4.5 鍵盤輸入電路 圖4.6 數(shù)碼管顯示電路 圖4.7 LED顯示和撥碼開關撥碼開關1(供電選擇):用于控制由USB接口還是由干電池給系統(tǒng)供電,當撥碼位于左邊時候,由USB接口供電,USB電纜給系統(tǒng)提供5V電壓,電壓通過AS1117轉(zhuǎn)化為3V供給芯片;當撥碼位于右邊的時候,由7號干電池通過MAX856升壓后給芯片供電,串口不可用。(這個控制開關的設置是為了方便調(diào)試,否則可以把這個控制開關和撥碼開關合二為一)。撥碼開關2(系統(tǒng)功能選擇):用于控制系統(tǒng)是執(zhí)行U盤功能還是MP3功能,這兩者的初始化狀態(tài)不同。當撥碼位于左邊時,執(zhí)行U盤功能,系統(tǒng)上電之后處于U盤初始化狀態(tài);

26、當撥碼位于右邊時候,執(zhí)行MP3功能,系統(tǒng)上電之后處于MP3初始化狀態(tài)。撥碼開關3(系統(tǒng)上電):由于開始給系統(tǒng)供電,當撥碼位于左邊時候,系統(tǒng)上電,控制器根據(jù)系統(tǒng)能夠選擇的不同位于不同的初始化狀態(tài),對應的指示燈2/3亮/滅;當撥碼位于右邊時候,系統(tǒng)斷電,關閉。撥碼開關4(ISP選擇):當撥碼位于左邊時候,AT89C51SND1的ISP引腳為低電平,允許進行ISP編程,否則接到高電平,不允許進行ISP編程。指示燈1(供電指示燈1):當53V供電正常時,供電指示燈1亮。指示燈2(供電指示燈2):當1.53V供電正常時候,供電指示燈2亮。指示燈3(U盤指示燈):當執(zhí)行U盤功能時,無數(shù)據(jù)傳輸時燈亮,有數(shù)據(jù)

27、傳輸時閃爍。指示燈4(MP3指示燈):當執(zhí)行MP3功能時候,等待播放的時候該燈亮,播放時候該燈閃爍。按鍵1(系統(tǒng)復位鍵):按該銨鈕幾秒鐘,整個系統(tǒng)回到系統(tǒng)上電時候的狀態(tài)。按鍵2(MP3歌曲選擇鍵):每按一次,歌曲序號自動向上加1,馬上從該首進行播放,當?shù)阶詈笠皇讜r候從第一首開始計數(shù)。按鍵3(MP3聲音控制鍵):每按一次,聲音級別自動向上加1,當達到31級時候從0級開始重新播放。按鍵4(MP3開始鍵):當處于MP3系統(tǒng)初始化狀態(tài)時候,按一下開始播放歌曲,指示燈3開始閃爍;如果沒有歌曲可供播放,則沒有作用。數(shù)碼管:在U盤模式下顯示U字樣;在MP3模式下顯示現(xiàn)在播放的是第幾首歌曲。U盤初始化狀態(tài):上

28、電后,當系統(tǒng)功能撥碼開關位于左邊時,數(shù)碼管顯示U字,等待和PC進行數(shù)據(jù)變換。MP3初始化狀態(tài):上電后,當系統(tǒng)功能撥碼開關位于右邊時,數(shù)碼管顯示整個MP3存儲器中一共有幾首歌曲可供播放,聲音級別位于第10級。(2)Flash存儲芯片MP3系統(tǒng)仍然選擇了前面USB實驗系統(tǒng)中使用的Flash芯片K9F2808U0A,F(xiàn)lash芯片的電路,如圖4.8所示。圖4.8 Flash芯片電路圖4.2.2 軟件系統(tǒng)設計1、軟件模塊分析MP3播放系統(tǒng)中的軟件設計按照模塊可以劃分為以下幾個部分:Flash存儲模塊、USB通信驅(qū)動模塊、MP3解碼控制模塊、音頻解碼接口模塊。2 、Flash存儲部分對Flash的讀/寫

29、操作的相關知識在本小節(jié)中僅僅對FAT文件系統(tǒng)進行詳細地介紹。一個FAT(FAT12/FAT16/FAT32)文件系統(tǒng)卷(卷可以理解為是一張軟盤、一個硬盤或是一個Flash電子盤)由4個部分組成:保留區(qū)(reserved region),F(xiàn)AT區(qū),根目錄區(qū)(root directory region)和文件和目錄數(shù)據(jù)區(qū)。FAT分配空間的時候,是按簇來分配的,但是其給出的地址卻是LBA(Logical Block Address),即它只給出一個扇區(qū)號,比如對此Flash而言,若給出LBA為0x40,代表簇1的扇區(qū)1。因此需要將Logical Block Address轉(zhuǎn)換為物理地址,這樣,才可以

30、對數(shù)據(jù)進行存取操作。根據(jù)我們定義的結(jié)構,轉(zhuǎn)換公式為:Flash的Block=Logical Block Address/0x20Flash的Page=Logical Block Address/0x20因此簇和扇區(qū)的概念只是在BPB中給出存儲介質(zhì)信息的時候告之系統(tǒng)就可以了,我們只要做好LBA與物理地址間的轉(zhuǎn)換即可。由于作為U盤的Flash不要求啟動,因此可以沒有MBR區(qū),只包含DBR、FAT、DIR和DATA4個區(qū)。當Host發(fā)出READ命令后,F(xiàn)lash讀/寫操作即告開始,Host首先讀取MBR,得到有關存儲介質(zhì)的信息,諸如扇區(qū)長度、每簇扇區(qū)數(shù)以及總扇區(qū)數(shù)等內(nèi)容,以便知道此盤有多大。如果讀取

31、正確,會接著讀取文件分配表,借以在PC機上的可移動盤符中顯示文件目錄,并可以復制、刪除或是創(chuàng)建文件。系統(tǒng)自動將這些命令都轉(zhuǎn)換成READ或WRITE兩種命令,通過USB的READ或WRITE命令塊描述符來從Flash中相應扇區(qū)讀取數(shù)據(jù),或是將特定長度的數(shù)據(jù)寫入Flash相應簇中。3 、MP3解碼部分AT89C51SND1C提供一個MPEG I/II的解碼器,而不僅僅是一個MP3解碼器。MPEG I標準僅僅支持48Hz、44.1Hz以及32Hz的采樣頻率。在這些層中,第三層壓縮率能夠在保持CD音質(zhì)的前提下達到以12:1的壓縮比率。舉一個例子,3分鐘的CD音頻(16位PCM編碼,44.1Hz)數(shù)據(jù)需

32、要的存儲容量大概是32MB,而對應的壓縮MPEG I第三層壓縮率的數(shù)據(jù)僅僅需要2.7M的空間。在MPEG II中提供了另外三種采樣頻率24kHz、22.05kHz以及15kHz。AT89C51SND1C能夠?qū)崟r解碼MPEG I第三層音頻流到PCM音頻流,同時也支持MEPG II中提出的附加頻率。AT89C51SND1C同時還提供類似于聲音控制、重音控制等附加功能。MSC-51核和MP3的解碼器接口是通過11個特殊功能寄存器來實現(xiàn)的。這11個寄存器如下:(1)MP3控制寄存器MP3CON(the MP3 Control register)。(2)MP3解碼狀態(tài)寄存器MP3STA(MP3 Deco

33、der Status Register)。(3)MP3數(shù)據(jù)寄存器MP3DAT(MP3 Data Register)。(4)MP3狀態(tài)寄存器1 MP3STA1(MP3 State Resigter1)。(5)MP3附加數(shù)據(jù)寄存器MP3ANC(MP3 Ancillary Data Register)。(6)MP3左聲道控制寄存器MP3VOL(MP3 Volume Left Control Register)。(7)MP3右聲道控制寄存器MP3VOR(MP3 Volume Right Control Register)。(8)MP3重音控制寄存器MP3BAS(MP3 Volume Bass Cont

34、rol Register)。(9)MP3中音控制寄存器MP3MED(MP3 Volume Medium Control Register)。(10)MP3高音控制寄存器MP3TRE(MP3 Volume Treble Control Register)。(11)MP3時鐘寄存器MP3CLK(MP3 Clock Divider Register)。MP3解碼器要在一個完整的數(shù)據(jù)幀到達輸入緩存中之后才開始解碼操作。為了管理MP3數(shù)據(jù)幀在緩存中的負擔,使用一個硬件的握手協(xié)議來管理數(shù)據(jù)的需求和確認。每當MP3解碼器需要MP3數(shù)據(jù)時候,其設置MP3STA和MP3STA1寄存器中相應的MPREQ、MPFR

35、EQ和MPBREQ標志位。MP3的解碼時鐘由鎖相環(huán)的時鐘分頻率產(chǎn)生,這個分頻參數(shù)可以由MP3CLK寄存器重的MPCD4:0位決定,而解碼時鐘由MP3的數(shù)據(jù)幀所決定。當對MP3數(shù)據(jù)幀頭進行解碼之后就可以得到MP3的版本號,在MPEG I中,最小的MP3時鐘為21MHz,而在MPEG II中為10.5MHz。MP3解碼器提供了對左右聲道的控制,MP3VOR和MP3VOL寄存器提供了一個32級別的音量控制。該解碼器也可以調(diào)節(jié)聲音的高音(3300kHz以上)、中音(7503300kHz)、低音(低于750kHz),同樣有32級別調(diào)節(jié)。在AT89C51SND1C中斷之后,根據(jù)中斷的不同,硬件將進入中斷并

36、且把對應的數(shù)據(jù)位置位,在程序編寫過程中可以從不同的中斷入口進入相應的中斷服務子程序,圖4.9是對應的MP3解碼器服務流程,整個MP3解碼程序的書寫可以參照這個流程。 讀MP3STA寄存器數(shù)據(jù)要求?MPFREQ=1?附加數(shù)據(jù)?MPANC=1?同步錯誤?ERRSYN=1?層錯誤?ERRLAY=1?CRC錯誤處理再次讀入MP3幀數(shù)據(jù)要求處理寫數(shù)據(jù)到MP3DAT附加數(shù)據(jù)處理寫入附加數(shù)據(jù)同步錯誤處理重寫數(shù)據(jù)到MP3DAT層錯誤處理YNNYNYNY圖4.9 MP3解碼流程4.3 MP3播放器的主要程序代碼分析以下將要介紹關于MP3解碼部分的部分代碼。4.3.1 MP3解碼部分MP3解碼部分中有以下函數(shù):&

37、#183;MP3_Reg_Init(),MP3寄存器初始化函數(shù),對MP3的各個寄存器進行初始化,主要是MP3CON寄存器中間的中斷控制位的設置。·MP3_Data_Input(),把數(shù)據(jù)送入到MP3解碼緩存中去,需要送入1024字節(jié),當緩存中需要數(shù)據(jù)的時候,位于MP3STA寄存器中的MPREQ被置位,在對MP3STA進行讀操作之后被清除。如果緩存沒有滿,那么MPFREQ位一直被置位,并且MPBREQ位也被置位,不同的是當緩存被裝滿時候MPFREQ才復位,而MPBREQ是每次寫入一字節(jié)數(shù)據(jù)之后就會復位一次。本函數(shù)通過查詢MPREQ、MPFREQ和MPBREQ的狀態(tài)來決定是否給緩存中送入

38、數(shù)據(jù)。·MP3_Error_Del(),這是一個錯誤處理函數(shù),當出現(xiàn)層錯誤、同步錯誤和CRC校驗錯誤中任意一種的時候,這個時候需要重新往緩存中裝載數(shù)據(jù)。·MP3_Clk_Contr(),這是MP3解碼器的時鐘控制函數(shù),根據(jù)MPVER和MPFS1:0的獲取MPEG的標準類型和采樣率,然后根據(jù)標準類型和采樣率對解碼是時鐘進行設置。·MP3_Audio_Contr(),根據(jù)人機接口提供的相應數(shù)據(jù)對MP3解碼器中的音量、聲道和音效進行控制。·MP3_AncData_Contr(),對MP3文件中的附加數(shù)據(jù)進行處理,在本系統(tǒng)中無處理。·MP3_Int_D

39、el(),這是中斷處理函數(shù),在進入處理過程后再根據(jù)相應位的狀態(tài)來判斷引起中斷的原因,進行相應的處理。部分解碼程序見附錄B。4.3.2 音頻控制部分在音頻處理部分中有以下函數(shù):Audio_Reg_ Init():這是MP3音頻部分的初始化函數(shù),用于初始化音頻控制器的寄存器控制信號;Audio_ Clk_Set():用于設置音頻部分的時鐘信號,在下面的例子中假設外部提供的PLL時鐘是24M;Audio_ Data_ Input():根據(jù)外部的啟動信號來控制對數(shù)據(jù)的獲取和音頻信號的輸出。提示:AT89C51SND1C音頻部分的數(shù)據(jù)可以來源于C51核和MP3解碼部分,本小節(jié)僅僅給出了對MP3部分的控制

40、。 圖4.10給出了音頻系統(tǒng)工作流程圖,程序的編寫可以參照這個流程MP3模式配置編程音頻時鐘配置接口HLR=XDSIZ=XPOL=X SRC=0JUST4:0= XXXXXb啟動DAC時鐘AUDEN=1等待DAC設置等待數(shù)據(jù)DRQEN=1圖4.10 音頻配置流程 結(jié) 論由于MP3的普及,MP3受到越來越多的重視。同時由于MP3技術的復雜性,使得MP3播放器的實現(xiàn)更加困難,更具挑戰(zhàn)性。本文討論便攜式MP3播放器的結(jié)構、多種存儲器類型、各種通信接口及其擴展功能。通過對各類便攜式MP3播放器的方案進行了總結(jié)和分析,以基于AT89C51SND1芯片的MP3播放器為例,實現(xiàn)一個MP3播放器的功能。本文主

41、要成果和結(jié)論如下:以MP3播放器的原理及其系統(tǒng)構成為基礎,對各種便攜式MP3播放器的方案進行了總結(jié)和分析,包括:1、分離芯片的MP3播放器方案、基于集成MP3功能單片機的MP3播放器方案、基于定制ASIC電路的MP3播放器方案及以FPGA實現(xiàn)MP3播放器的方案。然后介紹MP3播放器的軟件解決方案。2、以基于AT89C51SND1芯片的MP3播放器為例,實現(xiàn)一個MP3播放器的功能。整個系統(tǒng)由AT89C51SND1C(MCU)、K9F2808U0A(Flash芯片),電源部分、音頻部分、串行通信部分和人機接口部分組成并給出了解碼和音頻控制部分的參考程序。由于本人能力和時間的限制,我只是對MP3播放

42、器的硬件方面做了一些初步的研究。其中不足之出希望各位老師諒解。我以后還要在MP3播放器方面進行進一步的研究。致 謝經(jīng)過三個多月的努力,我終于順利地完成了畢業(yè)設計。在我論文寫作期間的工作自始自終都是在指導老師張慶思全面、具體地指導下進行的,大到文章的選題謀篇、布局結(jié)構,小到文章的詞語搭配、標點符號。張慶思老師多次以民主的方式引導學生以自己的視角發(fā)現(xiàn)問題、分析問題、解決問題,使自己體會到畢業(yè)論文不僅是對大學所學知識的再學習、再檢驗、再提高的過程,更是一次將所學運用到實踐將其升華的過程。導師在學術上孜孜不倦、嚴謹求實,在我的學習過程中,這種精神時刻影響和激勵著我。老師淵博的學識、敏銳的思維、民主而嚴

43、謹?shù)淖黠L使學生受益匪淺,并終身難忘。在此表示衷心的感謝!導師給予我的不僅僅有知識上、學術上的幫助,更有方法上、思想上的,這些將使我受益終生。再一次感謝我的導師張慶思老師!同時非常感謝在完成畢業(yè)設計期間給予我各方面支持與幫助的其他老師。非常感謝我的學友和朋友們的支持與鼓勵!參考文獻1 李軍51系列單片機高級開發(fā)指南M北京:北京航空航天大學出版社,2004,287-3042 楊心懷,周潔便攜MP3播放器的設計J電子技術的應用,2003(2):55-57.3 李華主編MCS-51系列單片機實用接口技術M北京:北京航空航天大學出版社,1996,103-1124 尹羅生,吉吟東,孫新亞,朱善尹一種USB

44、外設的實現(xiàn)方法J工程計算機2002,22-265 譚浩強C程序設計M北京:清華大學出版社,2000,9-116 羅亞菲凌陽十六位單片機應用基礎M北京:北京航空航天大學出版社,2003,98-1027 劉守義等單片機技術基礎M西安:西安電子科技大學出版社,2007,121-1258 陳堂敏,劉煥平主編單片機原理與應用M.北京:北京理工大學出版社,2007,178-1809 李廣弟等單片機基礎M. 北京:北京航空航天出版社,2001,87-90附錄A 附錄B 解碼程序頭文件#define unit nusingned int#define uchar unsingned char#define M

45、P3_ON 1 #define MP3_OFF 0Bit MP3 _SwitchUchar Key_VolUchar Key_BasUchar Key_MedUchar Key_Tre/以上為鍵盤讀入的聲音控制參數(shù)/MP3COM寄存器內(nèi)部位定義sbit MPEN=MP3CON7sbit MPBBST= MP3CON6sbit CRCET=MP3CON5sbit MSKANC=MP3CON4sbit MSKREQ=MP3CON3sbit MSKLAY=MP3CON2sbit MSKSYN=MP3CON1sbit MSKCRC=MP3CON0/MP2STA1寄存器內(nèi)部位定義sbit MPFREQ=

46、MP3STA14sbit MPFREQ=MP3STA13Mp3_Reg_Init(); Mp3_Data_Input();Mp3_Error_Del()Mp3_Clk_Set()Mp3_Audio_Contr()Mp3_AncData_Del()void Mp3_Int_Del()解碼程序#include<mp3_contr.h>#include<regsnd1.h>Mp3_Reg_Init()If(MP3_Switch= = MP3_ON) MP3CON=0xBF;else MP3CON=px3F; MP3_Data_Input()If (MPFREQ= =1 )&a

47、mp;&(MPBREQ= =1)= =1) MP3DAT= MP3_Data; MP3_Error_Del()If(ERRLAY= =1)/提示If(ERRCRC= =1)/ go on/以上兩部分對應的錯誤提示用戶可以自行根據(jù)系統(tǒng)進行設置If(ERRSYN= =1)MP3_Data_Input();MP3_Clk_Set()If(MPVER= =1)MP3CLK=0ElseMP3CLK=1;MP3_Audio_Contr() MP3VOL = Key_Vol;MP3VOLR= Key_Yol;MP3MED = Key_Med;MP3TRE = Key_Tre;MP3BAS = Key

48、_Bas;MP3_AncData_Del()/留出接口供調(diào)用Void MP3_Int_Del() interrupt 5 using 2if(MPREQ= =1)/缺少數(shù)據(jù) MP3_Data_Input(); else if(MPANC= =1)/處理附加數(shù)據(jù) MP3_AncData_Del();eles MP3_Error_Del();g an employment tribunal claiEmployment tribunals sort out disagreements between employers and employees.You may need to make a cl

49、aim to an employment tribunal if:· you don't agree with the disciplinary action your employer has taken against you· your employer dismisses you and you think that you have been dismissed unfairly.For more information about dismissal and unfair dismissal, see Dismissal.You can mak

50、e a claim to an employment tribunal, even if you haven't appealed against the disciplinary action your employer has taken against you. However, if you win your case, the tribunal may reduce any compensation awarded to you as a result of your failure to appeal.Remember that in most case

51、s you must make an application to an employment tribunal within three months of the date when the event you are complaining about happened. If your application is received after this time limit, the tribunal will not usually accept i.If you are worried about how the time limits apply to you, take ad

52、vice from one of the organisations listed under Further help.Employment tribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation.Most people find making a claim to an employment tribunal challenging. If you

53、 are thinking about making a claim to an employment tribunal, you should get help straight away from one of the organisations listed under Further help.If you are being represented by a solicitor at the tribunal, they may ask you to sign an agreement where you pay their fee out of your compensa

54、tion if you win the case. This is known as a damages-based agreement. In England and Wales, your solicitor can't charge you more than 35% of your compensation  if you win the case.If you are thinking about signing up for  a damages-based agreement, you should make sure you're

55、clear about the terms of the agreement. It might be best to get advice from an experienced adviser, for example, at a Citizens Advice Bureau.  To find your nearest CAB, including those that give advice by e-mail, click on nearest CAB.For more information about making a claim to an employme

56、nt tribunal, see Employment tribunals.The (lack of) air up there Watch mCayman Islands-based Webb, the head of Fifa's anti-racism taskforce, is in London for the Football Association's 150th anniversary celebrations and will attend City's Premier League match at Chelsea on Sunday.&q

57、uot;I am going to be at the match tomorrow and I have asked to meet Yaya Toure," he told BBC Sport."For me it's about how he felt and I would like to speak to him first to find out what his experience was."Uefa has opened disciplinary proceedings against CSKA for the "racist behaviour of their fans" during City's 2-1 win.Michel Platini, president of European football's governing bo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論