




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、本科(bnk)畢業(yè)論文基于STM32的MP3音頻播放器制作二 級 學 院機械與電子工程學院專 業(yè)電子信息工程年 級學 號學 生 姓 名指 導 教 師職 稱完 成 時 間獨 創(chuàng) 性 聲 明本人鄭重聲明:所呈交的畢業(yè)論文(設(shè)計)是本人在指導老師指導下取得的研究成果。除了文中特別加以注釋和致謝的地方外,論文(設(shè)計)中不包含其他人已經(jīng)發(fā)表或撰寫的研究成果。與本研究成果相關(guān)的所有人所做出的任何貢獻均已在論文(設(shè)計)中作了明確的說明(shumng)并表示了謝意。簽名(qin mng): 年月日授權(quán)(shuqun)聲明本人完全理解賀州學院有關(guān)保留、使用本科生畢業(yè)論文(設(shè)計)的規(guī)定,即:學院有權(quán)保留并向國家有
2、關(guān)部門或機構(gòu)送交畢業(yè)論文(設(shè)計)的復印件和磁盤,允許畢業(yè)論文(設(shè)計)被查閱和借閱。本人授權(quán)賀州學院可以將畢業(yè)論文(設(shè)計)的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復制手段保存、匯編論文(設(shè)計)。本人論文(設(shè)計)中有原創(chuàng)性數(shù)據(jù)需要保密的部分為:無。簽 名: 年月日指導教師簽名: 年月日目 錄 TOC o 1-3 h z u HYPERLINK l _Toc387409310 摘 要 PAGEREF _Toc387409310 h 1 HYPERLINK l _Toc387409311 引 言 PAGEREF _Toc387409311 h 2 HYPERLINK l _T
3、oc387409312 1 方案設(shè)計 PAGEREF _Toc387409312 h 3 HYPERLINK l _Toc387409313 1.1主要(zhyo)內(nèi)容 PAGEREF _Toc387409313 h 3 HYPERLINK l _Toc387409314 2 系統(tǒng)(xtng)硬件設(shè)計 PAGEREF _Toc387409314 h 3 HYPERLINK l _Toc387409315 2.1 整體(zhngt)設(shè)計思路 PAGEREF _Toc387409315 h 3 HYPERLINK l _Toc387409316 2.2 硬件器件的選擇 PAGEREF _Toc38
4、7409316 h 4 HYPERLINK l _Toc387409317 2.3 硬件系統(tǒng)框圖 PAGEREF _Toc387409317 h 5 HYPERLINK l _Toc387409318 2.4 硬件模塊化原理圖設(shè)計 PAGEREF _Toc387409318 h 6 HYPERLINK l _Toc387409319 2.5 硬件PCB設(shè)計 PAGEREF _Toc387409319 h 13 HYPERLINK l _Toc387409320 2.6 本章小結(jié) PAGEREF _Toc387409320 h 14 HYPERLINK l _Toc387409321 3 系統(tǒng)軟
5、件的設(shè)計 PAGEREF _Toc387409321 h 14 HYPERLINK l _Toc387409322 3.1 設(shè)計思路 PAGEREF _Toc387409322 h 14 HYPERLINK l _Toc387409323 3.2 軟件模塊化設(shè)計 PAGEREF _Toc387409323 h 14 HYPERLINK l _Toc387409324 3.3 系統(tǒng)整合 PAGEREF _Toc387409324 h 22 HYPERLINK l _Toc387409325 3.4 本章小結(jié) PAGEREF _Toc387409325 h 23 HYPERLINK l _Toc3
6、87409326 4 系統(tǒng)調(diào)試 PAGEREF _Toc387409326 h 23 HYPERLINK l _Toc387409327 4.1 獨立調(diào)試 PAGEREF _Toc387409327 h 23 HYPERLINK l _Toc387409328 4.2 硬件調(diào)試問題 PAGEREF _Toc387409328 h 23 HYPERLINK l _Toc387409329 4.3 軟件調(diào)試問題 PAGEREF _Toc387409329 h 24 HYPERLINK l _Toc387409330 4.4 本章小結(jié) PAGEREF _Toc387409330 h 25 HYPER
7、LINK l _Toc387409331 5 終結(jié)與展望 PAGEREF _Toc387409331 h 25 HYPERLINK l _Toc387409332 參考文獻 PAGEREF _Toc387409332 h 26 HYPERLINK l _Toc387409333 附 錄 PAGEREF _Toc387409333 h 27 HYPERLINK l _Toc387409334 Abstract PAGEREF _Toc387409334 h 28 HYPERLINK l _Toc387409335 致 謝 PAGEREF _Toc387409335 h 29賀州學院本科畢業(yè)論文(
8、設(shè)計)賀州學院本科畢業(yè)論文(設(shè)計) 基于(jy)STM32的MP3音頻(ynpn)播放器的設(shè)計(shj)作 者 指導教師 摘 要: 本畢業(yè)策畫是一款基于STM32的音頻MP3播放器創(chuàng)作,功能包含:音頻播放,電子圖書,圖片瀏覽,畫板,錄像,錄音機,日歷,游戲,收音機,記事本,計算器等。整個系統(tǒng)組成主要由音頻解碼部分、收音機部分、音效處理部分、SD卡部分、功率放大、電源部分、人機交互等幾個部分組成,整個系統(tǒng)由一塊MCU(STM32F103RBt6)控制運行,各個局部協(xié)調(diào)運作。關(guān)鍵詞: STM32;MP3音頻播放; 引 言伴隨電子畛域的各個(gg)技術(shù)的迅速發(fā)展,各類電子產(chǎn)品的消費也產(chǎn)生了革命性的轉(zhuǎn)
9、變,引領(lǐng)新技術(shù)、創(chuàng)新產(chǎn)品層見疊出。特別是跟著網(wǎng)絡(luò)媒體的技術(shù)的遍及、數(shù)字音頻視頻技術(shù)的迅速發(fā)展,和種種視頻,音頻數(shù)據(jù)壓縮標準和相應(yīng)的終端設(shè)備相繼問世,已成為消費電子產(chǎn)品新的快速增長點。集成MP3的優(yōu)點,同時擁有更多的新技術(shù)。 第一款MP3的出現(xiàn)是在1998年,從它問世電子消費市場短短的幾個月時間就在市場上站穩(wěn)的腳,而且消費的趨勢一直呈上增長,直到2005年之后MP5的出現(xiàn),而MP5的出現(xiàn),更是把MP3幾乎擠出了市場,MP5不光(bgung)能夠播放MP3、MP4,更是可以直接播放AVI和RMVB等合流的影片格式,說白了便是MP5具備MP3、MP4的全部功效,同時還具有他們不具備的功效,是以MP5
10、代替MP3只是時間的問題,當前MP5的價錢較高是最主要的緣由,要是MP5的價錢降下來了,便是MP3離開消費者的時候了。當前此外一個數(shù)碼產(chǎn)物-數(shù)碼相框,跟著數(shù)碼相機的不斷廣泛應(yīng)用,也在偷偷的襲來,數(shù)碼相框便是能直接播放JPG/JPEG的一個微型顯示器,正常的數(shù)碼相框比MP3體積大,然而它們的本來目的不是面向移動設(shè)備的,數(shù)碼相框重要作用在于家庭,它們主要功能不再移動上面,實際上,數(shù)碼相框主要功能是顯示照片,如果做成移動設(shè)備的話,體積必定不能太大,但是體積小帶來的結(jié)果是圖片顯示效果就不好。現(xiàn)在的數(shù)碼相框顯示屏分辨率一般是480*720,對于日常的照片顯示效果還是可以應(yīng)付過來的,當然數(shù)碼相框的開發(fā)者對
11、圖像顯示進行了精心設(shè)計,使得我們的照片的分辨率不管(bgun)是怎么樣的,它都會執(zhí)行最優(yōu)的選擇,以用來顯示最佳效果,同時數(shù)碼相框一般還具有其他附加功能,MP3便是其中一個功能,可以讓圖片與聲音同時播放,為相片的瀏覽添加了聲音的色彩,同時數(shù)碼相框還擁有TVOUT的功效,這就很好的提高了分辨率的顯示,讓照片可以在電視上顯示,可以大大的提高相片的觀賞價值。通過對以上兩款數(shù)碼產(chǎn)品的分析,可以發(fā)現(xiàn),新出的數(shù)碼產(chǎn)品都包含了MP3的功能,但是又不限于此,也就是集成了MP3的優(yōu)點,同時擁有原來MP3不具有的功能。這樣,大大的提高了消費者對新的數(shù)碼產(chǎn)品需求。1 方案設(shè)計1.1主要(zhyo)內(nèi)容本設(shè)計課題(kt
12、)是一個由STM32f103RBt6主控來完成(wn chng)MP3音頻播放設(shè)計的軟硬件相結(jié)合類的設(shè)計題目。能夠?qū)崿F(xiàn)MP3的基本播放功能,也具有其他多樣化的外擴功能,系統(tǒng)的整體功能包含:音頻播放,電子圖書,圖片瀏覽,畫板,錄像,錄音機,日歷,游戲,收音機,記事本,計算機等。 系統(tǒng)的組成部分只要有VS1003的音頻解碼、TEA5767的收音制作、CD3314音量級處理、SD卡控制、功率放大、電源、人機交互等,全系統(tǒng)由一塊小型MPU(STM32F103RBT6)掌管運行,利用各模塊通信協(xié)議協(xié)調(diào)運轉(zhuǎn)。本系統(tǒng)實現(xiàn)多樣化功能,非常具有挑戰(zhàn)性,主要的重心難點在于FAT32文件及系統(tǒng)的解析,JPEG/BM
13、P圖片數(shù)據(jù)格式解碼,觸摸屏的運轉(zhuǎn)等。由于本系統(tǒng)的特點需要,采用了各個擊破的方法,一一實現(xiàn)以上功能,最終完成整個系統(tǒng)的功能。2 系統(tǒng)硬件設(shè)計2.1 整體設(shè)計思路 MP3音頻播放重點完成圖片瀏覽和音樂播放等,所以本設(shè)計要求對MCU內(nèi)存運行、處理的能力比較高,因為圖片解碼壓縮需要的RAM比較多,對于MP3播放,要求較高的處理速度,特別是320Kbps的MP3格式數(shù)據(jù)的處理,為了保證MP3歌曲的流暢播放處理速度必須要快。可選擇的MCU有16位的AVR,8位的STC等,可選擇的32位的處理器有SAMSUNG、NXP、STM32、ATMEL等。在RAM方面來說,對于8位單片機內(nèi)部的RAM一般在4Kbyte
14、以內(nèi),更多的內(nèi)存是需要外部提供,32位的單片機里面,SAMSUNG很少自帶RAM,也要外部提供,對于本設(shè)計來說,成本越低越好,外部提供的RAM必定會提高成本的開發(fā),所以為了更好的掌控成品的高低,盡可能的選用MCU自帶有FLASH和RAM的。其次,本設(shè)計有MP3歌曲的播放以及JPEG/BMP圖片瀏覽等功能,但是這兩種文件格式需要較大的存儲空間,可供選擇的FLASH芯片,如SAMSUNG公司的K9F系列,但是這樣的話,整個系統(tǒng)的容量就不可以改變了,需要擴容是困難。相比較來說U盤和SD卡是個不錯的選擇,但SD卡相比較與U盤,在掌控上面較容易,而且相同的容量SD卡價格便宜一些,故系統(tǒng)選擇SD卡作為存儲
15、媒介。第三,MP3音樂(ynyu)的播放是在讀取SD卡和VS1003的同時進行的,它們用到的都是SPI通訊協(xié)議,所以需要主控芯片要有兩個或兩個以上SPI共使用,這樣才能有效的把讀取速度提高。綜上所述,本設(shè)計(shj)采用STM32f103RBT6作為主控芯片,該芯片具有的內(nèi)部資源加上一點外擴之后(zhhu)可以勝任本設(shè)計。2.2 硬件器件的選擇在系統(tǒng)實現(xiàn)的過程中,硬件選擇是非常重要的一部分,主控芯片已經(jīng)確定好了,接下來就是其他芯片的選取,來實現(xiàn)其相對應(yīng)的功能,下面我們重點分析以下幾個芯片的選型。2.2.1 MP3解碼芯片選擇使用STM32主控芯片解碼有兩種方法,第一是通過處理器的軟件解碼,第二
16、是通專用芯片解碼,第一種方法要求芯片運算速度非常高,而且聲音不是很流暢,對播放的采樣有極大要求,故選擇第二種專用芯片解碼。 本設(shè)計使用解碼MP3的芯片是VS1003,它支持WAV格式、MP3格式、MIDI格式、WMA格式等,同時可以設(shè)置調(diào)整音量高低等,而且還有一個功能是可以支持MICI,此外還可以擴展錄音功能。2.2.2 收音機芯片選擇本設(shè)計的收音功能只適用于FM收音,選用TEA5767芯片來實現(xiàn),TEA芯片是飛利浦公司生產(chǎn)的一款低功耗電調(diào)諧調(diào)的立體聲收音機芯片,該芯片通過IIC總線協(xié)議可以直接控制。可以實現(xiàn)調(diào)頻接收,頻率的范圍在76MHZ108MHZ,而且接收的是立體聲,帶信號強弱指示,但由
17、于芯片體積較小,焊接困難,所以直接采用模塊來實現(xiàn),使用非常方便,可以提高本設(shè)計效果,節(jié)約時間以及成本。2.2.3 EEPROM芯片選擇 本設(shè)計需要保存用戶的部分數(shù)據(jù),而STM32需要外部擴展EEPROM,防止系統(tǒng)掉電之后整個系統(tǒng)的數(shù)據(jù)將會復位,利用外擴的EEPROM芯片可以實現(xiàn)用戶數(shù)據(jù)的存儲,EEPROM芯片有很多可供選擇的,由于在學習過程中比較常用的是ATMEL的24CXX系列的,而且價格便宜,故本設(shè)計最終采用了ATMEL的24C16芯片。2.2.4 功率放大芯片(xn pin)選擇本設(shè)計包含兩塊放大芯片,一塊是用來放大從CD3314輸出的音頻信號以方便(fngbin)驅(qū)動耳機,另一塊是功率
18、放大,用來驅(qū)動揚聲器的。一級放大可供選擇非常多,比如TDA2822,TPA152等,但是TPA152與TDA2822比較(bjio)事,后者的優(yōu)勢比較大,TDA2822對音質(zhì)失真控制不好,THD大概在10%,而TPA152在帶有32負載的前提下THD是2%,在帶有10K負載的前提下小于0.01%。而且TPA152的輸出功率比TDA2822大,總輸出可以達到1.5W。因此,這里選取音質(zhì)相對好的TPA152芯片,作為耳機驅(qū)動芯片。 2.2.4電源芯片選擇本設(shè)計要求系統(tǒng)電壓輸入: 2.5V, 3.3V,5V.所以對電源的處理需要滿足能輸出以上電壓, 系統(tǒng)電源主要包括給數(shù)字芯片供電,這些電源需要的功率
19、小,可以選用REG1117-2.5和REG1117-3.3V穩(wěn)壓芯片供給2.5V和3.3V的電壓。REG1117的輸出電流為800ma,符合設(shè)計要求。對于5V輸入,也是采用LM2576,因為整個系統(tǒng)的數(shù)字部分電源供給都是來自5V的,所以它的電流較大。2.3 硬件系統(tǒng)框圖綜上分析,可以得出,整個設(shè)計系統(tǒng)由STM32F103RBT6芯片掌控,各個模塊電路的詳細介紹也在下面一一介紹,如圖2.1所示是整個硬件系統(tǒng)設(shè)計框圖。圖2.1 硬件(yn jin)系統(tǒng)框圖圖2.1描述了各個模塊與主控芯片之間的聯(lián)系,由于電源不被MCU控制,所以在圖2.1內(nèi)沒有(mi yu)畫出。由上圖2.1可以得出,整個硬件系統(tǒng)設(shè)
20、計以STM32F103RBT6為核心,通過各種方式控制各個模塊的工作(gngzu),使整個系統(tǒng)完成預定的功能。2.4 硬件模塊化原理圖設(shè)計在此節(jié)中,將根據(jù)上面的硬件系統(tǒng)框圖進行具體的硬件設(shè)計介紹,整個設(shè)計可以分為若干個模塊。下面對這些模塊進行逐一介紹。2.4.1 MCU和DS18B20模塊電路設(shè)計MCU為整個設(shè)計系統(tǒng)的核心,它控制著這個系統(tǒng)的運行,讓主控芯片穩(wěn)定運行是必要前提,下圖(圖2.2)為MCU的原理圖,包含一個后備電源UPS1,一個主電源VCC3.3和一個模擬電源,模擬電源通過從VCC3.3加濾波電路得到。MCU外圍的必須電路由濾波電容,下載電路(串口1)以及復位開關(guān)組成。同時,考慮到
21、系統(tǒng)需要時鐘功能,給時鐘部分增加了后背電源電路,通過二極管連接到VBAT腳,給實時時鐘供電。這里采用了雙電源結(jié)構(gòu),即在電源有外部供電的時候,后備電池不給時鐘供電,時鐘的電源來自外部,只有當外部電源斷開的時候,后備電源才給時鐘供電,以保持時鐘的計時,這樣可以延長后備電池的使用時間。同時,為了方便調(diào)試,電路中還添加一個多余的按鍵以及LED,以方便在調(diào)試時使用,而且為了最大化的使得布線難度的降低,布局的美觀,對一些IO的控制做了相應(yīng)的調(diào)整,而且所以的IO也全部引出,方便以后功能的擴展,如:門禁系統(tǒng)等。與此同時,SMT32F103RBT6自帶的USB口也引出,方便日后升級使用。這里(zhl)值得注意的
22、是,因為CD3314,TEA5767,AT24C16這三個器件(qjin)使用的是同一IIC接口,可以節(jié)省IO。圖2.2 MCU模塊(m kui)電路2.4.2 MP3解碼模塊電路設(shè)計MP3播放需要解碼,這里選用了VS1003解碼芯片,該芯片能解碼以下幾種格式的文件:MP3、WMA、MIDI、和WAV音頻文件,同時還具備錄音功能,此功能本設(shè)計暫時沒有用到,不過對其音頻錄音的電路設(shè)計保留了下來,以便日后使用。整個模塊電路如圖2.3所示。圖2.3 MP3解碼(jim)模塊電路VS1003的電源分模擬電源和數(shù)字電源兩種,對這兩種電源電路的設(shè)計對音質(zhì)的好壞有直接的影響,所以經(jīng)考慮(kol)本設(shè)計采用了
23、許多具有濾波和去耦功能的電容,選擇了LC設(shè)計電路,為VS1003工作提供一個穩(wěn)定的環(huán)境。2.4.3 收音機模塊(m kui)電路設(shè)計由于本系統(tǒng)直接采用TEA5767的收音機模塊來實現(xiàn)收音機功能,所以使得其外部電路大大簡化,只要通過少數(shù)的幾個元件就能實現(xiàn)收音機功能了。電路原理圖如圖2.4所示: 圖2.4 收音機模塊電路需要注意的是,收音機模塊(m kui)對電源敏感,同時對外部電路的干擾也較大,所以在這里,對模塊電源的處理采用了RC濾波加大電容的方式,能有效的降低收音機模塊對外部電源的干擾。也能保證收音機模塊電源的穩(wěn)定。圖中ANT為天線接口,通過外接天線,可以提高收音機的靈敏度。2.4.4 SD
24、卡模塊(m kui)電路設(shè)計因為MCU沒有自帶的專門SD卡模式接口,只能通過SPI通信(tng xn)模式訪問SD卡如下電路圖2.5s所示:圖2.5 SD卡模塊電路SD卡使用的是SPI模式,把它掛在MCU的SPI2模式上面。SD卡上面的SPI通信需要在每個IO上接一個42K左右的上拉電阻,這里選擇45K。SD卡電路連接比較簡單,只要連接沒有出錯,一般不會有什么大的問題STM32的SPI口在72M時鐘下,SPI的時鐘傳送速度可以達到18M,也就是SD卡最大的讀寫速度可以達到2.25Mbyte/s,足夠播放音頻格式了。2.4.5 音效處理模塊電路設(shè)計這里選擇的是CD3314作為音效處理芯片,電路圖
25、如圖2.6所示,CD3314支持最多四個輸入通道,這里我們用了其中三個,通道2對應(yīng)收音機音源,通道3對應(yīng)外部音源,通道4對應(yīng)MP3音源。通過IIC控制,可以實現(xiàn)這三個音源的切換。經(jīng)過處理的音頻信號從輸出端輸出到耳機放大器TPA152,通過放大驅(qū)動耳機,這樣我們就能聽到所要聽的聲音了。圖2.6音效處理模塊(m kui)電路2.4.6 FM24C16模塊(m kui)電路設(shè)計鐵電存儲器FM24C16的電路也是很簡單,只要通過簡單的供電,然后連接IIC總線(zn xin),就可以了。電路如圖2.7 所示:圖2.7 FM24C16模塊電路2.4.7 功放模塊電路設(shè)計因為本系統(tǒng)既有耳機輸出,又有喇叭輸出
26、,所以有兩個音頻放大電路:(一)基于TPA152的立體聲耳機放大電路;(二)基于TPA3100D02的功率放大電路。耳機放大電路如圖2.8所示,耳機放大電路采用官方推薦的電路結(jié)構(gòu),對從PT2314送來的音頻信號進行緩沖輸出,推動耳機工作。耳機輸出采用五針的專用耳機插座,這個插座具有開管功能,信號從1,4腳輸入,從2,3腳輸出,第五腳是地。如果沒有耳機插上,則有音頻信號從2,3腳輸出,如果耳機插上了,則2,3腳不會有音頻信號輸出。這樣通過連接2,3腳到D類功放上面,就可以實現(xiàn)耳機,功率輸出同一時間只能有一個工作。由于TPA152也是音頻信號輸出的一部分,對于這個芯片的供電,也是采用了LC濾波(l
27、b)的形式,減少電源干擾對音質(zhì)的影響。圖2.8 TPA152耳機(r j)放大電路功率放大電路(dinl)如圖2.9所示:圖2.9 TPA3100D02功率放大圖該芯片提供的輸出功率與負載電阻和輸入電壓有關(guān)。這里,我們采用(ciyng)12VDC供電,負載電阻為4歐姆,則能提供的輸出功率為15W。從而根據(jù)其DATASHEET可以計算輸出LC濾波環(huán)路的參數(shù),電感取15mH,電容分別為1uF和0.22uF。圖中的功能選擇部分可以有兩種選擇模式:(一)把MUTE接地,則會使芯片一直(yzh)處于工作狀態(tài)。(二)把MUTE和FAULT相接則可以實現(xiàn)短路檢測,在沒有出現(xiàn)輸出短路的時候,芯片正常工作,在出
28、現(xiàn)輸出短路的時候,F(xiàn)AULT輸出高電平,通過MUTE控制芯片停止輸出,這樣可以有效地保護芯片。2.4.8 TFTLCD2.8寸驅(qū)動(q dn)電路設(shè)計TFTLCD驅(qū)動電路如圖2.10所示,該部分電路也比較簡單。圖2.10 TFTLCD電路圖控制設(shè)計2.4.9 電源電路設(shè)計圖2.14 輸入電源電路這個電路采用兩塊REG1117芯片給系統(tǒng)提供電源,一塊提供3.3V的數(shù)字電源和模擬電源,它們通過電感連接,以減少數(shù)字電源對模擬電源的干擾。另外一塊提供2.5V的電壓,給VS1003的DSP提供核心電壓。兩者的輸入電壓均來自功率電源的5V輸出。2.5 硬件(yn jin)PCB設(shè)計PCB硬件(yn jin
29、)設(shè)計的時候主要注意一下若干點就好了:(1)對于(duy)電流比較大的走線,必須使用較寬的線寬(2)對于功率放大,最好以單點接地的方式連接。這樣可以有效的降低各部分信號的相互干擾,以達到最好的放大效果。(3)對于走線,不可以走銳角的線,直角也最好少走,最佳的是走弧線。因為銳角和直角的走線會在尖端產(chǎn)生EMI,尤其在高頻信號較明顯。(4)對于去耦電容,離芯片越近越好。(5)對于信號線,不要長距離的平行走線,可以有效的防止信號耦合2.6 本章小結(jié)在本章節(jié)中,首先是對整個系統(tǒng)的設(shè)計方案進行總體規(guī)劃,包含媒介存儲的選擇,主控芯片的選型,硬件器件的選取以及互交方式的確定,經(jīng)過總體方案的研究眼總結(jié),得出初步
30、的技術(shù)方案,具體確定了硬件器件的型號選取。接著詳細介紹了各個模塊之間的使用已經(jīng)設(shè)計,并說明了一些PCB布線的規(guī)則,接下來就是進入到軟件的設(shè)計了,在下一章節(jié)中,將對軟件進行詳細的說明。3 系統(tǒng)軟件的設(shè)計3.1 設(shè)計思路經(jīng)過上一章介紹,多功能MP3的硬件系統(tǒng)已經(jīng)完成了基本設(shè)計,但是一個完整的系統(tǒng)必須要有硬件和軟件的相互配合才能正常運行,如果沒有軟件沒那么硬件形同虛設(shè)。軟件是硬件的靈魂,硬件的實現(xiàn)價值體現(xiàn)在軟件的控制下。所以軟件和硬件二者缺一不可,缺一就等于失去了整個設(shè)計系統(tǒng)的可行性。多功能MP3的軟件設(shè)計涉及很多編程,這是一個很復雜的軟件設(shè)計系統(tǒng),不可能保證一次就把所有的代碼調(diào)試完成達到預期效果。
31、這里我對應(yīng)對各個模塊的功能一一的驗證過后,在通過最終的大整合在一起,從而實現(xiàn)最終想要的功能。3.2 軟件(run jin)模塊化設(shè)計從本設(shè)計來說,可以把軟件分為兩部分來區(qū)分:第一個是與硬件有直接聯(lián)系的底層(d cn)驅(qū)動軟件子系統(tǒng)。第二個是與硬件無關(guān)的應(yīng)用型軟件系統(tǒng)的設(shè)計。這樣可以把兩個軟件系統(tǒng)的設(shè)計分成許多個模塊。下面就一一介紹各個(gg)模塊的區(qū)分以及編程思路。3.2.1 LCD模塊驅(qū)動程序設(shè)計系統(tǒng)采用的LCD驅(qū)動芯片型號為ILI9320,它是單芯片的Soc驅(qū)動的晶體管顯示器,320 x240的分辨率,包括720路源極驅(qū)動與及320路柵極驅(qū)動,自帶顯存。顏色的深度是根據(jù)數(shù)據(jù)的大小來決定的。
32、在此僅講解部分重要指令,指令00h,當讀操作的時候,讀取控制器的型號;當寫操作的時候,打開/關(guān)閉OSC振蕩器。當寫操作設(shè)置OSC為高電平時,開啟內(nèi)部振蕩器;為0的時候,停止振蕩器。至少要等待10ms的時鐘穩(wěn)定之后,才可以繼續(xù)其他的功能設(shè)置。指令03h,進入模式命令。在此僅注意AM、I/D1、I/D0這3個位。具體的設(shè)置與及效果見圖21。圖21 液晶顯示方向控制3.2.2 觸摸屏模塊驅(qū)動程序設(shè)計本設(shè)計的輸入系統(tǒng)選用的是四線電阻式觸摸屏加ADS7846實現(xiàn)的,整個設(shè)計系統(tǒng)的控制都是通過觸摸屏控制的,所以,觸摸屏控制算法的好壞對系統(tǒng)有著舉足輕重的作用,這里有必要認識觸摸屏和ADS7846的工作原理。
33、觸摸屏工作原理:觸摸摸是放置在顯示器的最外邊的,當知道觸點在顯示器上的觸發(fā)坐標時,則可依據(jù)觸發(fā)位置相應(yīng)坐標點顯示內(nèi)容或圖符獲知觸摸者的意圖。電阻式觸摸屏在嵌入式系統(tǒng)中采用得較多。電阻屏的組成,如圖3.2,最底層是玻璃或有機玻璃構(gòu)成的基層。當觸摸到屏幕時,兩導電層在觸摸點處相碰。觸摸屏輸入(shr)系統(tǒng)意圖如圖3.3所示圖3.2 觸摸屏觸摸(ch m)示意圖圖3.3 觸摸屏輸入(shr)系統(tǒng)的組成3.2.3 SD卡模塊驅(qū)動程序設(shè)計SD卡通信協(xié)議有兩種:SPI模式和SD模式。SD卡讀寫的標準方式是SD模式,不過選用SD模式時需要選擇自帶帶有SD控制器接口的MCU,或者必須加入支持SD卡的讀寫的控制
34、單元。由于SD卡控制器接口在STM32F103RBT6沒有自帶的,不過STM32F103RBT6卻擁有強大的SPI接口,故本設(shè)計選用SPI模式讀取SD卡。CS低電平有效則進入SPI模式,反之工作在SD總線模式。SD卡初始化流程圖如圖3.7 所示。 圖3.7 SD卡初始化3.2.4 VS1003模塊(m kui)驅(qū)動程序設(shè)計VS1003通訊模式為SPI,本設(shè)計采用的是SPI1,這里(zhl)主要對VS1003如何初始化操作進行介紹。VS1003 與MCU相聯(lián)系的主要的7根數(shù)據(jù)線為: XRST、XDCS、XCS、DREQ、SCK、SO、SI。 XRST:VS1003復位(f wi)線,低電平有效。
35、XDCS:數(shù)據(jù)片選信號,低電平有效。XCS:命令片選信號,低電平有效。DREQ:數(shù)據(jù)請求,輸入總線。SCK、SI、SO:SPI接口線。VS1003模塊初始化步驟:硬復位,XRST =0;延時,XDCS、XCS、XRST置1;等待DREQ為高;軟件復位:SPI_MODE=0X0804;等待DREQ為高(軟件復位結(jié)束);設(shè)置VS1003的時鐘:SCI_CLOCKF=0X9800,3倍頻;設(shè)置VS1003的采樣率:SPI_AUDATA=0XBB81,采樣率48K,立體聲;設(shè)置重音:SPI_BASS=0X0055;設(shè)置音量:SCI_VOL=0X2020;向VS1003發(fā)送四個字節(jié)無效數(shù)據(jù),啟動SPI發(fā)
36、送;3.2.5 FM24C16模塊(m kui)驅(qū)動程序設(shè)計FM24C16也是采用IIC總線和MCU通信,通過標準的IIC操作,很容易(rngy)實現(xiàn)對FM24C16的讀寫。FM24C16的器件地址與頁地址是連在一起的,這里(zhl)需要注意。FM24C16的高四位為固定的1010,而第四位用來表示頁地址07,每頁擁有256個字節(jié),這樣FM24C16的總大小為2048字節(jié)。對FM24C16的讀操作,先寫入0XAx(x:07),再寫入要寫入的地址,緊跟著就可以寫入數(shù)據(jù)了。而對于FM24C16的讀操作,則稍微復雜一點在執(zhí)行寫操作的上述過程之后,再寫入0XAx+1,代表執(zhí)行讀操作,緊隨著就可以讀數(shù)據(jù)
37、了。3.2.6 TEA5767模塊驅(qū)動程序設(shè)計TEA5767收音機模塊支持IIC和三線模式,這里我們選擇IIC來控制。TEA5767的器件地址是0XC0,在對TEA5767的讀操作通過寫入0XC1來執(zhí)行。TEA5767的讀操作與寫操作基本相同,只是IIC開始之后寫入0XC1,將發(fā)送一個字節(jié)改為接收一個字節(jié)就可以了。3.2.7 RCT時鐘驅(qū)動程序設(shè)計RTC實時時鐘是利用STM32F103RBT6內(nèi)部的時鐘模塊實現(xiàn)的,根據(jù)STM32的DATASHEET,得到RTC實時時鐘的初始化過程如下:使能備份區(qū)域時鐘取消備份區(qū)域?qū)懕Wo軟復位備份區(qū)域開啟外部低速晶振等待晶振就緒設(shè)置LSI作為RTC時鐘RTC時鐘
38、使能設(shè)置時鐘分頻系數(shù)等待RTC寄存器操作結(jié)束允許RTC配置配置秒鐘寄存器配置更新等待RTC寄存器操作完成RTC時鐘的設(shè)置到這里就結(jié)束了,在RTC時鐘完成上述配置之后,就會每隔一段固定的時間,對秒鐘寄存器(RTC-CNT)進行加1。這個操作軟件不參與,一切由硬件執(zhí)行(zhxng)。時鐘分頻系數(shù)(RTC-PRL)確定固定時間,理論上因為外部低頻晶振是32.768Khz,所以只要在RTC-PRL內(nèi)寫入32768-1就可以得到精確的1秒了,不過因為晶振的誤差率,往往需要對這個值進行調(diào)整,以確保得到比較準確的走時。3.2.8 JPEG/BMP解碼模塊(m kui)程序設(shè)計JPEG/BMP圖片播放是本系統(tǒng)
39、(xtng)的一個重要功能,兩者的解碼均采用軟件實現(xiàn),BMP的解碼相對JPEG比較簡單,這里重點對JPEG的解碼原理進行介紹。JPEG解碼算法原理:JPEG壓縮是利用人的視角系統(tǒng)特性,采用量化和無損壓縮編碼相結(jié)合的方法去掉視角的冗余信息和數(shù)據(jù)本身的冗余信息來達到壓縮的效果。JPEG算法可分為基本JPEG(Baseline system)和擴展JPEG(Extended system)。本設(shè)計重點在為Baseline system的算法做介紹。JPEG解碼算法如圖3.9 所示:圖3.9 JPEG解碼算法框圖在JPEG解碼反量化的公式:其中,C(u,v)代表熵解碼輸出,Q(u,v)代表相應(yīng)的量化矩
40、陣。綜上所述具體說明了JPEG的解碼算法,在本設(shè)計中JPEG/JPG的解碼通過軟件來實現(xiàn)。返回值為此次解碼成功與否的標志。在執(zhí)行該函數(shù)之前,需要先執(zhí)行圖片解碼的兩個函數(shù),一個函數(shù)用來清空個量化表,一個函數(shù)用來獲取解碼所需的各種參數(shù)。對于BMP的解碼在這里(zhl)不做詳細解說了。3.2.9 FAT32文件系統(tǒng)模塊(m kui)程序設(shè)計本設(shè)計(shj)需要讀取SD卡,故必須對文件系統(tǒng)進行管理,本系統(tǒng)的重點是對文件系統(tǒng)的解析。本設(shè)計支持FAT16和FAT32兩種文件系統(tǒng),由于FAT文件系統(tǒng)的構(gòu)架非常復雜而且龐大,這里我們主要FAT32文件系統(tǒng)的構(gòu)架做簡單介紹以便可以正常讀取FAT32系統(tǒng)下的文件。
41、FAT32文件系統(tǒng):(1)DBR(操作系統(tǒng)引導記錄區(qū))的說明要想操作FAT32我們首先要了解DBR。其中DBR 的核心部分為BPB (BIOS Parameter Block)(第1290 字節(jié)為BPB),BPB 的意義需要我們深入詳細的去理解,才能夠更好的完成和操控FAT32。DBR各字節(jié)意義如圖3.10:圖3.10 DBR區(qū)各字節(jié)意義DBR區(qū)內(nèi),對操作有用的數(shù)據(jù)只有90個字節(jié)(即BPB字段)。但是就在這90 個字節(jié)就可以獲取我們關(guān)于磁盤的許多信息,比如每扇區(qū)字節(jié)數(shù)、每簇扇區(qū)數(shù)、磁道扇區(qū)數(shù)等等。BPB部分數(shù)據(jù)字節(jié)意義如圖3.11所示: 圖3.11 BPB部分(b fen)字段意義表通過(tn
42、ggu)對上面字段讀取的了解,可以得到FAT32文件系統(tǒng)的許多緊要信息:每扇區(qū)字節(jié)數(shù)、每簇扇區(qū)數(shù)、根目錄簇號、該卷總扇區(qū)數(shù)、FAT表1所在的扇區(qū)數(shù)等。FAT32 文件系統(tǒng)最具特色(ts)的一部分是FAT 表,F(xiàn)AT32 的精華(jnghu)在于(ziy)FAT表的鏈式存儲機制,它可以是的數(shù)據(jù)存儲不連接,使磁盤的功能得到更好的發(fā)揮。一個FAT表的內(nèi)容如圖3.12所示: 圖3.12 FAT表這樣,在我們獲取文件的起始簇隨后,就可以從起始簇開始讀取文件的內(nèi)容了,如果大于一個簇,則可在FAT表找下一個簇號,直到文件結(jié)束,從而達到了文件的讀取功能。3.3 系統(tǒng)整合上一節(jié)詳細介紹了系統(tǒng)各個模塊程序的設(shè)計,
43、一步一步實現(xiàn)了系統(tǒng)的各個功能,接下來需要做的工作就是把整個系統(tǒng)的模塊程序整合起來,成為一個整體。 本設(shè)計的主控制程序通過調(diào)用各個模塊的相關(guān)底層函數(shù),從而實現(xiàn)系統(tǒng)的功能整合,主控制程序的流程圖如圖3.15所示,系統(tǒng)開機以后,第一步進行的是對各個硬件模塊的初始化;第二步是對FAT文件系統(tǒng)的初始化,對于FAT文件系統(tǒng)來說要判斷是否初始化成功;第三步是尋找系統(tǒng)文件,本設(shè)計的系統(tǒng)文件全部在SYSTEM文件夾下,該文件夾下主要有:FONT文件夾、SYSICO文件夾、GAME文件夾。FONT文件夾下包括FONT12.FON和FONT16.FON兩種字體文件。SYSICO文件夾下則包括了全部的系統(tǒng)圖標(BMP
44、格式)。GAME文件夾下包括三個等級的游戲文件夾,游戲圖片也在相應(yīng)的文件夾中,全部為BMP格式。其中FONT文件夾和SYSICO文件夾在系統(tǒng)加載的時候需要的。GAME文件夾則是在游戲的時候才進行檢索的。圖3.15 系統(tǒng)(xtng)主控程序流程圖3.4 本章(bn zhn)小結(jié)本章主要說明本設(shè)計的軟件設(shè)計方案,簡而易懂的介紹了系統(tǒng)各模塊的軟件設(shè)計的實現(xiàn)(shxin)與實踐。重點描述了觸摸屏原理、JPEG/BMP的解碼方法以及FAT32文件系統(tǒng)解析。最后整合了本設(shè)計的所有功能以及其的實現(xiàn)。到此多樣化多功能MP3的系統(tǒng)設(shè)計以及基本完成,接下來的任務(wù)就是對該系統(tǒng)進行調(diào)試和測試。4 系統(tǒng)調(diào)試4.1 獨立
45、調(diào)試由以上針對軟硬件系統(tǒng)進行了設(shè)計的主要描述,不過在上述設(shè)計當真,已經(jīng)包括對調(diào)試中各種各樣的問題處理。在設(shè)計的時候可能對某些小細節(jié)或者大問題考慮得不到位,這就需要調(diào)試中一一的去發(fā)現(xiàn)問題,再解決問題。最終完成設(shè)計的目標。這一章主要講述在調(diào)試過陳中發(fā)現(xiàn)的典型問題。4.2 硬件調(diào)試(dio sh)問題在硬件調(diào)試(dio sh)過程中,發(fā)現(xiàn)了幾個影響整個硬件設(shè)計的問題,在完成了硬件設(shè)計的時候,對本設(shè)計進行了硬件上的處理是,在主控芯片的電源檢測時,發(fā)現(xiàn)相對應(yīng)的管腳檢測的VCC與GND得不到相對應(yīng)的電壓,在此過程中經(jīng)過了多次的原理圖以及PCB圖還有成品的檢測后,最終發(fā)現(xiàn)了是由于硬件晶振上面的一個電容虛焊以
46、及有一組電源線斷開了所導致的,最終經(jīng)過修改來進行改正。圖4.1為硬件設(shè)計。圖4.1 硬件(yn jin)設(shè)計圖4.3 軟件調(diào)試問題得益于以前知識和代碼的積累,調(diào)試過程中順利完成了很多軟件調(diào)試,比如FAT文件系統(tǒng)、DS18B20驅(qū)動等,但是在軟件調(diào)試的時候出現(xiàn)了很多問題的,這里挑一個比較典型的問題說明。這個問題是VS1003播放音樂的問題。問題1,在測試VS1003播放音樂的過程中,發(fā)現(xiàn)移植之前的VS1003驅(qū)動到STM32上后,播放界面不可以添加歌曲,一開始懷疑是不是因為文件系統(tǒng)的程序問題而讀取不到歌曲嗎?如圖4.2所示,經(jīng)過反復的對文件系統(tǒng)的程序檢測,發(fā)現(xiàn)代碼沒有問題,又開始替換VS1003
47、的工業(yè)板進來調(diào)試,發(fā)現(xiàn)效果是一樣的,從而排除不是硬件問題,之后有反復的查看了VS1003程序編寫的資料,發(fā)現(xiàn)編寫過程無誤,最后拿出之前寫過的程序進行一一對比,發(fā)現(xiàn)是因為沒有對其VS1003進行初始化而導致的。圖4.2 VS1003播放(b fn)圖4.4 本章(bn zhn)小結(jié)本章是整個設(shè)計的最后一章,主要針對調(diào)試過程(guchng)中出現(xiàn)的軟件問題和硬件問題進行了舉例說明。解決了整個系統(tǒng)的最后問題,使系統(tǒng)的所有功能得到了實現(xiàn),并發(fā)現(xiàn)了一些器件問題,為以后的工作研究積累了經(jīng)驗。5 終結(jié)與展望本文以智能家電為目標,設(shè)計了一款MP3音頻播放器,對未來家電的使用進行了一次探索。經(jīng)歷了幾個月的不斷努力與奮斗,從方案論證到硬件設(shè)計再到軟件設(shè)計,一步步實現(xiàn),最終完成了這個設(shè)計。但是在設(shè)計的過程中也找到了自己的不足,(1)基礎(chǔ)知識的掌握不牢靠,使得很多細節(jié)的問題沒有去注意到,從而影響整個系統(tǒng)完成;(2)對STM32整體構(gòu)架不夠熟悉,對于內(nèi)部寄存器的操作了解不多不熟,對STM32的擴展很不熟練,從今往后會加強對這方面的訓練。在本次設(shè)計中也受益匪淺,讓我學會了很多問題的快速解決方法,從而有利于今后的工作已經(jīng)更進一步的學習。希望明天會更好。參考文獻 1 羅旭.支持(zhch)歌詞的MP3播放器的設(shè)計(shj)與實現(xiàn),沈陽師范大學學報,2006/03。2 華錫鋒.基于(jy)Gar
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年城市供用電合同(示范文本)
- 淘寶與個人合同范本
- 高中地理第三章同步學案:以種植業(yè)為主的農(nóng)業(yè)地域類型
- 2024年四川華西東部醫(yī)院招聘真題
- 2024年連云港市連云區(qū)招聘社區(qū)專職工作者真題
- 小型店鋪轉(zhuǎn)讓合同范本
- 2024年兵團第七師胡楊河市招聘事業(yè)單位工作人員筆試真題
- 2024年安徽龍亢控股集團有限公司招聘招聘真題
- 菜場攤位租賃合同范本
- 合伙投資框架合同范本
- 餐飲服務(wù)食品采購索證索票管理規(guī)定
- 2025年山東省聊城市冠縣中考一模語文試題(原卷版+解析版)
- 2025年國家電投集團珠海橫琴熱電有限公司招聘筆試參考題庫附帶答案詳解
- 建筑公司管理制度大全
- 2025-2030中國慢性腰痛治療行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 演出經(jīng)紀人與文化經(jīng)濟試題
- pcb抄板合同范例
- GB/T 6433-2025飼料中粗脂肪的測定
- 廠房裝飾裝修施工方案
- 物業(yè)管理之工程管理
- 生態(tài)農(nóng)業(yè)發(fā)展與綠色金融的融合路徑
評論
0/150
提交評論