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