基于mp3播放器的設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩88頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  梧 州 學(xué) 院</b></p><p><b>  畢 業(yè) 論 文</b></p><p>  論文題目 基于…………..的設(shè)計(jì)</p><p>  系 別 信息與電子工程學(xué)院 </p><p>  專 業(yè) 電子科學(xué)與技術(shù) </p

2、><p>  班 級(jí) 10電子科學(xué)與技術(shù)班 </p><p>  學(xué) 號(hào) </p><p>  學(xué)生姓名 </p><p>  指導(dǎo)教師(簽名) </p><p>  完成時(shí)間

3、 2015 年 5 月</p><p><b>  摘要</b></p><p>  隨著電子技術(shù)的發(fā)展,MP3播放器已是目前市場(chǎng)上最流行的消費(fèi)類數(shù)碼產(chǎn)品之一,因其具有大容量、高音質(zhì)、小巧便攜等特點(diǎn)而倍受廣大消費(fèi)者的青睞。而對(duì)于單片機(jī)編寫的MP3播放器具有執(zhí)行效率高、頻率輸出穩(wěn)定、易于修改、高可靠性、高性價(jià)比、低電壓、低功耗等優(yōu)點(diǎn),使單片機(jī)近幾年得到迅

4、猛發(fā)展和大范圍推廣,廣泛應(yīng)用于工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表及通訊設(shè)備、日常消費(fèi)類產(chǎn)品、玩具等領(lǐng)域 。</p><p>  本設(shè)計(jì)主要利用ATmega128作為系統(tǒng)的中央處理器,采用VS1003B解碼芯片作為音樂播放器的解碼芯片,SD卡作為系統(tǒng)的存儲(chǔ)器,CH375芯片作為讀取外部U盤數(shù)據(jù)的驅(qū)動(dòng)芯片。通過ATmega128讀取SD卡或者讀取經(jīng)CH375芯片傳送的音頻數(shù)據(jù),再送入VS1003B解碼芯片實(shí)現(xiàn)

5、特定格式的音頻解碼,并通過耳機(jī)或者有源音響輸出。</p><p>  關(guān)鍵詞:Atmega128;MP3播放器;SD卡;CH375;VS1003B;</p><p>  Based on the design of ATmega128 music player</p><p><b>  Abstract</b></p><

6、p>  With the development of electronic technology, MP3 players on the market today is one of the most popular consumer digital products, because of its large capacity, high-quality, compact and portable features and m

7、uch in favor of consumers. For the preparation of single-chip MP3 player with high efficiency, stable frequency output, easy to modify, high reliability, high cost, low voltage, low power consumption, etc., so that the m

8、icrocontroller in recent years has been the rapid development and l</p><p>  Keywords: Atmega128; MP3 player; SD card; CH375; VS1003B;</p><p><b>  目錄</b></p><p>  第一

9、章 引 言1</p><p>  1.1課題背景與來源1</p><p><b>  1.2課題意義1</b></p><p>  1.3 MP3播放器發(fā)展歷程和研究現(xiàn)狀1</p><p>  第二章 系統(tǒng)概述3</p><p>  2.1系統(tǒng)設(shè)計(jì)總方案選擇3</p>

10、<p>  2.2系統(tǒng)可行設(shè)計(jì)方案對(duì)比選擇3</p><p>  2.3 系統(tǒng)設(shè)計(jì)硬件組成4</p><p>  2.4 系統(tǒng)設(shè)計(jì)的功能介紹及操作說明5</p><p>  第三章 硬件組成及設(shè)計(jì)6</p><p>  3.1 主控系統(tǒng)模塊設(shè)計(jì)電路圖6</p><p>  3.2 VS1003音頻

11、解碼模塊8</p><p>  3.3 SD卡模塊電路及非正常播放的的解決辦法10</p><p>  3.4 U盤通信讀寫模塊11</p><p>  第四章 軟件設(shè)計(jì)13</p><p>  4.1 開發(fā)工具介紹13</p><p>  4.2 主程序流程圖13</p><p>

12、;  4.3 SD卡的讀流程圖14</p><p>  4.4 SD卡文件系統(tǒng)的結(jié)構(gòu)分析14</p><p>  4.5 SD卡文件系統(tǒng)的實(shí)現(xiàn)15</p><p>  4.6 U盤文件管理系統(tǒng)16</p><p>  第五章 系統(tǒng)測(cè)試與分析17</p><p>  5.1 系統(tǒng)設(shè)計(jì)過程17</p&g

13、t;<p>  5.2 模塊的調(diào)試17</p><p>  5.3 系統(tǒng)測(cè)試達(dá)到的技術(shù)指標(biāo)19</p><p>  第六章 結(jié)束語(yǔ)22</p><p><b>  參考文獻(xiàn)23</b></p><p><b>  致謝24</b></p><p> 

14、 附錄1(原理圖、PCB圖、實(shí)物圖)25</p><p>  附錄2(程序)30</p><p><b>  第一章 引 言</b></p><p>  1.1課題背景與來源</p><p>  隨著中國(guó)經(jīng)濟(jì)的不斷發(fā)展,人們生活水平不斷提高,物質(zhì)追求已基本得到滿足,隨之而來的是精神層面的追求。人們對(duì)生活質(zhì)量的要求

15、也越來越得到重視,對(duì)音樂的追求也迅速成為了其享受生活的重要部分。在過去的幾年里,各種音樂播放器層出不窮,它們的文件格式也不可枚舉。就音頻播放器來說,其常用格式就有WAV、OGGG、MP3、WMA、ACC、APE等。MP3格式由于具有壓縮后文件體積小、音質(zhì)丟失小的特點(diǎn)而成為了使用最為廣泛、最受播放器生產(chǎn)商歡迎的音頻格式之一。生活中人們往往把Moving Picture Experts Group Audio Layer III簡(jiǎn)稱為MP3

16、,其本身就是一種音頻壓縮技術(shù),采用了國(guó)際標(biāo)準(zhǔn)MPEG中的第三層音頻壓縮模式,對(duì)聲音信號(hào)進(jìn)行壓縮的一種格式[1]?,F(xiàn)在普遍應(yīng)用的聲音編碼技術(shù)是一種叫MPEG聲音壓縮的算法,這是一種對(duì)音源的性質(zhì)沒有作任何假設(shè)的算法,單純地利用人耳的聽覺特性來對(duì)聲音進(jìn)行壓縮。MP3就是利用了這種技術(shù),將音樂以10:1甚至12:1的壓縮率,壓縮成一種容量較小的文件。也就是說,MP3不僅可以把文件壓縮到更小的程度,并且還可以非常好地保持了原來的音質(zhì)[2]。

17、</p><p><b>  1.2課題意義 </b></p><p>  隨著電子技術(shù)的迅速發(fā)展,現(xiàn)階段的音頻技術(shù)已經(jīng)發(fā)展得相當(dāng)成熟,市場(chǎng)流行的音頻播放器其功能也遠(yuǎn)非普通的MP3可以比擬,操作界面也相當(dāng)?shù)膹?fù)雜多樣。但對(duì)于市場(chǎng)需求來說,MP3仍然占有一定的市場(chǎng)。同時(shí),對(duì)于比較缺乏實(shí)際操作能力的大學(xué)生來說,實(shí)打?qū)嵉卦O(shè)計(jì)播放器是很有必要的,這對(duì)于掌握與鞏固所學(xué)知識(shí)起到舉足

18、輕重的作用及對(duì)提高自身各方面的能力、培養(yǎng)今后從事這類工作或研究這類技術(shù)的興趣。而MP3播放器相對(duì)而言比較簡(jiǎn)單,對(duì)于初設(shè)計(jì)者來說是一種很好的選擇。本系統(tǒng)采用了簡(jiǎn)單、經(jīng)濟(jì)的電子芯片設(shè)計(jì)而成,與市場(chǎng)上的MP3有所不同,更加突出地改進(jìn)了其MP3的儲(chǔ)存容量小的缺點(diǎn)。支持SD卡及外部U盤等外儲(chǔ)存設(shè)備的讀取,具備了價(jià)格便宜、高容量、體積小、音質(zhì)好、便于攜帶等優(yōu)點(diǎn)。這樣的MP3播放器被廣泛用于汽車、家居、工業(yè)等領(lǐng)域,如車載MP3播放器等。</p&

