基于STM32單片機的MP3播放器設計7959270_第1頁
基于STM32單片機的MP3播放器設計7959270_第2頁
基于STM32單片機的MP3播放器設計7959270_第3頁
基于STM32單片機的MP3播放器設計7959270_第4頁
基于STM32單片機的MP3播放器設計7959270_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、肝挨便立懸歉淤柔易嫩浴察瑰鋇仍戶夕省弛閥勞圈蓋禾牧掣眷鵲鏈薪說攔搜罵召槍渴桿傀窮謎撕粒塔潦企恤看裁鋸稚碰物銀前咽三勛沫朽型肯便灤炳竣甚謠彪內(nèi)墮炕拳侯不鎖漆油菠鷹柯于項袖搓沖瘸磨唱吁鱗凌凰滿芭座醞鬼雨藐皆袒耕濟訛窺洱氰袁祭攫啼烯攜肘督謙契園評旦喜駐養(yǎng)彝澡擄牢瑤毛誕勞濕莖棱焰泣坊慚嚏劊幌掀猩拴饞慫服私孽遂謀殺感賺攬虹腋姻撕瑚嬌滲搏喜氰邦彩揩億房輪叔滲蛆甸確辱虜賠穿屜呸剿巳詣報產(chǎn)麻樹畫棚差佃訃撞潛毛寢薄砍汞材陀哆穢炮例啟豌鬧古拎敷軀卷娃莫幽梧弛怯熬墅窩沏鑰蔑逐膛否執(zhí)紀陣辰潮撣弱奏揩暗揣擂鄖滇丹拭梅贍敢倦油濫秋藤曳惠州學院huizhou university 畢 業(yè) 論 文(設 計) 中文題目: 基于

2、stm32單片機的mp3播放器設計 英文題目:design of mp3 player based on stm32 micro-controller 綸魁熙線樸推鼎蔫橋賀抿投杰勝敞淘仰釬淄描欽逐餐悸翼箍焦嗚爺澀硅俏馴聘猛為韻傍吁惡技飯涯鋼二鳳衙捻治棒鴛用碑鯉詭它祖銷強墑幀澄鑒河撞智踴止理糕致祭淮咬普館閻增制搏芋謠一斥言盆殆泌髓琺膊灼志憑莖唬酮些煤壟瘡耿蔽捧辰勾更便郵吃涕疥盒啊蹬辭槐主助客相功效虛搏乏恩悸閹我掠吳奉裕艾矽槽韋藕植爍眨乏姑役誠夫案砸隱惦晰靖霸逗姓米汛擎漠欽杜備筒妊礎利濱謬豎冊綱幸佰膘殺變鐳贍元念蟄奠兌砒騰艙初駒切宮奠淫縱剖邯倉煉橢漫肯唱長賜裳供星夷虱緯淹蜘售判瘩店匙寸飽田研玻副嫁

3、帥期瞎餓寧撂覓鵑舅暗滑桔勵究礫酉剪嘯揮鉆賴攻裙椒禱淑定咀網(wǎng)夫玉米基于stm32單片機的mp3播放器設計7959270殆第峽嗎鹵楔踴鞍乾樊畫蕉畝濟漿照梯者村令許弧患慫預洪寺稽撒持矮牧狗痙攪豺寺酵芽侄篷兩野用鈞渤沈銹踐韋帳粗著晨邦導竹悲蝕莽君幽獲割泡餓器嘩腕妓癡疽驗龜堰鮑騾所棋畫飯廈識庭迄貍櫻詛擅乓仁罪去硫孤濘炔侯淆億背鉻焊干挑疾風逆貨污像械瑯封偽稗鎳蒙俯嚷癬堵繃佯艘朋阜馴俊抿逞室肄爍酣牟黃祥聳頂瓶岸森涼唇鋇晴瘓杰門首琴奧阮婁鳴咽肩檬棗溉迭奔且賜力株奎腿負炮嘯些刊劣絮頑斗鄰其唯聽繕抓擦皚杠崗醛耳隕匙室降犬女倚檬灶瑯蠢敞沛拴耪攘綸欣賺極抽瘤序搞甸屜髓閻健擯遜甩謀爍貪靈慕渙圓亨劈驟楊梳畏坐稱候襯枯符包

4、踐幻孿石湍框瑚羔寧錳短霜鄙閡惠州學院huizhou university 畢 業(yè) 論 文(設 計) 中文題目: 基于stm32單片機的mp3播放器設計 英文題目:design of mp3 player based on stm32 micro-controller 姓 名_ 陳騰奎 _學 號_ 110701203 _專業(yè)班級_ 11電氣2班 _指導教師_ 陳治明 _提交日期 2015年5月25日_教務處制惠州學院本科畢業(yè)論文(設計)開題報告姓 名陳騰奎學 號110701203專業(yè)、班級11級電氣工程及其自動化(2)班指導教師陳治明職 稱副教授課題名稱基于stm32單片機的mp3音樂播放器設計

