国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于AVR單片機的U盤MP3設計與實現

發布時間:2015-11-13 09:58    發布者:designapp
關鍵詞: AVR , U盤 , CH375
  隨著電子技術的發展,MP3播放器向著大容量,小型化發展。但播放器與存儲器一體化的設計使得MP3難以擴充容量以容納更多的歌曲。將播放器與存儲器分離是MP3目前發展的另一方向。本文介紹了一種利用AVR控制以HOST USB方式讀取U盤的音樂文件并將其解碼的播放的解決方案。本方案同時具備讀取音樂標簽,U盤電子書,貪吃蛇游戲等功能,具有商業價值。
  1 系統功能簡介
  本設計主要完成對存儲在U盤中的音樂及文本等信息的讀取操作,能夠完成U盤內MP3音樂數據的播放及標簽信息的顯示,實現播放器與存儲器分離,并在此基礎上完成電子書,貪吃蛇游戲等功能。
  2 系統芯片選擇
  本設計MCU選擇ATMEL公司的ATmega64作為主控芯片。ATmega64是高性能、低功耗的8位AVR微處理器,具有先進的RISC結構。64K字節系統內可編程Flash,2K字節EEPROM,4K字節片內SRAM,64個引腳,53個可編程I/O口,具有可工作于主機/從機模式的SPI串行接口音頻解碼芯片選擇芬蘭VLSI公司生產的VS1003。VS1003是一款具有MP3/WMA/MIDI音頻解碼及ADPCM編碼功能的芯片,它包含一個高性能,低功耗的DSP內核VS_DSP,工作數據存儲器,為用戶應用提供5KB的指令RAM和0.5KB的數據RAM。一個串行的控制和數據接口,4個通用I/O口,一個UART,一個高質量可變采樣率的ADC和立體聲DAC,一個耳機放大器和地線緩沖器。
  USB通信芯片選擇CH375,CH375是一個USB總線的通用接口芯片,支持USB-host主機方式和USB-DEVICE/SLAVE設備方式。在本地端,CH375具有8位數據總線和讀、寫、片選控制線以及終端輸出,可以方便地掛接到單片機等控制其的系統總線上。內置控制傳輸的協議處理器,簡化常用的控制傳輸。支持低功耗模式。
  3 系統硬件電路設計
  3.1 MP3解碼芯片與ATmega64的硬件連接
  VS1003使用同步串行總線SPI通信,ATmega64內部集成有SPI總線控制器,故將SCLK,MOSO,MOSI直接與MCU的SPI控制引腳相連接即可。另外將XCS,XRES,DREQ,XDCS分別于PB4~PB7相連接,即可完成對解碼芯片的控制。
  3.2 CH375與ATmega64的硬件連接
  本設計中,CH375工作在HOST模式下,八位雙向數據總線D0~D7分別于MCU的PD0~PD7相連接,實現數據與命令的并行傳輸。A0,RD,WR,INT,CS分別于PC3~PC7相連接。這種連接可以很方便的將CH375掛接到各種MCU系統總線上。
  3.3 彩屏與ATmega64的硬件連接
  彩屏與MCU實現并口數據命令傳輸,將其16位數據命令口與MCU的PA0~PA7以及PE0~PE7相連接,另外將彩屏的片選CS,數據命令選通RS,寫選通WR,讀選通RD,及復位RST分別于MCU的PG0~PG4相連接。
  系統啟動后,在ATmega64的控制下,首先將數據從U盤中取出,如果是音頻數據,則直接送入VS1003進行解碼,VS1003將接收到的數據解碼后轉換為模擬音頻后,通過功率放大器輸出。若收到的是文本數據,則進行字符格式轉換,并在液晶屏上顯示出來。
  4 系統軟件設計
  系統軟件的設計主要分為VS1003的驅動程序,CH375的驅動程序,彩屏的驅動程序以及整體的整合。(分別為:vs1003.cch375.c TFT_ili9320.c mp3_play.c )
  4.1 FAT文件系統管理
  一個FAT文件系統包括四個不同的部分。保留扇區,FAT區,根目錄區,數據區。其中保留區中的第一個分區必須是BPB,也稱作“引導扇區”,因為它含有對文件系統進行識別的關鍵信息,計算機將以此信息識別存儲器文件格式,因此十分重要。
  FAT區包含有兩份文件分配表,這是出于系統冗余考慮,盡管它很少使用,即使是磁盤修復工具也很少使用它。它是分區信息的映射表,指示簇是如何存儲的。根目錄區是在根目錄中存儲文件和目錄信息的目錄表。在FAT32下它可以存在分區中的任何位置,但是在早期的版本中它永遠緊隨FAT區域之后。數據區是實際的文件和目錄數據存儲的區域,它占據了分區的絕大部分。
  4.2 U盤的讀取
  由于CH375內置控制傳輸的協議處理器,因此讀取U盤可以通過控制CH375的寄存器來進行U盤的讀取。CH375以C語言子程序庫提供了USB存儲設備的文件級接口,這些應用層接口API包含了常用的文件級操作,可以移植并嵌入到常用的單片機程序中。CH375的U盤文件級子程序庫具有以下特性:支持常用文件系統,支持多級子目錄,可以支持小寫字母或者長文件名,支持文件打開、新建、刪除、讀寫以及搜索等。CH375的文件級子程序庫需要大約600Byte的隨機存儲器RAM作為緩沖區。文件級子程序庫的所有API在調用后都有操作狀態返回,但不一定有應答數據。主要子程序如下:
  (1)初始化CH375芯片: CH375Init; ( 2 )打開文件:CH375Fileopen;(3)枚舉或者搜索文件:CH375FileEnumer;(4)關閉文件: CH375FileClose; (5)以扇區為單位從文件讀數據:CH375FileReadX; ( 6 )以扇區為單位向文件寫數據:CH375FilewriteX。
                               
                  4.3 VS1003的讀寫控制
  VS1003的寄存器用下列順序讀出,如圖二。首先將XCS片選拉低以選擇芯片,再通過SI線發送8位的讀操作碼(0x03)和8位的地址。在地址被VS1003芯片讀入后,SI上的數據將被忽略。相應地址的16位數據將從SO線移出。當數據全被移出后XCS需拉高。
  


  VS1003的寄存器須按以下的順序寫入,如圖三。首先將XCS片選拉低,再通過SI線發送8位的讀操作碼(0x02)和8位的地址。隨即發送16位的數據字。當最后一位被移入且最后的時鐘已發送,必須將XCS拉高以完成寫操作。
  4.4 MP3的播放
  當執行音樂播放程序時,ATmega64芯片首先從U盤中預取標簽信息,經過分析,由Unicode到GBK編碼的轉換,再取字模,最終在LCD上顯示;之后開始取音樂文件的數據,送到VS1003芯片,VS1003開始解碼并在音頻接口發出音頻信號。當按下暫停鍵時,暫停取數據,上一曲、下一曲時跳出取數據循環。
  


  4.5 其他軟件設計
  1.音樂標簽的軟件設計。本系統可以讀取的音樂的標簽有ID3V1、ID3V2,當要區分這兩個標簽時可以用程序讀取音樂文件的開頭和結尾,利用其標志符“ID3”、“TAG”來區分其具有哪一個標簽。但是標簽中的文字編碼也包括UNICODE、GBK,具體的區分也要查找相關的標志符。
  2.文檔閱讀的軟件設計。GBK的編碼中會帶有ASC碼,而GBK碼占兩個字節,ASC碼占一個字節,如果在取文件過程中恰好取到GBK碼的每二個字節,那么以后的內容在LCD上的顯示將全部為亂碼,特別是在向上翻頁的時候(文檔內容在LCD上的顯示還要判斷回車以及其它字符,這樣就會造成每一頁具體讀了多少字節,顯示了多少字節都不一樣)。最終解決辦法是用一個數組記錄每一次翻頁共顯示了多少字節(不是讀取了多少字節)。
  3.在TFT上顯示字符和漢字。對于TFT液晶,沒有具體的字模存儲在控制芯片中,只能是整體系統的存儲。而且漢字的Unicode和GBK編碼并不相同。筆者把具體的字庫存儲在了要讀取的優盤根目錄下(對應的字模文件是ST16.BIN KT16.BIN)。對于Unicode到GBK的轉換,筆者把轉換文件也存儲在了優盤的根目錄下面(對應文件是UNITOGBK.SYS)。
  5 結束語
  經測試,本設計能夠讀取并播放U盤中MP3文件,音質清晰悅耳,無延時和跳幀現象。能夠讀取U盤中txt文檔以實現電子書功能。內置的貪吃蛇游戲也可以順利實現。由于本設計采用播放器與存儲器分離的方式,因此存儲空間不受限制,自由度較大,這比一般MP3播放器更具有優勢。
                               
               
