




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、【W(wǎng)ord版本下載可任意編輯】 AVR單片機(jī)的U盤MP3設(shè)計(jì)與實(shí)現(xiàn) 隨著電子技術(shù)的發(fā)展,MP3播放器向著大容量,小型化發(fā)展。但播放器與存儲器一體化的設(shè)計(jì)使得MP3難以擴(kuò)大容量以容納更多的歌曲。將播放器與存儲器分離是MP3目前發(fā)展的另一方向。本文介紹了一種利用AVR控制以HOST USB方式讀取U盤的音樂文件并將其解碼的播放的解決方案。本方案同時具備讀取音樂標(biāo)簽,U盤電子書,貪吃蛇游戲等功能,具有商業(yè)價值。 1系統(tǒng)功能簡介 本設(shè)計(jì)主要完成對存儲在U盤中的音樂及文本等信息的讀取操作,能夠完成U盤內(nèi)MP3音樂數(shù)據(jù)的播放及標(biāo)簽信息的顯示,實(shí)現(xiàn)播放器與存儲器分離,并在此根底上完成電子書,貪吃蛇游戲等功能
2、。 2系統(tǒng)芯片選擇 本設(shè)計(jì)MCU選擇ATMEL公司的ATmega64作為主控芯片。ATmega64是高性能、低功耗的8位AVR微處理器,具有先進(jìn)的RISC構(gòu)造。64K字節(jié)系統(tǒng)內(nèi)可編程Flash,2K字節(jié)EEPROM,4K字節(jié)片內(nèi)SRAM,64個引腳,53個可編程I/O口,具有可工作于主機(jī)/從機(jī)模式的SPI串行接口音頻解碼芯片選擇芬蘭VLSI公司生產(chǎn)的VS1003。VS1003是一款具有MP3/WMA/MIDI音頻解碼及ADPCM編碼功能的芯片,它包含一個高性能,低功耗的DSP內(nèi)核VS_DSP,工作數(shù)據(jù)存儲器,為用戶應(yīng)用提供5KB的指令RAM和0.5KB的數(shù)據(jù)RAM。一個串行的控制和數(shù)據(jù)接口,4
3、個通用I/O口,一個UART,一個高質(zhì)量可變采樣率的ADC和立體聲DAC,一個耳機(jī)放大器和地線緩沖器。 USB通信芯片選擇CH375,CH375是一個USB總線的通用接口芯片,支持USB-host主機(jī)方式和USB-DEVICE/SLAVE設(shè)備方式。在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及終端輸出,可以方便地掛接到單片機(jī)等控制其的系統(tǒng)總線上。內(nèi)置控制傳輸?shù)膮f(xié)議處理器,簡化常用的控制傳輸。支持低功耗模式。 3系統(tǒng)硬件電路設(shè)計(jì) 3.1MP3解碼芯片與ATmega64的硬件連接 VS1003使用同步串行總線SPI通信,ATmega64內(nèi)部集成有SPI總線控制器,故將SCLK,MOS
4、O,MOSI直接與MCU的SPI控制引腳相連接即可。另外將XCS,XRES,DREQ,XDCS分別于PB4PB7相連接,即可完成對解碼芯片的控制。 3.2CH375與ATmega64的硬件連接 本設(shè)計(jì)中,CH375工作在HOST模式下,八位雙向數(shù)據(jù)總線D0D7分別于MCU的PD0PD7相連接,實(shí)現(xiàn)數(shù)據(jù)與命令的并行傳輸。A0,RD,WR,INT,CS分別于PC3PC7相連接。這種連接可以很方便的將CH375掛接到各種MCU系統(tǒng)總線上。 3.3彩屏與ATmega64的硬件連接 彩屏與MCU實(shí)現(xiàn)并口數(shù)據(jù)命令傳輸,將其16位數(shù)據(jù)命令口與MCU的PA0PA7以及PE0PE7相連接,另外將彩屏的片選CS,
5、數(shù)據(jù)命令選通RS,寫選通WR,讀選通RD,及復(fù)位RST分別于MCU的PG0PG4相連接。 系統(tǒng)啟動后,在ATmega64的控制下,首先將數(shù)據(jù)從U盤中取出,如果是音頻數(shù)據(jù),則直接送入VS1003開展解碼,VS1003將接收到的數(shù)據(jù)解碼后轉(zhuǎn)換為模擬音頻后,通過功率放大器輸出。若收到的是文本數(shù)據(jù),則開展字符格式轉(zhuǎn)換,并在液晶屏上顯示出來。 4系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)軟件的設(shè)計(jì)主要分為VS1003的驅(qū)動程序,CH375的驅(qū)動程序,彩屏的驅(qū)動程序以及整體的整合。(分別為:vs1003.cch375.c TFT_ili9320.c mp3_play.c ) 4.1FAT文件系統(tǒng)管理 一個FAT文件系統(tǒng)包括四個不
6、同的部分。保存扇區(qū),F(xiàn)AT區(qū),根目錄區(qū),數(shù)據(jù)區(qū)。其中保存區(qū)中的個分區(qū)必須是BPB,也稱作“引導(dǎo)扇區(qū)”,因?yàn)樗袑ξ募到y(tǒng)開展識別的關(guān)鍵信息,計(jì)算機(jī)將以此信息識別存儲器文件格式,因此十分重要。 FAT區(qū)包含有兩份文件分配表,這是出于系統(tǒng)冗余考慮,盡管它很少使用,即使是磁盤修復(fù)工具也很少使用它。它是分區(qū)信息的映射表,指示簇是如何存儲的。根目錄區(qū)是在根目錄中存儲文件和目錄信息的目錄表。在FAT32下它可以存在分區(qū)中的任何位置,但是在早期的版本中它永遠(yuǎn)緊隨FAT區(qū)域之后。數(shù)據(jù)區(qū)是實(shí)際的文件和目錄數(shù)據(jù)存儲的區(qū)域,它占據(jù)了分區(qū)的絕大部分。 4.2U盤的讀取 由于CH375內(nèi)置控制傳輸?shù)膮f(xié)議處理器,因此讀
7、取U盤可以通過控制CH375的存放器來開展U盤的讀取。CH375以C語言子程序庫提供了USB存儲設(shè)備的文件級接口,這些應(yīng)用層接口API包含了常用的文件級操作,可以移植并嵌入到常用的單片機(jī)程序中。CH375的U盤文件級子程序庫具有以下特性:支持常用文件系統(tǒng),支持多級子目錄,可以支持小寫字母或者長文件名,支持文件打開、新建、刪除、讀寫以及搜索等。CH375的文件級子程序庫需要大約600Byte的隨機(jī)存儲器RAM作為緩沖區(qū)。文件級子程序庫的所有API在調(diào)用后都有操作狀態(tài)返回,但不一定有應(yīng)答數(shù)據(jù)。主要子程序如下: (1)初始化CH375芯片: CH375Init; ( 2 )打開文件:CH375Fil
8、eopen;(3)枚舉或者搜索文件:CH375FileEnumer;(4)關(guān)閉文件: CH375FileClose; (5)以扇區(qū)為單位從文件讀數(shù)據(jù):CH375FileReadX; ( 6 )以扇區(qū)為單位向文件寫數(shù)據(jù):CH375FilewriteX。 4.3VS1003的讀寫控制 VS1003的存放器用以下順序讀出,如圖二。首先將XCS片選拉低以選擇芯片,再通過SI線發(fā)送8位的讀操作碼(0 x03)和8位的地址。在地址被VS1003芯片讀入后,SI上的數(shù)據(jù)將被忽略。相應(yīng)地址的16位數(shù)據(jù)將從SO線移出。當(dāng)數(shù)據(jù)全被移出后XCS需拉高。 VS1003的存放器須按以下的順序?qū)懭?,如圖三。首先將XCS片
9、選拉低,再通過SI線發(fā)送8位的讀操作碼(0 x02)和8位的地址。隨即發(fā)送16位的數(shù)據(jù)字。當(dāng)一位被移入且的時鐘已發(fā)送,必須將XCS拉高以完成寫操作。 4.4MP3的播放 當(dāng)執(zhí)行音樂播放程序時,ATmega64芯片首先從U盤中預(yù)取標(biāo)簽信息,經(jīng)過分析,由Unicode到GBK編碼的轉(zhuǎn)換,再取字模,終在LCD上顯示;之后開始取音樂文件的數(shù)據(jù),送到VS1003芯片,VS1003開始解碼并在音頻接口發(fā)出音頻信號。當(dāng)按下暫停鍵時,暫停取數(shù)據(jù),上一曲、下一曲時跳出取數(shù)據(jù)循環(huán)。 4.5其他軟件設(shè)計(jì) 1.音樂標(biāo)簽的軟件設(shè)計(jì)。本系統(tǒng)可以讀取的音樂的標(biāo)簽有ID3V1、ID3V2,當(dāng)要區(qū)分這兩個標(biāo)簽時可以用程序讀取音
10、樂文件的開頭和結(jié)尾,利用其標(biāo)志符“ID3”、“TAG”來區(qū)分其具有哪一個標(biāo)簽。但是標(biāo)簽中的文字編碼也包括UNICODE、GBK,具體的區(qū)分也要查找相關(guān)的標(biāo)志符。 2.文檔閱讀的軟件設(shè)計(jì)。GBK的編碼中會帶有ASC碼,而GBK碼占兩個字節(jié),ASC碼占一個字節(jié),如果在取文件過程中恰好取到GBK碼的每二個字節(jié),那么以后的內(nèi)容在LCD上的顯示將全部為亂碼,特別是在向上翻頁的時候(文檔內(nèi)容在LCD上的顯示還要判斷回車以及其它字符,這樣就會造成每一頁具體讀了多少字節(jié),顯示了多少字節(jié)都不一樣)。終解決方法是用一個數(shù)組記錄每翻頁共顯示了多少字節(jié)(不是讀取了多少字節(jié))。 3.在TFT上顯示字符和漢字。對于TFT液晶,沒有具體的字模存儲在控制芯片中,只能是整體系統(tǒng)的存儲。而且漢字的Unicode和GBK編碼并不相同。筆者把具體的字庫存儲在了要讀取的優(yōu)盤根目錄下(對應(yīng)的字模文件是ST16.BIN KT16.BIN)。對于Unicode到GBK的轉(zhuǎn)換,筆者把轉(zhuǎn)換文件也存儲在
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 腫瘤??谱o(hù)士門診介紹
- 幼兒園畢業(yè)班教育教學(xué)
- 護(hù)理餅圖的制作
- 職業(yè)技能面試
- 弱電設(shè)計(jì)年終工作總結(jié)
- 農(nóng)機(jī)報廢流程規(guī)范與實(shí)施
- 縮短句子的技巧與方法
- 湘教版高中必修一課程解讀
- 幼兒園肺炎防控知識培訓(xùn)
- 直銷業(yè)務(wù)培訓(xùn)
- 馬拉松志愿者培訓(xùn)方案
- 近3年國網(wǎng)系統(tǒng)安全事故(事件)通報+各專業(yè)嚴(yán)重違章專項(xiàng)測試題附答案
- 肺孢子菌肺炎護(hù)理查房
- 2023年法律職業(yè)資格《主觀題》真題及答案
- LY/T 3391-2024植物新品種特異性、一致性、穩(wěn)定性測試指南紫荊屬
- 柬埔寨高棉語學(xué)習(xí)
- 二年級下冊期末無紙筆測評方案
- CJJ89-2012 城市道路照明工程施工及驗(yàn)收規(guī)程
- 娛樂場所突發(fā)事件應(yīng)急處理
- 2023年新疆維吾爾自治區(qū)烏魯木齊市天山區(qū)小升初數(shù)學(xué)試卷(內(nèi)含答案解析)
- 20G520-1-2鋼吊車梁(6m-9m)2020年合訂本
評論
0/150
提交評論