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

基于ISPl362 U盤MP3播放器設(shè)計(jì)

發(fā)布時(shí)間:2010-7-24 14:58    發(fā)布者:conniede
關(guān)鍵詞: ISPl362 , MP3 , U盤 , 播放器
播放器與存儲器的一體化設(shè)計(jì)對。MP3播放器的便攜性起了關(guān)鍵性的作用,但與此同時(shí),它又帶來了很多新的問題。比如存儲容量固定,如果想裝下更多的歌曲只能去購買新的產(chǎn)品,造成了巨大的浪費(fèi)。另一方面,一體化又限制了MP3播放器在其它領(lǐng)域的應(yīng)用,比如汽車電子等。于是,將存儲器與播放器分離,成為MP3的另一發(fā)展方向,也是開發(fā)這款U盤MP3播放器的意義所在。

主要芯片簡介

AT89C5lSNDl是ATMEL推出的基于8位C5l MCU內(nèi)核的MP3解碼器芯片。它內(nèi)置MP3硬件解碼器,支持48kHz、44.1kHz、32kHz、24kHz、22.05kHz及l(fā) 6kHz采樣頻率,具有重低音、中音、高音均衡控制和重低環(huán)繞聲效果。它可以適應(yīng)市場上不同DAC的可編程音頻輸出接口,兼容PCM和12S格式。內(nèi)置2304B RAM和64KB Flash程序空間,方便用戶增加復(fù)雜的功能。并通過內(nèi)置鎖相環(huán)提供MP3和音頻時(shí)鐘以及USB時(shí)鐘。

要想讀取U盤,USB主機(jī)控制器必不可少。為了將來進(jìn)一步升級系統(tǒng),本文選用了功能強(qiáng)大的LISB一OTG芯片ISPl362。ISPl362在單芯片上集成了0TG控制器、高級主機(jī)控制器和外設(shè)控制器。ISPl362的OTG控制器完全兼容LISB2.0以及On-The-Go Supplement 1.0協(xié)議,主機(jī)和設(shè)備控制器兼容USB 2.0協(xié)議,并支持l2Mbps的全速傳輸和1.5Mbps的低速傳輸。

系統(tǒng)硬件結(jié)構(gòu)

整個(gè)系統(tǒng)的搭建圍繞AT89C51SNDl進(jìn)行,如圖1所示。由于其內(nèi)部具有硬件解碼器,因此電路構(gòu)成并不復(fù)雜。首先由單片機(jī)控制ISPl362,將U盤中的MP3文件讀取出來,送到硬件解碼器進(jìn)行解碼。解碼之后由數(shù)字音頻接口將數(shù)字信號傳送至音頻DAC CS4330,轉(zhuǎn)換之后產(chǎn)生音頻信號。由于DAC輸出的信號功率有限,在后端又加入了運(yùn)算放大器,經(jīng)過放大之后的信號就可以直接輸出給音箱或耳機(jī)等設(shè)備了。
AT89C51SNDl是基于51內(nèi)核的單片機(jī),因此,最小系統(tǒng)結(jié)構(gòu)非常簡單。除了傳統(tǒng)單片機(jī)的晶振和復(fù)位電路之外,還有PLL濾波電路和USB接口電路,如圖2所示。

ISPl362是16位總線結(jié)構(gòu),不能直接和8位單片機(jī)接口。因此,將單片機(jī)的PO和P2口一同作為數(shù)據(jù)總線接至ISPl362的16位總線上,將CS、RD、WR分別接到單片機(jī)的P3.4、P3.7和P3.6,通過仿真讀寫時(shí)序控制它的數(shù)據(jù)讀取等操作。

除了這些基本的總線連接,ISPl362還需要連接一些特殊的控制引腳:

AO:用于決定控制器處于命令狀態(tài)還是數(shù)據(jù)狀態(tài):O表示數(shù)據(jù)狀態(tài),l表示命令狀態(tài);

Al:用于決定控制器工作于主機(jī)還是設(shè)備控制模式:O表示處于主機(jī)控制(HC)模式;1表示處于設(shè)備控制(DC)模式。

OTG-MODE接至MCU的P1.5。P1.5=O時(shí)表示處于OTG工作狀態(tài),P1.5=1貝U表示處于非OTG狀態(tài)。