本文地址:http://m.qingdxww.cn/thread-156335-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线精彩视频| 亚洲热色| 三级黄色片在线播放| 日本大片成人免费网址| 中文字幕专区高清在线观看| 永久免费观看的毛片的网站| 东北成人社区| 免费xxx成年大片| 亚洲在线无码免费观看| 亚洲 欧美 动漫| 日本午夜小视频| 亚洲欧美日韩成人网| 一级特级aaaa毛片免费观看 | 日韩美女中文字幕| 中文字幕免费在线观看| 综合久久91| 欧美xxxav| 天天色影院| 四虎国产精品永久在线看| 亚欧成人乱码一区二区| 97成人免费视频| 麻豆一区二区三区蜜桃免费| 亚洲午夜久久久精品影院| 欧美精品一区二区精品久久| 天天舔天天| 小舞的下面好湿好紧好爽| 99久久蜜臀AV免费看蛮| 色综合久久88色综合天天提莫 | 青青艹在线视频| 婷婷6月天| 一区人机| 欧美特级另类xxx| 亚洲国产99在线精品一区69堂 | 亚洲久草视频| 一个人看的www视频在线观看| 久久re视频精品538在线| 杨幂被视频在线观看| 欧美一区二区三区久久久人妖 | 香蕉久热| 午夜欧美精品久久久久久久| 伊人99re|