MP3的軟硬件設(shè)計_第1頁
MP3的軟硬件設(shè)計_第2頁
MP3的軟硬件設(shè)計_第3頁
MP3的軟硬件設(shè)計_第4頁
MP3的軟硬件設(shè)計_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 學(xué)科分類號 0712 本科生畢業(yè)論文設(shè)計題目(中文): MP3的軟硬件實現(xiàn) (英文):Hardware And Software Desiment for MP3學(xué)生姓名: 學(xué)號: 系別: 物 電 系專業(yè): 電子信息科學(xué)與技術(shù)指導(dǎo)教師: 起止日期: 2008.11-2009.4 2009年 5 月 1 日懷化學(xué)院本科畢業(yè)論文(設(shè)計)誠信聲明本人鄭重聲明:所呈交的本科畢業(yè)論文(設(shè)計),是本人在指導(dǎo)老師的指導(dǎo)下,獨立進(jìn)行研究工作所取得的成果,成果不存在知識產(chǎn)權(quán)爭議,除文中已經(jīng)注明引用的內(nèi)容外,本論文不含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的作品成果。對本文的研究做出重要貢獻(xiàn)的個人和集體均已在文中以

2、明確方式標(biāo)明。本人完全意識到本聲明的法律結(jié)果由本人承擔(dān)。 本科畢業(yè)論文(設(shè)計)作者簽名: 年 月 日目 錄摘 要I關(guān)鍵詞IAbstractIKey wordsI1 前言12 硬件設(shè)計32.1 主要芯片和主要理論介紹32.1.1 芯片總體描述32.1.2 典型應(yīng)用32.1.3 引腳的描述32.1.4 核心芯片框圖72.1.5 寄存器的描述82.1.6 波形分析102.1.7 外圍設(shè)備112.2 其他外圍芯片介紹142.2.1 存儲芯片K9F5608142.2.2 CS4330音頻DA芯片172.2.3 MAX856芯片提供的電源電路182.3 硬件電路板的設(shè)計203 U盤設(shè)計233.1 USB通

3、信的基本原理233.1.1 通用串行總線USB233.1.2 信號在USB總線上的傳遞243.1.3 USB通信的完全實現(xiàn)253.2 USB通信數(shù)據(jù)流模型263.2.1 總線的構(gòu)成263.2.2 USB通信流263.2.3 傳輸類型273.2.4 數(shù)據(jù)的轉(zhuǎn)換與分裝283.3 USB Mass Storage、Bulk-Only與SCSI283.3.1 USB Mass Storage 協(xié)議283.3.2 Bulk-Only傳輸協(xié)議和SCSI命令集293.4 Flash存儲與文件系統(tǒng)303.4.1 Flash存儲器303.4.2 FAT16文件系統(tǒng)323.4.2 硬盤結(jié)構(gòu)323.5 U盤設(shè)計流程

4、333.5.1 USB接口333.5.2 固件編程333.5.3 調(diào)試343.6 USB設(shè)備的C語言設(shè)計343.6.1 U盤固件程序結(jié)構(gòu)框架343.6.2 接口芯片初始化編程363.6.3 設(shè)備配置階段程序設(shè)計373.6.4 批量傳輸階段的程序設(shè)計383.6.5 SCSI命令集處理38參考文獻(xiàn)40致 謝41附錄A 42附錄B 67 附錄C .69Mp3的軟硬件實現(xiàn)摘 要 設(shè)計利用的是音樂播放器的專用單片機芯片ATMEL公司AT89S51SND1A芯片作為核心芯片,采用三星公司K9F5608作為存儲芯片,CS4330做為數(shù)模轉(zhuǎn)換芯片,采用盡可能簡單的方式實現(xiàn)MP3播放器的設(shè)計,同時側(cè)重了USB通

5、信的一些內(nèi)容,和軟件設(shè)計的內(nèi)容,使得本設(shè)計內(nèi)容豐富了不少。USB產(chǎn)品是現(xiàn)階段最為流行的接口,已經(jīng)在多種消費類產(chǎn)品的聯(lián)機方面取得了壟斷性的地位,同時使得各方面得到優(yōu)化,但是在該畢業(yè)設(shè)計時,成為最核心的問題,也就是設(shè)計的第二個功能:U盤功能。本設(shè)計已經(jīng)通過各方面的測試,同時便于更深入的學(xué)習(xí),設(shè)計留下了擴(kuò)展的空間。關(guān)鍵詞單片機; U盤; MP3;USB 通訊 Hardware And Software Desiment for Music Player AbstractThis disignment is rely on the core CMOS chip AT89S51SND1A which i

6、s empolder for the music player by ATMEL Corporation.And memory CMOS chip K9F5608 by SAMSUNG.K9F5608 for DAC CMOS chip.Adopt the briefest project to realize the designment. At the same time,emphasize particularly on USB communications and software designment, so as to enrich the entire designment.Th

7、e USB interface is monopolizing the consume electron market,so it is the difficulty and emphases for the designment.At the same time ,its increases the function as U-disk.This designment was tested in kinds of aspects,at the same time ,its leave over some enlarge function for studying.Key wordsSingl

8、echip; U Disc; MP3; USB communication1 前言MP3全稱是動態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3(Moving Picture Experts Group Audio Layer III)。是當(dāng)今較流行的一種數(shù)字音頻編碼和有損壓縮格式,它設(shè)計用來大幅度地降低音頻數(shù)據(jù)量,而對于大多數(shù)用戶來說重放的音質(zhì)與最初的不壓縮音頻相比沒有明顯的下降。 MP3格式有如下幾個特點:1.MP3是一個數(shù)據(jù)壓縮格式。2.它丟棄掉脈沖編碼調(diào)制(PCM)音頻數(shù)據(jù)中對人類聽覺不重要的數(shù)據(jù)(類似于JPEG是一個有損圖像壓縮),從而達(dá)到了小得多的文件大小。3.MP3音頻可以按照不同的位速進(jìn)行壓縮,提