19、gt;<p>  1.3 MP3播放器發(fā)展歷程和研究現(xiàn)狀</p><p>  隨著計(jì)算機(jī)速度的飛速提升,MP3標(biāo)準(zhǔn)終于在1995年被Brandenburg的研究小組制定出來,并免費(fèi)提供MP3軟件下載。MP3的現(xiàn)世,由于閃存技術(shù)初現(xiàn),存儲(chǔ)容量還很小,而價(jià)格偏高,當(dāng)時(shí)的MP3仍屬于十分昂貴的“奢侈品”。20世紀(jì)后期,為了滿足更多用戶的需求,集中解決了MP3播放器能在不同的電腦上連接使用的問題,最終MP3

20、播放器選擇了“并口”作為數(shù)據(jù)輸用的接口。直到1998年,第一臺(tái)MP3隨身聽Saehan MPman F10誕生,重65克。但是當(dāng)時(shí)的MP3存在信噪比太低、并口數(shù)據(jù)傳輸速度慢等缺點(diǎn)。2000年,由于受到突飛猛進(jìn)的USB技術(shù)影響,MP3播放器開始使用了USB接口的設(shè)計(jì)。2000年中,創(chuàng)新發(fā)布了世界上第一臺(tái)2.5寸硬盤MP3播放器——NOMAD Jukebox,這款音樂播放器的外形就像一個(gè)標(biāo)準(zhǔn)大小的CD播放器。USB接口可以提供連接速度高達(dá)1

21、2Mbps,這種速度與并口速度相比提高幅度在10倍以上,運(yùn)用這種速度下歌曲文件傳輸時(shí)間可以縮減為3秒,若要進(jìn)行64MB大小容量的文件傳送也不需要1分鐘。USB 2.0標(biāo)準(zhǔn)進(jìn)一步將接口速度提升到480Mbps,是普通USB速度的20倍,更</p><p><b>  第二章 系統(tǒng)概述</b></p><p>  2.1系統(tǒng)設(shè)計(jì)總方案選擇</p><p

22、>  系統(tǒng)初步設(shè)計(jì)圖如圖2-1所示</p><p>  圖2-1 系統(tǒng)初步設(shè)計(jì)圖</p><p>  2.2系統(tǒng)可行設(shè)計(jì)方案對(duì)比選擇</p><p>  根據(jù)設(shè)計(jì)要求,結(jié)合實(shí)際情況和成本要求,對(duì)系統(tǒng)主要部分電路方案敘述如下。</p><p>  2.2.1 MCU微控制器可供選擇方案對(duì)比</p><p>  方

23、案一:采用ATMEL公司生產(chǎn)的AT89SXX系列單片機(jī)。如采用初學(xué)者廣泛使用的AT89S52單片機(jī),它內(nèi)部具有低損耗、高性能的CMOS微處理器,片內(nèi)也具有8K字節(jié)的儲(chǔ)存空間、4個(gè)8位的并口、1個(gè)全雙工的串行口、128字節(jié)的RAM、2個(gè)16位定時(shí)/計(jì)數(shù)器,其尋址范圍也有64K,這些特點(diǎn)能滿足簡(jiǎn)單的設(shè)計(jì)需要,但如果用這款單片機(jī)來設(shè)計(jì)MP3那最好要外接一個(gè)儲(chǔ)存芯片,否則對(duì)數(shù)據(jù)的緩沖、處理速度跟不上,容易造成卡機(jī)現(xiàn)象。</p>&

24、lt;p>  方案二:采用ATMEL公司生產(chǎn)的AVR系列單片機(jī),它相對(duì)與AT89SXX系列單片機(jī)在功能特點(diǎn)上得到更大的改進(jìn),除了在體積、集成度、可靠性,擴(kuò)展性上具有優(yōu)勢(shì),而且其處理數(shù)據(jù)速度和功能得到了提升,是一種RISC精簡(jiǎn)指令集高速8位的單片機(jī)。特別是ATMEL32 、ATMEL64、ATMEL128的片內(nèi)儲(chǔ)存空間均在8K以上,盡量滿足了MP3不卡機(jī)的條件之一。而且如今其市場(chǎng)價(jià)格與89SXX系列也相差不遠(yuǎn),運(yùn)行速度更快。<

25、/p><p>  綜上所述,為了能更好地處理數(shù)據(jù),得到流暢的播放效果,應(yīng)考慮MCU數(shù)據(jù)處理能力,選擇方案二中ATMEL公司的Atmega128單片機(jī)作為微處理控制器,它遠(yuǎn)遠(yuǎn)能滿足MP3的數(shù)據(jù)解碼速度要求。</p><p>  2.2.2 MP3解碼方案對(duì)比選擇 </p><p>  方案一: 直接用軟件解碼。雖在硬件方面降低了成本,但其軟件方面比較復(fù)雜,編程難度較高,工

26、作量極大,而且對(duì)控制器的處理速度和資源要求也較高。 </p><p>  方案二:直接用音頻解碼芯片解碼。使用高性能的VS1003 MP3解碼芯片,功能不僅強(qiáng)大而且價(jià)格也相當(dāng)便宜,VS1003支持MP3、WAV、WMA、MIDI等諸多音頻格式,音質(zhì)可與市場(chǎng)上中檔MP3播放器相媲美。 </p><p>  基于上述比較,故選擇方案二;</p><p>  2.2.3

27、 顯示模塊方案 </p><p>  方案一:采用LCD1602液晶,完成數(shù)據(jù)顯示。LCD1602液晶驅(qū)動(dòng)電路相當(dāng)簡(jiǎn)單,它可以顯示簡(jiǎn)單的中英文字符、圖案,并且功能和設(shè)計(jì)的成本都比較低。</p><p>  方案二:采用LCD12864液晶,它不僅可以顯示中英文字符,也可以顯示圖案。但其圖案分辨率很低,而且只能顯示單色字符,在價(jià)格方面也不算很便宜。 </p><p&

28、gt;  方案三:采用TFT液晶模塊,它既可以顯示彩色數(shù)字、中英文字符和圖案,還可以加上觸摸屏,實(shí)現(xiàn)GUI用戶圖形交互實(shí)時(shí)控制,但其模塊價(jià)格較貴,并且設(shè)計(jì)要求并不需要使用觸摸等功能。</p><p>  方案四:采用諾基亞5110液晶模塊,它采用的是串行通信協(xié)議進(jìn)行通信,傳輸速度快,耗能低,接口信號(hào)線數(shù)量少,能顯示英文、數(shù)字還有圖案,并且市場(chǎng)價(jià)格最便宜。</p><p>  基于價(jià)格便宜,

29、并且結(jié)合本系統(tǒng)設(shè)計(jì)需要,故選擇方案四。</p><p>  2.3 系統(tǒng)設(shè)計(jì)硬件組成</p><p>  本系統(tǒng)是基于Atmega128單片機(jī)所設(shè)計(jì)的MP3播放器,音頻文件存儲(chǔ)在SD卡上,通過文件系統(tǒng)的讀取SD扇區(qū)或?qū)⒁纛l存在U盤等USB外設(shè)儲(chǔ)存器上,通過CH375驅(qū)動(dòng)芯片讀取外設(shè)儲(chǔ)存器,由Atmega128單片機(jī)讀取數(shù)據(jù)并送到VS1003B音頻解碼模塊解碼輸出,同時(shí)還可以通過按鍵來選擇實(shí)

30、現(xiàn)歌曲切換,暫停播放和音量調(diào)整等功能。</p><p>  本系統(tǒng)設(shè)計(jì)主要由以下模塊組成:?jiǎn)纹瑱C(jī)最小系統(tǒng)、諾基亞5110液晶顯示、VS1003音頻解碼模塊、SD卡讀取模塊、USB外設(shè)讀取模塊和電源模塊以及功能按鍵。系統(tǒng)框圖如圖2-2所示。</p><p>  圖2-2 系統(tǒng)組成框圖</p><p>  2.4 系統(tǒng)設(shè)計(jì)的功能介紹及操作說明</p>&

31、lt;p>  本系統(tǒng)設(shè)計(jì)的特點(diǎn)和可實(shí)現(xiàn)的功能及具體的操作說明如下:</p><p>  本系統(tǒng)的特點(diǎn)是:所用芯片少,設(shè)計(jì)簡(jiǎn)單,但是功能強(qiáng)大,與市場(chǎng)上的MP3播放器相比,本設(shè)計(jì)不僅具有其最基本的優(yōu)點(diǎn)外,還在儲(chǔ)存容量上得到了突破。不僅能在SD卡上實(shí)現(xiàn)音頻數(shù)據(jù)的讀取還可以高速讀取外部的USB儲(chǔ)存設(shè)備,如U盤,硬盤等。真正達(dá)到了成本低,音效好的特點(diǎn)。</p><p>  對(duì)于功能的實(shí)現(xiàn),本設(shè)

