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

下載本文檔

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

文檔簡(jiǎn)介

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

2、明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。 本科畢業(yè)論文(設(shè)計(jì))作者簽名: 年 月 日目 錄摘 要I關(guān)鍵詞IAbstractIKey wordsI1 前言12 硬件設(shè)計(jì)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 存儲(chǔ)芯片K9F5608142.2.2 CS4330音頻DA芯片172.2.3 MAX856芯片提供的電源電路182.3 硬件電路板的設(shè)計(jì)203 U盤設(shè)計(jì)233.1 USB通

3、信的基本原理233.1.1 通用串行總線USB233.1.2 信號(hào)在USB總線上的傳遞243.1.3 USB通信的完全實(shí)現(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存儲(chǔ)與文件系統(tǒng)303.4.1 Flash存儲(chǔ)器303.4.2 FAT16文件系統(tǒng)323.4.2 硬盤結(jié)構(gòu)323.5 U盤設(shè)計(jì)流程

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

5、信的一些內(nèi)容,和軟件設(shè)計(jì)的內(nèi)容,使得本設(shè)計(jì)內(nèi)容豐富了不少。USB產(chǎn)品是現(xiàn)階段最為流行的接口,已經(jīng)在多種消費(fèi)類產(chǎn)品的聯(lián)機(jī)方面取得了壟斷性的地位,同時(shí)使得各方面得到優(yōu)化,但是在該畢業(yè)設(shè)計(jì)時(shí),成為最核心的問題,也就是設(shè)計(jì)的第二個(gè)功能:U盤功能。本設(shè)計(jì)已經(jīng)通過各方面的測(cè)試,同時(shí)便于更深入的學(xué)習(xí),設(shè)計(jì)留下了擴(kuò)展的空間。關(guān)鍵詞單片機(jī); 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全稱是動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3(Moving Picture Experts Group Audio Layer III)。是當(dāng)今較流行的一種數(shù)字音頻編碼和有損壓縮格式,它設(shè)計(jì)用來大幅度地降低音頻數(shù)據(jù)量,而對(duì)于大多數(shù)用戶來說重放的音質(zhì)與最初的不壓縮音頻相比沒有明顯的下降。 MP3格式有如下幾個(gè)特點(diǎn):1.MP3是一個(gè)數(shù)據(jù)壓縮格式。2.它丟棄掉脈沖編碼調(diào)制(PCM)音頻數(shù)據(jù)中對(duì)人類聽覺不重要的數(shù)據(jù)(類似于JPEG是一個(gè)有損圖像壓縮),從而達(dá)到了小得多的文件大小。3.MP3音頻可以按照不同的位速進(jìn)行壓縮,提

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

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

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

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

13、器控制的高集成優(yōu)越MP3解碼芯片。包含64K的flash存儲(chǔ)器和支持通過4K嵌入存儲(chǔ)器在線編程。為人機(jī)交互提供所有的特征:如定時(shí)計(jì)數(shù),鍵盤接口,串并接口,模數(shù)轉(zhuǎn)換輸入,I2S輸出,和其他外部存儲(chǔ)器接口。2.1.2 典型應(yīng)用MP3播放器,照相機(jī),手機(jī),個(gè)人數(shù)據(jù)輔助系統(tǒng)汽車多媒體MP3家庭音頻/多媒體MP32.1.3 引腳的描述本報(bào)告中“#”表示低電平有效,以下不再說明。圖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 時(shí)鐘信號(hào)的描述信號(hào)名稱類型描述備用功能X1I輸入到芯片晶振放大放大器。如果使用內(nèi)部晶振,此腳連接電阻,如果接外部晶振,則從此處輸入。X1是內(nèi)部定時(shí)器的時(shí)鐘源。-X2O輸出到芯片晶振放大放大器。如果使用內(nèi)部晶振,此腳連接電阻,如果接外部晶振,則此腳不連接。-FILTI相同步低通濾波器輸入-表2.3

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

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

17、.7:0ALEO鎖存ISP#I/OISP使能輸入RD#O讀信號(hào)P3.7WR#O寫信號(hào)P3.6表2.12 系統(tǒng)信號(hào)描述信號(hào)名稱類型描述備用功能RSTI復(fù)位輸入- TST#I測(cè)試輸入-表2.13 電源信號(hào)描述信號(hào)名稱類型描述備用功能 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,在這里不做重點(diǎn)介紹。2)系統(tǒng)管理寄存器:PCON,AUXR0(輔助寄存器0),AUXR1(輔助寄存器1),NVERS(譯碼號(hào))。3)PLL和系統(tǒng)時(shí)鐘寄存器:CKCON(時(shí)鐘控制),PLLCON(PLL控制),PLLNDIV(PLL的N分隔),PLLRDIV(PLL的R分隔)。4)中斷寄存器:IEN0(中斷使能控制0),IEN1(中斷使能控制1),IPH0(中斷優(yōu)先級(jí)控制0高),IPH1(中斷優(yōu)先級(jí)控制1高),IPL0(中斷優(yōu)先級(jí)控制0低),IPL0(中斷優(yōu)先級(jí)控制0低)。5)端口寄存器:P1, P2, P3, P4, P5。6)FLASH存儲(chǔ)器控制寄

19、存器:FCON。7)定時(shí)器寄存器:TCON,TMOD,TL0,TH0,TH1,TL1,WDTRET(看門狗定時(shí)復(fù)位),WDTPRG(看門狗定時(shí)器程序)。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時(shí)鐘分配寄存器)。9)音頻接口寄存器:AUDDON0(AUD控制寄存器0), AUDCON1(控制寄存器1), AUDSTA(AUD狀態(tài)寄存器), AUDDAT(AUD數(shù)據(jù)寄存器), AUDCLK(AUD時(shí)鐘分配寄存器)。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比特計(jì)數(shù)寄存器),UFNUML(USB結(jié)構(gòu)號(hào)碼低寄存器),UFNUMH(USB結(jié)構(gòu)號(hào)碼高寄存器),USBCLK(USB時(shí)鐘分配寄存器)。11)MMC控制器寄存器:MMCON0(控制器0寄存器),MMCON1(控制器1寄存器),MMCON2(控制器2寄存器),MMSTA(控制和狀態(tài)寄存器),MMINT(中斷寄存器),MMMSK(中斷屏蔽寄存器),MMCMD(命令寄存器),MMDAT(數(shù)據(jù)寄存器),MMCLK(時(shí)鐘分配寄存器)。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時(shí)鐘),ADDL(高數(shù)據(jù)位),ADDH(低

23、數(shù)據(jù)位)。2.1.6 波形分析圖2.3 外部八位數(shù)據(jù)讀操作的波形1)外部八位數(shù)據(jù)讀操作說明:當(dāng)ALE,RD#為高時(shí),表示鎖存已開,并且是讀數(shù)據(jù),此時(shí)在P0,P2上面發(fā)送要讀的地址,當(dāng)從器件接收到信號(hào)時(shí),從器件把數(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í)傳送地址和數(shù)據(jù)。寫數(shù)據(jù)同上。4)SPI通信波形圖2.5 SPI通信波形 說明:在主機(jī)收到SS#控制的低電平時(shí),隨著SCK的進(jìn)行開始傳輸數(shù)據(jù),MISO表示主機(jī)接收數(shù)據(jù)而叢機(jī)發(fā)送

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

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

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

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

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

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