9、供了在數(shù)據(jù)大小和聲音質(zhì)量之間進(jìn)行權(quán)衡的一個范圍。MP3格式使用了混合的轉(zhuǎn)換機制將時域信號轉(zhuǎn)換成頻域信號。4.32波段多相積分濾波器(PQF)。5.36或者12 tap 改良離散余弦濾波器(MDCT);每個子波段大小可以在0.1和2.31之間獨立選擇。6.MP3不僅有廣泛的用戶端軟件支持,也有很多的硬件支持比如便攜式媒體播放器(指MP3播放器)DVD和CD播放器。當(dāng)代科技日新月異,MP3作為時下最為流行的嵌入式產(chǎn)品在技術(shù)上面已經(jīng)沒有多大的上升空間,只有在外形、穩(wěn)定性、附加功能和質(zhì)量方面各個廠家有著各自的個性化設(shè)計,但是作為USB的一個最為普通的產(chǎn)品,卻要經(jīng)歷USB通信的方方面面,同時本畢業(yè)設(shè)計要

10、求對單片機有著比較全面的了解,對芯片的英文資料閱讀能力有著很高的要求,同時,這也是單片機向嵌入式升級的一個很好的鍛煉。本次設(shè)計的重點在于三個方面:控制器的使用和編程、以存儲芯片為主的外圍芯片的使用,USB通信的編程,硬件的設(shè)計與調(diào)試??刂破鞯氖褂煤途幊绦枰獙纹瑱C有著比較好的了解,本控制器嵌入了USB控制芯片,對硬件的設(shè)計進(jìn)行了不少的簡化,硬件編程基于C語言,因為本設(shè)計采用的是較為基礎(chǔ)的設(shè)計方案,控制器與外圍芯片的連接方面可以參考芯片資料,同時把P1P5引腳擴(kuò)展出來,可以在以后的設(shè)計中方便的對硬件進(jìn)行升級。外圍芯片的使用主要參考其英文資料,使得設(shè)計進(jìn)度上有一定得難度,但是在進(jìn)行使用的時候,資料

11、里面推薦的典型應(yīng)用電路圖對設(shè)計起了不少的參考,使得設(shè)計難度大幅度減少。存儲芯片在論文中做了比較詳細(xì)的介紹,是最重要和最難使用的外圍器件之一。USB通信是本設(shè)計的最難點,其內(nèi)容包括U盤的設(shè)計和各種固件的編寫,在設(shè)計中占有最大的比重,也是此設(shè)計最重要的一環(huán),同時也是后面的調(diào)試環(huán)節(jié)中最重要的一環(huán)。在此設(shè)計中,參考了大量的有關(guān)USB的資料包括USB1.0規(guī)范和驅(qū)動開發(fā)網(wǎng),以及網(wǎng)友提供了各種解決方案以及疑難點的解答,同時采用時下較為流行的軟件對后來的軟件調(diào)試起了很大的作用。硬件設(shè)計過程,是理論加實踐的過程,本設(shè)計是我進(jìn)行的最為復(fù)雜的設(shè)計,在很多的方面欠考慮使得畢業(yè)設(shè)計PCB生成過程中經(jīng)過了多次的修改最終

12、定型,同時本設(shè)計采用的是ATMEL公司提供的高集成芯片和samsung公司的存儲芯片,此兩種芯片體積下,加工難度大,使得此設(shè)計只能進(jìn)行雙面板的設(shè)計,在學(xué)校實驗室的條件下無法完成,必須送外面進(jìn)行加工,使得畢業(yè)設(shè)計的難度相對增加了不少。通過本畢業(yè)設(shè)計,增加了對英文資料的理解,更加深入的了解了單片機及其應(yīng)用,同時也是對嵌入式應(yīng)用的一個過渡,增加了自己不少的信心,難者不會,會者不難,所謂的困難,只是一個過程。同時相信,對學(xué)工科的而言,嚴(yán)謹(jǐn)乃成功之母,這也是我最大的收獲之一。2 硬件設(shè)計2.1 主要芯片和主要理論介紹2.1.1 芯片總體描述AT89X51SND1是一款帶有51內(nèi)核,支配數(shù)據(jù)流和MP3播放

13、器控制的高集成優(yōu)越MP3解碼芯片。包含64K的flash存儲器和支持通過4K嵌入存儲器在線編程。為人機交互提供所有的特征:如定時計數(shù),鍵盤接口,串并接口,模數(shù)轉(zhuǎn)換輸入,I2S輸出,和其他外部存儲器接口。2.1.2 典型應(yīng)用MP3播放器,照相機,手機,個人數(shù)據(jù)輔助系統(tǒng)汽車多媒體MP3家庭音頻/多媒體MP32.1.3 引腳的描述本報告中“#”表示低電平有效,以下不再說明。圖2.1 AT89C51SND1A 引腳圖表2.1 輸入輸出口的描述引腳名稱類型描述備用功能P0I/O八位雙向口,高阻抗輸入,為了消除寄生電流,不用的腳接地或接電源。AD7:0P1I/O八位雙向口,含內(nèi)部上拉電阻。KIN3:0,S

14、CL,SDAP2I/O八位雙向口,含內(nèi)部上拉電阻。A15:8P3I/O八位雙向口,含內(nèi)部上拉電阻。RXD,TXD,INT0,INT1,TO,T1,WR#,RD#P4I/O八位雙向口,含內(nèi)部上拉電阻。MISO,MOSI,SCK,SS#P5(P5.0-P5.3)I/O八位雙向口,含內(nèi)部上拉電阻。-表2.2 時鐘信號的描述信號名稱類型描述備用功能X1I輸入到芯片晶振放大放大器。如果使用內(nèi)部晶振,此腳連接電阻,如果接外部晶振,則從此處輸入。X1是內(nèi)部定時器的時鐘源。-X2O輸出到芯片晶振放大放大器。如果使用內(nèi)部晶振,此腳連接電阻,如果接外部晶振,則此腳不連接。-FILTI相同步低通濾波器輸入-表2.3