32、計(jì)能實(shí)現(xiàn)對(duì)SD卡及U盤的高速讀取,同時(shí)可在諾基亞5110液晶上顯示歌曲進(jìn)程、歌曲名及音頻頻譜。需對(duì)SD卡數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)及VS1003解碼電路進(jìn)行深入的了解。</p><p>  在操作上,應(yīng)用了簡(jiǎn)單的功能按鍵,控制音樂的播放、暫停、上下曲切換、音量調(diào)節(jié)等操作在顯示液晶上清楚可見。</p><p>  第三章 硬件組成及設(shè)計(jì)</p><p>  硬件設(shè)計(jì)包括整個(gè)系統(tǒng)的電

33、路圖,主要由單片機(jī)最小系統(tǒng)、VS1003解碼模塊、外部音頻存儲(chǔ)模塊、諾基亞5110液晶顯示模塊、電源電路模塊、MP3功能按鍵電路等組成,本章根據(jù)系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖來對(duì)每個(gè)部分的電路進(jìn)行分析和說明,重點(diǎn)講述MCU微控制器Atmega128、SD卡模塊電路、VS1003B音頻解碼模塊電路、CH375驅(qū)動(dòng)外設(shè)模塊電路、功能按鍵并且涉及到的一些芯片詳細(xì)資料。下面將整個(gè)音樂播放器的設(shè)計(jì)對(duì)各模塊組成分別做個(gè)介紹。</p><p>

34、;  3.1 主控系統(tǒng)模塊設(shè)計(jì)電路圖 </p><p>  本模塊設(shè)計(jì)包含了以下部分:MCU微機(jī)處理器、復(fù)位電路、外圍模塊接口、程序下載口、功能按鍵等。整個(gè)電路圖設(shè)計(jì)相對(duì)而言比較簡(jiǎn)單,盡量地減少元器件,簡(jiǎn)化元器件布局,達(dá)到合理布局的目的。對(duì)本模塊各電路進(jìn)行方案對(duì)比以及元器件價(jià)格比較,最終電源部分選用了AMS1117轉(zhuǎn)換電壓芯片,可將外部電壓轉(zhuǎn)換成MCU所需的電壓,電路簡(jiǎn)單,效率高。對(duì)于MCU的選擇,考慮到效率問題

35、,最終也選定了Atmega128作為主控芯片,它的外圍電路簡(jiǎn)單,滿足本設(shè)計(jì)的需要。而顯示部分也采用了諾基亞5110液晶模塊,它具有既能顯示英文和特殊符號(hào)還能顯示中文,顯示界面友好,控制簡(jiǎn)單,工作穩(wěn)定,價(jià)格便宜,占用IO口少等優(yōu)點(diǎn),容易實(shí)現(xiàn)歌曲名的顯示和歌曲進(jìn)程的操作。本模塊設(shè)計(jì)電路圖如3-1 所示,系統(tǒng)使用內(nèi)部8M晶振,下載熔絲位為 E4 91 FF 不兼容103模式。</p><p><b>  .

36、</b></p><p>  圖3-1 主控系統(tǒng)模塊設(shè)計(jì)電路圖</p><p>  以下將介紹本模塊的主要電路及芯片。</p><p>  3.1.1 供電電源電路</p><p>  本電路是直接利用外部電源適配器進(jìn)行接電,這樣得到的電流和電壓都比較穩(wěn)定,然后利用ASM1117線性穩(wěn)壓芯片,將電源電壓轉(zhuǎn)換成穩(wěn)定的,少紋波的5V、

37、3.3V電壓,為了能控制整個(gè)電路的電源供電,在適當(dāng)處添加了一個(gè)六角開關(guān),目的是截取適配器供電。當(dāng)然本電路供電方式不唯一,在沒有電源適配器的條件下也可以使用下載器供電,簡(jiǎn)單又實(shí)用。供電電源電路如圖3-2所示</p><p>  圖3-2 供電電源電路</p><p>  3.1.2 MCU微控制器</p><p>  Atmega128的引腳圖如3-3 圖所示。它為6

38、4腳的貼片式芯片,本設(shè)計(jì)利用它為核心控制元件,只有它能正常工作后才能使其他的元件進(jìn)入正常工作狀態(tài)。因此,下面對(duì)該芯片進(jìn)行必要的說明。</p><p>  圖3-3 圖 Atmega128的引腳</p><p>  Atmega128芯片是一種高性能、低功耗8位的AVR微處理器,片內(nèi)具有128K字節(jié)的系統(tǒng)可編程Flash,可解決卡機(jī)問題,能及時(shí)處理傳送的數(shù)據(jù)。具有4K字節(jié)的EEPROM,可以

39、對(duì)一些操作數(shù)據(jù)進(jìn)行存儲(chǔ),方便斷電重啟后,能對(duì)上一次的數(shù)據(jù)進(jìn)行再現(xiàn)。具有獨(dú)立片內(nèi)振蕩器的可編程看門狗定時(shí)器,可解決一些程序跑飛的情況。有53個(gè)可編程I/O口,可方便外掛其他器件,具有可工作于從機(jī)/主機(jī)模式的SPI串行接口。</p><p>  本設(shè)計(jì)主要用到SPI模式,需對(duì)SPI管腳及其寄存器加以重視。串行外設(shè)接口SPI允許ATmega128和外設(shè)之間進(jìn)行高速的同步數(shù)據(jù)傳輸,接口管腳為PB1(SCK)、PB2(MO

40、SI)、PB3(MISO)。SPI串口方式特點(diǎn)有:全雙工,3線同步數(shù)據(jù)傳輸;主機(jī)或從機(jī)操作 LSB首先發(fā)送或MSB首先發(fā)送;具有傳輸結(jié)束中斷寫碰撞標(biāo)志檢測(cè);可以從閑置模式喚醒;可作為主機(jī)時(shí)具有雙速模式(CK/2)。</p><p>  以上是本設(shè)計(jì)需要重視的主芯片特點(diǎn)。</p><p>  3.1.3 功能按鍵電路</p><p>  功能按鍵電路在系統(tǒng)中起到手動(dòng)切

41、換播放模式及聲音大小的調(diào)整??紤]到本設(shè)計(jì)中需要的按鍵操作并不多,單片機(jī)的I/O口完全可以滿足,所以選擇了獨(dú)立式鍵盤設(shè)計(jì),如圖3-4所示 ,按鍵以低電平有效。在硬件方面注意手動(dòng)消抖,在軟件方面,也應(yīng)考慮按鍵消抖情況。</p><p>  如圖3-4所示,共有五個(gè)按鍵,分別實(shí)現(xiàn)歌曲的播放、暫停、上下曲切換、聲音加減功能。</p><p><b>  圖3-4功能按鍵</b>

42、;</p><p>  3.2 VS1003音頻解碼模塊</p><p>  VS1003B是芬蘭VLSI公司生產(chǎn)一種VSXX系列的芯片,是一種單芯片MP3/WMA音頻解碼器。它擁有一個(gè)高性能,低功耗DSP 處理器核VS_DSP4,5KB 的指令RAM 和0.5KB 的數(shù)據(jù)RAM。串行控制和數(shù)據(jù)接口,4 個(gè)常規(guī)的I/O 口,一個(gè)UART,一個(gè)高品質(zhì)可變采樣率的ADC和立體聲DAC、一個(gè)耳機(jī)

43、放大器和地線緩沖器。VS1003B解碼模塊對(duì)單片機(jī)從SD卡或者U盤中讀取的數(shù)據(jù)流進(jìn)行解析,并轉(zhuǎn)換成模擬信號(hào)輸出,同時(shí)能實(shí)現(xiàn)高低音控制和立體聲數(shù)模轉(zhuǎn)換,可直接驅(qū)動(dòng)耳機(jī)。本設(shè)計(jì)需將系統(tǒng)5V電源通過ASM1117-3.3、ASM1117-2.5轉(zhuǎn)化成VS1003所需的3.3V、2.5V電壓,并通過3.3UH的電感進(jìn)行數(shù)字電壓、模擬電壓、以及IO口電壓進(jìn)行區(qū)分,單獨(dú)供電,降低對(duì)解碼信號(hào)的影響。</p><p>  VS1