INTl_USB、INT2_USB分別接至MCU的INTO和INTl引腳,用以產(chǎn)生中斷。

ISPl362有兩個(gè)USB端口,分別是OTG端口和主機(jī)端口。因?yàn)镺TG端口包含了主機(jī)功能,所以系統(tǒng)中使用0TG端口來連接U盤。根據(jù)USB2.O協(xié)議,USB主機(jī)需要2個(gè)15k的下拉電阻,但OTG端口同時(shí)又可作為設(shè)備端口使用,而設(shè)備是沒有下拉電阻的。因此ISPl362提供了"軟連接"機(jī)制,通過內(nèi)部的寄存器來控制電阻的連接與否。所以在硬件設(shè)計(jì)時(shí)并不需要在外部加下拉電阻。而H-PSW1為開漏輸出,因此加入了一個(gè)10kΩ的上拉電阻R14_USB。如圖3所示。

AT89C51SNDlC及l(fā)SPl362的初始化

在開始播放。MP3文件之前,需要一系列初始化操作。這些操作是通過設(shè)置AT89C51SNDlC及ISPl362內(nèi)部的相關(guān)寄存器來完成的。

AT89C51SNDlC的初始化

為了正常播放:MP3文件,首先要對主控制器AT89C5lSNDlc進(jìn)行以下幾方面的設(shè)置。

鎖相環(huán)初始化

MP3解碼器和音頻輸出接口使用的都是內(nèi)部鎖相環(huán)提供的時(shí)鐘。鎖相環(huán)的初始化是通過設(shè)置PLLCON、PLLNDIV和PLLNDIV來完成的。其輸出頻率的計(jì)算公式為:PLLclk=OSCclk×(R+1)/(N+1)。

MP3解碼器初始化

MP3解碼器的初始化需要對MP3CON和MP3CLK進(jìn)行設(shè)置。MP3解碼器分缺少數(shù)據(jù)中斷和校驗(yàn)中斷兩類中斷,在MP3CON中可以對其進(jìn)行設(shè)置。簡單處理可以采用查詢標(biāo)志位方式,避免使用中斷。MP3解碼器對時(shí)鐘有一定的要求,MPEGI格式的MP3數(shù)據(jù)要求最低時(shí)鐘為21MHz,MPEG II格式為10.5MHz。該時(shí)鐘計(jì)算公式為:MP3clk=PLLclk/(MPSD4:0+1)。

音頻輸出接口初始化

得到兩個(gè)聲道串行數(shù)據(jù)前需先對音頻輸出接口的AuDCON0和AIJDCONl中的相關(guān)部分進(jìn)行正確的設(shè)置。配合DAC芯片CS4330,其設(shè)置如下:輸出3 2位數(shù)據(jù)格式(DSIZ=1),聲道選擇信號中的高電平為左聲道(POL=1),選擇256·Fs的數(shù)據(jù)速率(HLR=O),選擇MP3解碼器的輸出為數(shù)據(jù)源(SRC=0),18位數(shù)據(jù)右對齊(JUST4:0=14)。為了聽到正常的聲音,還需根據(jù)MP3的采樣率設(shè)置MP3CLK來得到正確的音頻輸出接口的時(shí)鐘,該時(shí)鐘的計(jì)算公式為:AUDclk=PLLclk/(AUCD4:0+1)。

按鍵初始化

要實(shí)現(xiàn)播放MP3的人機(jī)交互功能,就需要鍵盤的支持,AT89C51SND1C專門提供了4個(gè)中斷的按鍵接口,當(dāng)這些中斷被使能后就可以簡單地通過讀取KBsTA得到按鍵的狀態(tài)。按鍵初始化的時(shí)候只需要在KBCON開啟相應(yīng)接口的中斷,再開啟總中斷的EA即可。

ISPl362的設(shè)置

為了能正確地從U盤中讀取MP3文件,首先要對USB控制芯片ISPl362進(jìn)行以下幾方面的設(shè)置。

數(shù)據(jù)緩沖區(qū)的劃分