15、 定時器的描述信號名稱類型描述備用功能INT0#I外部中斷0P3.2INT1#I外部中斷1P3.3T0I定時計數(shù)器0P3.4T1I定時計數(shù)器1P3.5表2.4 音頻接口信號描述信號名稱類型描述備用功能DCLKODAC數(shù)據(jù)時鐘-DOUTODAC 音頻數(shù)據(jù)-DSELODAC信道選擇-SCLKODAC系統(tǒng)時鐘-表2.5 USB控制信號描述信號名稱類型描述備用功能D+I/OUSB正數(shù)據(jù)端口。為了全速運行,此腳建議連接一個1.5K的外部上拉電阻。-D-I/OUSB負(fù)數(shù)據(jù)端口。-表2.6 多媒體接口信號描述信號名稱類型描述備用功能 MCLKOMMC時鐘輸出-MCMDI/OMMC命令出入-MDATI/OMM

16、C數(shù)據(jù)出入-表2.7 通用異步通信信號描述信號名稱類型描述備用功能RXDI/O串口接收P3.0TXDO串口發(fā)送P3.1表2.8 串行外部接口SPI信號描述信號名稱類型描述備用功能SCLI/O雙總線時鐘P1.6SDAI/O雙總線數(shù)據(jù)P1.7表2.9 A/D轉(zhuǎn)換信號描述信號名稱類型描述備用功能 AIN1:0IA/D轉(zhuǎn)換模擬輸入-AREFPI模擬參考正電壓-AREFNI模擬參考負(fù)電壓-表2.10 鍵盤接口信號描述表信號名稱類型描述備用功能 KIN3:0I鍵盤輸入行P1.3:0表2.11 ISP接口描述信號名稱類型描述備用功能 A15:8I/O高八位外部地址P2.7:0AD7:0I/O低八位/數(shù)據(jù)P0

17、.7:0ALEO鎖存ISP#I/OISP使能輸入RD#O讀信號P3.7WR#O寫信號P3.6表2.12 系統(tǒng)信號描述信號名稱類型描述備用功能RSTI復(fù)位輸入- TST#I測試輸入-表2.13 電源信號描述信號名稱類型描述備用功能 VDDPWR電路板供電-VSSGND電路板接地-AVDDPWR模擬供電AVSSGND模擬接地PVDDPWRPLL供電-PVSSGNDPLL接地UVDDPWRUSB供電UVSSGNDUSB接地-2.1.4 核心芯片框圖圖2.2 AT89C51SND1A芯片框圖2.1.5 寄存器的描述AT89S51SND1A的寄存器可以分為一下幾類,分別加以說明。1)C51的內(nèi)核寄存器:

18、ACC,B,PSW, PS,DPL,DPH,在這里不做重點介紹。2)系統(tǒng)管理寄存器:PCON,AUXR0(輔助寄存器0),AUXR1(輔助寄存器1),NVERS(譯碼號)。3)PLL和系統(tǒng)時鐘寄存器:CKCON(時鐘控制),PLLCON(PLL控制),PLLNDIV(PLL的N分隔),PLLRDIV(PLL的R分隔)。4)中斷寄存器:IEN0(中斷使能控制0),IEN1(中斷使能控制1),IPH0(中斷優(yōu)先級控制0高),IPH1(中斷優(yōu)先級控制1高),IPL0(中斷優(yōu)先級控制0低),IPL0(中斷優(yōu)先級控制0低)。5)端口寄存器:P1, P2, P3, P4, P5。6)FLASH存儲器控制寄

19、存器:FCON。7)定時器寄存器:TCON,TMOD,TL0,TH0,TH1,TL1,WDTRET(看門狗定時復(fù)位),WDTPRG(看門狗定時器程序)。8)MP3解碼寄存器:MP3CON(MP3控制寄存器),MP3STA0(MP3狀態(tài)寄存器0),MP3TA1(MP3狀態(tài)寄存器1),MP3DAT(MP3數(shù)據(jù)寄存器),MP3ANC(MP3輔助數(shù)據(jù)寄存器),MP3VOL(MP3右音頻控制寄存器),MP3VOR(MP3左音頻控制寄存器),MP3BAS(MP3低音控制寄存器),MP3MED(MP3中音控制寄存器),MP3BAS(MP3低音控制寄存器),MP3TRE(MP3高音控制寄存器),MP3CLK(

20、MP3時鐘分配寄存器)。9)音頻接口寄存器:AUDDON0(AUD控制寄存器0), AUDCON1(控制寄存器1), AUDSTA(AUD狀態(tài)寄存器), AUDDAT(AUD數(shù)據(jù)寄存器), AUDCLK(AUD時鐘分配寄存器)。10)USB控制器寄存器:USBCON(USB全局控制寄存器),USBADDR(USB地址寄存器),USBINT(USB全局中斷寄存器),USBIEN(USB全局中斷使能寄存器),UEPNUM(USB終端數(shù)字控制寄存器),UEPCONX(USB終端X控制寄存器),UEPSTAX(USB終端狀態(tài)寄存器),UEPRET(USB終端復(fù)位寄存器),UEPINT(USB終端中斷寄

21、存器),UEPIEN(USB終端中斷使能寄存器),UEPDATX(USB終端X數(shù)據(jù)寄存器),UBYCTX(USB終端X比特計數(shù)寄存器),UFNUML(USB結(jié)構(gòu)號碼低寄存器),UFNUMH(USB結(jié)構(gòu)號碼高寄存器),USBCLK(USB時鐘分配寄存器)。11)MMC控制器寄存器:MMCON0(控制器0寄存器),MMCON1(控制器1寄存器),MMCON2(控制器2寄存器),MMSTA(控制和狀態(tài)寄存器),MMINT(中斷寄存器),MMMSK(中斷屏蔽寄存器),MMCMD(命令寄存器),MMDAT(數(shù)據(jù)寄存器),MMCLK(時鐘分配寄存器)。12)IDE接口接口寄存器:DAT16H(高定制數(shù)據(jù)比

22、特寄存器)。13)串行I/O端口寄存器:SCON(串行控制寄存器),SBUF,SADEN(從地址屏蔽寄存器),SADDR(從地址寄存器),BDRCON(比特率控制寄存器),BRL(比特率重載寄存器)。14)SPI控制寄存器:SPCON(控制),SPSTA(狀態(tài)),SPDAT(數(shù)據(jù))。15)I2C控制寄存器:SSCON(異步串行控制),SSSTA(異步串行狀態(tài)),SSDAT(異步串行數(shù)據(jù)),SSADR(異步串行地址)。16)鍵盤接口寄存器:KBCON(鍵盤控制),KBSTA(鍵盤狀態(tài))。17)A/D控制寄存器:ADCON(ADC控制),ADCLK(ADC時鐘),ADDL(高數(shù)據(jù)位),ADDH(低

23、數(shù)據(jù)位)。2.1.6 波形分析圖2.3 外部八位數(shù)據(jù)讀操作的波形1)外部八位數(shù)據(jù)讀操作說明:當(dāng)ALE,RD#為高時,表示鎖存已開,并且是讀數(shù)據(jù),此時在P0,P2上面發(fā)送要讀的地址,當(dāng)從器件接收到信號時,從器件把數(shù)據(jù)放到P0口,主器件接收到8位數(shù)據(jù)。2)外部八位數(shù)據(jù)寫操作波形: 同上,只要把RD#編程WR#就行了,這里不再解釋。3)IDE16位數(shù)據(jù)讀寫波形:圖2.4 外部八位數(shù)據(jù)寫操作波形說明:和8位數(shù)據(jù)一樣,P0和P2同時傳送地址和數(shù)據(jù)。寫數(shù)據(jù)同上。4)SPI通信波形圖2.5 SPI通信波形 說明:在主機收到SS#控制的低電平時,隨著SCK的進(jìn)行開始傳輸數(shù)據(jù),MISO表示主機接收數(shù)據(jù)而叢機發(fā)送