44、003B封裝圖如3-5所示。</p><p>  圖3-5 VS1003封裝圖</p><p>  該芯片的主要管腳介紹: 1腳MICP:同向差分話筒輸入;2腳MICN:同向差分話筒輸出;3腳XRESET:復(fù)位;8腳DREQ:數(shù)據(jù)請(qǐng)求;13腳XDCS:命令片選; 23腳XCS:命令片選;28腳SCLK:串行時(shí)鐘; 29腳SI:串行輸入;30腳SO:串行輸出;42腳GBUF:公共地緩沖器;4

45、4腳RCAP:基準(zhǔn)濾波電容。</p><p>  3.2.1 VS1003解碼模塊電路圖</p><p>  圖3-6 VS1003解碼模塊電路圖</p><p>  3.3 SD卡模塊電路及非正常播放的的解決辦法</p><p>  對(duì)于本模塊電路設(shè)計(jì),首要應(yīng)該考慮電源電壓和電流的要求,防止電壓電流超過SD卡承受范圍,進(jìn)行燒卡,系統(tǒng)中供電電

46、壓一般為3.3V。驅(qū)動(dòng)SD卡的模式分為SD總線模式和SPI總線模式。采用四根數(shù)據(jù)線并行傳輸數(shù)據(jù),數(shù)據(jù)傳輸速率高的模式為SD卡總線模式,這種總線的傳輸協(xié)議并不簡(jiǎn)單,而且很多單片機(jī)都沒有提供這樣的總線接口,而且若用軟件來模擬SD卡總線卻又相當(dāng)?shù)姆爆?,并且還會(huì)降低SD卡的數(shù)據(jù)傳輸速率;如果用SPI總線模式去驅(qū)動(dòng)SD卡,那么就只需用到一根數(shù)據(jù)傳輸線,此時(shí)數(shù)據(jù)傳輸速率雖較低,可在很多單片機(jī)上都具有SPI總線接口,若用軟件來模擬也十分的容易,其總線

47、模式的傳輸協(xié)議十分簡(jiǎn)單,易于實(shí)現(xiàn)。因此,本模塊設(shè)計(jì)根據(jù)協(xié)議的簡(jiǎn)單性和實(shí)際需要?jiǎng)t采用了SPI總線模式。</p><p>  SPI總線模式的數(shù)據(jù)傳輸則以字節(jié)為單位進(jìn)行,每個(gè)字節(jié)則為8位,每個(gè)命令或者數(shù)據(jù)模塊都需以字節(jié)來對(duì)齊。單片機(jī)對(duì)SD卡的讀操作主要由主機(jī)控制,主機(jī)必須先拉低SD卡的片選信號(hào)CS,選中SD卡器件,然后再由主機(jī)向SD卡發(fā)送各種命令,SD卡對(duì)主機(jī)發(fā)送的任何命令進(jìn)行響應(yīng),根據(jù)命令的不同執(zhí)行不同的響應(yīng)格式;

48、在執(zhí)行寫操作時(shí),SD卡還要對(duì)主機(jī)發(fā)送的每個(gè)數(shù)據(jù)模塊進(jìn)行響應(yīng)。通過執(zhí)行命令和作出相對(duì)應(yīng)的命令響應(yīng),完成單片機(jī)對(duì)SD卡的讀寫操作。</p><p>  3.3.1 調(diào)試中一些SD卡不能正常播放的解決辦法</p><p>  如果在軟件方面只編寫了FAT16文件系統(tǒng),則不支持大于2G的盤,由此帶來了兩個(gè)問題。</p><p>  若大于2G的盤,格式化的時(shí)候只能選擇FAT

49、32,F(xiàn)AT16的盤是不能正常播放的。 若小于2G的盤,請(qǐng)先使用軟件USBOOT把SD卡工作模式更改為FDD模式,更改后即可正常播放。</p><p>  3.3.2 SD卡讀寫模塊圖(如圖3-7所示)</p><p>  圖:3-7 SD卡讀寫模塊圖</p><p>  3.4 U盤通信讀寫模塊</p><p>  本模塊設(shè)計(jì)是利用CH37

50、5芯片對(duì)外部的U盤內(nèi)數(shù)據(jù)進(jìn)行驅(qū)動(dòng)讀取。CH375是一個(gè)USB總線的通用接口芯片,支持USB-HOST主機(jī)方式和USB-DEVICE/SLAVE設(shè)備方式[4]。CH375是一個(gè)28腳的貼片式芯片,它具有串并行通信方式,可以通過讀控制線、寫控制線、片選控制線、中斷輸出線及8位數(shù)據(jù)總線,可非常方便地與單片機(jī)等控制器總線相連,實(shí)現(xiàn)并行傳輸。當(dāng)然還可以選擇串行通信,通過串行輸入線、輸出線和中斷輸出線與單片機(jī)等實(shí)現(xiàn)數(shù)據(jù)傳輸。CH375本身還內(nèi)置了大

51、量專用通信協(xié)議的固件,外部單片機(jī)可以直接通過調(diào)用其固件實(shí)現(xiàn)對(duì)常用的USB儲(chǔ)存設(shè)備以扇區(qū)為單位的讀寫操作。在本設(shè)計(jì)過程中用ASM1117-3.3芯片降壓到所需的3.3V電壓,并且還在并行串行的方式上預(yù)留了接口,即通過此接口可以選擇串行和并行接口方式。(注意:CH375運(yùn)用的是12M晶振,22PF瓷片電容組成的振蕩電路)</p><p>  3.4.1 U盤通信電路圖(如圖3-8所示)</p><

52、p>  圖:3-8 U盤讀寫模塊圖</p><p>  3.4.2 U盤工作原理</p><p>  當(dāng)CH375工作方式在主機(jī)方式時(shí),單片機(jī)通過RD、WR、片選CS、中斷INT#和地線A0進(jìn)行控制,實(shí)現(xiàn)與CH375通訊。當(dāng)有U盤插入時(shí)CH375產(chǎn)生中斷來告訴單片機(jī),單片機(jī)每次得到CH375的中斷后,都要用“獲取狀態(tài)碼”來取消這個(gè)中斷,讓INT#恢復(fù)到高電平,為下次中斷做準(zhǔn)備。要是U

53、盤連接錯(cuò)誤,那么就會(huì)返回狀態(tài)碼,若獲取狀態(tài)碼GET_STATUS,那么表示U盤已經(jīng)連接成功。接下來就是磁盤的初始化DISK_INIT,同樣也是等待中斷,獲取狀態(tài)碼,若獲取USB_INT_SUCCE,則成功,否則返回狀態(tài)碼,此時(shí)初始化U盤成功,返回標(biāo)志0。</p><p>  當(dāng)CS、RD和A0都為低電平時(shí)CH375的數(shù)據(jù)可以通過D0~D7輸出;當(dāng)CS、WR和A0都為低電平時(shí),D0~D7上的數(shù)據(jù)被寫入CH375芯片

54、中;當(dāng)CS和WR都為低電平,A0為高電平時(shí),D0~D7中的數(shù)據(jù)可以作為命令碼寫入CH375中,這樣就實(shí)現(xiàn)了CH375對(duì)U盤的讀寫[5]。其過程為:在CH375對(duì)U盤進(jìn)行讀寫扇區(qū)時(shí),首先送入磁盤讀取命令DIST_READ,然后送入32位的扇區(qū)地址,從低字節(jié)開始送入,接著送入要讀取的扇區(qū)數(shù),當(dāng)我們只讀取一個(gè)扇區(qū)時(shí),我們就只送一個(gè)入一個(gè)1,往下是等待中斷讀取狀態(tài),送入讀數(shù)據(jù)命令再讀數(shù)據(jù)(注:數(shù)據(jù)的第一個(gè)字節(jié)是后面數(shù)據(jù)的長(zhǎng)度,緊接著的才是真正的

55、數(shù)據(jù)),寫入繼續(xù)讀數(shù)據(jù)命令,等待中斷獲取狀態(tài)USB_INT_SUCCESS,最后讀取扇區(qū)成功。補(bǔ)充:CH375的數(shù)據(jù)緩沖區(qū)僅為64個(gè)字節(jié),讀取一個(gè)扇區(qū)(512字節(jié))要讀8次,每讀完一次要從CH375中送入繼續(xù)讀取的命令,等待CH375的數(shù)據(jù)緩沖區(qū)更新為下面的64個(gè)字節(jié)后,再次等待中斷,讀取狀態(tài)。寫入8次以后,512個(gè)字節(jié)被寫入到了CH375中,最后一次繼續(xù)寫命令DISK_WR_GO,獲得的狀態(tài)碼不再是USB_INT_</p>