30、P#用于擦除或者是寫的時(shí)候有掉電情況的鎖存。當(dāng)外部掉電時(shí),內(nèi)部電源發(fā)生器會(huì)產(chǎn)生一個(gè)復(fù)位,當(dāng)此腳為低且LOCKPRE為高的時(shí)候,存儲(chǔ)器處于鎖的狀態(tài)。R/B#用于顯示芯片的運(yùn)行狀態(tài),當(dāng)為低的時(shí)候,便是芯片處于忙碌的狀態(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ì)時(shí)不要考慮接口芯片的選擇與操作,直接連接到核心芯片上對(duì)存儲(chǔ)芯片進(jìn)行讀寫,這也是本設(shè)計(jì)在選用芯片的時(shí)候考慮的最大因素,同時(shí),存儲(chǔ)芯片有很多引

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

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

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

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

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

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

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)音頻輸出信號(hào)MCLK、LRCLK、SCLK、SDATA 等。這些信號(hào)將數(shù)字音頻信息送到立體聲音頻DA芯片CS4330中,再通過TDA2822放大后推動(dòng)耳機(jī)。圖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)用,所以無法苛求使用電池作為電源。所以,板上的電源輸入配置有三種插座。同時(shí),從這三個(gè)電源插座輸入的電壓如果大于4.5V的時(shí)候,通過跳線JP1選擇到相應(yīng)位置(PCB 絲印中有JP1 跳線打到2位置),就可不經(jīng)過升壓電路,而直接送入AS1117降壓到3.3V使用。但如果JP1 跳線選擇升壓電路時(shí)(PCB 絲印中有JP1 跳線打到1位置),由于升壓電路當(dāng)輸入電壓大于3.3V 后其輸出不再受控制(將隨輸入電壓而增加),

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

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

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

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

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

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

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

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

47、Interrupt和Bulk-Only。我們知道,不同的設(shè)備,主機(jī)是通過描述符來辨別的,描述符指設(shè)備描述符,配置描述符,字符描述符,接口描述符和端點(diǎn)描述符,下面對(duì)它們進(jìn)行簡(jiǎn)單的說明。描述符見附錄1.3.3.2 Bulk-Only傳輸協(xié)議和SCSI命令集 設(shè)備連接USB后,USB對(duì)其設(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、下一個(gè)SBW命令。方框圖如下: 其中CBW由以下組成:表示發(fā)送是一個(gè)CBW的dCBWSignature,原樣返回的dCBWTag,dCBWDataTransferLength表示此次CBW傳輸?shù)臄?shù)據(jù)長(zhǎng)度,bmCBWFlags為0表示來自Host,1表示發(fā)至Host,bCBWLUN表示發(fā)送給那個(gè)邏輯單元,當(dāng)只有一個(gè)時(shí)為0,bCBWCBLength表示本次命令字的長(zhǎng)度,CBWCB表示傳輸命令集的命令。READYCSW DATAOUTDATAINCBW圖3.7 Bulk_only 協(xié)議處理流程其中CSW由以下組成:dCSWSignature,dCSWTag與上述相同,dCSWDataResidue表

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論