24、數(shù)據(jù)。由圖可以看出來,叢機首先傳送的是高位的數(shù)據(jù),然后是中間六位,最后的是低位數(shù)據(jù)。而主機也是按照叢機發(fā)送的順序接收。2.1.7 外圍設(shè)備這里對主要的外圍設(shè)備做一點介紹,關(guān)于詳細(xì)的硬件和軟件,將在相關(guān)章節(jié)里面對其進(jìn)行介紹。1)時鐘發(fā)生器:AT89C51SND1A的內(nèi)部時鐘選中是通過PLL反饋片上晶振來完成的,四種時鐘主要是為51內(nèi)核,MP3解碼器,音頻接口,和其他外圍器件各自的生成。51和外圍器件時鐘主要來自晶振時鐘,MP3解碼的時鐘是通過PLL輸出時鐘,音頻接口的時鐘也由PLL分頻獲得。2)端口: AT89C51SND1A實現(xiàn)了5個八位I/O(P0-P4)和一個四位I/O。除了實現(xiàn)一般的I/

25、O功能之外,一些端口可以實現(xiàn)對外部存儲器的操作和一些外部的備用功能。所有的端口都是雙向的,并且每一端口都帶有一個鎖存器,一個輸入緩沖和一個輸出驅(qū)動。P0和P2的輸入緩沖和輸出驅(qū)動使其能訪問外部的存儲器。一些P1,P3和P4腳用于普通I/O和一些備用的功能。3)定時計數(shù)器:AT89C51SND1A實現(xiàn)了兩個16位普通功能的定時計數(shù)器。分別定義為定時計數(shù)器0和定時計數(shù)器1,它們能夠單獨設(shè)置實現(xiàn)定時和計數(shù)功能。當(dāng)使用其定時功能時,可以設(shè)定初始值,然后通過產(chǎn)生中斷來計時。而計數(shù)時通過外部的負(fù)脈沖實現(xiàn),當(dāng)計數(shù)到達(dá)設(shè)定值后,產(chǎn)生一個中斷。4)看門狗電路:AT89C51SND1A實現(xiàn)了一個硬件看門狗電路用于

26、當(dāng)程序不正確運行或是硬件出了差錯時實現(xiàn)芯片的復(fù)位。5)MP3解碼: AT89C51SND1A實現(xiàn)了MPEG的三個層次編碼。通俗說來就是采樣的實現(xiàn)和還原,這樣通過壓縮的音頻文件可以通過對高音,中音,低音三種效果的控制,實現(xiàn)不同的音效。6)音頻輸出接口:AT89C51SND1A實現(xiàn)了以各種各樣的格式輸出的音頻文件,可以方便的實現(xiàn)與市場上的各自播放器連接。7)USB接口:AT89C51SND1A實現(xiàn)了一個全速的USB接口,方便用于以下的用途:第一,通過USB下載MP3編碼文件。第二用于在線編程實現(xiàn)固件升級。8)多媒體接口:AT89C51SND1A實現(xiàn)了適應(yīng)V2.2規(guī)范的多媒體接口,它也許了MP3編碼

27、文件可以快速的實現(xiàn)FLASH和記憶卡之間的移植,同時可以用于在線編程。9)IDE接口:AT89C51SND1A提供了IDE的接口可以通過其連接其他的外部存儲設(shè)備,它由16位雙向的總線低電平ANSI規(guī)范,可以提供大容量的接口,同時可以用來實現(xiàn)在線的編程。10)串行的I/O接口(i2c):AT89C51SND1A實現(xiàn)了一個串行的端口,它可以實現(xiàn)異步的全雙工通訊,用于在線編程和通過AT89C51SND1A主器件對其他器件的遙控。11)串行外圍接口(SPI):AT89C51SND1A提供了一個主從模式的串行器件接口,它用于對編碼文件的訪問,對其他器件的遙控和在線編程。12)雙線控制:AT89C51SN