56、<p>  3.4.3 U盤模塊部分容易造成影響的一些問題</p><p>  在PCB設(shè)計(jì)中,應(yīng)注意一些細(xì)節(jié)以防對(duì)設(shè)計(jì)造成不必要的影響。例如注意振蕩電路晶體的外殼接地,這樣可以降低電磁輻射,減少外來干擾,并且振蕩電路的電容應(yīng)盡量靠近CH375,PCB的走線應(yīng)該盡量短,最好可以在周邊環(huán)繞接地或者敷銅。對(duì)于USB數(shù)據(jù)線D+和D-的PCB應(yīng)該平行布線,長(zhǎng)度保持差不多[6]。</p><

57、;p>  3.5 諾基亞5110液晶模塊</p><p>  本設(shè)計(jì)采用諾基亞5110液晶顯示,它不僅兼容了諾基亞3310液晶,而且在操作上也非常的簡(jiǎn)單。它原本就是一個(gè)LCD點(diǎn)陣屏,可以顯示4行漢字,與主機(jī)通過串口模式相接。當(dāng)然可以用主機(jī)的SPI模式,也可以簡(jiǎn)單地模擬SPI模式,這對(duì)于很多單片機(jī)來說都是可以做到的。它的傳輸速率是1602液晶的四倍,在價(jià)格上也比較便宜,來源也很多。對(duì)本設(shè)計(jì)的需求已經(jīng)遠(yuǎn)遠(yuǎn)可以滿

58、足。</p><p>  設(shè)計(jì)中模塊接口如圖3-9所示。</p><p>  圖3-9 諾基亞5110液晶接口圖</p><p><b>  第四章 軟件設(shè)計(jì)</b></p><p>  4.1 開發(fā)工具介紹</p><p>  本設(shè)計(jì)除了硬件方面的重要性,同時(shí)也應(yīng)該注重軟件。一個(gè)單片機(jī)的使用不

59、僅僅只有硬件,同時(shí)也應(yīng)該有軟件的支持,硬軟結(jié)合才能發(fā)揮其更加強(qiáng)大的作用,在寫匯編程序CPU可執(zhí)行的機(jī)器碼可分為手工匯編和機(jī)器匯編這兩種方法。利用匯編軟件變?yōu)闄C(jī)器碼的方式是機(jī)器匯編,在單片機(jī)的匯編軟件歷史上出現(xiàn)較早的有A51,但隨著技術(shù)的發(fā)展,單片機(jī)開發(fā)技術(shù)也越來越成熟,匯編方式也從匯編語(yǔ)言變成了高級(jí)語(yǔ)言,ICC AVR這款A(yù)VR系列單片機(jī)軟件已經(jīng)成為了目前最流行的開發(fā)軟件。ImageCraft 的ICC AVR是一個(gè)應(yīng)用到了ANSI標(biāo)準(zhǔn)

60、的C語(yǔ)言來開發(fā)微控制器(MCU)程序的工具。 </p><p>  ICCAVR是一個(gè)綜合了編輯器和工程構(gòu)建同體的軟件。在ICCAVR編輯器的狀態(tài)窗口中可以很清楚地把編譯出現(xiàn)的錯(cuò)誤顯示出來,當(dāng)用鼠標(biāo)單擊編譯出現(xiàn)的錯(cuò)誤時(shí),光標(biāo)就會(huì)自動(dòng)跳轉(zhuǎn)到編輯窗口中引起錯(cuò)誤的那一行,這樣就省去了煩雜的查錯(cuò)工作[7]。在編譯程序通過時(shí),還可以直接產(chǎn)生被大多數(shù)編程器所支持INTEL.HEX格式文件,用于下載程序到芯片中。對(duì)于ICCAV

61、R軟件,在編寫程序的時(shí)候要注意各個(gè)中斷函數(shù)的書寫,還要注意管腳的使用,對(duì)包含的頭文件也應(yīng)該具有一定的了解。</p><p>  4.2 主程序流程圖</p><p>  主程序主要完成系統(tǒng)的初始化、對(duì)SD卡或者U盤數(shù)據(jù)的識(shí)別和讀取,音頻的解碼,還有液晶的顯示、按鍵的操作等,其主程序流程圖如圖4-1所示。</p><p>  圖 4-1 主程序流程圖</p>

62、;<p>  各模塊初始化后,單片機(jī)識(shí)別U/SD卡,再根據(jù)U/SD卡的主引導(dǎo),通過FAT文件系統(tǒng)解析文件名,并調(diào)用UNICODE字庫(kù)把文件名顯示在諾基亞5110液晶上,然后單片機(jī)計(jì)算簇所在的地址,把讀到的文件數(shù)據(jù)流送入到VS1003中進(jìn)行解碼,當(dāng)讀完一簇后,則計(jì)算下一次地址,如此便實(shí)現(xiàn)文件的鏈接。</p><p>  4.3 SD卡的讀流程圖</p><p>  圖 4-2

63、SD讀流程圖</p><p>  SD卡讀流程中,設(shè)置SPI低速模式,把CS設(shè)為低電平,即選擇SD操作,然后發(fā)送至少74個(gè)時(shí)鐘周期,發(fā)送CMD0指令,讓SD卡復(fù)位,然后延時(shí)稍許,如果檢測(cè)到0X01則發(fā)送CMD1初始化成功,否則不成功,在初始化成功后再發(fā)送8個(gè)脈沖,讀取OCR寄存器把時(shí)鐘送入SPI高速,再關(guān)掉校驗(yàn),再發(fā)送CMD16就可以讀取扇區(qū)的大小。</p><p>  4.4 SD卡文件

64、系統(tǒng)的結(jié)構(gòu)分析</p><p>  SD卡內(nèi)的數(shù)據(jù)要在操作系統(tǒng)下被識(shí)別,則需要在SD卡上創(chuàng)建操作系統(tǒng)所能識(shí)別的FAT16/FAT32文件系統(tǒng)。FAT16/FAT32文件系統(tǒng)的結(jié)構(gòu)大致可分為分區(qū)引導(dǎo)記錄、文件分配表、文件目錄表和數(shù)據(jù)區(qū)4大部分[8]。</p><p>  在分區(qū)引導(dǎo)記錄中又可分為BIOS參數(shù)記錄塊BPB(BIPS Parameter Block)、磁盤標(biāo)志記錄表、分區(qū)引導(dǎo)記錄

65、代碼區(qū)和結(jié)束標(biāo)志55AA這四塊內(nèi)容。而在BPB表中其起始點(diǎn)是在扇區(qū)字節(jié)位移0bH處,這段總共占了25字節(jié)。緊跟在分區(qū)引導(dǎo)記錄后的是FAT(文件分配表)區(qū),在一些文件系統(tǒng)中存在這樣兩份完全相同的文件分配表FAT1和FAT2,如FAT16/FAT32文件系統(tǒng)就具有這樣相同的兩個(gè)文件分配表,并且每一份FAT表所占用空間的大小都可從BPB表中查詢得到。簇是一種文件存儲(chǔ)在磁盤上的最小單位,為了防止一個(gè)文件的數(shù)據(jù)并不能完整放在磁盤的一個(gè)連續(xù)區(qū)域內(nèi)的

66、情況發(fā)生,因此一般將磁盤分為若干簇。在文件的鏈?zhǔn)酱鎯?chǔ)中通過FAT表記錄文件存儲(chǔ)中簇與簇之間的連接信息,這樣就可以快速地查找文件儲(chǔ)存的地址。在FAT16文件系統(tǒng)中1個(gè)簇就占有2個(gè)字節(jié),F(xiàn)8FH就是它的起始字節(jié),F(xiàn)FFFH則是它的終止字節(jié),如果是顯示0000則意味著這區(qū)未被使用,通過這些明顯的標(biāo)志,則可以快速了解儲(chǔ)存區(qū)的活動(dòng)情況。隨在FAT表后的就是文件目錄表FDT,它在大小上固定占了32個(gè)扇區(qū),但一個(gè)扇區(qū)又可容納16個(gè)登記項(xiàng),一個(gè)登記項(xiàng)&