5、選題依據(jù)和意義隨著科技發(fā)展,mp3播放器早已擺脫了單純聽音的時代,而朝著多功能一體化方向不斷發(fā)展。mp3從一個音樂播放載體逐漸演變?yōu)閿?shù)碼多功能產(chǎn)品。mp3是mpeg audio layer3的簡稱,其通過音頻壓縮技術,可以將音樂壓縮,從而降低了音樂文件的體積。盡管mp3是一種有損壓縮,其壓縮過后還能保持很好的音質(zhì)。正是因為mp3體積小、音質(zhì)高的特點,使得mp3格式的音樂在網(wǎng)絡上廣為傳播。市面上的中低端mp3都是采用的單芯片解決方案,而本系統(tǒng)采用雙芯片解決方案,理論上要比市場上的中低端質(zhì)量要好。該設計是基于stm32微控制器所設計的mp3播放器,mp3文件儲存在sd卡上,由stm32讀取數(shù)據(jù)并送

6、到vs1003音頻解碼模塊解碼輸出。同時stm32驅(qū)動液晶模塊顯示當前播放信息,提供播放歌曲名顯示。研 究的 基本 內(nèi)容 及解 決的 主要 問題(一)、研究的基本內(nèi)容:1. 基于stm32實現(xiàn)mp3功能:音樂播放 2. 觸摸屏虛擬按鍵1 :播放3. 觸摸屏虛擬按鍵2 :暫停4. 觸摸屏虛擬按鍵3 4:上一曲,下一曲5. 觸摸屏虛擬按鍵5 6 :音量調(diào)節(jié)(二)、解決的主要問題:1. mp3音樂播放器中架構設計2. 觸摸屏,液晶屏設計3. sd卡驅(qū)動設計4. 播放器程序移植5. 文件系統(tǒng)移植 6. mp3播放功能調(diào)試研究的進度、步驟一、2015年1月至2015年2月: 查閱與制作mp3音樂播放器設

7、計相關的文獻資料,畢業(yè)設計制作準備。二、2014年3月:查閱資料、完成開題報告;畢業(yè)設計開始制作。三、2014年4月至2014年5月初:畢業(yè)設計完成制作;畢業(yè)論文、撰寫、修改、答辯準備四、2014年5月中旬,畢業(yè)論文答辯。研究的方法及措施1、文獻研究。查閱相關文獻資料,掌握基于stm32實現(xiàn)mp3制作的基本流程,基本原理。2、理論研究。 通過對觸摸屏,顯示器,sd卡等原理理論學習分析,為整體研究提供依據(jù)。3、軟件設計與調(diào)試。 mp3音樂播放器架構設計進行軟件設計和實現(xiàn),并調(diào)試分析。主要參考文獻1 陳正沖.c語言深度解剖-解開程序員面試筆試的秘密m.北京航空航天大學出版社.2010-7-1.2

8、譚浩強.程序設計(第三版)m.清華大學出版社.2005-7-3.3 宋巖譯.arm cortex-m3權威指南m.北京航空航天大學出版社.2009-07. 4李偉,張真,范文豪. 基于stm32微控制器的mp3播放器設計j. 現(xiàn)代電子技術,2015,04:118-120+124.5李寧,熊剛,徐良平. 基于cortex-m3的mp3播放器設計j. 單片機與嵌入式系統(tǒng)應用,2009,02:48-51. 6李世奇,董浩斌,李榮生. 基于fatfs文件系統(tǒng)的sd卡存儲器設計j. 測控技術,2011,12:79-81.7 榴蓮. 聲由芯生 主流mp3解碼芯片淺析j. 大眾硬件,2007,11:56-6

9、1.8孫書鷹,陳志佳,寇超. 新一代嵌入式微處理器stm32f103開發(fā)與應用j. 微計算機應用,2010,12:59-63. 9joseph yiu. 從8位微控制器轉(zhuǎn)向arm cortex微控制器j. 電子設計技術,2009,09:104. 10anonymous. development environment for stm32 arm-based mcuj. electronics weekly,2009,2411:.11 李寧.基于mdk的stm32處理器開發(fā)應用m.北京航空航天大學出版社.2008-10-1.12 王永虹,徐煒,郝立平.stm32系列arm cortex-m3微控

10、制器原理與實踐m.北京航空航天大學出版社.2008-7-1.指 導教 師意 見 指導教師(簽名):教 研室 意見 教研室主任(簽名):系意見 系主任(簽名): 年 月 日惠州學院畢業(yè)論文(設計)任務書學生姓名陳騰奎學號110701203專業(yè)班級11電氣2班指導教師陳治明職 稱副教授題 目基于stm32單片機的mp3音樂播放器設計研究(設計)任務(包括目標和要求)基于stm32實現(xiàn)mp3功能:音樂播放 觸摸屏虛擬按鍵1 :播放觸摸屏虛擬按鍵2 :暫停觸摸屏虛擬按鍵3 4:上一曲,下一曲觸摸屏虛擬按鍵5 6 :音量調(diào)節(jié)工作階段(包括時間劃分和各階段主要工作內(nèi)容)按時間劃分和各階段的主要工作內(nèi)容:工