ISPl362內(nèi)部有4KB的數(shù)據(jù)緩沖區(qū),可劃分為4部分以供USB的四種傳輸方式使用。其中同步傳輸為雙緩沖,占用ISTLO和ISTlLl,一般二者大小是一樣的。中斷傳輸占用INTL。控制傳輸和塊傳輸共用ATL。分別通過HclSTLButfferSize、H c I N T L B u f f e r S i z e和HcATLBufferSize來設(shè)置ISTL、INTL和ATL的大小。

中斷的設(shè)定

這里的中斷并不是指USB中的中斷傳輸,而是傳統(tǒng)意義上的硬件中斷。如果不使用中斷,則應(yīng)該將其關(guān)閉,具體操作為將HcuPInterruptEnable置O,而HcInterTuptI)isable中所有位都置1

ATL緩沖中的設(shè)定

控制傳輸是任何15SB設(shè)備都有的數(shù)據(jù)傳輸類型,而在ISPl362中,它占用的是ATL緩沖區(qū),因此對ATL緩沖的設(shè)定是必不可少的。具體的操作是設(shè)置以下幾個(gè)寄存器:H c A T L P T D S k i p M a p、HcATLLastPTD、HcATLBlkSize、HcATLPTDDoneThresboldCoun!和HcArrLPTDI)oneThresholdTimeOut。

其它相關(guān)寄存器

ISPl362還有一些關(guān)于硬件的設(shè)置,比如端口設(shè)定以及過流保護(hù)等。除此之外,還需要確定一個(gè)幀所發(fā)送的最大數(shù)據(jù)量等信息,這些操作通過設(shè)定HcHardwareConfiguration和HcFmInterval兩個(gè)寄存器完成。

讀取U盤

U在使用U SB傳輸時(shí)使用的是塊傳輸方式,操作相對比較復(fù)雜。除了最基本的USB協(xié)議之外,還需要實(shí)現(xiàn)許多其它相關(guān)協(xié)議,比如Mass Stoiage、Bulk-Only、SCSI-2、UFI等。但對USB接口芯片ISPl362而言,需要完成的僅是按照協(xié)議規(guī)定進(jìn)行數(shù)據(jù)的傳送。

相關(guān)描述符和設(shè)置

U盤一般使用Mass Storage協(xié)議進(jìn)行通信。然而在使用MassStorage協(xié)議通信之前,應(yīng)首先關(guān)注傳輸協(xié)議和U盤的端點(diǎn)描述符。
Mass Storage中的傳輸協(xié)議常用Bulk_Only,然而在這種傳輸方式下又可分多種指令集,而U盤常用SCSI指令集。Bulk_Only的傳輸方式在通信時(shí)應(yīng)首先讀取端點(diǎn)描述符來獲取Bulk_In和Bulk_Out這兩個(gè)端點(diǎn)號,之后才能進(jìn)行USB的正常通信。

FAT文件系統(tǒng)

由于現(xiàn)在U盤的容量普遍較大,對U盤的操作往往都是按塊來進(jìn)行的,其大小一般均為512B。但實(shí)際U盤上的數(shù)據(jù)是以文件系統(tǒng)的方式來存儲的,目前U盤常用的文件系統(tǒng)有FATl6和FAT320而這兩種文件系統(tǒng)在很多內(nèi)容方面都是相同的,因此,在實(shí)際訪問中可以對其簡單的區(qū)分,然后分別進(jìn)行不同的操作,就能實(shí)現(xiàn)對不同文件系統(tǒng)的U盤進(jìn)行訪問,提高通用性。

播放MP3文件

播放一個(gè)MP3文件需要經(jīng)過以下幾個(gè)環(huán)節(jié):解析U盤的文件系統(tǒng),獲取MP3文件的信息,從U盤中讀取指定的MP3文件,將文件中的數(shù)據(jù)送至AT89C5lSNDlC內(nèi)嵌的MP3解碼器,解碼后的數(shù)據(jù)經(jīng)音頻輸出接口調(diào)整格式后輸出兩個(gè)聲道的串行數(shù)據(jù),再經(jīng)過DAC芯片CS4330將數(shù)字信號轉(zhuǎn)換為模擬信號,最后經(jīng)集成運(yùn)放。

MC33202將信號放大輸出。

初始化相關(guān)芯片