28、D1A提供雙線的標(biāo)準(zhǔn)主從多主機的訪問,可以實現(xiàn)對LCD,DAC等的訪問,同時可以進(jìn)行對其他器件的遙控,同時用于在線編程。13)A/D控制器:提供兩通道的10位(實際上是八位)模數(shù)轉(zhuǎn)換,用于對電源的監(jiān)控,聲音的錄制,和遙控功能。14)鍵盤接口:AT89C51SND1A提供外部接4*X的矩陣鍵盤接口。2.2 其他外圍芯片介紹2.2.1 存儲芯片K9F5608 1)主要描述K9F5608是一片32*8BIT的存儲芯片,可以提供1.8V,2.65V,3.3V的電壓。它使用與非單元的結(jié)構(gòu)使其在固態(tài)大規(guī)模存儲上實現(xiàn)了一個高性價比的解決方案。在其上面可是很方便的實現(xiàn)程序的運行和在線修改和擦除。I/O端口提供

29、了和其他命令輸入類似的數(shù)據(jù)和地址的輸入輸出。其引腳外形如下:圖2.6 K9F560引腳圖 由于芯片為TQFP的封裝,在焊接的時候正確的焊接方法決定著硬件電路板的成敗,在焊接的時候可以按照如下流程來焊接:1)先在引腳上涂抹助焊劑。2)把引腳和電路板對其,一定要注意方向。3)先焊接四個角落的引腳。4)在焊接的時候要掌握拖動焊錫粒的技巧,使得焊接漂亮和不會短路。2)引腳描述表2.14 K9F5608 引腳描述引腳名稱引腳功能I/O7:0使用來輸入命令,地址和數(shù)據(jù)。沒有使用到時被拉高。CLE命令鎖存器CE#芯片使能RE#讀使能ALEADDRESS LATCH ENABLE引腳名稱引腳功能WE#寫使能W

30、P#用于擦除或者是寫的時候有掉電情況的鎖存。當(dāng)外部掉電時,內(nèi)部電源發(fā)生器會產(chǎn)生一個復(fù)位,當(dāng)此腳為低且LOCKPRE為高的時候,存儲器處于鎖的狀態(tài)。R/B#用于顯示芯片的運行狀態(tài),當(dāng)為低的時候,便是芯片處于忙碌的狀態(tài),忙完后返回到高的狀態(tài)。VccQ提供輸出緩沖的電源,在內(nèi)部連接Vcc。Vcc芯片供電電源。Vss接地。N.C不接。DNU不接。LOCKPRE鎖結(jié)構(gòu)或者是讀音頻使能。3)結(jié)構(gòu)描述:芯片內(nèi)部方框圖如下:由于核心芯片上集成了多媒體的接口,在硬件電路的設(shè)計時不要考慮接口芯片的選擇與操作,直接連接到核心芯片上對存儲芯片進(jìn)行讀寫,這也是本設(shè)計在選用芯片的時候考慮的最大因素,同時,存儲芯片有很多引

31、腳是不用接的,這在設(shè)計硬件的時候要引起注意。圖2.7 存儲芯片框圖由上圖可以看出,其內(nèi)部主要由X,Y的緩沖器/鎖存器/解碼器、命令寄存器、控制邏輯/高電壓生成器、256MBIT的與非閃存矩陣、I/O的緩沖或鎖存器、全局緩沖器,輸出驅(qū)動組成。其與外部交流信息可以由下面的波形圖看出:圖2.8 存儲芯片與外部交換數(shù)據(jù)上圖為寫數(shù)據(jù)進(jìn)去的波形圖,由上看出,以80H開始到10H結(jié)束。圖2.9 讀數(shù)據(jù)的波形圖上圖為讀數(shù)據(jù)的波形圖,由上可以看出,以00H表示讀數(shù)據(jù)的開始,然后加上地址后開始讀出數(shù)據(jù)。其他波形在編寫程序的時候再加以說明。下圖為傳輸命令集:圖2.10 傳輸命令集2.2.2 CS4330音頻DA芯片

32、音頻DA芯片在MP3播放器中承擔(dān)音頻信號的數(shù)字/模擬轉(zhuǎn)換功能,其性能直接影響最終的音樂效果和音質(zhì)。本MP3學(xué)習(xí)板采用CS4330,該芯片沒有配置引腳,無需軟件配置。CS4330的內(nèi)部框圖如圖9所示。SDATA是位流數(shù)據(jù)輸入,SCLK是位流時鐘,LRCK是聲道選擇時鐘,其頻率即采樣率。MCLK則是DAC電路所需的主時鐘。CS4330 支持的數(shù)字音頻格式如圖所示。圖2.11 CS4330 的數(shù)據(jù)格式從圖中可以看出,CS4330支持右對齊的18位數(shù)據(jù)格式,工作于外部SCLK模式。在軟件中應(yīng)該正確配置AT89C51SND1的音頻部件,選擇這種數(shù)據(jù)格式保證正確工作。其時序圖在軟件編程時再進(jìn)行說明。2.2

33、.3 MAX856芯片提供的電源電路:圖2.12 電源電路本設(shè)計的外部電源采用220v到4.5v的外部變壓器,經(jīng)過j9后輸入電路板,上圖即為向電路板提供電源的電路圖。這里值得注意的是當(dāng)插入USB 電纜時,板上電路獲得USB5V 電壓,該電壓經(jīng)分壓后送到MCU,復(fù)位時軟件查詢該引腳電平判斷是進(jìn)入U盤功能還是進(jìn)入MP3 播放功能。同時只要USB5V存在,該電壓經(jīng)過AS1117-3.3 穩(wěn)壓芯片就可以作為板上電路的電源使用。另外,本設(shè)計還具有由MAX856構(gòu)成的升壓電路,支持電壓低于3.3V 的電池供電,但AT89C51SND1C和CS4330芯片本身的功耗并不適用于低功耗應(yīng)用,所以無法苛求使用電池