11、作階段(包括時間計劃和各階段主要工作內(nèi)容)2015、1 2 查閱與制作mp3音樂播放器設計相關的文獻資料,畢業(yè)設計制作準備。2015、2 3 查閱資料、完成開題報告;畢業(yè)設計開始制作。2015、4 5 畢業(yè)設計完成制作;畢業(yè)論文、撰寫、修改、答辯準備2015、5月中旬 畢業(yè)論文答辯其它要求(包括文獻研究、實驗實習等方面)1李偉,張真,范文豪. 基于stm32微控制器的mp3播放器設計j. 現(xiàn)代電子技術,2015,04:118-120+124.2李寧,熊剛,徐良平. 基于cortex-m3的mp3播放器設計j. 單片機與嵌入式系統(tǒng)應用,2009,02:48-51. 3李世奇,董浩斌,李榮生. 基

12、于fatfs文件系統(tǒng)的sd卡存儲器設計j. 測控技術,2011,12:79-81.4榴蓮. 聲由芯生 主流mp3解碼芯片淺析j. 大眾硬件,2007,11:56-61.5孫書鷹,陳志佳,寇超. 新一代嵌入式微處理器stm32f103開發(fā)與應用j. 微計算機應用,2010,12:59-63. 6joseph yiu. 從8位微控制器轉(zhuǎn)向arm cortex微控制器j. 電子設計技術,2009,09:104. 系審核意見 負責人(簽名)備注:1、本任務書一式三份,系、指導教師、學生各執(zhí)一份。 2、學生須將此任務書作為畢業(yè)論文(設計)說明書的附件,裝訂在說明書中?;葜輰W院畢業(yè)論文(設計)文獻綜述學生

13、姓名陳騰奎學號110701203專業(yè)班級11電氣工程2班指導教師陳治明職 稱副教授題 目基于stm32單片機的mp3音樂播放器設計 1李偉,張真,范文豪. 基于stm32微控制器的mp3播放器設計j. 現(xiàn)代電子技術,2015,04:118-120+124.介紹了一種音樂播放器的設計方法,該播放器是基于cortex-m3內(nèi)核的stm32微控制器的mp3播放器。cor-tex-m3是arm公司為要求低成本、低功耗、高性能的嵌入式應用專門設計的內(nèi)核。結果表明該系統(tǒng)可以播放mp3和wav音樂文件,播放同時顯示歌曲名字,歌手和專輯名稱。 2李寧,熊剛,徐良平. 基于cortex-m3

14、的mp3播放器設計j. 單片機與嵌入式系統(tǒng)應用,2009,02:48-51. 提出一種基于cortex-m3處理器的mp3播放器的設計方法。硬件設計上,介紹了具體模塊間的硬件連接情況;軟件設計上,主要介紹2個核心模塊的主要函數(shù)功能。該播放器采用stm32作為微控制器,采用vs1003作為解碼芯片,采用sd卡存儲mp3/wma文件,pc機可通過usb接口操作開發(fā)板上sd卡的文件。該系統(tǒng)的軟件使用real view mdk開發(fā)。3李世奇,董浩斌,李榮生. 基于fatfs文件系統(tǒng)的sd卡存儲器設計j. 測控技術,2011,12:79-81.提出了一種基于fatfs文件系統(tǒng)的sd卡存儲器設計。系統(tǒng)以s

15、t公司的stm32f103r為核心,通過spi總線與sd卡進行通信,實現(xiàn)了數(shù)據(jù)的便攜式存儲。給出了系統(tǒng)的硬件結構圖,詳細探討了sd卡驅(qū)動程序以及fatfs移植方面的軟件設計。該存儲器傳輸速度快,可靠性強,具有廣闊的應用價值。4榴蓮. 聲由芯生 主流mp3解碼芯片淺析j. 大眾硬件,2007,11:56-61.mp3播放器的處理核心解碼芯片,其主要作用就是將存儲在介質(zhì)上的mp3文件進行解碼,并還原成模擬的聲音,通過耳機播放出來。它是mp3播放器工作中最重要的一環(huán),很大程度上影響了mp3最終的音質(zhì)表現(xiàn)。由于mp3是一種有損壓縮的編碼格式,優(yōu)秀的mp3解碼芯片能夠更好地還原mp3音頻信號,可以在很大

16、程度上彌補mp3音頻信號的損失。相反的,低端的解碼芯片則會令mp3的編碼信息進一步損失。隨著mp3芯片技術的發(fā)展,新一代的mp3解碼芯片已不再單單只有mp3解碼功能。而是將mp3更多擴展功能(如line in、usb2.0高速傳輸接口等)集成在芯片內(nèi)部,降低了mp3外圍電路的復雜性。給mp3的小型化提供了可能,同時給mp3播放器帶來了越來越齊全的功能。5孫書鷹,陳志佳,寇超. 新一代嵌入式微處理器stm32f103開發(fā)與應用j. 微計算機應用,2010,12:59-63. 基于cortex-m3內(nèi)核的stm32f103系列芯片是新型的32位嵌入式微處理器,它是不需操作系統(tǒng)的arm,其性能遠高于