對主控器AT89C5lSNDlC和USB接口芯片ISPl362的初始化是至關(guān)重要的,除了上述一些需要初始化設(shè)置的地方,還應(yīng)注意單片機(jī)和ISPl362復(fù)位要同步。另外還應(yīng)對MP3解碼器音量控制的相關(guān)寄存器進(jìn)行初始化,默認(rèn)情況下它們都是0,即處于靜音狀態(tài)。

獲取MP3文件中的數(shù)據(jù)

從U盤中獲取MP3文件是一個(gè)相對煩瑣的過程,首先應(yīng)能按照USB的相關(guān)協(xié)議讀取U盤上指定塊的數(shù)據(jù),之后還要根據(jù)得到的數(shù)據(jù)解析文件系統(tǒng),從而得到指定MP3文件的起始塊地址,然后通過查FAT表的方法得到后繼的數(shù)據(jù)。并且還應(yīng)將得到的數(shù)據(jù)存儲在AT89C5lSNDlC內(nèi)部開設(shè)的數(shù)據(jù)緩存中,等待MP3解碼器缺少數(shù)據(jù)時(shí)使用。由于MP3解碼器內(nèi)部的數(shù)據(jù)緩存較小,因而就要求獲取MP3文件數(shù)據(jù)的時(shí)間要盡可能的少,這就需要該部分的代碼要盡量精簡。

MP3解碼器解碼

啟動(dòng)MP3解碼器之前應(yīng)先對讀取來的MP3數(shù)據(jù)的幀頭進(jìn)行解析,根據(jù)解析得到的采樣率設(shè)置音頻輸出接口的時(shí)鐘。從U盤中讀取的數(shù)據(jù)也應(yīng)先暫存在AF89C51SNDlC內(nèi)部開設(shè)的數(shù)據(jù)緩存中,開始播放之前需要先通過MP3DAT向MP3解碼器的數(shù)據(jù)緩存中送滿lKB的數(shù)據(jù),之后待MP3解碼器出現(xiàn)缺少數(shù)據(jù)的狀態(tài)(MP3STAl寄存器中的MPFREQ=1),再將AT89C5lSNDlc內(nèi)部數(shù)據(jù)緩存中的數(shù)據(jù)寫入MP3解碼器中。當(dāng)數(shù)據(jù)緩存中的數(shù)據(jù)全部用完后,就應(yīng)立即再次讀取U盤,如此往復(fù)直到整個(gè)MP3文件都播放完畢為止。

結(jié)語

本系統(tǒng)很好地實(shí)現(xiàn)了對U盤的識別和讀取,突破了傳統(tǒng)MP3播放器中解碼器與存儲器一體化的限制,只需使用更大容量的U盤就可以在原有硬件基礎(chǔ)上增加存儲容量,在音響和汽車電子方面具有良好的應(yīng)用前景。
本文地址:http://www.qingdxww.cn/thread-16639-1-1.html     【打印本頁】

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

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點(diǎn)宏來節(jié)省時(shí)間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項(xiàng)目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進(jìn)行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美视频一区在线观看 | 欧美va亚洲va香蕉在线 | 免费人成在观看 | 男人性天堂| 免费看黄网站大全 | 免费在线欧美 | 国外成人在线视频网站 | 91在线视频免费播放 | 国产成人精品一区二三区 | 欧美 日本 国产 | 日本高清视频在线观看 | 国产一级片免费视频 | 大香线蕉免费观看视频75 | 亚洲国产一区二区三区精品 | 亚洲欧美在线观看视频 | 4438x成人网最大色成网站 | 日韩免费高清完整版 | 一级做a爰片欧美一区 | 日韩欧美在线视频 | 色综合久久88色综合天天小说 | 超色网站 | a级黄色毛片三 | 久久精品国产只有精品66 | 91中文字幕在线一区 | 亚洲视频区 | 91看片在线观看 | 天天久久狠狠伊人第一麻豆 | 伊人四虎| 日韩在线免费播放 | 亚洲欧洲精品国产二码 | 花季传媒app下载v3.048 | 极品美女在线观看 | 欧美成人在线视频 | 九色精品在线 | 久久婷婷久久一区二区三区 | 中文字幕日韩一区二区三区不卡 | 日本久久久久久 | 久久99精品国产麻豆宅宅 | 趁女同学洗澡摸她胸喝她奶 | 日韩大片免费看 | 亚洲欧洲精品成人久久曰 |