34、作為電源。所以,板上的電源輸入配置有三種插座,一個是小二的插座(2節(jié)電池供電、JP1的短路冒打在1處),另一個是DC5V的電源插座(內(nèi)正外負(fù)、JP1的短路冒打在2處);還一種是實驗箱供電,用二號導(dǎo)線連接PCB板上VCC和GND到實驗箱(JP1的短路冒打在2處)。同時,從這兩個電源插座輸入的電壓如果大于4.5V 的時候,通過跳線JP1 選擇到相應(yīng)位置(PCB 絲印中有JP1 跳線的說明),就可不經(jīng)過升壓電路,而直接送入AS1117 降壓到3.3V 使用。但如果JP1 跳線選擇升壓電路時,由于升壓電路當(dāng)輸入電壓大于3.3V 后其輸出不再受控制(將隨輸入電壓而增加),所以此時輸入電壓嚴(yán)禁超過3.3V

35、,否則會燒毀其他負(fù)載芯片。電路中加入若干低壓降二極管1N5817 來分別防止USB5V 和外接電源VCC5V、升壓器輸出的3.3V 和AS1117 穩(wěn)壓器輸出的3.3V 之間的沖突。MAX856 升壓電源輸入端對地的100K 電阻用來保證在沒有外接電源的時候,升壓芯片處于關(guān)斷狀態(tài)。 2.3 硬件電路板的設(shè)計AT89C51SND1單片機各引腳在本學(xué)習(xí)板的具體定義和功能劃分見圖11。RESET 引腳在單片機內(nèi)部有下拉電阻,所以只需一個上拉電容即可完成上電復(fù)位。ISP按鍵主要是用于下載時候進(jìn)行芯片的準(zhǔn)備工作。AT89C51SND1的引腳使用情況分類說明如下:圖2.13 AT89C51SND1 電路原

36、理圖1)鍵盤中斷輸入引腳KIN0KIN3,和P1.0P1.3 復(fù)用。外接4個鍵盤作為MP3控制2)時鐘電路FILT、OSCX1 和OSCX2。時鐘電路見圖13。接在FILT引腳的阻容網(wǎng)絡(luò)是單片機內(nèi)部PLL鎖相環(huán)的濾波電路,以給USB和MP3部件提供更高的頻率。OSCX1和OSC2外接晶體振蕩器,為系統(tǒng)提供基本的20M時鐘。圖2.14 鍵盤電路 圖15 時鐘電路3)USB接口USBD+和USBD-。這兩個引腳就是單片機內(nèi)部USB部件的差分信號輸入輸出引腳,通過圖14所示的電路接到USB Device插口上。USB_INS定義的是IO端口P3.4,用來檢測USB電纜上的5V電壓,判斷是否插入USB

37、電纜,以決定是U 盤功能還是MP3功能,如圖14所示。4)FLASH 芯片接口引腳:FALE(P5.2)、nFCE(P5.3)、FCLE(P5.1)、FR/nB(P5.0)。圖2.16 USB 電路 圖2.17 NAND Flash 芯片電路5)音頻輸出信號MCLK、LRCLK、SCLK、SDATA 等。這些信號將數(shù)字音頻信息送到立體聲音頻DA芯片CS4330中,再通過TDA2822放大后推動耳機。圖2.18 音頻DA 及功放電路6)電源電路,包括升壓芯片MAX856和降壓芯片AS1117。電源電路如圖所示。 圖2.19 AS1117 電源電路USB 的5V 電壓經(jīng)過AS1117-3.3 穩(wěn)壓

38、芯片就可以作為板上電路的電源使用。另外,電路板還具有由MAX856構(gòu)成的升壓電路,支持電壓低于3.3V的電池供電,但AT89C51SND1C和CS4330芯片本身的功耗并不適用于低功耗應(yīng)用,所以無法苛求使用電池作為電源。所以,板上的電源輸入配置有三種插座。同時,從這三個電源插座輸入的電壓如果大于4.5V的時候,通過跳線JP1選擇到相應(yīng)位置(PCB 絲印中有JP1 跳線打到2位置),就可不經(jīng)過升壓電路,而直接送入AS1117降壓到3.3V使用。但如果JP1 跳線選擇升壓電路時(PCB 絲印中有JP1 跳線打到1位置),由于升壓電路當(dāng)輸入電壓大于3.3V 后其輸出不再受控制(將隨輸入電壓而增加),

39、所以此時輸入電壓嚴(yán)禁超過3.3V,否則會燒毀其他負(fù)載芯片。電路中加入若干低壓降二極管1N5817來分別防止USB5V和外接電源VCC5V、升壓器輸出的3.3V和AS1117穩(wěn)壓器輸出的3.3V 之間的沖突。MAX856升壓電源輸入端對地的100K電阻用來保證在沒有外接電源的時候,升壓芯片處于關(guān)斷狀態(tài)。PCB見附錄C。 3 U盤設(shè)計 3.1 USB通信的基本原理3.1.1 通用串行總線USBUniversal Serial Bus,它和RS232不同,USB接口是一個總線接口,可以連接多達(dá)128個設(shè)備。在其總線構(gòu)架中,有主機,設(shè)備,集線器三個成員。如下圖,USB Root Hub是跟集線器,我們

40、看到的是其下行界面:圖3.1 根集線器示意圖這里有一點值得注意的是,USB通信建立的是主從模式,任何設(shè)備到設(shè)備的嘗試都是不可能成功的,主機才是發(fā)起端。USB根集線器通過PCI和計算機系統(tǒng)相連,然后才是連接集線器,再可以接設(shè)備。3.1.2 信號在USB總線上的傳遞USB主機USB設(shè)備應(yīng)用客戶軟件邏輯設(shè)備系統(tǒng)軟件總線接口控制器功能層設(shè)備層總線接口層 圖3.2 信號傳遞方框圖RS232接口通信基本上都是在物理層完成的,但是USB卻有以上三層,數(shù)據(jù)總是沿著黑色箭頭傳輸,且在物理層也是通過串行傳輸。V+ D+ D-GND 圖3.3 USB數(shù)據(jù)線示意圖但是也有不同,首先是數(shù)據(jù)線的數(shù)量,RS232是兩根,但

