




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于STM32F103RBT6的智能MP3播放器基于STM32F103RBT6的智能MP3播放器摘要:當代社會的發展,人們生活物質水平的提高。對于現代消費類電子的需求也愈來愈高。多功能MP3也越來越受歡迎。本設計以STM32F103RBT6 STM32F103RBT6全文簡寫為RBT6為設計核心,利用vs1053音頻解碼芯片為主要元件設計了MP3播放器。并且,能實現高品質音樂播放功能。電路在硬件方面有主要涉及了vs1053硬件音頻解碼驅動器和320*240分辨率的TFTLCD彩屏液晶模塊,同時應用了DHT11溫度濕度傳感器模塊。軟件方面主要設計了有vs1053B模塊的驅動程序,SD卡的操作,和
2、FATS文件的操作程序等。所有系統并且基于RBT6微控制器的設計進行的編程設計。本文設計的介紹了基于rbt6的MP3播放器的設計方法。該系統主要將SD卡的歌曲文件硬件解碼。,同時在TFTLCD彩屏液晶上顯示歌曲信息,播放中可以通過開關按鍵可以實現對歌曲的控制。同時DHT11對環境溫度進行檢測。同時在彩屏上顯示相應的信息。關鍵詞:STM32F103RBT6 VS1053 TFTLCD DHT11 MP3播放器Abstract:Nowadays, with the development in economy, people begin to seek to enjoy a rather high
3、 quality of life. Its evidently seen in the rising demand for upgrading electronic products, among which, multifunctional MP3 player begin to be widespread. This design is based onRBT6and auto decoding chip VS1053 to realize the function of displaying high-quality music.For hardware part, VS1053 aut
4、o decoding chip, TFTLCD module with the resolution of 320*240 and DHT11 Temperature & Humidity Sensor are applied in this design.In aspect of software, I add the drive for VS1053B, the operation in SD Card and FATS files. STM32F103RBT6 microcontroller plays an important role in the whole design.Thos
5、e measures are used in the detail of designing methods in this MP3 player. The music files in SD card are decoded so that we can get the information from the TFTLCD color screen. The songs are changed by switches & buttons. Meanwhile, the DHT11 chip senses the environment temperature which will be s
6、howed on color screen.Key word:STM32F103RBT6 VS1053 MP3 player TFTLCD DHT11目錄 TOC o 1-3 h z u HYPERLINK l _Toc387380219 摘要: PAGEREF _Toc387380219 h 1 HYPERLINK l _Toc387380220 Abstract: PAGEREF _Toc387380220 h 2 HYPERLINK l _Toc387380221 1、緒論 PAGEREF _Toc387380221 h 3 HYPERLINK l _Toc387380222 1.1、M
7、P3簡介: PAGEREF _Toc387380222 h 3 HYPERLINK l _Toc387380223 1.2、設計原理和功能: PAGEREF _Toc387380223 h 3 HYPERLINK l _Toc387380224 1.3、系統整體方案的設計: PAGEREF _Toc387380224 h 3 HYPERLINK l _Toc387380225 2、硬件設計: PAGEREF _Toc387380225 h 3 HYPERLINK l _Toc387380226 2.1、RBT6介紹: PAGEREF _Toc387380226 h 3 HYPERLINK l
8、_Toc387380227 2.2、SD卡: PAGEREF _Toc387380227 h 3 HYPERLINK l _Toc387380228 2.3、DHT11溫濕度傳感器: PAGEREF _Toc387380228 h 3 HYPERLINK l _Toc387380229 2.4、TFTLCD液晶: PAGEREF _Toc387380229 h 3 HYPERLINK l _Toc387380230 2.5、VS1053音頻解碼模塊: PAGEREF _Toc387380230 h 3 HYPERLINK l _Toc387380231 2.6、外部FLASH: PAGEREF
9、 _Toc387380231 h 3 HYPERLINK l _Toc387380232 2.7、串行外圍設備接口 PAGEREF _Toc387380232 h 3 HYPERLINK l _Toc387380233 3、軟件設計 PAGEREF _Toc387380233 h 3 HYPERLINK l _Toc387380234 4、實驗調試 PAGEREF _Toc387380234 h 3 HYPERLINK l _Toc387380235 5、致謝 PAGEREF _Toc387380235 h 3 HYPERLINK l _Toc387380236 6、參考文獻: PAGEREF
10、 _Toc387380236 h 3 HYPERLINK l _Toc387380237 7、附錄:成品圖 PAGEREF _Toc387380237 h 31、緒論1.1、 MP3簡介:MP3是mpeg audio layer3的簡稱。MP3實際上是一種音頻壓縮技術。該技術可將音樂以1:10或1:12的壓縮比率壓縮,因此大大降低了音頻文件的體積。但是MP3是一個有損壓縮的技術。但是壓縮后還是有很好的音質。因為MP3格式有占用存儲空間小、音質高能滿足我們聽覺的需要,因此MP3成為目前主流的音頻文件壓縮形式。MP3丟棄了PCM調制音頻中對人聽覺不重要的部分,進而減小了文件的體積。所以一首65M左
11、右的wav格式無損音樂,在壓縮后只有4M左右。在以前存儲技術不是太發達之前。大大滿足了我們對音頻文件的存儲的需要。因為現在存儲技術的發展和各個網絡云盤的發展,更加加劇了人們對于高品質的音頻的追求,現在的MP3播放器已經不是之前單純的只能播放MP3文件。同時要能滿足播放無損音頻文件的能力。1.2、設計原理和功能:本系統將采用RBT6作為微控處理器,vs1053模塊來設計高性能MP3播放器。可以將外置SD卡的歌曲文件通過vs1053模塊實現硬件解碼。同時在TFTLCD上同步顯示歌曲播放信息。信息有當前音樂的碼率、名稱、音樂總數、音量。同時本系統具有一個溫濕度傳感器DHT11。可以跟據環境的溫度,給
12、出相應的環境提示,并且將環境檢測的溫度顯示到TFTLCD上。,做到一個人性智能化的音樂播放系統。在人機交互方面使用的是點觸按鍵,可以控制歌曲的播放、暫停、上一曲、下一曲、音量+、音量-,實現整個系統的人機交互,來實現MP3的控制功能。1.3、頓號后面所有的去掉系統整體方案的設計:方案一:方案使用89C51單片機為主控系統,但是由于51單片機的資源很少同時不支持SPI接口,并且要外界模數轉換器來實現數據的采集,同時為了滿足高質量的音頻播放同時還要外接語音模塊來實現語音的播放,同時由于51單片機的頻率低,片上資源少,同時還容易受到外接干擾。外圍電路復雜,由于要解碼高碼率的音頻文件,過多的外接電路導
13、致系統穩定性將變得很差。由于外接的資源過多,導致軟件編寫復雜。綜合多方面的考慮本設計不采用51單片機做核心芯片。方案二:方案采用mps430作為系統的主控核心,mps430作為一個16位超低功耗的混合信號處理器。使用的是risc指令集,一個時鐘周期執行一條指令,速度比51快多了。但是mps430的處理速度也不是很高,同時也需要大量的外圍電路來支持整個系統,不能排除高碼率的音頻文件的播放,同時作為實驗室產品的MP3播放器,不存在功耗的問題,所以mps430的優點不能很好的發揮。考慮到mps430的開發環境比較復雜。所以綜合考慮,不使用mps430作為系統的核心部分。方案三:方案采用RBT6作為系
14、統主控核心。RBT6是一種高性能ARM cortex-M3 32位的內核的處理器。同時有SRAM、20kb、閃存128kb,72MHz工作頻率。同時RBT6有很高的處理速度,功耗低,整體性能大大提高,32位的控制核心使得的整個處理器更加穩定、迅速。窗口型看門狗,可以是程序更加穩定更加高效。同時也降低了程序跑偏的可能性。同時支持硬解仿真,對開發提供很好的便利。綜上所述,考慮多方面的因素,故設計選擇方案三,使用RBT6作為主控核心。2、硬件設計:硬件電路設計主要包括RBT6單片機最小系統模塊、SD卡、W25X16片載flash、DHT11、240*320的TFTLCD、vs1053B音頻解碼模塊。
15、RBT6最小系統使用網上購買的RBT6核心開發板,開發板集成RBT6最小系統,以及SD卡模塊,以及16M片載flash W25X16。由于本系統涉及外圍器件較多,而且以貼片原件為主。同時涉及高品質的音頻解碼部分,所以考慮直接購買成品模塊,來避免可能出現的信號干擾問題。同時也大大節約了開發周期。硬件框架如圖:圖2.1音樂播放器硬件設計圖點觸按鍵實現整個系統的人機交互功能,RBT6首先自檢各項模塊是否都正常工作,然后進入播放界面,默認從SD卡扇區0開始查找。得到歌曲的索引之后,開始播放音樂。同時TFTLCD顯示當前歌曲的信息。同時RBT6將SD卡中的歌曲信息傳給vs1053進行硬件解碼。當發送51
16、2字節的數據后DHT11進行溫濕度的采集、顯示。并且讀取下一個扇區的信息。在讀取每一字節的時候,進行按鍵檢測,從而進行對主控系統的實時控制。2.1、RBT6介紹:本系統的主控系統使用RBT6。RBT6是意法半導體推出的。這款高性能32位ARM處理器芯片是基于Cortex-M3內核設計的。片上資源極其豐富,工作頻率允許72MHz,是一款只有8位單片機價格的的性價比極高的32位ARM處理器,是做ARM嵌入式的極佳選擇。RBT6 64管腳的資源如下:內核:90DMIPS1.25 MHDMIPS,ARM32 Cortex-M3 CPU。內嵌43個可屏蔽中斷通道。RBT6有20KB的SRAM具有128K
17、B的Flash時鐘,復位,電源管理:-內置8 MHz廠家校準RC-內置32 kHz RCRBT6具有低功耗:-睡眠,終止,待機三種模式雙12位16通道1 s數模轉換器-轉換范圍2.0至3.6V-雙采樣保持功能-溫度傳感器-與控制定時器同步DMA:-7通道DMA控制器-SPI接口-i2c接口-USART接口DEBUG模式-串行線SWD和JTAG接口RBT6有80個I/O端口-不可中斷的讀、修改、寫操作-16個外部中斷向量可映射7個定時器-3個16位定時器-2個16位監視定時器-24位遞減計數器-6通道16位先進控制定時器RBT6有9個通信接口-2個IC接口-3個USART-2個SPI接口-CAN
18、接口-USB 2.0全速接口圖2.1.1 2 RBT6引腳圖(64腳)RBT6模塊接口電路圖如下圖所示。下圖中RBT6的啟動方式由BOOT1設置,下表顯示啟動模式:表2.1啟動模式圖2.1.2啟動模式P1和P3用于PB和PA的IO提取,P2部分連接PortC。系統中管腳A0,連接DHT11溫濕度傳感器。圖2.1.33 STM32F103RBT6最小系統2.2、SD卡:Secure Digital Memory Card全名安全數碼卡,是MMC基礎上發展來,是一種記憶設備,現在被廣泛的使用在便攜設備上。比如數碼相機,或者便攜式多媒體播放器等。SD卡在1999年研制成功。大小和一個郵票一樣。SDS
19、C是容量02G,SDHC容量在2G32G,SDXC容量在32G2T。如下表所示:表 2.2 SD卡類型圖2.2.1 SD卡類型SD卡和SDHC協議是兼容的,本系統使用SD卡。SD卡有2種模式:SD卡模式SPI模式SD卡模式可以4線傳送數據,SD卡通信使用SPI接口來實現。使用SPI相比SD卡模式速度會小很多。SD卡引腳如下:圖2.2.2 SD卡引腳圖直接寫2.?,不用寫2.?.?了,SD卡引腳功能如下:圖2.2.3 SD卡引腳功能SD卡只能使用3.3V的電平,因此主控系統一定要支持3.3的IO輸出。本系統中SD卡模塊的電路圖如下。圖2.2.4 SD卡模塊電路圖2.3、DHT11溫濕度傳感器:D
20、HT11是一款溫濕度同時采集的傳感器,內含一個濕度傳感器,一個溫度傳感器。而且里面包含一個8位單片機。一次傳輸40bit的數據,從而滿足實時采集溫度濕度。只占用一個單片機IO,DHT11采用單總線通信。而且耗能很低,電流只有0.5ma。DHT11量程humidity2090%temperature050,精度:temperature2humidity5%管腳如下圖所示:圖2.3.1 DHT11管腳圖DHT11單總線的數據格式。一個Dout管腳獨立完成收發的功能。數據包由40Bit構成。數據分整數部分,小數部分。先出高位,傳輸40字節為一次完整的數據。DHT11的數據格式為:8字節濕度整數+8字
21、節校驗+8字節濕度小數+8溫度小數+8字節溫度整數和。前四個字節相加為數據和校驗。如下圖DHT11輸出。輸出是未編碼的二進制數據。圖2.3.2 DHT11數據結構計算方法是:圖2.3.3 DHT11數據處理通信時間是3ms,所以讀取時間不小于100ms即可。DHT11與RBT6的連接方式如下圖:圖2.3.4 DHT11 管腳連接圖DHT11連接在RBT6的管腳A0上,DHT11的實物圖如下:圖2.3.5DHT11實物圖2.4、TFTLCD液晶:該dst2001ph模塊采用TFTLCD面板,顯示16色的真彩色圖像。TFTLCD叫做薄膜晶體管液晶顯示器。顯示屏上每一個薄膜晶體管都對應一個像素。克服
22、非選通的干擾。提高了圖片質量。TFTLCD也叫真彩色液晶顯示器,有如下特點。1、2.4/2.8兩種大小可選。2、320240 的分辨率。3、16 位真彩顯示。4、自帶觸摸屏功能,可以作為控制輸入。5、通用的接口。液晶模塊的控制器為ILI9320。該模塊采用 26 萬色的TFTLCD 屏,320240分辨率,使用16位的 80 并口和單片機相連。該模塊外觀如下:圖2.4.1模塊實物圖模塊的原理圖如下:圖2.4.2模塊原理圖TFTLCD采用排針與外部相連。接口如下圖所示:圖2.4.3模塊接口圖該模塊使用16位數據線,通過80并口與外部連接。80并口信號線有如下:CS:TFTLCD片選信號。WR:向
23、 TFTLCD寫入數據。RD:從TFTLCD 讀取數據。RST:硬復位TFTLCD。RS:命令/數據標志。模塊的控制器ILI9320。ILI9320自帶顯存,大小有172820,也就是 18位模式下的顯存量。模塊16位數據線采用565 方式與顯寸對應,關系如圖所示:圖2.4.5色彩顯示原理圖中間6位為綠色,低 5位代表藍色,最高5位為紅色。顏色深淺表示數值大小。下面我介紹幾個ILI9320重要命令如下:圖2.4.6彩屏液晶常用指令集R0、開啟或關閉振蕩器/返回控制器的型號。R3,入口模式命令。R7,顯示控制命令。R34,寫數據到GRAM 命令。在實際硬件的使用中。我的RBT6的IO與TFTLC
24、D的關系如下:LCD_LED對應PC10;LCD_CS 對應PC11;LCD _RS 對應PC12;LCD _WR對應PC13;LCD _RD對應PC14;LCD _BD17:1對應管腳B15:0;實物連接圖如下:圖2.4.7液晶實物連接圖2.5、VS1053音頻解碼模塊:音頻解碼模塊所使用的VS1053B主控芯片是VLSI公司出品的。VS1053B支持EarSpeaker空間效果,同時能解決: AAC / WMA/OGG/ MP3/WAV/FLAC/MIDI 等格式的解碼,并且支持: WAV/OGG格式的音頻錄音。以及高低音調節,功能強大。本系統購買的是戰艦的VS1053 MP3 模塊:圖2
25、.5.1音頻模塊實物圖該模塊的資源如下:高性能編解碼芯片:VS1053B 1個LINE IN/MIC 選擇接口 1咪頭 1電源指示燈(藍色) 1個1.8V 穩壓芯片 1個3.3V 穩壓芯片 1 路 IIS 輸出接口 1 路電源及 SPI 控制接口 1 路 3.5mm LINE IN接口,支持雙聲道輸入錄音 1 路3.5mm 音頻輸出接口,可直接插耳機模塊通過SPI接口與RBT6主控芯片連接,模塊的控制以及音頻數據,都通過SPI接口,通過 7 根信號線與單片機相連。是:XDCS、RST、XSC、SO、SI、DREQ、SCK。其中 RST 是復位控制線。DREQ數據請求線,通知 VS1053 是否
26、可接收數據。SO、SI、SKC是 SPI通信接口,在XDSC、 XSC控制下執行不同的數據通信。VS1053有兩種形式的SPI: 1,VS1001兼容模式。 2, VS1002 有效模式我使用的是VS1053的默認模式也就是VS1002有效模式。該模式下SPI 信號線功能描述:圖2.5.2VS1053 SPI功能描述VS1053B有2種 SPI他們SCI 、SDI 。其中SDI來傳輸數據,SCI用于傳輸命令。SDI數據傳輸就是標準的 SPI 通信。播放音頻文件的步驟:1、復位VS1053(軟件復位和硬件復位)2、配置VS1053寄存器(MODE、CLOCLF、BASS、VOL)3、發送音頻數據
27、VS1053相關寄存器有:1、音量寄存器(VOL)2、模式寄存器(MODE)3、音調寄存器(BASS)4、時鐘寄存器(CLOCKF)MP3模塊的連接圖如下:圖2.5.3 MP3模塊單片機連接圖單片機的模塊的原理圖如下:圖2.5.4 VS1053B原理圖2.6、外部FLASH:W25X16是華邦公司的推出的一款容量更大的FLASH。容量16Mb,也就是2M 。2M空間分為32塊,每一塊大小64K。每個64K又被劃分為 16個扇區,每個扇區占 4K。對W25x16操作時每次最少擦除一個扇區。所以每次要擦除 4K 字節。因此緩存區至少開辟4K給W25X16。該flash可以保存數據20年的穩定性,同
28、時可以反復擦除10000 次。在本系統中,W25x16與單片機的連接圖。圖2.6.1W25X16與單片機連接圖本系統中,WX25X16的實物圖圖2.6.2 W25X16實物圖2.7、串行外圍設備接口Serial Peripheral interface 。EEPROM、AD/DA、片載FLASH是SPI的主要應用地方。DSP、CODEC也會使用到SPI。SPI是一種通信總線具有全雙工、高速同步的特點。只有四線占芯片的引腳,節約引腳資源,為系統開發,提供方便。為PCB布局相樣的節省空間、時間,這種簡單和易于使用的特點,在越來越多的芯片的通信協議使用,同時STM32 也有SPI 接口。SPI使用4
29、條線作為接口:MISO從設備data輸出、主設備data輸入。MOSI從設備data輸入、主設備data輸出。CS主設備控制,從設備的芯片選擇信號。SPI特點:可以同時發出和接收串行數據;可以當作主機或從機工作;提供頻率可編程時鐘;發送結束中斷標志;寫沖突保護;總線競爭保護等。本系統寫入FLASH字庫的時候。相關配置如下:1、配置相關引腳的復用功能,使能SPI1時鐘2、設置SPI1工作模式3、使能SPI13、軟件設計這一章內容有些少,可以加些內容,不要什么都沒有的時候,就出現一個流程圖,要一些語言過度圖3.1 軟件流程圖軟件采用C語言編程,使用MDK開發環境。首先開機自檢,檢測SD卡,DHT1
30、1、等硬件信息。硬件自檢完畢后,開始檢測存放在外部flash的字庫文件,如果字庫沒有,則在sd卡根目錄下下面更新字庫文件。字庫檢測完畢后,開始在sd卡的根目錄下面尋找音頻文件,然后順序播放。在讀取sd卡中的音頻文件同時。對按鍵進行檢測,每當發完512個字節的時候檢測按鍵一次。同時檢測環境的溫濕度。如果有按鍵按下,則對系統進行相應的操作。按鍵主要是對播放進行控制,有播放暫停按鍵、上一曲、下一曲、音量+、音量-來實現對整個播放系統的實時控制。在控制系統播放的同時不間斷的檢測周圍的環境溫度。設置的濕度舒適值是30%55%溫度舒適值是20%28%,在這個之間會顯示“今天天氣好好呀,陪你真好,來首mus
31、ic,么么噠。”當溫濕度有一項不能滿足這個,會顯示出不同的結果,具體結果請大家參照附錄代碼查看。4、實驗調試本次設計是本人的初步嘗試使用STM32來開發系統,以前都是使用51寫完整,什么51?來作為主控核心。但是由于51已經是很老的設備,同時STM32有是Cortex-M3的內核比相應的arm7架構更加先進。出于對未知的好奇。所以本系統使用STM32作為開發的主控核心。但是問題也是相應而來,由于上手時間不是太長,而且由8位的51直接過度到32位的STM32跨度還是相當大的。但是幸好有我們學校的魏老師,給予我很大的幫助。在軟件的開發過程中,由于系統對外設的要求很高。導致時常出現外設跟不上軟件的速
32、度。從而大大的降低了整個系統的開發。一開始使用的是戰艦的開發板來調試整個系統,系統非常良好,但是由于想自己搭建外圍,所以放棄了戰艦開發板上調好的整個系統。改用戰艦mini開發板。雖說是開發板,但是其實和最小系統沒有太大區別。只是多了一個片載flash和一個SD卡模塊。免除自己的焊接問題,但是這樣也幫助我很大的忙,應為這兩個東西,是自己很難焊接出來,如果直接去畫pcb時間又不是太來的急。所以最后選擇戰艦mini開發板。在戰艦mini開發板上進行軟件調試的過程中,也遇到了很多困難,首先是資源的問題,本來的主控系統是STM32F103ZET6而mini的板子是STM32F103RBT6板子的資源區別很大很大,最終導致戰艦的整個調好的系統無法移植。一個無線遙
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財政投資風險評審流程
- 養老護理員職業素養培訓計劃
- 醫院醫療安全資金投入計劃
- 人教版七年級下冊生物教學創新模式計劃
- 最美文化工作者事跡材料范文
- 風門砌筑施工規范化管理技術措施
- 裝配式建筑施工現場管理機構設置及職責
- 幼兒園疫情期間中班家長志愿者參與計劃
- ERP系統軟件項目進度計劃
- 舞蹈愛好者社團活動計劃
- DB45T 2364-2021 公路路基監測技術規范
- 項目結題報告模板范文
- 2024年度學校供水設施建設及改造合同3篇
- 靜脈留置針所致靜脈炎的標準化護理預防流程
- 2023-2024學年安徽省宣城市高二下學期期末考試物理試題(解析版)
- 中華人民共和國農村集體經濟組織法
- 酸性體質是百病之源
- 激光治療黃褐斑課件
- 競聘物業項目經理
- 《鐵路客運業務實務》課件-項目五-簽證、變更及退票業務
- 國開《中國古代文化常識》期末復習題
評論
0/150
提交評論