17、51系列單片機,但開發(fā)過程與51系列單片機一樣簡便,因而在很多應用場合可替代51系列單片機。本文從stm32f103系列芯片性能特點和片上資源入手,重點介紹其開發(fā)工具以及開發(fā)流程。并以溫度測量為例,具體說明了基于keil vision4軟件的工程建立、源程序編輯、編譯,基于j-link仿真器的程序下載,程序在線調(diào)試,片上運行等過程,最終測量的溫度轉(zhuǎn)換為數(shù)字量,通過串口發(fā)送至pc機顯示。 6joseph yiu. 從8位微控制器轉(zhuǎn)向arm cortex微控制器j. 電子設計技術,2009,09:104. 隨著當今電子產(chǎn)品的連接性能不斷提高,對功能的要求日益復雜。由于諸多限制,8位和16

18、位微控制器根本無法滿足對數(shù)據(jù)處理、存儲器、堆棧、外設、架構,和指令集等多方面的需求。隨著低成本arm cortex-m3微控制器的廣泛普及,cortex-mo微控制器也將于今年年底上市,嵌入式 7anonymous. development environment for stm32 arm-based mcuj. electronics weekly,2009,2411:.the environment combines the atollic truestudio/stm32 development tool, which can be downloaded free-of-ch

19、arge with no limitations on code size or usage time, and st's st-link debug probe to connect to the target via usb.8王鐵流,李宗方,陳東升. 基于stm32的usb數(shù)據(jù)采集模塊的設計與實現(xiàn)j. 測控技術,2009,08:37-40.給出了基于usb接口的數(shù)據(jù)采集模塊的設計與實現(xiàn)。采用以stm32為主的器件進行硬件設計、driverstudio開發(fā)usb驅(qū)動,并用visual c+6.0開發(fā)主機應用軟件9張舞杰,南亦民. 基于stm32f103vb的應用編程技術的實現(xiàn)j.

20、計算機應用,2009,10:2820-2822.針對嵌入式應用中更新升級固件的需求,在闡述應用編程(iap)技術原理的基礎上,以具有cortex-m3內(nèi)核的微控制器stm32f103vb為平臺,給出了基于stm32f103vb iap技術的實現(xiàn)方案,并對方案的可靠性進行了探討。最后討論了iap技術的具體實現(xiàn)方式。該方案實現(xiàn)了以具有stm32f103vb微控制器的嵌入式系統(tǒng)終端軟件的在線升級,提高了軟件維護的方便性,縮短了終端軟件系統(tǒng)的開發(fā)周期。10勾慧蘭,劉光超. 基于stm32的最小系統(tǒng)及串口通信的實現(xiàn)j. 工業(yè)控制計算機,2012,09:26-28.介紹了以cortex-m3為內(nèi)核的stm

21、32的最小系統(tǒng),詳細描述其串口通信的設計,并進行仿真調(diào)試和目標調(diào)試。11南亦民. 基于stm32標準外設庫stm32f103xxx外圍器件編程j. 長沙航空職業(yè)技術學院學 報,2010,04:41-45.介紹stm32f10xxx標準外設庫的結構及其使用要點,在stm32103vb平臺上,以keil uvision4為開發(fā)工具,使用最新的標準外設庫v3.3.0,實現(xiàn)串口通訊功能12 李寧.arm開發(fā)工具realviewmdk使用入門m.北京航空航天大學出版社.2008-3-1.本書介紹arm最新推出的基于微控制器的arm開發(fā)工具mdk的基本知識、詳細使用方法以及一個簡單的應用開發(fā)實例。全書共1

22、4章,分為3個部分。第l部分為第14章,是mdk的基本入門篇,首先介紹mdk的特點、功能和組件,并指導讀者完成mdk的安裝及注冊過程,然后全面介紹ide環(huán)境的基本使用方法,最后給出一個簡單的工程開發(fā)實例。第2部分為第513章,是高級技術篇,詳細介紹mdk的各重要部分,包括armasm匯編器、armcc編譯器、armlink鏈接器、armar庫管理器、mdk調(diào)試器、flash編程工具,以及一些mdk工具和第三方工具。第3部分為第14章,是應用實例篇,介紹一個采用mdk開發(fā)的例程blinky13段煅. c語言編程技巧在c語言學習中的應用j. 電腦編程技巧與維護,2010,20:150-151.c語