67、lt;/p><p>  4.5 SD卡文件系統(tǒng)的實(shí)現(xiàn)</p><p>  要實(shí)現(xiàn)對(duì)文件的管理,那么單片機(jī)通過對(duì)SD卡的讀寫中就可按照FAT16/FAT32文件系統(tǒng)的格式對(duì)SD卡上的數(shù)據(jù)進(jìn)行操作,這樣便可以在SD卡上實(shí)現(xiàn)文件的創(chuàng)建、文件的讀寫和文件的刪除等操作。</p><p>  4.5.1 在SD卡上創(chuàng)建文件(或目錄)</p><p>  在文

68、件目錄表FDT中申請(qǐng)登記項(xiàng)的過程為SD卡上創(chuàng)建文件(或目錄)的過程,而在登記項(xiàng)中則包括有文件名、文件長(zhǎng)度和起始簇號(hào)等信息。文件名的大小一般占用8個(gè)字節(jié),而長(zhǎng)的文件名則需要用數(shù)組來存放。在需要知道文件的狀態(tài)時(shí),則可根據(jù)文件名的首字節(jié)來判斷該文件的狀態(tài),若出現(xiàn)00H則表示該目錄項(xiàng)未被使用,若出現(xiàn)E5H則表示該文件(或目錄)已被刪除。但在創(chuàng)建目錄時(shí),應(yīng)將屬性值設(shè)置為10H(表示子目錄),文件長(zhǎng)度為0[9]。</p><p&

69、gt;  4.5.2 SD卡文件的讀寫操作</p><p>  簇是SD卡上文件存取的單位。要讀取SD卡上的文件,就必須要用簇來鏈接,通過文件名來鏈接到該文件目錄登記項(xiàng)所在的地址,再用目錄登記項(xiàng)中的起始簇號(hào)來查找到文件在數(shù)據(jù)區(qū)DATA中第一簇的內(nèi)容和在FAT表中找到第二個(gè)簇號(hào),接著又根據(jù)第二個(gè)簇號(hào)再找到第二簇的內(nèi)容和FAT表中的第三個(gè)簇。如此進(jìn)行,就能夠根據(jù)FAT表中的簇號(hào)來讀取全部文件數(shù)據(jù),但在寫文件時(shí)就必須要

70、保證FAT1和FAT2中內(nèi)容的一致性,即對(duì)兩塊都要進(jìn)行同樣的寫操作[10]。對(duì)于FATl6系統(tǒng)文件,可根據(jù)下面的公式計(jì)算出數(shù)據(jù)起始邏輯扇區(qū)號(hào)[11]: 起始邏輯扇區(qū)=隱藏扇區(qū)數(shù)+1+2*每FAT扇區(qū)數(shù)+FDT扇區(qū)數(shù)+(起始簇號(hào)-2)*每簇扇區(qū)數(shù)</p><p>  4.5.3 實(shí)現(xiàn)SD卡文件的刪除</p><p>  SD卡文件管理中還有一個(gè)重要的方面,那就是實(shí)現(xiàn)對(duì)文件的刪除。由于

71、刪除文件。并沒有涉及到數(shù)據(jù)區(qū)的操作,那么只須在文件的目錄登記項(xiàng)中進(jìn)行操作[12]。</p><p>  4.6 U盤文件管理系統(tǒng)</p><p>  U盤數(shù)據(jù)的儲(chǔ)存同樣也是采用FAT文件系統(tǒng)進(jìn)行的,并且可將其儲(chǔ)存空間劃分為五大板塊,即由主引導(dǎo)扇區(qū)(MBR)、DOS引導(dǎo)區(qū)(DBR)、文件分配表(FAT)、文件目錄表(FDT)和數(shù)據(jù)區(qū)組成。但是U盤文件級(jí)子程序庫(kù)和大量的固件協(xié)議都能在CH375

72、中提供,所以單片機(jī)可以直接調(diào)用子程序來讀寫U盤中的文件數(shù)據(jù)。U盤文件的讀寫方式同樣也是采用扇區(qū)模式進(jìn)行讀寫,USB存儲(chǔ)設(shè)備中的數(shù)據(jù)和定義其數(shù)據(jù)結(jié)構(gòu)都可以由單片機(jī)自由操作。</p><p>  U盤通信采用查詢中斷響應(yīng)的方式進(jìn)行,流程如圖4-3所示。</p><p>  圖:4-3 U盤讀流程圖</p><p>  單片機(jī)利用查詢中斷方式來識(shí)別有沒U的存在,當(dāng)U盤插進(jìn)

73、來瞬間,CH375的INT#口會(huì)產(chǎn)生一個(gè)低電平的中斷信號(hào)反饋給單片機(jī),等待單片機(jī)把該信號(hào)恢復(fù)為高電平,完成U盤的成功接入操作,然后單片機(jī)利用FAT系統(tǒng)文件通過CH375來查詢U盤內(nèi)的MP3文件,并將讀到的數(shù)據(jù)流返回主程序送給VS1003進(jìn)行解碼,完成對(duì)U盤的讀操作。</p><p>  第五章 系統(tǒng)測(cè)試與分析</p><p>  5.1 系統(tǒng)設(shè)計(jì)過程</p><p&g

74、t;  設(shè)計(jì)前準(zhǔn)備工作,認(rèn)真查閱資料,對(duì)比可選方案,最終明確設(shè)計(jì)的方案,同時(shí)也對(duì)一些設(shè)計(jì)中的主要芯片進(jìn)行大概的了解。然后就是購(gòu)買所需器件,以便在畫圖過程中能夠按照元器件來畫出封裝。運(yùn)用專業(yè)的電路設(shè)計(jì)軟件Altium Designer來設(shè)計(jì)原理圖,添加相對(duì)應(yīng)的元件封裝后便可成功導(dǎo)入PCB圖制作,然后需在PCB面板上進(jìn)行線路的布線和元器件的位置擺放,過程中應(yīng)考慮元器件布局的合理性,線路的干擾性等問題。嚴(yán)格遵守地線大于電源線大于信號(hào)線的布線規(guī)

75、則。要制作出電路板,還必須在打印PCB圖之后進(jìn)行熱轉(zhuǎn)印,如果轉(zhuǎn)印完畢的銅板線路有斷開或者不清楚的現(xiàn)象,則可用油性墨筆補(bǔ)齊,等油墨干之后采用鹽酸與雙氧水配置的混合液進(jìn)行洗板。洗板后為了減少污染環(huán)境應(yīng)對(duì)廢液進(jìn)行回收。然后對(duì)板進(jìn)行打孔,根據(jù)不同封裝孔的大小采用不同的鉆孔針。隨后要用砂紙擦去銅上的碳粉,涂上用酒精和松香配置的松香水,因?yàn)檫@樣可以幫助焊接錫,防止銅被氧化。最后是焊板,焊接時(shí)間不可太久,以免燒壞芯片或元器件,焊接時(shí)要防虛焊。至此就完

76、成了一塊電路板的制作,接下來就是針對(duì)模塊的調(diào)試。</p><p>  在本次設(shè)計(jì)中,由于Atmega128的管腳比較多,對(duì)設(shè)計(jì)者來說印PCB也是有一定的難度的,為了節(jié)約成本,做單層板比較經(jīng)濟(jì),雖然系統(tǒng)的跳線多,但是不會(huì)影響性能的實(shí)現(xiàn)。當(dāng)然也可以手工做雙層板,在做雙層板時(shí)要注意手工熱轉(zhuǎn)印時(shí)圖紙上下的對(duì)齊,這樣才能使熱轉(zhuǎn)印后板上的封裝孔對(duì)齊,這也是一種技術(shù)活。一開始,我在設(shè)計(jì)中也用了雙層板,追求的是出板的美觀性,可是

77、經(jīng)過多次熱轉(zhuǎn)印后才能成功,可惜過孔太多,焊接技術(shù)有待提高,故選用了單層板設(shè)計(jì),優(yōu)化了布線。而對(duì)于VS1003解碼模塊,由于諸多原因,沒能成功做出手工的模塊板,原因如下:元件布局復(fù)雜,更重的是貼片式,對(duì)于初學(xué)者來說具有一定的難度;做出的板無法正常解碼,影響大。手工版的VS1003解碼模塊的布局無法與主板模塊構(gòu)成一個(gè)整體的美觀??偟膩碚f,自身存在焊板技術(shù)不高,PCB元件布局合理性安排不夠,故所做的VS1003解碼板最終失敗,只能選用現(xiàn)買的工

