版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p><b> 摘 要2</b></p><p> Abstract3</p><p> 第1章 緒 論4</p><p><b> 1.1課題背景4</b></p><p>
2、 1.2車載mp3播放系統(tǒng)國內(nèi)外現(xiàn)狀5</p><p> 1.3 車載mp3播放系統(tǒng)設(shè)計的研究意義及主要內(nèi)容6</p><p> 1.4 車載mp3播放系統(tǒng)設(shè)計所采用的技術(shù)6</p><p> 第二章 設(shè)計思想與方案論證7</p><p> 2.1 解碼模塊的方案7</p><p> 2.1.1 軟
3、件解碼7</p><p> 2.1.2 硬件解碼8</p><p> 2.2 發(fā)射模塊的方案8</p><p> 2.2.1 基于芯片BA1404的發(fā)射電路8</p><p> 2.2.2 基于芯片BH1417的發(fā)射電路9</p><p> 2.3 方案論證10</p><p&
4、gt; 2.3.1 解碼模塊選擇10</p><p> 2.3.2 發(fā)射模塊選擇10</p><p> 第三章 硬件設(shè)計11</p><p> 3.1 硬件系統(tǒng)的結(jié)構(gòu)組成12</p><p> 3.2 AT89C51SND1SND1最小系統(tǒng)12</p><p> 3.3 USB模塊硬件設(shè)計1
5、4</p><p> 3.3.1 SL811HS硬件特性14</p><p> 3.3.3 SL811HS與AT89C51SND1SND1的接口電路設(shè)計18</p><p> 3.4 MP3解碼模塊硬件設(shè)計21</p><p> 3.4.1 VS1011硬件特性21</p><p> 3.4.2
6、 VS1011電路設(shè)計23</p><p> 3.5 射頻模塊硬件設(shè)計23</p><p> 3.6 系統(tǒng)電源設(shè)計25</p><p> 第四章 軟件設(shè)計27</p><p> 4.1 主程序27</p><p> 4.2 USB主機軟件的任務(wù)27</p><p> 4
7、.3 USB與單片機AT89C51SND1通信的流圖30</p><p> 4.3 FAT文件系統(tǒng)的設(shè)計30</p><p> 4.4 mp3解碼器軟件的設(shè)計32</p><p> 4.5 FM發(fā)射電路流程圖36</p><p> 4.5.1 BH1417的原理特性36</p><p><
8、;b> 結(jié) 論38</b></p><p><b> 參考文獻39</b></p><p><b> 致 謝40</b></p><p> 附件A總電路圖41</p><p><b> 附件B主程序42</b></p>
9、<p><b> 摘 要</b></p><p> 隨著數(shù)字信息技術(shù)以及網(wǎng)絡(luò)技術(shù)的高速發(fā)展,汽車的自動化、智能化和網(wǎng)絡(luò)化也被相應地提上了口程。而車載播放系統(tǒng)作為汽車的一個不可分割的部分也必然面臨著新的技術(shù)革新。本文根據(jù)設(shè)計要求以及目前車載播放器的特點,提出了一種車載MP3播放系統(tǒng)的設(shè)案。</p><p> 本論文基于微控制器系統(tǒng)的軟硬件設(shè)計與調(diào)
10、試,以及系統(tǒng)集成調(diào)試成功的基礎(chǔ)上,完成了車載MP3的系統(tǒng)設(shè)計。通過控制驅(qū)動芯片SL811HST,按照USB1.1協(xié)議,AT89C51SND1的固件程序完成了對U盤的枚舉,F(xiàn)AT文件的管理,MP3文件的識別,對MP3音頻流進行解碼變成音頻信號,再進行數(shù)、模轉(zhuǎn)換 。 </p><p> 系統(tǒng)主要包括4大模塊:控制模塊,數(shù)字音頻處理模塊,發(fā)射模塊,接收模塊。整個系統(tǒng)圍繞帶有解碼器的AT89C 51進行設(shè)計。數(shù)字音頻
11、處理模塊采用了嵌入式的USB控制器SL811 HS和AT89C51SND1控制器。發(fā)射模塊采用BH1417。接收模塊采用的CXA1019S來玩成。</p><p> \關(guān)鍵詞 USB主機;FAT文件系統(tǒng);MP3解碼;單片機AT89C51SND1</p><p><b> Abstract</b></p><p> With the ra
12、pid development of digital information technology and network technology, automation, intelligent and network of the car were brought forward in the mouth. The car player system as an inseparable part of the car will als
13、o face the technical innovation. According to the design request and the characteristic of car player, put forward a kind of car MP3 player system set case.</p><p> In this paper, the hardware and software
14、design and debugging microcontroller based system, as well as the basis of system integration and debugging success, completed the system design of vehicle MP3. The control chip SL811HST, according to USB1.1 protocol, AT
15、89C51SND1 firmware program complete enumeration of U disk, FAT file management, identification of MP3 files, into audio signal of MP3 audio stream, then the number, mode conversion.</p><p> The system consi
16、sts of 3 modules: control module, digital audio processing module, transmitter module, receiver module. The whole system is designed around 51 with a AT89C decoder. Digital audio processing module using the embedded USB
17、controller HS and AT89C51SND1 controller SL811. Transmitter module using BH1417. The receiving module uses CXA1019S to play into the.</p><p> \ keyword USB host; FAT file system; MP3 decoding; single chip m
18、icrocomputer AT89C51SND1</p><p><b> 第1章 緒 論</b></p><p><b> 1.1課題背景</b></p><p> 在當前數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)高速發(fā)展的時代,嵌入式系統(tǒng)己經(jīng)廣泛地滲透到科學研究、工程設(shè)計、軍事技術(shù)、各類產(chǎn)業(yè)和商業(yè)文化藝術(shù)以及人們的口常生活等方方面
19、面中。隨著國內(nèi)外各種嵌入式產(chǎn)品的進一步開發(fā)和推廣,嵌入式技術(shù)越來越和人們的生活緊密結(jié)合。目前,嵌入式技術(shù)己經(jīng)成為通信和消費類產(chǎn)品的共同發(fā)展方。嵌入式系統(tǒng)幾乎包括了生活中的所有電器設(shè)備,如掌上PDA、移動計算設(shè)備、數(shù)字電視機頂盒、多媒體、汽車、電梯、冰箱、自動取款機、手機等等。</p><p> 與此同時,近幾年來,隨著我國汽車工業(yè)的迅速發(fā)展,汽車電子產(chǎn)業(yè)也快速地成長起來,成為汽車市場發(fā)展的重要動力。目前的汽車電
20、子產(chǎn)品主要包括安全系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)和信息娛樂系統(tǒng)三大類,其中以信息娛樂系統(tǒng)涉及的技術(shù)最為復雜,功能也最為豐富,能夠直接面對用戶,為他們帶來視聽享受和資訊便利,這個也是汽車技術(shù)革命最重要的內(nèi)容。車載音樂播放系統(tǒng)作為汽車的一個不可分割的部分也必然面臨著新的技術(shù)革命,將網(wǎng)上的數(shù)字音樂直接與汽車音響連在一起己經(jīng)成為車載音響發(fā)展的必然趨勢。</p><p> 本文所研究的內(nèi)容,就是設(shè)計一種車載音樂播放系統(tǒng),能通過USB接口
21、將大容量存儲設(shè)備中的MP3等格式的文件讀取并解碼進過D/A轉(zhuǎn)換,最后利用車載調(diào)頻接收機播放出來。</p><p> 1.2車載mp3播放系統(tǒng)國內(nèi)外現(xiàn)狀</p><p> 在我國,國產(chǎn)車的音響配置一般較低,普通汽車一般只裝配收音機、卡帶機,汽車音響音質(zhì)可想而知。高品質(zhì)的汽車音響固然很好,但是其高昂的價格卻也令不少人望而卻步,這是高性能汽車音響難以普及的重要原因。不少國內(nèi)汽車生產(chǎn)廠家,為了
22、適應市場變化的需求,在設(shè)計方面也做了許多改進:從先前的收音機變化為帶磁帶的收音機,又變化成單碟CD收音機和多碟CD,磁帶收音機,以至發(fā)展到CD, VCD, DVD,多碟CD,磁帶收音機為一體的車載娛樂系統(tǒng)。現(xiàn)有的各種車載播放系統(tǒng)大致特點如下</p><p> 磁帶播放器歷史最長,不過車載磁帶音響會由于傳動機械而出現(xiàn)絞帶現(xiàn)象,音質(zhì)不好,在中高端汽車上己基本淘汰了,但由于其低成本的原因在低端車載音響系統(tǒng)中還有使用。
23、</p><p> 車載CD播放系統(tǒng)較磁帶播放系統(tǒng)己經(jīng)在音質(zhì)方面有了很大的提高,但是該類播放系統(tǒng)只能讀取CD格式、MP3格式的CD光盤,不能隨時更新內(nèi)容,因而使用起來還是有些不方便。</p><p> DVD是采用MPEG2標準壓縮的全數(shù)字影音光碟,它有大容量、高品質(zhì)、高畫質(zhì)的特點,但是高昂的價格阻礙這種產(chǎn)品在汽車市場上廣泛應用。</p><p> 在國外,美
24、國Visteon公司生產(chǎn)的基于硬盤機的MACH MP3播放系統(tǒng),采用PC機控制器做播放器,用硬盤做數(shù)字音樂存儲器。好處是一次可以存放1000多首MP3音樂。缺點是體積大,系統(tǒng)復雜,靈活性差,價格高。</p><p> 韓國DUAL公司推出的MP3播放機轉(zhuǎn)換器。該公司設(shè)計的磁帶式MP3播放器外形做得和磁帶完全一樣,其結(jié)構(gòu)也和磁帶非常的相似,有和磁帶相同的馬達傳送輪,并且是可以轉(zhuǎn)動的,而且還有一個磁頭,如果將它放到
25、磁帶隨身聽里,它的磁頭可以直接接觸到磁帶隨身聽的磁頭。該播放器的優(yōu)點是傳輸速度快,但該產(chǎn)品的缺點在于:將數(shù)字化網(wǎng)絡(luò)音樂通過卡式磁帶機的磁頭讀取之后,在數(shù)模轉(zhuǎn)換過程中信號損失大,音效下降很多,抗震性也不好。</p><p> 1.3 車載mp3播放系統(tǒng)設(shè)計的研究意義及主要內(nèi)容</p><p> 本系統(tǒng)作為車載多媒體的一個課題,充分利用了微控制器的內(nèi)部資源,主要負責MP3文件播放和收音機播
26、放的任務(wù)。</p><p> 專門的車載數(shù)字音頻產(chǎn)品,也大量出現(xiàn),如CD, VCD, DVD等設(shè)備。但是,它們?nèi)匀痪哂泻艽蟮木窒扌?。例如,CD, VCD, DVD都是通過光盤來存儲信息,它們的存儲介質(zhì)是光存儲器,保存非常不方便,選擇內(nèi)容有很大的局限性,抗震性特別差。另外,</p><p> VCD和DVD的激光探測頭易勞損,有機械壽命。</p><p> 基于
27、以上車載多媒體的眾多不足指出。在使用了國外技術(shù)成熟的高性能、高集成度、低成本的雙CPU基礎(chǔ)之上,設(shè)計出了車載MP3系統(tǒng)。在國內(nèi),車載MP3是一個新事 具有以下獨特的優(yōu)越性。</p><p> (一)存儲介質(zhì)好,使用U盤。存儲介質(zhì)為高密度、非易失性的讀/寫閃存存儲器。存儲容量大;</p><p> (二)MP3節(jié)目源;內(nèi)容完全自己選擇;</p><p>
28、(三)抗震性好;壽命長;</p><p><b> 技術(shù)難點:</b></p><p> (一)合理地選擇元器件,硬件的設(shè)計;</p><p> (二)保證音質(zhì)效果;電子防震功能,抗震性好</p><p> (三)掉電存儲功能,現(xiàn)場保護功能,物,處于開發(fā)階段,但其前景肯定是美好的。</p><
29、p> (四)程序的編寫、調(diào)試;</p><p> (五)系統(tǒng)的功能實現(xiàn)。</p><p> 1.4 車載mp3播放系統(tǒng)設(shè)計所采用的技術(shù)</p><p> 根據(jù)上述技術(shù)要求,結(jié)合實際情況,對車載MP3的系統(tǒng)設(shè)計采取如下所述的研究方法和技術(shù)路線。CPU是智能儀器儀表系統(tǒng)的靈魂。智能儀器儀表系統(tǒng)的整體性能在很大程度上取決于CPU的先進性和靈活性。就車載MP3
30、的系統(tǒng)設(shè)計而言,整個系統(tǒng)以片機為核心來開發(fā),系統(tǒng)的3個大模塊:控制模塊,發(fā)射模塊,調(diào)頻接收模塊都是通過單片機控制完成的。因為隨著半導體、單片機技術(shù)的發(fā)展,陸續(xù)出現(xiàn)了不少增強型的CPU,高檔的單片機層出不窮,特別是隨著微電子技術(shù)和超大規(guī)模集成電路技術(shù)的發(fā)展,單片微型計算機以其速度快、體積小、性價比高、功能強、可靠性高等獨有的特點,在各個領(lǐng)域(如工業(yè)控制、家電產(chǎn)品、汽車電子、汽車多媒體、通信、智能儀器儀表)得到了廣泛的應用,相關(guān)技術(shù)也越來越
31、成熟,片內(nèi)集成了高精度ADC和DAC,片內(nèi)大容量閃速/電擦除程序存儲器,看門狗定時器(WDT ),電源監(jiān)視器(PSM), UART, I2C、和SPI串行I/O接口。這些單片機的性能不僅在上述方面大大增加,在處理速度上也有了極大提高,有的還支持浮點數(shù)處理,功耗相對于用傳統(tǒng)方法設(shè)計的系統(tǒng)也大大降低。當前,用在控制方面的單片機技術(shù)無論是在硬件上還是軟件上都有許多</p><p> 基于上述原因,車載MP3的系統(tǒng)設(shè)計
32、采用單片機控制器。USB控制器芯片完成對U盤的檢測,MP3文件的識別。MP3文件的解碼,音頻信號的輸出。圍繞一個單片機擴展相應的外圍電路,完成了從數(shù)據(jù)傳輸和數(shù)據(jù)轉(zhuǎn)換到各個控制電路的軟硬件設(shè)計。然后再結(jié)合項目的整體要求,編制與硬件電路相對應的軟件程序。</p><p> 第二章 設(shè)計思想與方案論證</p><p> 本設(shè)計牽涉到車載MP3的解碼模塊和立體聲調(diào)頻發(fā)射模塊,接收模塊,該設(shè)計的
33、關(guān)鍵之處主要在于芯片的選擇以及電路的搭配。</p><p> 2.1 解碼模塊的方案</p><p> 2.1.1 軟件解碼</p><p> 軟件解碼就是通過相應的程序來解碼,最終解碼工作交給CPU完成?;诔绦蛳到y(tǒng)的MP3解碼流程圖如圖2.1所示。</p><p> 2.1.2 硬件解碼</p><p>
34、 就是在某個芯片上有一套專門的算法對文件進行解碼,不占用CPU太多資源。這種解碼方式只能解固定的文件類型,但是它的效率比軟件解碼的效率高很多。</p><p> 在硬件解碼中,不同的芯片集成的解碼功能也不盡相同,解碼芯片的選擇也同樣關(guān)乎該設(shè)計:</p><p> ?、?飛利浦公司生產(chǎn)的解碼雙芯片PNX0101ET,該芯片音質(zhì)好、功能強而且穩(wěn)定,是高端機的首選,有MP3編碼功能。但是其低音
35、量感較足、中音表現(xiàn)出色、而高音則一般,而且成本較高。</p><p> ?、?韓國產(chǎn)的TCC730解碼芯片從功能、性能、音質(zhì)各方面來看都不錯,低音感充足、各頻段表現(xiàn)比較平衡、而且音場更為寬闊。但是需要外接ROM,外圍元件比較多,應用比較復雜。</p><p> ?、?VS1011產(chǎn)自于芬蘭VSLI公司,是DSP核的單芯片音樂解碼芯片,集成解碼、DA轉(zhuǎn)換和放大功能。</p>&
36、lt;p> 2.2 發(fā)射模塊的方案</p><p> 2.2.1 基于芯片BA1404的發(fā)射電路</p><p> BA1404是日本ROHM公司出品的一款立體聲調(diào)頻發(fā)射專用芯片,它彌補了過去用分立元件來設(shè)計調(diào)頻電路的不足,而且具有立體聲調(diào)制的功能?;贐A1404的發(fā)射電路框圖如圖2.2所示。</p><p> 圖2 .2 BA1404放射電路框&l
37、t;/p><p> 該發(fā)射電路簡單清晰,但是它的高頻振蕩是電容三點式振蕩器,頻率穩(wěn)定性差,容易跑頻,無PLL鎖相環(huán)穩(wěn)頻,有頻率漂移而且BA1404所需的38KHz的專用晶振較少。</p><p> 2.2.2 基于芯片BH1417的發(fā)射電路</p><p> BH1417是一個最簡單而又實用的集成電路,其電路框圖如圖2.3所示。它集鎖相環(huán)電路、立體聲編碼電路、發(fā)送
38、電路,外圍加上幾個器件就可以組成一臺高頻定多頻點的調(diào)頻立體聲發(fā)送器。而且它設(shè)置了預加重電路、限幅電路及低通濾波器,可明顯地改善音質(zhì),其總諧波失真達到了0.3%,立體聲分離度為40dB,RF輸出電平為100 dB?;贐H1417的FM發(fā)射電路框圖如圖2.3。</p><p> 該電路將預加重電路、限幅電路、低通濾波電路一體化,使音頻信號的質(zhì)量得到保證,采用了鎖相環(huán)鎖頻與調(diào)頻發(fā)射電路一體化,發(fā)射的頻率非常穩(wěn)定,而
39、且可通過鍵控部分進行頻率設(shè)定,使用非常方便。</p><p><b> 2.3 方案論證</b></p><p> 2.3.1 解碼模塊選擇</p><p> 軟件解碼占用太多的CPU資源,解碼效率較低。硬件解碼則相反,解碼效率高,容易實現(xiàn)。所以選用硬件解碼,解碼芯片采用VS1011較為合適。VS1011是DSP核的單芯片音樂解碼芯片,集
40、成解碼、DA轉(zhuǎn)換和放大功能。</p><p> 2.3.2 發(fā)射模塊選擇</p><p> BA1404的高頻振蕩是電容三點式振蕩器,頻率穩(wěn)定性差,容易跑頻,但組成的發(fā)射電路清晰,BA1404所需的38KHz的專業(yè)晶振較少。采用低電壓、低功耗設(shè)計,兩聲道分離度高。</p><p> BH1417將預加重電路、限幅電路、低通濾波電路(LPF)一體化,使音頻信號的
41、質(zhì)量比分立元件的電路(如BA1404, NJM2035等)有很大改進。采用鎖相環(huán)鎖頻,并與調(diào)頻發(fā)射電路一體化,使得發(fā)射的頻率非常穩(wěn)定。采用了4位拔碼開關(guān)進行頻率設(shè)定,可設(shè)定14個頻點,使用非常方便。</p><p> 比較上述兩種方案,采用BH1417為主的立體聲FM射頻模塊的優(yōu)越性顯而易見,故本設(shè)計選用BH1417為解碼芯片方案。</p><p><b> 第三章 硬件設(shè)計
42、</b></p><p> 3.1 硬件系統(tǒng)的結(jié)構(gòu)組成</p><p> 本系統(tǒng)采用單片機AT89C51SND1, USB硬件模塊、MP3硬件解碼模塊,這個車載播放系統(tǒng)。使用單片機AT89C51SND1控制USB主控制器來實現(xiàn)USB主機部分,讀取USB存儲設(shè)備內(nèi)部的音樂文件發(fā)送到MP3解碼芯片。解碼后得到的模擬信號通過立體聲發(fā)射芯片發(fā)射出去。利用調(diào)頻接收機設(shè)備就可以接收信號
43、,實現(xiàn)播放。硬件的總體設(shè)計方案如圖3.1。</p><p> 圖3.1 系統(tǒng)總體框圖</p><p> 3.2 AT89C51SND1SND1最小系統(tǒng)</p><p> 圖3.2 AT89C51SND1SND1的功能結(jié)構(gòu)圖</p><p> 基于8位C51 MCU核(最大時鐘頻率20MHz) 。</p><p&
44、gt; 內(nèi)置2304字節(jié)RAM。</p><p> 64K字節(jié)FLASH程序空I句:FLASH:AT$9C51 SND1 。</p><p> 4K字節(jié)引導閃存(AT89C51SND1 SND 1):在系統(tǒng)編程:通過USB ,UART和其他存儲卡。</p><p> USB 1.1控制器:”Full speed”,數(shù)據(jù)傳輸。</p><p
45、> 內(nèi)置鎖相環(huán):提供MP3,音頻時鐘;USB時鐘。</p><p> 兼容Mufti-Media Card (MMC)卡接口。</p><p> 兼容Atmel Data Flash SPI接口。</p><p> 兼容IDE/ATAPI(硬盤)接口。</p><p> 通道10位AD轉(zhuǎn)換器,8KHz(8位真有效值):電池電壓
46、監(jiān)視;軟件控制的錄音。</p><p> 超過44個可用的通用I/O口:4位可中斷的鍵盤口,可組成4xn矩陣鍵盤;軟件編程的Smart-media接口。</p><p> 兩個標準的16位的定時/記數(shù)器。</p><p><b> 硬件看門狗。</b></p><p> 帶有波特率發(fā)生器的標準通用異步串口。<
47、;/p><p><b> 主從I2C控制器。</b></p><p><b> 主從SPI控制器。</b></p><p> 電源管理模塊:上位復位;軟件可編程MCU時鐘;空閑、掉電模式。</p><p> 工作范圍:在250C,3V士10%,典型操作時消耗電流25mA;工作溫度范圍-40oC~
48、+85oC。AT89C51SND1SND1的功能結(jié)構(gòu)圖如圖3.2所示。</p><p> AT89C51SND1 SNDI芯片內(nèi)具有2KBRAM,64KBFlash程序存儲器,支持通過USB接口在線下載固件,因此其最小系統(tǒng)設(shè)計是很關(guān)鍵的。以下AT89C51SND1 SND1最小系統(tǒng)設(shè)計圖3.3,一下面就以步驟來說明其設(shè)計過程。</p><p><b> 第1步系統(tǒng)電源連接&l
49、t;/b></p><p> 將微控制器芯片AT89C51SND1 SNDI的電源信號引腳AVDD、VDD、PVDD和UVDD接至3.3V,而將VSS,AVSS,PVSS和UVSS接至GND,為了在芯片的電源入口處去耦,增加抗干擾能力,在電源和地之間接電容。</p><p><b> 第2步時鐘電路</b></p><p> 在AT
50、89C51SND1 SND1芯片資料中有對時鐘信號的描述,并給出了晶振連接的典型電路。設(shè)計AT89CS1SND1的晶體振蕩器為11.0592MHz</p><p> 第3步PLL濾波電路</p><p> 根據(jù)芯片資料,給出了PLL濾波連接電路。</p><p><b> 第4步復位電路</b></p><p>&
51、lt;b> 復位電路如圖所示。</b></p><p> 第5步USB接口部分電路</p><p> USB接口電路中,除了根據(jù)USB1.1協(xié)議的要求,要在D+, D-上串聯(lián)27電阻,并在D+上接一個1.5K的上拉電阻。</p><p> 圖3.3 AT89C51SND1SND1最小系統(tǒng)電路圖</p><p>
52、3.3 USB模塊硬件設(shè)計</p><p> 3.3.1 SL811HS硬件特性</p><p> Cypress公司的SL811HS芯片是一款嵌入式的USB主機/設(shè)備控制器,支持USB1.1的全速和低速設(shè)備,提供USB主機的硬件接口及總線管理的物理機制,帶有在片的SIE和USB發(fā)送器以及在片的根集線器Hubo SL811HS在該嵌入式USB主機系統(tǒng)中起到了USB主機控制器的作用。&
53、lt;/p><p> SL811HS芯片的內(nèi)部結(jié)構(gòu)如圖3.4所示。SL811HS實現(xiàn)了USB主機結(jié)構(gòu)中的第一個層次,即USB總線接口層的功能。其主/從控制器正是USB主機結(jié)構(gòu)中的USB主機控制器部分。這里多了個“從”是因為SL811HS也能夠作為USB設(shè)備的控制器。SIE是用來實現(xiàn)數(shù)據(jù)并、串轉(zhuǎn)換的任務(wù)。處理器接口提供了數(shù)據(jù)、地址和控制信號線,因而使得SL811HS能夠和一般的單片機、DSP等控制器進行通信,并受到C
54、PU的控制。中斷控制器通過檢測各種USB總線的狀態(tài)變化,以中斷信號的方式報告給外部的核心CPU。</p><p> 圖3.4 SL811HS 內(nèi)部結(jié)構(gòu)圖</p><p> RAM一方面提供了存儲數(shù)據(jù)的緩沖區(qū),另一方面又定義了各種寄存器用于控制SL811HS,并對USB的各種狀態(tài)進行檢測。其實,數(shù)據(jù)緩沖區(qū)也是以寄存器的形式提供給外接CPU的。時鐘發(fā)生器模塊需要外接晶振來為整個SL811
55、HS提供時鐘。集成的根Hub提供USB設(shè)備的連接點。基于這些功能模塊,SL811HS的主要特點如下:</p><p> 1.可作為USB主機或者是設(shè)備的接口控制器;</p><p> 2.支持USB1.1協(xié)議,提供全速和低速2種USB總線速度方式;</p><p> 3.片上集成了SIE、單端口根Hub, USB收發(fā)器和256字節(jié)的SRAM ;</p&g
56、t;<p> 4. 3.3V工作電壓,接口兼容SV電平;</p><p> 硬件自動產(chǎn)生幀起始包SOF和CRCS/16校驗。</p><p> 在48引腳封裝的芯片上,與系統(tǒng)設(shè)計相關(guān)的引腳共有28個,其余20個</p><p> 是NC,下面對28個有效引腳作歸類說明:</p><p> 1.電源供給引腳,共有6個引腳
57、,分別是1個USB地線引腳USBGnd,2個地線引腳GND, 2個3.3V電源輸入引腳VDD, 1個USB收發(fā)器模塊3.3V電源輸入引腳VDD1。</p><p> 2. CPU接口引腳,共有12個引腳,分別是8個數(shù)據(jù)信號引腳DO-D7,1個寫有效信號nWR, 1個讀有效信號nRD,1個片選信號nCS,1個地址指針信號A0。</p><p> 3.時鐘模塊引腳,共有3個引腳,分別是
58、1個時鐘輸入引腳CLK/X 1, 1個輸出引腳X2, 1個時鐘模式選擇引腳CM。</p><p> 4. USB數(shù)據(jù)引腳,共有2個引腳,為連接USB數(shù)據(jù)信號D+的Data+和</p><p> 連接USB數(shù)據(jù)信號D-的Data- 。</p><p> 5.工作模式引腳,共有1個引腳,即用于選擇SL811HS工作在主機或者</p><p&
59、gt; 設(shè)備狀態(tài)的M/S 。</p><p> 6.中斷請求引腳,共有1個引腳,即高電平有效的工NTRQo SL811HS用</p><p> 這個引腳來向外部核心CPU請求中斷處理。</p><p> 7.系統(tǒng)復位引腳,共有1個引腳,即nRST。</p><p> 8. DMA方式引腳,共有2個引腳,均用在SL811HS作為US
60、B設(shè)備控制</p><p> 器的時候。一個是nDACK,用于確定是否采用外接DMA控制器;另一個是nDRQ,用于向外接的 DMA控制器發(fā)送請求信號。主機模式下該腳要上拉。</p><p> 表3.1 SL811HS的寄存器表</p><p> CPU對SL811HS的狀態(tài)進行檢測和控制等的操作都是基于寄存器實現(xiàn)的,因此從硬件的角度來看,系統(tǒng)軟件的編程就是對其
61、中一系列寄存器和緩沖區(qū)的讀/寫訪問。SL811HS片內(nèi)帶有256字節(jié)的RAM,其片內(nèi)尋址范圍為0x00-OxFF。通過接口,CPU可以對這些內(nèi)容進行訪問。其中低地址的16個字節(jié)是SL811HS定義的寄存器,而其余的240字節(jié)則是存儲緩沖區(qū)。寄存器分布如表3.1所示。</p><p> 需要說明的是,其中USB-A HOST和USB-B HOST是兩套完全并行的寄存器,也就是說它們的功能和結(jié)構(gòu)是完全相同的。比如,
62、EPOXferLen和EP 1 XferLen的功能和使用方法就是完全一樣的。之所以這樣安排是為了實現(xiàn)“乒乓”的數(shù)據(jù)處理機制。這種機制,兩套寄存器完全可以進行交替的操作,即其中一套正在被配置的時候,另一套就可以進行數(shù)據(jù)的傳輸。這樣互相交替作用,就可以提高系統(tǒng)處理數(shù)據(jù)的效率,特別是在控制多個設(shè)備的時候。</p><p> 3.3.2 接口芯片SL811HS的外圍電路設(shè)計</p><p>
63、 在本系統(tǒng)中,采用了嵌入式的USB主從控制器SL811 HS的主動模式,即其引腳M/S為低電平。給SL811HS芯片連接12MHz的晶體振蕩器。使用了它的全速模式,即為12Mbps。它的數(shù)據(jù)端口(DO至D7)和AT89C51SND1SND1的端口(P0.0至P0.7)提供了一個8位雙向數(shù)據(jù)通道。SL811 HS芯片的D+, D-兩根差分式數(shù)據(jù)信號線與USB插座的D+、D-引腳相連。SL811HS的INTRQ引腳高電平有效,而AT89C5
64、1SND1SND1的INTR0引腳低電平有效,在它們之間連接了一個與非門。圖3.5 SL811 HS為主動模式的硬件穩(wěn)定時間配置</p><p> 為USB設(shè)備供電,在檢測USB設(shè)備之前,要為硬件的穩(wěn)定延長時間為25豪秒為SL811 HS的外圍電路設(shè)計。</p><p> ?、賁L811HS主動模式的硬件配置設(shè)置引腳M/S為低,為主動模式。</p><p> ?、?/p>
65、SL811 HS的晶體振蕩器的硬件配置如下:</p><p> 引腳CM接到地,使用的48MHz;引腳CM接到電源,使用的12MHz。</p><p> ?、叟cUSB HST1插座的連接引腳D+和D-開關(guān)下拉電阻為15K與地相連,它們的上拉電阻1.5K懸空即不連接。另外,要為USB連接器的引腳1接上電源。SL811 HS的引腳D+和D-與USB_ HST1的D+和D-之間依次通過兩個27
66、歐姆的電阻相連接。</p><p> ?、躍L811 HS主動模式的硬件穩(wěn)定時間配置為USB設(shè)備供電,在檢測USB設(shè)備之前,要為硬件的穩(wěn)定延長時間為25豪秒。</p><p> 圖3.5 SL811HS的外圍電路</p><p> 3.3.3 SL811HS與AT89C51SND1SND1的接口電路設(shè)計</p><p> 由于USB接
67、口芯片SL811 HS與單片機AT89C51SND1 SND1的接口電路設(shè)計如圖3.6所示。所有USB接口芯片與單片機的連接方式基本類似。</p><p> SL811 HS的數(shù)據(jù)端口(DO至D7)和AT89C51SND1SND1的端口(P0.0至P0.7 )提供了一個8位雙向數(shù)據(jù)通道。讀寫信號((nWR和nRD)、片選信號((nCS)、地址/數(shù)據(jù)選擇信號(A0)及其他一些信號。SL811HS的INTRQ引腳高
68、電平有效,而AT89C51SND1的INT0引腳低電平有效,在它們之間連接了一個與非門。</p><p> 因此它們的數(shù)據(jù)指針為SL811 DATA PORT和地址指針為SL811H_ ADDR_PORT;對SL811 _ADDR_ PORT的操作即為對SL811HS的寄存器操作,對SL811H_ DATA的操作作即為對SL811HS的數(shù)據(jù)口操作。</p><p> 圖3.6 SL8
69、11HS與AT89C51SND1的接口電路</p><p> #define SL811_ADDR_PORT 0x0ff00</p><p> #define SL811_DATA_PORT 0x0ff01</p><p> unsigned char xdata SL811H _ADDR_at_SL811_ADDR_PORT;</p>
70、;<p> unsigned char xdata SL811H_DATA_at_SL811_DATA_PORT;</p><p> 圖3.7為SL811HS控制器的讀時序圖,SL811 HS讀出數(shù)據(jù)的過程是:</p><p> ①在nCS上加有效的低電平;</p><p> ?、谠趎WR上加有效的低電平;</p><p>
71、; ?、凼筺RD為高電平;</p><p> ?、蹵0上加有效的低電平,寫入地址;</p><p> ⑤在芯片的D0~D7上加入要寫的單元的地址;</p><p> ⑥持續(xù)一段時間(10ns);</p><p> ?、咴趎CS上加有效的低電平;</p><p> ?、嘣趎WR上加有效的高電平;</p>
72、<p> ?、崾筺RD為低電平;</p><p> ?、釧0上加有效的高電平;讀出數(shù)據(jù);</p><p> 故:相應地址的數(shù)據(jù)便送到D0~D7供讀取。</p><p> 圖3.7 SL811HS控制器的讀時序圖</p><p> 圖3.8為SL811HS控制器的寫時序圖。SL811HS寫數(shù)據(jù)的過程是:</p>
73、<p> ?、僭趎CS上加有效的低電平;</p><p> ②在nWR上加有效的低電平;</p><p> ?、凼筺RD為高電平;</p><p> ?、蹵00上加有效的低電平,寫入地址;</p><p> ⑤在芯片的D0~D7上加入要寫的單元的地址;</p><p><b> ⑥持續(xù)一段時
74、間;</b></p><p> ?、咴趎CS上加有效的低電平;</p><p> ?、嘣趎WR上加有效的低電平;</p><p> ?、酇0上加有效的高電平;寫出數(shù)據(jù);</p><p> 故:相應地址的數(shù)據(jù)便送到D0~D7供讀取。</p><p> 圖3.8 SL811HS控制器的寫時序圖</p
75、><p> 3.4 MP3解碼模塊硬件設(shè)計</p><p> 本系統(tǒng)采用VS1011硬件解碼器實現(xiàn)mp3文件的解碼過程,使用硬件解碼器實現(xiàn)起來相對比較簡單一些,就解碼速度而言也比軟件解碼來得快。</p><p> 3.4.1 VS1011硬件特性</p><p> VS1011是一個單片的MP3音頻解碼器,芯片內(nèi)部含有高性能、低功耗的
76、DSP內(nèi)核VS DSP4,內(nèi)有SK的指令RAM和0.5 K的數(shù)據(jù)RAM。VS1011b內(nèi)部有一個串行控制和數(shù)據(jù)輸入接口、4個GPIO接口、高性能可變采樣率的DAC和一個耳機放大器,如圖3.9所示。</p><p> 圖3.9 VS1011芯片內(nèi)部結(jié)構(gòu)圖</p><p> VS1011b通過這個串行輸入口接收傳送過來的數(shù)據(jù)流,可以看成是系統(tǒng)的一個設(shè)備。輸入進來的數(shù)據(jù)流被解碼、通過數(shù)字音
77、量控制以后就傳輸?shù)竭@個高性能的DAC。通過串行控制線對整個解碼過程進行控制,除了最基本的解碼,用戶還可以通過使用內(nèi)部RAM來增加一些應用功能。</p><p> 芯片的基本性能參數(shù):</p><p> 1.支持mp3 ,wav音樂文件格式;</p><p> 2.采用12-13MHz或者24-26MHz的時鐘;</p><p> 3.
78、可以解碼320kbit/s的mp3文件,使用12.0MHz外部時鐘(內(nèi)部倍頻器工作的情況下);</p><p> 4.超低功耗、工業(yè)級的溫度使用范圍;</p><p> 5.內(nèi)置立體聲數(shù)模轉(zhuǎn)換器;</p><p> 6.立體聲耳機功率放大;</p><p> 7.數(shù)字電路、模擬電路電壓分開;</p><p>
79、 8.串行數(shù)據(jù)和控制接口;</p><p> 9.5.5kB的片內(nèi)RAM,可以作為用戶的代碼和數(shù)據(jù)存儲;</p><p> 10.通過VSKIT可以添加一些自己的功能(軟件);</p><p> 11.4位通用I/O口。</p><p> 芯片的應用設(shè)計首先了解各引腳的功能及使用注意事項,該芯片共有48個引腳其中有15個腳不連接接(N
80、C),分類如下。</p><p> 1.復位腳:XRESET(低有效);</p><p> 2.片選:XCS(低有效);</p><p> 3.數(shù)字電源、地:DGND0,DVDD0,DGND1,DVDD1,DGND2,DGND3, DGND4,DVDD2,TEST(測試用,接數(shù)字電源);</p><p> 4.模擬電源、地:AGND
81、0,AVDD0,AGND1, AGND2,AGND3,AVDD1,AVDD2;</p><p> 5.復用引腳:GPIO/DCLK,GPIO/SDATA,XDCS/BSYNC;</p><p> 6.通用I/O:GPIO0,GPIO1;</p><p> 7.與MCU接口:SCLK,SI,SO;</p><p> 8.數(shù)據(jù)請求輸入腳:
82、DREQ;</p><p> 9.音頻輸出:RIGHT,LEFT;</p><p> 10.晶振:XTALO,XTAL1;</p><p> 其它:GBUF(緩沖地),RCAP(參考濾波電容)</p><p> 芯片內(nèi)部有16各寄存器,例如模式控制、芯片狀態(tài)、低音增強等等,用于控制芯片的具體參數(shù)。芯片與MCU的接口有兩個:SC工(串行
83、命令接口)、SDI(串行數(shù)據(jù)接口),SCI和SDI各有有一組引腳。但是在VS1011中設(shè)置好內(nèi)部的相關(guān)寄存器的相關(guān)位以后((SM_SD工NEW=I,SM_SDISHARE=1),它們可以共用一組引腳。XDCS這個引腳就可以不用,SD工和SCI的區(qū)分僅僅在于XCS電平的變化,在XCS為高電平的時候為SD工口工作,低電平時為SCI口工作。DREQ引腳為高電平時表示可以輸入更多的數(shù)據(jù)(一般為32個字節(jié)),為低電平時表示暫時不要輸入數(shù)據(jù)。<
84、;/p><p> 3.4.2 VS1011電路設(shè)計</p><p> 設(shè)置好相應的寄存器以后,就可以按照以下的方式控制解碼器的工作了。根據(jù)預先選定好的模式,選用相應的引腳。電路圖如圖3.10所示。芯片使用2.7V的電源,SCI和SD工共用一組接口,通過XCS電平的高低來區(qū)分開。需要注意的是,由于9,10,33,34腳在所選用的芯片模式中沒有用到,所以要接100K的下來電阻。</p&
85、gt;<p> 圖3.10 VS1011解碼電路圖</p><p> 3.5 射頻模塊硬件設(shè)計</p><p> 射頻模塊的任務(wù)就是將解碼后的模擬信號以一定的頻率發(fā)射出去,實現(xiàn)信號在一定范圍內(nèi)的無線傳輸。該部分的設(shè)計采用使用專業(yè)級鎖相立體聲發(fā)射芯片ROHM-BH1417,BH1417是一種無線音頻傳輸集成電路,它可以將計算機聲卡、游戲機、CD、 MP3、調(diào)音臺等立體聲音
86、頻信號進行立體聲調(diào)制發(fā)射傳輸,配合普通的調(diào)頻立體聲接收機就可實現(xiàn)無線調(diào)頻立體聲傳送。適合用于車載MP3的開發(fā)生產(chǎn)。</p><p> 圖3.11 射頻模塊電路圖</p><p> 這個集成電路是由提高信噪比(s/n)的預加重電路、防止信號過調(diào)的限幅電路、控制輸入信號頻率的低通濾波電路(LPF)、產(chǎn)生立體聲復合信號的立體聲調(diào)制電路、調(diào)頻發(fā)射的鎖相環(huán)電路(PLL)組成。</p>
87、<p><b> 具有以下特點:</b></p><p> 1.將預加重電路、限幅電路、低通濾波電路一體化,使音頻信號的質(zhì)量比分立元件的電路由了很大的改進;</p><p> 2.導頻方式的立體聲調(diào)制電路;</p><p> 3.采用了鎖相環(huán)鎖頻與調(diào)頻發(fā)射電路一體化,發(fā)射的頻率非常穩(wěn)定;</p><p&
88、gt; 4.采用了4位的撥碼開關(guān)進行頻率設(shè)定,使用非常方便。</p><p> 通過它來將立體聲音頻信號進行立體聲調(diào)制發(fā)射傳輸,配合普通的調(diào)頻立體聲接收機通過汽車音響來輸出音樂。</p><p> 該部分設(shè)計中,BH1417由硬件來控制發(fā)射頻頻率的,只要控制相應的4個端口就可以調(diào)整發(fā)射頻率了,發(fā)射頻率分為7個道:87.7Mhz~88.9MHz供選擇(200Khz為遞增單位)。采用開關(guān)
89、控制,簡易方便,確保在任何地方都能選到一個避開干擾的頻道,使用比較簡單,如圖3.11所示。</p><p> 3.6 系統(tǒng)電源設(shè)計</p><p> 電源為系統(tǒng)提供能量,是系統(tǒng)穩(wěn)定工作的基礎(chǔ)。設(shè)計電源必須考慮下列因素;輸出的電壓、電流和功率;輸入的電壓、電流;電磁兼容和電磁干擾;體積限制;成本和功耗限制。</p><p> 各個器件需要的電源如下:</p
90、><p> 1. AT89C51SND1SND1需要:數(shù)字3.3V、模擬3.3V</p><p> 2. SL811HST需要:3.3V</p><p> 3. USB接口需要:5V</p><p> 4. VS1011需要:模擬2.85V、數(shù)字2.85V</p><p> 5. BH1417需要:5V
91、</p><p> 所以本系統(tǒng)的設(shè)計需要提供以下幾組電源:</p><p> 5V,3.3V,2.85V的電源,又由于汽車上的電源是12V,所以可將系統(tǒng)的電源設(shè)計分為5V前級電源和由5V轉(zhuǎn)變?yōu)榫唧w的末電源。所以系統(tǒng)選用如下電源芯片為系統(tǒng)提供合適的電源。</p><p><b> 1 .LM2575</b></p><p
92、> 由于系統(tǒng)在5V上消耗的電流來看,電源系統(tǒng)的前級電路適合采用開關(guān)電源,因為可以減少系統(tǒng)的發(fā)熱量、效率比較高、有比模擬電源更小的體積。但是輸出電壓波形較大。LM2575是一個開關(guān)電源專用模塊,具有固定輸出電壓和可調(diào)輸出電壓兩類,芯片最大穩(wěn)定輸出電流可達1A,具有寬輸入范圍、高效率、溫度和電流保護等等。綜合考慮選用采用固定輸出開關(guān)電源芯片LM2575實現(xiàn)該電源的設(shè)計。應用設(shè)計時,注意以下幾點:</p><p&g
93、t; 根據(jù)輸出電壓的檔次、最大輸入電壓、最大負載電流等參數(shù)選擇電感,可參照相應的電感曲線圖來查找所需采用的電感值。</p><p> 其輸入電容應大于47uF,并要求盡量靠近電路。輸出電容的電容量為100uF~470uF,對于本文5V電壓輸出,應使用耐壓值為16V的電容。</p><p> 2. SPX1117系列</p><p> SPX117系列是一個低
94、功耗正向電壓調(diào)節(jié)器,其可以用在一些高效率、小封裝的低功耗設(shè)計中。該系列有很低的靜態(tài)電流在滿負載的情況下其低壓差僅為1.1V。當輸出電流減少時靜態(tài)電流隨負載變化,并提高效率。該系列中有輸出電壓固定和電壓可調(diào)兩類,本文設(shè)計中采用輸出電壓固定的電壓調(diào)節(jié)器SPX1117M3-2.85、SPX1117M3-3.3來實現(xiàn)電源末級設(shè)計。這幾種芯片都具有過流及溫度保護,一個10uF的輸出電容可有效地保證其穩(wěn)定性。</p><p>
95、; 多個同規(guī)格的小電容的并聯(lián),作用是高頻濾波。容的高頻性能很差。通常電容越大,其諧振頻率越低設(shè)計方法。系統(tǒng)電源電路如圖所示。因為等電容值的單個大電。所以這部分采用以下的設(shè)計方法。系統(tǒng)電源電路如圖3.12所示。</p><p> 圖3.12 系統(tǒng)電源設(shè)計</p><p><b> 第四章 軟件設(shè)計</b></p><p><b>
96、 4.1 主程序</b></p><p> 車載mp3播放系統(tǒng)的軟件設(shè)計包括,嵌入式USB主機軟件設(shè)計、mp3解碼器軟件設(shè)計、發(fā)射模塊設(shè)計和接收模塊設(shè)計。主流程圖如圖4.1所示。</p><p> 圖4.1 主程序流圖</p><p> 4.2 USB主機軟件的任務(wù)</p><p> 首先我們把握一下主機軟件的主要任務(wù)
97、,當一個USB設(shè)備接入到主機上之后,主機就根據(jù)默認通道對該設(shè)備進行枚舉(設(shè)備地址為0,端點號為0),包括獲得該設(shè)備的一系列描述符。例如,主機需要獲取設(shè)備的端點描述符,確認該設(shè)備提供了哪些端點,確認端點號和該端點的最大包的尺寸等等。對于USB閃存盤等來說,就是要提供給主機批量輸出Bulk Out端點和Bulk In端點的端點號,以及相應的最大包尺寸。然后,主機在后來的批量傳輸中才能正確地進行一系列操作。</p><p&
98、gt; 要主機識別一個USB設(shè)備必須經(jīng)過枚舉的過程,和管理必要的設(shè)備狀態(tài)變化,總線的枚舉過程如下:</p><p> 1.設(shè)備連接,USB設(shè)備接入USB總線;</p><p> 2.設(shè)備上電,USB設(shè)備可以使用USB總線供電,主機可使用總線枚舉來識別也可以使用外部電源供電;</p><p> 3.主機檢測到設(shè)備,發(fā)出復位。設(shè)備連接到總線后,主機通過檢測設(shè)備在
99、總線上的上拉電阻檢測到有新設(shè)備連接,并確定該設(shè)備是全速設(shè)備還是低速設(shè)備,然后向該端口發(fā)送一個復位信號;</p><p> 4.設(shè)備默認狀態(tài),設(shè)備要從總線上接收到一個復位信號后,才可以對總線的處理操作做出響應。設(shè)備接收到復位信號后,就使用默認地址(00H)對其進行尋址;</p><p> 5.地址分配,當主機接收到有設(shè)備對默認地址(00H)相對應的時候,就對設(shè)備分配一個空閑的地址,以后設(shè)
100、備就只對該地址進行響應;</p><p> 6.讀取USB設(shè)備描述符,主機讀取USB設(shè)備描述符,確認USB設(shè)備的屬性;</p><p> 7.設(shè)備配置,主機依照讀取的USB設(shè)備描述符來進行配置,如果設(shè)備所需的USB資源得以滿足,就發(fā)送配置命令給USB設(shè)備,表示配置完畢;</p><p> 8.掛起,為了節(jié)省電源,當總線保持空閑狀態(tài)超過3ms以后,設(shè)備驅(qū)動程序就
101、會進入掛起狀態(tài)。在掛起狀態(tài)時,設(shè)備的消耗電流不超過500mA當被掛起時,USB設(shè)備保留了包括其地址和配置信息在內(nèi)的所有內(nèi)部狀寄存器。</p><p> 完成以上8個步驟后,USB設(shè)備即可使用。在枚舉的過程中,設(shè)備不一定要求進入掛起狀態(tài),基本的USB主機軟件流程如圖4.2所示。</p><p> 圖4.2 USB主機的軟件流程</p><p> 4.3 US
102、B與單片機AT89C51SND1通信的流圖</p><p> 選獲取SL811的片選地址,此時A0為低電平。當A0為高電平是,進行數(shù)據(jù)操作。先進行寫操作,在進行讀操作。流圖如圖4.3所示。</p><p><b> 圖4.3 流程圖</b></p><p> 4.3 FAT文件系統(tǒng)的設(shè)計</p><p> 該部
103、分需要對FAT表的定位、搜索、讀/寫等操作,UFI命令與外設(shè)的磁盤建立聯(lián)系。UFI命令的實現(xiàn)是基礎(chǔ),整個文件系統(tǒng)通過定地址讀取數(shù)據(jù)、UFIWrite()對特定地址寫入數(shù)據(jù)等等。根據(jù)如UFIRead()對特Flash的特性,將Flash的一個Page(512)定義為一個扇區(qū),將兩個Block , 64個扇區(qū)(512 * 64=32KB)定義為一個簇。主要設(shè)計的中間函數(shù)編寫如下:</p><p> EnumMass
104、DevU;通過讀取。獲取磁盤的0扇區(qū)的512字節(jié)的DBR數(shù)據(jù),DBR區(qū)所存儲的重要的參數(shù)。</p><p> FirstSectorofCluster() ;根據(jù)簇號計算對應該簇的第一個扇區(qū)號,函數(shù)具體實現(xiàn)如下。</p><p> INT32 FirstSectorofCluster(unsigned in clusterNUM)</p><p><b&g
105、t; {</b></p><p> INT32 temp;</p><p> temp=clusterNUM-2;</p><p> temp=temp*DeviceInfo.BPB-SecPerClus;</p><p> temp=temp+ DeviceInfo.BPB-SecPerClus;</p>
106、<p> return temp;</p><p><b> }</b></p><p> DeviceInfo.BPB SecPerClus , DeviceInfo.BPB SecPerClus等都是由EnumMassDev()函數(shù)從設(shè)備中獲得的。</p><p> UINT ThisFatSecNum(unsigne
107、d int clusterNUM)/*根據(jù)簇號找到對應FAT表扇區(qū)號*/</p><p> DINT temp;</p><p> temp=clusterNum*2;</p><p> temp=temp/DeviceInfo.BPB_ BytesPerSec;</p><p> temp=temp+Devicelnfo.FatSt
108、artSector;</p><p> return temp;</p><p> SeekEmptyCluster()查詢空簇所在的位置。從文件分配表的起始扇區(qū)開始讀</p><p> 取一個扇區(qū)的內(nèi)容,然后判斷,內(nèi)容為0的兩個字節(jié)對應的即為空簇。</p><p> GetNextClusterNum()獲取文件下一簇簇C75,實現(xiàn)
109、的方法是讀取文件分配表中當前簇號所在的扇區(qū)內(nèi)容,然后根據(jù)簇號的扇區(qū)偏移量得到文件分配表中該簇號所對應的兩個字節(jié)存放的就是存儲文件后續(xù)內(nèi)容的下一簇的簇號。</p><p> DeleteClusterLink()刪除簇鏈,具體函數(shù)略。</p><p> GetClusterNumFromSectorNum()根據(jù)扇區(qū)號獲得對應簇號,具體函數(shù)略。</p><p>
110、 LinkClusterList()寫文件時,一個簇被寫滿的時候,尋找下一個空簇并與當前簇建立鏈接,具體函數(shù)略。</p><p> CheckFileName()根據(jù)文件系統(tǒng)命名的要求((8個字節(jié)的主文件名和3個字符的擴展名)對所要建立的文件名進行測試,具體函數(shù)略。</p><p> LocateDir()定位目錄所在的扇區(qū)和內(nèi)容,具體函數(shù)略。</p><p>
111、 LocateFile()定位文件所在的扇區(qū),具體函數(shù)略。</p><p> 圖4.4 文件系統(tǒng)的實現(xiàn)層次</p><p> 建立好上述中間函數(shù),通過這些函數(shù),用戶就可以在嵌入式系統(tǒng)中對U盤進行文件操作。</p><p> API函數(shù):作為提供給用戶的編程接口,系統(tǒng)提供了ReadFile(), DelFile()等一系列API函數(shù)。這些函數(shù)利用UFI子類命令
112、和中間函數(shù),按照FAT文件系統(tǒng)的規(guī)范來管理U盤上的數(shù)據(jù),調(diào)用這API函數(shù),可以實現(xiàn)對文件的管理。這樣就可以在USB主機體系中建立起一個外設(shè)磁盤的空間結(jié)構(gòu),建立FAT表·FDT表,并實現(xiàn)查找文件、寫文件、讀文件等一系列功能。FAT文件系統(tǒng)的設(shè)計層次如圖4.4所示。</p><p> 4.4 mp3解碼器軟件的設(shè)計</p><p> 圖4.5 解碼控制流圖</p>
113、;<p> VS1011的使用非常簡單,不需要外接DAC轉(zhuǎn)換,芯片內(nèi)部集成了幾乎所有的MP3的電路,非常方便設(shè)計。程序編寫主要就是對應硬件的設(shè)計設(shè)置好寄存器,根據(jù)讀、寫這兩個僅有的命令讀寫特定地址的數(shù)據(jù)。程序流程圖如4.5所示。</p><p><b> 1.系統(tǒng)啟動;</b></p><p><b> 系統(tǒng)上電時動作:</b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的車載數(shù)控音頻轉(zhuǎn)發(fā)器設(shè)計
- 畢業(yè)設(shè)計---無線音頻轉(zhuǎn)發(fā)器
- 用vmr6512制作高品質(zhì)無線音頻轉(zhuǎn)發(fā)器的方法
- 電視伴音紅外轉(zhuǎn)發(fā)器設(shè)計-畢業(yè)設(shè)計
- 物聯(lián)無線紅外轉(zhuǎn)發(fā)器
- 電力通訊監(jiān)控轉(zhuǎn)發(fā)器的研究.pdf
- 衛(wèi)星轉(zhuǎn)發(fā)器頻率臨時服務(wù)申請表
- 基于處理轉(zhuǎn)發(fā)器的QPSK解調(diào)算法研究.pdf
- 車載吸塵器造型設(shè)計畢業(yè)論文
- 衛(wèi)星轉(zhuǎn)發(fā)器系統(tǒng)設(shè)計與仿真的研究.pdf
- 多通信方式的數(shù)據(jù)收集轉(zhuǎn)發(fā)器的研究.pdf
- 星載柔性轉(zhuǎn)發(fā)器的數(shù)字信道化器設(shè)計與實現(xiàn).pdf
- 多載波GSM數(shù)字光纖轉(zhuǎn)發(fā)器收發(fā)鏈路研究.pdf
- 數(shù)控畢業(yè)論文
- 數(shù)控畢業(yè)論文.
- 數(shù)控畢業(yè)論文
- 數(shù)控畢業(yè)論文
- 數(shù)控畢業(yè)論文
- 數(shù)控畢業(yè)論文
- 微波光子衛(wèi)星轉(zhuǎn)發(fā)器關(guān)鍵技術(shù)研究.pdf
評論
0/150
提交評論