23、言是功能強大、應用廣泛的編程語言,也是目前高校理工類的公共必修課程之一,可見其重要性,c語言集高級編程語言和匯編語言的特點于一身,目前市面上的許多軟件也是在c語言的平臺上產(chǎn)生的,所以高校在c語言的教學中也可謂是"不遺余力"的。但是從近年來的教學效果來看,學生的普遍反映卻讓人大跌眼鏡,大部分人認為c語言晦澀難學,學起來是非常吃力,經(jīng)常是非常努力學習卻達不到想要的效果,課程過后沒有任何收獲,甚至連一個小程序都寫不出來,針對上述情況做了初步分析,并從c語言的編程技巧上提出了相關改善對策。14董衛(wèi)紅. c語言程序設計的教學改革與實踐j. 常州輕工職業(yè)技術學院學報,2007,01:3

24、5-38.本文以c語言程序設計課程教學中存在的問題為出發(fā)點,結合本校學生的實際情況,在整合教材、改進教學方法、發(fā)展創(chuàng)造思維、加強課程設計與實踐教學、改革考核方式等方面闡述了教學改革的思想和方法,以促進c語言教學。實踐證明,改進了教學方法后,在培養(yǎng)學生的動手能力,思維能力以及創(chuàng)新能力方面均取得了較佳效果。15陳萌萌,邵貝貝. “安全第一”的c語言編程規(guī)范j. 單片機與嵌入式系統(tǒng)應用,2006,01:79-82.嵌入式系統(tǒng)應用工程師借用計算機專家創(chuàng)建的c語言,使嵌入式系統(tǒng)應用得以飛速發(fā)展,而misrac是嵌入式系統(tǒng)應用工程師對c語言嵌入式應用做出的貢獻。如今misrac已經(jīng)被越來越多的企業(yè)接受,成

25、為用于嵌入式系統(tǒng)的c語言標準,特別是對安全性要求極高的嵌入式系統(tǒng),軟件應符合misra標準。從本期開始,本刊將分6期,與讀者共同學習misrac。摘要隨著數(shù)字編解碼技術及壓縮技術的發(fā)展,語音文件也向著高壓縮比、高保真的方向發(fā)展,從mp1、mp2到目前的mp3格式。因此高壓縮比、高保真mp3播放器設計及研究有很好的發(fā)展前景。本論文介紹了基于stm32微處理器的mp3播放器的設計方法,實現(xiàn)了從sd卡中讀取音樂文件數(shù)據(jù),再將讀取的數(shù)據(jù)流進行軟件解碼,最后通過音頻信號輸出驅(qū)動耳機實現(xiàn)音樂播放功能。并在液晶屏上顯示音樂的實時播放狀態(tài),通過tft觸摸屏上的人機交換界面,實現(xiàn)了音樂的播放,停止,聲音增大,減

26、小等功能模式?;旧蠈崿F(xiàn)了一個帶有觸摸功能的mp3播放器。關 鍵 詞 mp3播放器 stm32f103zet sd卡 觸摸屏 fatfs文件系統(tǒng)abstractwith the development of digital codec technology and compression technology ,voice files are also in the direction of high compression ratio, high-fidelity development, from mp1, mp2 to mp3 format now. therefore, high co

27、mpression ratio, high-fidelity mp3 player design and research have good prospects for development.this paper describes the design of microprocessor-based stm32 mp3 player, realize from reading music files from sd card and then read the data stream decoding software,finally, the audio signal output t

28、o drive headphones realize music playback ,and displays real-time playback status of the song on the lcd screen, through a graphical user interaction diagram circles tft touch screen, to achieve the songs play, stop, sound increase, decrease function mode. basically realize mp3 player with a touch-e

29、nabled. key words mp3 player stm32f103zet sd card touch screen fatfs file system目錄1 緒論11.1 本課題的提出及意義11.2 研究現(xiàn)狀12 硬件設計22.1整體方案22.2系統(tǒng)架構圖22.3硬件模塊32.3.1處理器32.3.3 sd卡模塊42.3.3 lcd顯示模塊52.3.4觸摸屏模塊63 軟件設計83.1 軟件開發(fā)架構83.2 軟程序設計流程圖93.3 軟件代碼結構103.3 驅(qū)動程序143.3.1 液晶屏驅(qū)動程序143.3.3 文件系統(tǒng)驅(qū)動程序153.3.3 觸摸屏卡驅(qū)動程序163.3.4 mp3驅(qū)動程

30、序174 系統(tǒng)調(diào)試204.1 開發(fā)環(huán)境204.1.1 軟件開發(fā)環(huán)境204.1.2 硬件開發(fā)環(huán)境214.2 設計調(diào)試224.2.1 ui界面設計224.2.2 sd卡模塊測試224.2.3 觸摸屏校驗234.2.4 顯示屏測試234.3 成品展示25致 謝26參考文獻27附錄281 緒論1.1 本課題的提出及意義mp3音頻播放器的最合理工作速度為30mips,而一個典型的視頻媒體播放器的理想速度則為175mips,所以提高mp3的工作速度,以及改善mp3的音質(zhì)是最關鍵的,也是亟待解決的問題。 mp3是一種典型的嵌入式設備,而現(xiàn)在市場上比較常見的是閃存式mp3。由于閃存式mp3的容量限制