78、業(yè)板模塊或把PCB圖發(fā)到加工廠去做成工業(yè)板,這樣可避免手焊的故障。總結(jié):做板需要耐心,需要技巧,在原理圖設(shè)計(jì)過程中需要懂設(shè)計(jì)原理,謹(jǐn)慎檢查,對(duì)焊貼片式芯片時(shí),注意把握電烙鐵融錫的時(shí)間,不能燙太久。</p><p><b>  5.2 模塊的調(diào)試</b></p><p>  硬件完成后,接下來就是軟件的編寫與調(diào)試。在程序的編寫過程中,為了規(guī)范程序的書寫,而且考慮到本設(shè)計(jì)

79、的模塊比較多,如果只是用一個(gè)XX.C文件來編寫則程序會(huì)相當(dāng)繁雜,并且不方便錯(cuò)誤的檢查,所以本設(shè)計(jì)程序運(yùn)用了多個(gè)XX.C和XX.H文件,這樣不僅簡(jiǎn)化了程序,并且也方便今后對(duì)該程序的移植,很多高級(jí)工程師都是利用這種程序編程方式。編程過程中利用了一個(gè)工程整體的宏定義,管理著整個(gè)工程。</p><p>  在調(diào)試的過程中,一開始需要解決主控芯片的熔絲問題,然后開始查找相關(guān)資料大概了解本設(shè)計(jì)的原理,接著從顯示部分開始調(diào)試。

80、一個(gè)MP3需要看進(jìn)程,就必須用到顯示屏,所以我是從驅(qū)動(dòng)5110液晶開始調(diào)試的。5110的數(shù)據(jù)口很少,用到SPI模式驅(qū)動(dòng)(也可以用模擬得SPI模式方式驅(qū)動(dòng)),仔細(xì)查閱了芯片SPI工作方式,知道SPI是一種同步的串行接口,它有一個(gè)片選線、時(shí)鐘線、數(shù)據(jù)輸出線、數(shù)據(jù)輸入線,對(duì)于5110液晶不需要讀數(shù)據(jù),所以不需要數(shù)據(jù)輸入線,通過時(shí)鐘線進(jìn)行同步,在對(duì)照時(shí)序圖后成功驅(qū)動(dòng)了5110液晶,成果是:能在5110液晶上顯示字符。接著是SD卡的調(diào)試,在SD卡

81、的調(diào)試過程中,出現(xiàn)了很多問題,一開始無法使SD卡初始化成功,仔細(xì)對(duì)照資料,才發(fā)現(xiàn)對(duì)SD卡的SPI驅(qū)動(dòng)時(shí)序不對(duì),通過在網(wǎng)上查找單片機(jī)驅(qū)動(dòng)SD卡SPI方式的資料,最后終于能驅(qū)動(dòng)SD卡,可是對(duì)于SD卡讀取FAT文件方面還存在很大問題,在調(diào)試的液晶界面上,能顯示LCD初始化成功,SD卡初始化成功,可是在SD卡內(nèi)放歌曲,還是無法識(shí)別,此時(shí)在同學(xué)的提示下,我又把字庫(kù)文件放到了SD卡根目錄下,可是還是沒辦法解決,無法識(shí)別FAT系統(tǒng)文件。我認(rèn)真地查看了

82、FA</p><p><b>  簇的計(jì)算公式:</b></p><p> ?。ㄉ葏^(qū)*512/4)-2 公式中的4表示每4個(gè)字節(jié)表示一個(gè)簇項(xiàng)</p><p>  第2簇是根目錄所在的簇,它的位置在第二個(gè)FAT表。讀文件,從首簇開始,對(duì)于文件滿一簇的數(shù)據(jù)就可以把一簇的數(shù)據(jù)讀出來,但是結(jié)尾不是一簇的部分,就要計(jì)算它占用了簇內(nèi)幾個(gè)扇區(qū),把占用整個(gè)扇區(qū)

83、的部分直接按扇區(qū)讀出來,而最后很有可能是零散的若干個(gè)字節(jié),不是一個(gè)扇區(qū)[13]。對(duì)于這部分要將整個(gè)扇區(qū)讀出,截取其中有效數(shù)據(jù)的部分。</p><p>  簇的大小一般是2n個(gè)扇區(qū)</p><p>  根目錄區(qū)扇區(qū)數(shù)=根目錄項(xiàng)數(shù)*32/每扇區(qū)字節(jié)數(shù)</p><p>  以上就是解決FAT文件結(jié)構(gòu)的一些知識(shí)。</p><p>  應(yīng)用FAT系統(tǒng)文

84、件就可以很快解決歌曲的切換問題。往下需要加進(jìn)來的就是VS1003模塊,由于這些模塊都是從淘寶上買來的測(cè)試模塊,所以在硬件方面一般不會(huì)有太大問題,在加入VS1003模塊后,剛開始插上耳機(jī)無法聽到聲音,我仔細(xì)檢查了接線,還認(rèn)真對(duì)照了VS1003芯片的官網(wǎng)發(fā)布的驅(qū)動(dòng)資料,終于能在耳機(jī)下聽到雜音。最后就是對(duì)U盤通信進(jìn)行調(diào)試,由于U盤的驅(qū)動(dòng)芯片CH375內(nèi)嵌通信協(xié)議,所以只需按照協(xié)議來調(diào)用其指令,按照寫入所需的命令,便能實(shí)現(xiàn)其初始化。接下來就是完

85、善5110液晶上的界面,由于液晶是一種84x48的點(diǎn)陣LCD,可以顯示4行漢字,如果要顯示一個(gè)字母那可用8X6的點(diǎn)陣就可以顯示,一開始考慮如何顯示進(jìn)程,參考了論壇中一些例子,最終用邊為2個(gè)點(diǎn),長(zhǎng)為24個(gè)點(diǎn)來點(diǎn)亮一根進(jìn)程軸,中間的點(diǎn)是不亮的,所以看起來很美觀,但是對(duì)于進(jìn)程和歌曲的同步而言的確是個(gè)難題,也只能請(qǐng)教一些對(duì)這方面有經(jīng)驗(yàn)的朋友和查看一些文檔,最后發(fā)現(xiàn)可以利用VS1003解碼芯片內(nèi)含的時(shí)鐘同步,這也是為什么時(shí)鐘端用同一根線的原因,同

86、時(shí)也可以把解碼時(shí)間送給液晶,在液晶上顯示出來。</p><p>  以上就是各模塊的調(diào)試,這樣一個(gè)簡(jiǎn)單的MP3就可以完成了。能在液晶屏上顯示進(jìn)程軸,音量軸,和頻譜。美觀,易操作。</p><p>  5.3 系統(tǒng)測(cè)試達(dá)到的技術(shù)指標(biāo)</p><p>  1、實(shí)現(xiàn)了單片機(jī)對(duì)SD卡的讀寫操作、對(duì)U盤的高速讀取及SD卡內(nèi)部數(shù)據(jù)儲(chǔ)存結(jié)構(gòu)。此指標(biāo)界面如圖5-1所示,在程序的設(shè)定

87、中實(shí)現(xiàn)了液晶初始化OK、VS1003初始化OK、SD卡初始化OK、FAT32初始化OK、提示沒有MP3文件。</p><p>  圖5-1:初始化的界面</p><p>  2、能采用VS1003解碼電路進(jìn)行音頻解碼,得到比較高質(zhì)的音質(zhì)。</p><p>  3、能在諾基亞5110上顯示歌曲題目和進(jìn)程以及動(dòng)態(tài)頻譜。此指標(biāo)調(diào)試中的界面如圖5-2,5-3所示。</

88、p><p>  圖5-2:調(diào)試中的歌曲進(jìn)程</p><p>  圖5-3:播放歌曲中的界面</p><p>  4、用按鍵控制音樂的播放、暫停、快進(jìn)、后退,此指標(biāo)如圖5-4所示。</p><p>  圖5-3:運(yùn)行中的整體實(shí)物圖</p><p><b>  第六章 結(jié)束語(yǔ)</b></p>

89、<p>  經(jīng)過半年的不懈努力,在老師的耐心指導(dǎo)和同學(xué)的熱心幫助下,我終于按期完成了畢業(yè)設(shè)計(jì)。</p><p>  通過這次令人深刻的畢業(yè)設(shè)計(jì),不僅檢驗(yàn)了我大學(xué)所學(xué)的知識(shí),還讓我更加深刻地體會(huì)到學(xué)電子調(diào)程序的樂趣,也為今后從事電子事業(yè)奠定了基礎(chǔ)。過程中讓我更加深入了解到了SD卡存儲(chǔ)文件的過程、SD卡工作原理、VS1003解碼原理,SPI方式以及Atmega128的結(jié)構(gòu)功能和具體使用,也使我再一次深入