41、是USB卻有四根:電源,地,D+,D-。在這里,我們知道,USB通信是一種高速度的傳輸方式,并且是一種串行傳輸給計算機和設(shè)備進(jìn)行處理的,所以首先我們需要一個串行并行相互轉(zhuǎn)換的部件,這個部件叫做SIE,同時,為了實現(xiàn)高速,不能使用傳統(tǒng)的通信方式,因為頻率過高會影響其正常接收,這樣,我們使用了差模輸出驅(qū)動器和差模輸入接收器來實現(xiàn)。差模信號傳輸時不再使用高低電平,而是用J和K數(shù)據(jù)狀態(tài)來表示,其中J和K的狀態(tài)由低速和全速,D+和D-與VSE(最小值)和VSE(最大值)共同決定。這樣可以判斷出200mv的電壓差異,提高了靈敏度,為高速傳輸?shù)於嘶A(chǔ)。3.1.3 USB通信的完全實現(xiàn)端點 USB邏輯 設(shè)備

42、SIE主機控制器SIE USB總線 界面 接口的集合 非USB 格式 幀格式數(shù)據(jù)管理設(shè)備管理一個接口主機 物理設(shè)備界面 Z 幀格式 圖3.4 通信的完全實現(xiàn)框架圖首先必須確定的是信號只能通過黑線傳輸,數(shù)據(jù)先分組,然后組合為幀,然后串行化,在通過SIE傳遞,設(shè)備解析幀,還原成并行數(shù)據(jù),客戶軟件通過調(diào)用USB驅(qū)動程序來完成,USB邏輯層和總線接口層這兩個軟件和硬件一起協(xié)調(diào)完成工作。在以后的內(nèi)容中,本設(shè)計忽略接口層,直接認(rèn)為數(shù)據(jù)是通過邏輯層的通信。在這里,我們可以放開總線接口層的原因在于,主控制器接口芯片和設(shè)備接口芯片已經(jīng)實現(xiàn)了其總線接口層的復(fù)雜工作,我們可以把時間放在軟件的設(shè)計上。3.2 USB通

43、信數(shù)據(jù)流模型3.2.1 總線的構(gòu)成USB主機的邏輯結(jié)構(gòu)可以通過上圖看出,分為主機控制器,USB系統(tǒng)軟件集,客戶軟件構(gòu)成,它主要是分配設(shè)備使用權(quán),對設(shè)備插入和拆除進(jìn)行管理等。設(shè)備分為總線接口,垃圾設(shè)備,和應(yīng)用層,可以通過描述符來確認(rèn)其身份,方便主機辨認(rèn)。總線的物理拓?fù)浣Y(jié)構(gòu)為主機通過嵌入根HUB,連接HUB,然后連接設(shè)備,邏輯拓?fù)浣Y(jié)果為主機連接包括HUB在內(nèi)的所有邏輯設(shè)備。3.2.2 USB通信流 主機上的軟件通過通信流與邏輯設(shè)備進(jìn)行通信,邏輯設(shè)備是由一個或者多個接口構(gòu)成,接口由端點組成,連接客戶軟件與邏輯設(shè)備端點的叫做管道,管道里面流動的就是通信流。端點0所對應(yīng)的管道用來管理USB設(shè)備。每一個設(shè)

44、備被接入USB總線時,總分配了確定的地址,而設(shè)備中的端點號也是在設(shè)備內(nèi)部確定,由USB接口芯片確定了其屬性等內(nèi)容,除了端點號為0的通道外,其他的端點在接入時不能進(jìn)行收發(fā),應(yīng)該由通道0統(tǒng)一管理,一個設(shè)備最多能有16個端點。通道表示經(jīng)過緩存和端點可以經(jīng)行數(shù)據(jù)的收發(fā),0號端點0號信道用來查詢設(shè)備信息,初始化,并配置其他的端點,此后便建立了通信,這樣經(jīng)過IRP(I/O Request Packet)發(fā)出分組請求,IRP是由一個或者是多個總線處理事務(wù)來組成。0號管道有確定的資料形式,可以進(jìn)行收發(fā),但是其他的通道(流通道)只能單向傳遞數(shù)據(jù)沒有確定的數(shù)據(jù)格式。如下圖所示: 緩沖區(qū)管道 客戶軟件通信流界面 邏

45、輯設(shè)備 圖3.5USB通信流示意圖3.2.3 傳輸類型 設(shè)計者可以設(shè)定每一個端點的數(shù)據(jù)傳輸能力,一旦開通,知道被取消,這個信道的屬性就一直有效,USB有四種傳輸類型,那些端點有哪些類型,這個由接口芯片來決定??刂苽鬏敚航^對可靠,非周期性,通常用于由主機發(fā)起的請求或者是響應(yīng)的傳輸,傳送的是命令事務(wù)和狀態(tài)事務(wù)。其中USB構(gòu)架中已經(jīng)定義了一些請求,可以查詢設(shè)備狀態(tài),同時通過定義描述符可以知道USB各種信息,同時可以通過設(shè)置控制傳送的端點設(shè)置傳輸數(shù)據(jù)的位數(shù),當(dāng)發(fā)送的數(shù)據(jù)量達(dá)到設(shè)定的長度或者是最后一個數(shù)據(jù)長度小于設(shè)定值長度后,表示發(fā)送數(shù)據(jù)階段結(jié)束。1)同步傳輸:周期性,連續(xù)的通信。2)中斷傳輸:小規(guī)模,