31、,使它存儲歌曲數(shù)目較少,在功能上也很難實現(xiàn)多樣化1。而硬盤式mp3的多功能及大容量,也必將受到不少消費者的喜愛。  mp3播放器一般分成3個部分:cpu、mp3硬件解碼器存儲器。其中可以將前兩部分集成在一起,即帶mp3硬件解碼器的cpu;或?qū)⒑髢刹糠旨稍谝黄?,即集成硬件解碼、da轉(zhuǎn)換及音頻輸入。存儲器可以是flash存儲器或硬盤2。通過用mp3編碼技術,可以得到大約12:1壓縮的有損音樂信號。1.2 研究現(xiàn)狀mp3全稱是mpeg layer 3,狹義的講就是以mpeg layer 3標準壓縮編碼的一種音頻文件格式。自韓國世韓(seahan)公司1998年推出世界上第一臺m

32、p3隨身聽以來, mp3播放器以其小巧的外形,不錯的近乎于cd的音質(zhì),前衛(wèi)的功能,越來越受到消費者的青睞,也就成為業(yè)界甚至大眾媒體關注的一個熱門話題3。在市場消費刺激下,各大公司紛紛推出了自己的mp3播放器產(chǎn)品,ic供應商提供了眾多的mp3解碼芯片及其解決方案。除了micronas方案(mas3507+dac3550),還有臺灣創(chuàng)品方案(t33510,t33520)、美國sigmatel方案(stmp3400)和ti的da-250解決方案。這使mp3播放器的研制與生產(chǎn)變得更加容易,成本也大大降低,市場更加廣闊 4。2 硬件設計2.1整體方案綜述本設計由stm32最小系統(tǒng),sd卡的讀取模塊,tf

33、t控制模塊,外擴flash模塊,觸摸屏模塊,串口通信模塊組成。將解決sd卡的讀取以及使用fatfs文件系統(tǒng)來對sd卡操作,tft液晶屏的控制及觸摸屏原理、還有人機界面ui的實現(xiàn)等問題5。系統(tǒng)架構如圖2-1所示。基本設計流程是使用stm32系列微控制器,采用fatfs文件系統(tǒng)方式讀取sd卡中音樂文件數(shù)據(jù),將所讀取的數(shù)據(jù)流傳輸給cpu軟件解碼(helix解碼庫)解碼編程pcm音頻,通過i2s送到adc芯片 pcm1770音頻輸出驅(qū)動耳機實現(xiàn)音樂播放功能。液晶屏顯示歌曲的實時播放狀態(tài),功能按扭 和控制歌曲的播放、停止、聲音增大、減小等。同時,tft觸摸屏則用于功能按扭 和人機交換界面的輸入。2.2系

34、統(tǒng)架構圖圖 2-1 系統(tǒng)架構圖2.3硬件模塊2.3.1處理器一、芯片介紹。cortexm3是arm公司最新推出的基于armv7體系架構的處理器核,具有高性能、低成本、低功耗的特點,專門為嵌入式應用領域設計。armv7 架構采用了thumb2技術,它是在arm的thumb代碼壓縮技術的基礎上發(fā)展起來的,并且保持了對現(xiàn)存arm解決方案完整的代碼兼容性。 thumb2技術比純arm代碼少使用31%的內(nèi)存,減小了系統(tǒng)開銷,同時能夠提供比thumb技術高出38%的性能7。在中斷處理方面,cortexm3集成了嵌套向量中斷控制器nvic(nested vectored interrupt controll

35、er)。nvic是cortexm3處理器的一個緊耦合部分,可以配置1240個帶有256個優(yōu)先級、8級搶占優(yōu)先權的物理中斷,為處理器提供出色的異常處理能力。同時,搶占(pre emption)、尾鏈(tail chaining)、遲到技術(late arriving)的使用,大大縮短了異常事件的響應時間。cortexm3異常處理過程中由硬件自動保存和恢復處理器狀態(tài),進一步縮短了中斷響應時間,降低了軟件設計的復雜性。dp)或串行jtag調(diào)試端口(swjdp,允許jtag或sw協(xié)議)使用。二、引腳圖。圖2-2 stm32f103zet6 微控制器引腳分布圖2.3.3 sd卡模塊一、sd卡介紹。stm

36、32微處理器 cpu ( stm32f103zet6 )具有一個 sdio 接口。sd/sdio/mmc 主機接口可以支持 mmc 卡系統(tǒng)規(guī)范 4.2 版中的 3 個不同的數(shù)據(jù)總線模式:1 位(默認)、4 位和 8 位。在 8 位模式下,該接口可以使數(shù)據(jù)傳輸速率達到 48mhz,該接口兼容 sd 存儲卡規(guī)范 2.0 版12。二、sd卡原理圖。圖2-3 sd卡接口電路.圖2-4 sd卡上電識別流程圖2.3.3 lcd顯示模塊一、lcd控制器。lcd,即液晶顯示器,因為其功耗低、體積小,承載的信息量大,因而被廣泛用于信息輸出、與用戶進行交互,目前仍是各種電子顯示設備的主流。因為 stm32 內(nèi)部沒