90、學(xué)習(xí)了電路PCB板的設(shè)計(jì)與制作。本次設(shè)計(jì),不但鞏固了我們所學(xué)的專業(yè)知識(shí),而且還增長(zhǎng)了課外知識(shí),加強(qiáng)了自身的動(dòng)手能力。</p><p>  本設(shè)計(jì)經(jīng)過各個(gè)模塊的單獨(dú)調(diào)試,運(yùn)用了逐漸添加模塊調(diào)試的方法,在設(shè)計(jì)功能上已基本能實(shí)現(xiàn)設(shè)計(jì)的基本要求。本設(shè)計(jì)硬件簡(jiǎn)單,軟件也不是很復(fù)雜,具有易于開發(fā), 成本較低, 安全可靠, 方便實(shí)用,操作方便等特點(diǎn)。我相信對(duì)于每一個(gè)即將畢業(yè)的大學(xué)生來說,實(shí)打?qū)嵉刈龀鲞@樣的一個(gè)音樂播放器,將會(huì)收

91、獲頗多。 </p><p>  總之,音樂播放器的設(shè)計(jì)采用了Atmega128單片機(jī)作為系統(tǒng)的中央處理控制單元,結(jié)合了操作軟件,實(shí)現(xiàn)了歌曲的播放、暫停、上下曲切換、歌曲進(jìn)度的顯示、聲音大小調(diào)節(jié)等功能。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 高立艾. 可遙控車載MP3播放器的設(shè)計(jì)

92、[D]. 河北農(nóng)業(yè)大學(xué) 2006.</p><p>  [2] 王洪亮. 車載MP3播放器音頻解碼的軟件設(shè)計(jì)[D]. 哈爾濱理工大學(xué) 2010.</p><p>  [3] 張洪,董秀成. 基于AVR單片機(jī)的通用USB接口模塊設(shè)計(jì)[J].國(guó)外電子元器件.2008(05).</p><p>  [4] 劉有利. 基于USB的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[D]. 西安電子科技大

93、學(xué) 2006.</p><p>  [5] 戴小俊,丁鐵夫,鄭喜鳳. 基于USB和DSP的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].電子技術(shù)應(yīng)用.2007(01).</p><p>  [6] 劉有利. 基于USB的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[D]. 西安電子科技大學(xué) 2006.</p><p>  [7] 謝兵. ICCAVR和Protues在單片機(jī)教學(xué)中的應(yīng)用[J]. 科技信息.20

94、10(09).</p><p>  [8] 劉素花,龔德俊,徐永平,李思忍. SD卡在海洋數(shù)據(jù)存儲(chǔ)中的應(yīng)用[J]. 海洋科學(xué).2009(03).</p><p>  [9]SanDiskCorporation.SanDiskSecureDigitalCardProductManual.Versionl.9,2003-12.</p><p>  [10] SD Gro

95、up. SD specifications part 1: physical layer simplified specification version 2.0,september 25, 2006.</p><p>  [11]戴士劍,涂彥暉.數(shù)據(jù)恢復(fù)技術(shù)[D].電子工業(yè)出版社.2005.</p><p>  [12] 張凱,姜熙君,陳磊,金振成. MMC卡的文件系統(tǒng)及其實(shí)現(xiàn)方法[J]

96、. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用.2006(05).</p><p>  [13] 王德沅. MP3~MP6播放器探秘(4)[J]. 電子制作. 2010(04).</p><p>  [14] 康華光. 《電子技術(shù)基礎(chǔ)》(數(shù)字部分 第四版)[M]. 高等教育出版社,2000:198-200.</p><p>  [15]沈建良.ATmega128 單片機(jī)入門與提高[M]

97、. 北京航空航天大學(xué)出版社,2009:200-218</p><p>  [16] 謝龍漢,魯力. Altium Designer 原理圖與PCB設(shè)計(jì)及仿真[M].電力工業(yè)出版社,2011:250-300.</p><p>  [17] 覃俊,林芳. 語(yǔ)言程序設(shè)計(jì)教程[M]. 清華大學(xué)出版,2008:12-250.</p><p>  [18] 豐帆. MP3數(shù)字音

98、頻編解碼算法的研究及實(shí)現(xiàn)[D]. 西安電子科技大學(xué) 2008.</p><p><b>  致謝</b></p><p>  光陰似箭,白駒過隙,本論文的研究工作已接近尾聲,在此我要向我的指導(dǎo)老師侯義鋒老師致以衷心的謝意。侯老師對(duì)論文的研究方法、研究目的和學(xué)術(shù)思想給予了我嚴(yán)格的要求和有效的指導(dǎo)。他嚴(yán)謹(jǐn)?shù)慕虒W(xué)態(tài)度、認(rèn)真細(xì)致的敬業(yè)精神鼓勵(lì)我不斷攻克難關(guān),保證了我的論文能按

99、要求順利地完成。我取得的每一點(diǎn)成績(jī)都與侯老師的精心指導(dǎo)和關(guān)心是分不開的。再次感謝侯老師幾個(gè)月來對(duì)我始終如一的關(guān)心和幫助。是他在我設(shè)計(jì)當(dāng)中給了我許多寶貴的建議,不斷的鼓勵(lì)我,耐心的幫我修改論文。從課題的選取,到開題報(bào)告,到系統(tǒng)的設(shè)計(jì),直到我通過答辯的這一刻,無不凝聚著侯老師的辛勞。我謹(jǐn)向侯老師致以最誠(chéng)摯的敬意和衷心的感謝。</p><p>  另外,要感謝學(xué)院領(lǐng)導(dǎo)對(duì)我們專業(yè)的重視和關(guān)心,為我們提供這么好的動(dòng)手操作環(huán)

100、境,讓我們的動(dòng)手能力顯著提高。再次,要感謝在我的畢業(yè)設(shè)計(jì)當(dāng)中遇到困難時(shí),給與我的熱情幫助和支持的各位老師和同學(xué),正是他們不厭其煩的和我一起討論相關(guān)問題,一起探索遇到的困難,使少走了不少?gòu)澛?。我向他們表示衷心的感謝!</p><p>  同時(shí),借此機(jī)會(huì)向所有幫助、關(guān)心、支持過我的老師、朋友和同學(xué)們表示最衷心的感謝!</p><p>  最后,要感謝電子系所有老師,謝謝他們對(duì)我大學(xué)四年的精心栽

101、培,為我以后的學(xué)習(xí)工作打下了堅(jiān)實(shí)的基礎(chǔ)。謝謝你們!</p><p>  附錄1(原理圖、PCB圖、實(shí)物圖)</p><p>  1、主控板原理圖及PCB</p><p>  附圖1:主控板原理圖</p><p>  附圖2:主控板PCB圖</p><p><b>  2、解碼模塊原理圖</b>&l

102、t;/p><p>  附圖3:解碼模塊原理圖</p><p>  附圖4:主控模塊實(shí)物圖</p><p><b>  附錄2(程序)</b></p><p>  1、main.h文件</p><p>  #include <iom128v.h></p><p>  

103、#include <macros.h></p><p>  #include "eeprom.h"</p><p>  #include "SD.h"</p><p>  #include "FAT32.h"</p><p>  #include "VS1003

104、B.h"</p><p>  #include "key.h"</p><p>  #include "5110.h"</p><p>  #include "task.h"</p><p>  #include "CH375INC.H"</p&g

105、t;<p>  #define SETBIT(x, y) (x |= y)</p><p>  #define CLEARBIT(x, y) (x &= ~y)</p><p>  extern void Delay_us(unsigned int time);</p><p>  extern void Delay_ms(

106、unsigned int time);</p><p>  extern void ASCII(unsigned char *b,unsigned char n);</p><p>  extern void main_init(void);</p><p>  extern void IO_init(void);</p><p><

107、b>  main.c文件</b></p><p>  #include "main.h"</p><p>  unsigned int MP3_total=0,MP3_current_number;</p><p>  unsigned int xi;</p><p>  unsigned char pl

108、ay_state;</p><p>  unsigned char key_value=play;</p><p>  unsigned char set_volume; </p><p>  unsigned char buffer[512]; //緩存扇區(qū)的512個(gè)字節(jié) </p><p>  void main(vo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論