46、低速,確定時延的傳輸。3)批量傳輸:非周期性,大包的可靠傳輸。3.2.4 數(shù)據(jù)的轉(zhuǎn)換與分裝數(shù)據(jù)的轉(zhuǎn)換與分裝可以從下圖有一個大概的了解:數(shù)據(jù)客戶軟件USB界面IRPUSB驅(qū)動器HCD界面主機控制器驅(qū)動器傳輸事務(wù) 事務(wù)表事務(wù)事務(wù)分組主機控制器 事務(wù)表USB 圖3.6 USB傳輸封裝圖3.3 USB Mass Storage、Bulk-Only與SCSI3.3.1 USB Mass Storage 協(xié)議USB海量存儲設(shè)備只需要支持一個接口,選擇默認(rèn)配置時,此接口即被激活。它是隨即存取,基于扇區(qū)存儲的設(shè)備,只能存儲和取回來自CPU的數(shù)據(jù)。設(shè)備可以通過兩種方式與主機進(jìn)行通信,即Control/Bulk/

47、Interrupt和Bulk-Only。我們知道,不同的設(shè)備,主機是通過描述符來辨別的,描述符指設(shè)備描述符,配置描述符,字符描述符,接口描述符和端點描述符,下面對它們進(jìn)行簡單的說明。描述符見附錄1.3.3.2 Bulk-Only傳輸協(xié)議和SCSI命令集 設(shè)備連接USB后,USB對其設(shè)備進(jìn)行搜索,通過相應(yīng)的描述符確定其傳輸方式,如果設(shè)備是通過Bulk-Only傳輸協(xié)議進(jìn)行傳輸,則所有數(shù)據(jù)通過Bulk In和Bulk Out來傳輸。在這種情況下,有三種類型的數(shù)據(jù)進(jìn)行傳輸:CBW(命令塊分組),CSW(命令狀態(tài)分組)和普通數(shù)據(jù)。通過包含傳輸命令集的命令塊SCSI發(fā)送命令,通過CSW來返回是否繼續(xù)進(jìn)行

48、下一個SBW命令。方框圖如下: 其中CBW由以下組成:表示發(fā)送是一個CBW的dCBWSignature,原樣返回的dCBWTag,dCBWDataTransferLength表示此次CBW傳輸?shù)臄?shù)據(jù)長度,bmCBWFlags為0表示來自Host,1表示發(fā)至Host,bCBWLUN表示發(fā)送給那個邏輯單元,當(dāng)只有一個時為0,bCBWCBLength表示本次命令字的長度,CBWCB表示傳輸命令集的命令。READYCSW DATAOUTDATAINCBW圖3.7 Bulk_only 協(xié)議處理流程其中CSW由以下組成:dCSWSignature,dCSWTag與上述相同,dCSWDataResidue表

49、示還要傳送的數(shù)據(jù),dCSWStatus返回0表示命令正確執(zhí)行。SCSI命令集同上描述符一樣,也是一種包含所有對USB設(shè)備描述的命令集,如請求,測試單元準(zhǔn)備,格式單元,開關(guān)轉(zhuǎn)換,模式選擇,預(yù)取等命令,如INQUIRY命令包含了其命令代碼,邏輯單元號,頁編號,EVPD,配置長度等信息,當(dāng)返回正確預(yù)定的命令,命令將返回一個表示狀態(tài)的命令,其中INQUIRY,Read Capacity,UFI Mode Sense請求都完成后,便開始讀取0簇0扇區(qū)的數(shù)據(jù),進(jìn)入文件識別階段。其中某些命令只要返回CSW即可。3.4 Flash存儲與文件系統(tǒng)3.4.1 Flash存儲器 圖 3.8 Flash結(jié)構(gòu)NAND

50、Flash有一下特點:1)必須以Page為單位進(jìn)行讀寫2)寫之前必須先擦除 3)擦除以block為單位由上圖可以知道,本設(shè)計所用的Flash存儲容量為264Mbit=32MBite。同時我們將一個page作為一個扇區(qū),兩個block也是就64個扇區(qū)作為一簇,也就是說一簇=32K。FAT分配空間時,是以簇來分配的,但是其地址確實邏輯地址。對U盤的操作簡單說來是這樣完成的,首先,Host發(fā)出讀的命令,首先讀取DPB的內(nèi)容,得到存儲器的容量等信息,然后借助PC顯示其容量大小和文件目錄,此時可以進(jìn)行復(fù)制刪除,創(chuàng)建文件等操作,PC上的命令將自動轉(zhuǎn)化為對存儲器的讀寫操作。我們知道Flash的讀寫操作必須經(jīng)

51、過擦除,保存,寫的操作,為了實現(xiàn)PC的有效讀寫,我們?yōu)槠溟_辟了32KB的緩沖區(qū),這也是軟件設(shè)計時候需要特別注意的地方。3.4.2 FAT16文件系統(tǒng) 每一個FAT16文件系統(tǒng)卷由4部分組成,包括保留區(qū),F(xiàn)AT區(qū),根目錄區(qū)和文件與目錄數(shù)據(jù)區(qū)。保留區(qū):也稱為引導(dǎo)區(qū),第一個扇區(qū)為BPB,包含了文件系統(tǒng)進(jìn)行識別的關(guān)鍵信息,所以非常重要。1)FAT區(qū):FAT即file allocation table,再小的文件也必須分配一個簇,也就是32K進(jìn)行存儲,大的文件在進(jìn)行存儲的時候是由多個簇來完成的,但是簇并不是緊密相連的,而是成為鏈?zhǔn)酱鎯Γ晕覀儽仨氈滥男┦强捎玫?,哪些是滿簇,壞簇,哪個是鏈?zhǔn)酱鎯Φ拇匚病AT16表示的是分配表最多管理2的16次方的簇,也是就管理2G的數(shù)據(jù),如果超過2G,經(jīng)分開管理。2)根目錄區(qū):根目錄緊跟FAT區(qū)后面,記錄的是文件的信息,包括文件名,文件類型,文件屬性,上次更新時間日期,起始簇和文件大小等信息。3)文件和目錄數(shù)據(jù)區(qū):這是最后一個區(qū),真正用來存放數(shù)據(jù)。3.4.2 硬盤結(jié)構(gòu)FAT結(jié)構(gòu)式一種存儲單元的組織形式,按照數(shù)據(jù)的不同分為以下五個部分:1)MBR區(qū):主引導(dǎo)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論