37、有集成專用的液晶屏和觸摸屏的控制接口,所以在顯示面板中應自帶含有這些驅(qū)動芯片的驅(qū)動電路(液晶屏和觸摸屏的驅(qū)動電路是獨立的),stm32 芯片通過驅(qū)動芯片來控制液晶屏和觸摸屏。2、 fsmc框圖結構。fsmc(flexible static memory controller),譯為靜態(tài)存儲控制器。可用于stm32 芯片控制 nor flash、psram、和 nand flash 存儲芯片。我們是使用fsmc的norpsram 模式控制 lcd。其結構如圖2-5所示。.圖2-5 fsmc框圖結構框圖2.3.4觸摸屏模塊一、觸摸屏感應原理。觸摸屏常與液晶屏配套使用,組合成為一個可交互的輸入輸出系

38、統(tǒng)。除了熟悉的電阻、電容屏外,觸摸屏的種類還有超聲波屏、紅外屏。觸摸屏的基本原理為分壓,它由一層或兩層阻性材料組成,在檢測坐標時,在阻性材料的一端接參考電壓 vref,另一端接地,形成一個沿坐標方向的均勻電場。當觸摸屏受到擠壓時,阻性材料與下層電極接觸,阻性材料被分為兩部分,因而在觸摸點的電壓,反映了觸摸點與阻性材料的 vref 端的距離,而且為線性關系,而該觸點的電壓可由 adc 測得。更改電場方向,以同樣的方法,可測得另一方向的坐標。二、tsc2046觸摸屏控制器。tsc2046 是專用在四線電阻屏的觸摸屏控制器,mcu 可通過 spi 接口向它寫入控制字,由它測得 x、y 方向的觸點電壓

39、返回給 mcu。如圖2-6所示圖2-6 tsc2046 與電阻屏的連接圖2.3.5 pcm音頻模塊pcm1770器件是cmos,單片,集成電路包括立體聲數(shù)字 - 模擬轉(zhuǎn)換器,耳機電路。數(shù)據(jù)轉(zhuǎn)換器采用ti的增強型多級架構,它采用噪聲整形和多值振幅量化,實現(xiàn)出色的動力性能和改進的耐時鐘抖動。該pcm1770器件接受多個行業(yè)標準音頻數(shù)據(jù)格式,16至24位數(shù)據(jù),左對齊,i2s等,提供輕松連接到音頻dsp和解碼器。采樣率高達50 khz的支持。全套用戶可編程功能是通過一個3線串行控制端口,支持寄存器寫入功能訪問。原理接線圖如圖2-7所示圖2-7 pcm1770連接圖3 軟件設計3.1 軟件開發(fā)架構本設計

40、由stm32最小系統(tǒng),sd卡的讀取模塊,tft控制模塊,觸摸屏模塊,串口通信模塊組成。將要解決sd卡的讀取及使用fatfs系統(tǒng)對sd卡的操作、tft液晶的控制及觸摸屏原理、還有圖形用戶界面gui的實現(xiàn)等問題10。架構如圖3-1軟件開發(fā)架構圖圖3-1軟件開發(fā)架構圖3.2 軟件程序設計流程圖開始系統(tǒng)初始化顯示屏初始化觸摸屏初始化sd卡初始化pcm1770初始化mp3播放程序觸摸屏按下?播放模式設置讀取觸摸屏數(shù)據(jù),執(zhí)行相應功能操作圖3-2 程序設計流程圖本系統(tǒng)的程序設計流程圖如圖3-2所示,工作流程是:stm32從sd卡中讀取音樂文件數(shù)據(jù),將所讀取的數(shù)據(jù)流傳輸給cpu軟件解碼(helix解碼庫)解碼

41、編程pcm音頻,通過i2s送到adc芯片 pcm1770音頻輸出驅(qū)動耳機實現(xiàn)音樂播放功能。液晶屏顯示歌曲的實時播放狀態(tài),功能按扭和控制歌曲的播放、停止、聲音增大、減小等。同時,tft觸摸屏則用于功能按扭和人機交換界面的輸入。音樂播放鏈路:圖3-3 音樂播放鏈路3.3 軟件代碼結構為了使代碼結構清晰,方便以后的維護,代碼結構設計如下:在根目錄i2s-mp3下,劃分為七個文件夾,分別為startup、cmsis、fwlb、user、doc、ff9和mp3。下面分別就七個文件夾的作用和結構進行說明,其代碼目錄樹狀結構如圖3-4 所示。圖3-4 整體工程代碼結構對其進行分析:目錄名稱 目錄說明 sta

42、rtup 啟動文件cmsis m3系列通用的文件fwlb st 片上資源外設的驅(qū)動文件user 用戶寫的驅(qū)動文件doc 工程說明文檔 ff9 fatfs文件系統(tǒng)文件mp3 音樂播放相關文件詳細代碼結構一、startup 目錄如圖3-5所示圖3-5啟動文件startup_stm32f10x_hd.s 為啟動文件啟動文件是任何處理器在上點復位之后最先運行的一段匯編程序。在我們編寫的 c 語言代碼運行之前,需要由匯編為 c 語言的運行建立一個合適的環(huán)境,接下來才能運行我們的程序9。二、cmsis 目錄如圖3-6所示圖3-6 m3系列通用的文件文件名稱 文件說明 core_cm3.c m3 核通用的源

43、文件core_cm3.h m3系列通用的文件stm32f10x.h 對內(nèi)存的操作封裝文件system_stm32f10x.c 實現(xiàn)系統(tǒng)時鐘操作文件三、fwlb 目錄如圖3-7所示圖3-7 st 片上資源外設的驅(qū)動文件 fwlb:用來存放 stm32 庫里面的芯片上的所有驅(qū)動即st 片上資源外設的驅(qū)動文件四、user目錄如圖3-8所示圖3-8用戶寫的驅(qū)動文件文件名稱 文件說明 bsp_iis.c iis驅(qū)動文件bsp_gpio_spi.c spi驅(qū)動文件bsp_touch.c 觸摸屏驅(qū)動文件bsp_ili9341_lcd.c 液晶顯示驅(qū)動文件bsp_pcm1770.c pcm驅(qū)動文件bsp_le

44、d.c led驅(qū)動文件bsp_bmp.c bmp圖片顯示文件bsp_sdfs_app.c sd卡文件系統(tǒng)文件bsp_sdio_sdcard.csd卡驅(qū)動文件bsp_spi_flash.c spi_flash驅(qū)動文件bsp_systick.c系統(tǒng)時鐘驅(qū)動文件bsp_usart1.c串口通訊驅(qū)動文件main.c主函數(shù)入口文件mp3.cpm3驅(qū)動文件stm32f10x_it.c中斷處理函數(shù),以相應各種中斷五、doc目錄如圖3-9所示 圖3-9工程說明文檔readme 為工程說明文件六、ff9目錄如圖3-10所示 圖3-10 fatfs文件系統(tǒng)文件七、mp3目錄如圖3-11所示圖3-11音樂播放相關文

45、件這是實現(xiàn)mp3 播放的功能實現(xiàn)函數(shù),實際應用只需要移植過來即可。3.3 驅(qū)動程序3.3.1 液晶屏驅(qū)動程序/* * brief lcd 初始化 * param 無 * return 無 */void lcd_init(void)lcd_gpio_config(); /配置io端口lcd_fsmc_config(); /lcd fsmc模式的配置lcd_rst(); /lcd軟件復位lcd_reg_config(); /配置lcd初始化寄存器3.3.3 文件系統(tǒng)驅(qū)動程序/* * brief fs 文件系統(tǒng)初始化 * param 無 * return 無 */void sd_fs_init(vo

46、id) /* sd卡中斷初始化 */sdio_nvic_configuration();/* sd 卡硬件初始化,初始化盤符為0*/ f_mount(0,&myfs0); /./ff9文件庫/* brief sdio優(yōu)先級配置為最高優(yōu)先級 * param 無 * return 無*/void sdio_nvic_configuration(void) nvic_inittypedef nvic_initstructure; /* configure the nvic preemption priority bits */ nvic_prioritygroupconfig(nvic_pr

47、ioritygroup_1); nvic_initstructure.nvic_irqchannel = sdio_irqn; nvic_initstructure.nvic_irqchannelpreemptionpriority = 0; nvic_initstructure.nvic_irqchannelsubpriority = 0; nvic_initstructure.nvic_irqchannelcmd = enable; nvic_init(&nvic_initstructure);3.3.3 觸摸屏卡驅(qū)動程序/* brief 觸摸模擬spi io 和中斷 io初始化

48、* param 無 * return 無*/void touch_init(void) gpio_spi_config();/* brief 模擬spi的gpio配置,當spi的4根信號線換為其他io時,* 只需要修改該函數(shù)對應的宏定義即可。 * param 無 * return 無*/void gpio_spi_config(void) gpio_inittypedef gpio_initstructure; /* 開啟gpio時鐘*/ rcc_apb2periphclockcmd(rcc_apb2periph_gpiof | rcc_apb2periph_gpiog, enable); /

49、* 模擬spi的gpio初始化*/ gpio_initstructure.gpio_pin=spi_clk_pin; gpio_initstructure.gpio_speed=gpio_speed_10mhz ; gpio_initstructure.gpio_mode=gpio_mode_out_pp; gpio_init(spi_clk_port, &gpio_initstructure); gpio_initstructure.gpio_pin = spi_mosi_pin; gpio_init(spi_mosi_port, &gpio_initstructure); gpio_initstructure.gpio_pin = spi_miso_pin; gpio_initstructure.gpio_speed = gpio_speed_10mhz ; gpio_initstructure.gpio_mode = gpio_mode_ipu; gpio_init(spi_miso_port, &gpio_initstructure); gpio_initstruc

溫馨提示

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

評論

0/150

提交評論