《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于單片機AT89C51SND1C的MP3方案設(shè)計
基于單片機AT89C51SND1C的MP3方案設(shè)計
電子設(shè)計工程
張 兢,李雪梅,徐 偉,,侯旭東,,呂和勝
摘要: 本文提出基于AT89C51SND1C單片機的MP3播放器的設(shè)計方法,此MP3播放器系統(tǒng)既有播放歌曲的功能又有U盤功能,。兩種功能的轉(zhuǎn)換用USB接口檢測電路來控制。當(dāng)MP3播放器上的USB設(shè)備插入PC機上的USB接口進行文件下載時執(zhí)行U盤功能,否則程序運行執(zhí)行MP3功能,。此設(shè)計低功耗,易擴展,,性價比高,,與同類產(chǎn)品相比,有很強的市場競爭能力和實用價值,。
Abstract:
Key words :

   隨著人們對便攜式音樂播放器要求的提高,,MP3播放器以其較小的體積和較好的音質(zhì)贏得了廣大音樂愛好者的青睞。起初,,MP3文件只能由電腦來播放,,隨著互聯(lián)網(wǎng)的發(fā)展,促進了MP3播放器的產(chǎn)生,,隨著人們對MP3產(chǎn)品進一步的認識和更高層次的需求,,MP3發(fā)生了一系列的變化,其更加小巧精致,,更人機化和情趣化,,個性區(qū)分也越來越強,。還出現(xiàn)了功能的融人和產(chǎn)品的整合,總之,,MP3播放器正朝著功能強大,、外觀豐富、價格便宜的方向發(fā)展,。這里提出一種基于AT89C51SND1C的MP3播放器設(shè)計方案,。

1 MP3播放器簡介
   
MP3播放器是一種新興的數(shù)字音樂播放器,播放MP3,、WMA等格式的文件,。通過用MPEG-1 Layer 3編碼技術(shù),可以得到大約12:1壓縮的有損音樂信號,。盡管MP3音樂是有損的,,它在壓縮過程中對功率譜較弱的信號有所丟失,但它同CD原聲區(qū)別不大,,不影響一般音樂愛好者對音樂的欣賞,。MP3大大縮小了聲音文件的長度,使音樂的存儲和傳輸更方便,。
1.1 結(jié)構(gòu)
   
MP3播放器一般分成3個部分:CPU,、MP3硬件解碼器存儲器。其中可以將前兩部分集成在一起,,即帶MP3硬件解碼器的CPU,;或?qū)⒑髢刹糠旨稍谝黄穑醇捎布獯a,、D/A轉(zhuǎn)換及音頻輸入,。存儲器可以是Flash存儲器或硬盤。綜合考慮元器件性價比等各方面的因素,,選定方案為:1)CPU+MP3解碼器+USB控制器:AT89C51SND1C,;2)D/A轉(zhuǎn)換器:CS4330;3)音頻放大器:任意雙路運算放大器即可,;4)存儲器:K9F120 8,;5)串口調(diào)試選用串口電平轉(zhuǎn)換器:MAX3232;6)MP3屏幕顯示器:LCD1602,。
1.2 功能
   
在該硬件系統(tǒng)設(shè)計中,,采用美國Atmel公司生產(chǎn)的AT89C51SND1C作為主控MCU,可以實現(xiàn)如下功能:1)能對MP3或WMA格式的文件進行解碼播放,;2)可以進行模擬音量,,音效調(diào)節(jié),聲道選擇,,音量的范圍:+18~+75 dB,,最小為靜音,;3)可對歌曲進行選擇,具有進,、退,、快進、快退功能及指定播放第幾首歌曲的功能,;4)通過USB接口,,可直接從PC機上高速下載音樂,應(yīng)用標準語音編碼格式壓縮和存儲數(shù)據(jù),。

2 MP3播放器工作原理
   
MP3播放器的基本工作原理如圖1所示,。通過USB接口把Flash存儲器上的MP3或者WMA等格式的數(shù)字音樂文件,送到主芯片內(nèi)部集成的解碼芯片進行解碼,,這些音樂文件經(jīng)過解碼后解碼為數(shù)字信號,,然后通過A/D轉(zhuǎn)換將數(shù)字信號轉(zhuǎn)換為模擬音頻信號,再通過功率放大器進行音頻放大,,最后通過耳機輸出,。本系統(tǒng)的一般工作過程如下:當(dāng)用戶要求播放MP3音樂時,如果在該系統(tǒng)Flash存儲器里沒有歌曲,,可以通過USB接口連接PC機來下載音樂文件到存儲芯片中;若該系統(tǒng)中已存有MP3歌曲,,用戶可根據(jù)顯示屏上的文件名選擇或者順序選擇MP3文件,,選擇文件后主芯片將所選的音頻文件從Flash閃存中讀到主芯片集成的MP3解碼器解碼后變成數(shù)字信號,該信號按照用戶設(shè)定的外部D/A轉(zhuǎn)換器格式通過音頻接口輸出的外部A/D轉(zhuǎn)換器,,外部A/D轉(zhuǎn)換器將數(shù)字信號轉(zhuǎn)換為人耳可接受的模擬信號并且通過功率放大器放大后送到耳機,。在播放過程中可以進行音量的增減等的選擇和控制。



3 MP3播放器的設(shè)計
3.1 硬件設(shè)計

    該設(shè)計方案可以方便地將外部的MP3格式的音樂文件傳輸?shù)奖鞠到y(tǒng)的存儲器Flash中,。由圖2硬件連接框圖可以看出本系統(tǒng)的具體硬件設(shè)計主要包括:1)主芯片AT89C51SND1C和存儲器K9F1208之間的連接設(shè)計,,包括片選信號,讀寫信號以及AD信號的連接,;2)主芯片和USB接口的連接設(shè)計,,此部分主要用于MP3文件的傳輸和固件下載;3)主芯片和按鍵以及LCD之間的設(shè)計連接,,用戶通過顯示屏幕獲取播放器的進程信息,,通過按鍵來對音樂進行選擇和控制;4)主芯片和D/A轉(zhuǎn)換器之間,,這一系統(tǒng)將該系統(tǒng)解碼后的數(shù)字信號轉(zhuǎn)換為人耳能識別的模擬信號,,這一部分主要包括時鐘信號、數(shù)據(jù)信號以及反饋信號的連接,;5)電源轉(zhuǎn)換部分,,本系統(tǒng)內(nèi)部使用的電源一般為3.3 V,,而USB接口以及電池的電源都需要DC-DC部分來進行轉(zhuǎn)換,從而為系統(tǒng)提供所需的3.3 V電源,;6)播放系統(tǒng)和存儲系統(tǒng)的切換電路設(shè)計,。


3.1.1 主電路設(shè)計
   
系統(tǒng)的主芯片采用美國ATMEL公司的AT89C51SND1C,該芯片是一個2.5~3.3 V低電壓,、80 mW低功耗,、運算速度高、功能完善,、高度集成并且低成本的單芯片數(shù)字(MPEG1,,2,2.5&3)音頻解碼器,。其特點如下:1)基于8位C51MCU核(最大時鐘頻率20 MHz),;2)內(nèi)部集成了單獨的
MP3解碼器,而且支持48,,44.1,,32,24,,22.05,,16 kHz采樣頻率,支持左右聲道獨立的音量控制(軟件使用31級),、重低音,、中音、高音均衡控制(31級),、重低環(huán)繞聲效果,、輔助數(shù)據(jù)輸出、“CRC錯誤”和“MPEG幀同步”指示,;3)有44通用I/O口的嵌入式C51 Nand Flash,,SSF-DC,I2S,,SPI和IDE多種擴展功能接口容易適應(yīng)多種應(yīng)用場合Flash/CD/HDD播放器等,;4)具有適應(yīng)市場上不同的D/A轉(zhuǎn)換器的可編程的音頻輸出接口,兼容PCM格式和I2S格式,;5)內(nèi)置2 304 B RAM,;6)64KB Flash程序空間和4 KB引導(dǎo)閃存(AT89C51SND1),在系統(tǒng)編程:通過USB,,UART接口進行在系統(tǒng)編程,;7)USB1.1控制器,“Full speed”數(shù)據(jù)傳輸;8)內(nèi)置鎖相環(huán),,提供MP3音頻時鐘和USB時鐘,;9)兼容MultiMedia Card(MMC)卡接口、Atmel Data Flash SPI接口,、IDE/ATAPI(硬盤)接口,;10)通道10位A/D轉(zhuǎn)換器,8 kHz(8位真有效值),,包括電池電壓監(jiān)視和軟監(jiān)控的錄音,;11)兩個標準的16位的定時/計數(shù)器、硬件看門狗,、帶有波特率發(fā)生器的標準通用異步串口,、主從I2C控制器、主從SPI控制器,;12)電源管理模塊,。包括上電復(fù)位、軟件可編程MCU時鐘和空閑,、掉電模式,。
    AT89C51SND1C內(nèi)部結(jié)構(gòu)簡化后實際就是64K80C51+MP3解碼器+USB,使用該芯片設(shè)計MP3播放系統(tǒng)具有很多優(yōu)點,,如支持在系統(tǒng)編程不需要昂貴的仿真器,,系統(tǒng)設(shè)計成本降低;內(nèi)置2 304 B的RAM,,方便用戶增加復(fù)雜的功能,。此外,由于該芯片內(nèi)部集成了大量的接口,,所以只需要很少的外圍器件如DC-DC,,音頻D/A轉(zhuǎn)換器和存儲器就可以實現(xiàn)系統(tǒng)的要求,,這樣可以做到系統(tǒng)空間很小,,這一點正好適應(yīng)現(xiàn)代系統(tǒng)設(shè)計的纖小而功能全面的要求。
3.1.2 存儲部分
   
采用三星公司的Nand Flash K9F1208作為系統(tǒng)的數(shù)據(jù)存儲器,,用來存儲本系統(tǒng)所需播放的音樂文件,。主芯片AT89C51SND1C和Flash存儲器間的通信跟讀取一般的存儲器RAM、EEPROM等基本上是一致,,不同的就是多了CLE和ALE這2個引腳,,這是由Flash本身的特點所決定的。主芯片通過讀取R/B這個引腳來判斷Flash讀寫是否完成的,,如果正在讀寫那么這個引腳就為低電平表示正忙,,如果讀寫完成,該引腳電平變高,處于READY(準備)狀態(tài),,等待下次操作,。ALE和CLE這兩個信號均為上升沿有效。WP引腳為寫保護,,用來保護當(dāng)電源由于切換等造成不穩(wěn)定的情況下丟失數(shù)據(jù)的情況,。
3.1.3 接口部分
   
AT89C51SND1C內(nèi)嵌了USB1.1控制器,這樣便于與外部PC機的連接,。AT89C51SND1C有特定的引腳來檢驗USB接口是否接入USB主機設(shè)備,,當(dāng)電平由低變高,表示已接入USB主機,,系統(tǒng)進入U盤功能,。該控制器支持全速數(shù)據(jù)傳輸,所需的48 MHz的參考時鐘是由PLL鎖相環(huán)提供給控制器的,??刂破鲀?nèi)部通過數(shù)字鎖相環(huán)DPLL生成控制器內(nèi)部所需的12 MHz的時鐘。如圖3所示,,USB接口電路中除了根據(jù)USB協(xié)議的要求,,要在D+、D-上串聯(lián)20 Ω電阻,,并在D+上接一個1.5 KΩ的上拉電阻,,還增加了一個USB插入的檢測電路以及USB工作指示燈。USB插入檢測電路由一個電阻分壓組成,。當(dāng)USB插入PC上的USB接口時,,USB_Insert信號會輸出高電平到P3.4,此引腳檢測到此信號后,,便會執(zhí)行U盤功能,;否則,程序運行時會執(zhí)行MP3功能,。P3.5輸入低電平時,,VD1會點亮,這個二極管用于表示USB的數(shù)據(jù)交換狀態(tài),,當(dāng)USB的端點有數(shù)據(jù)交換時,,此燈會閃爍。


3.1.4 D/A轉(zhuǎn)換部分
   
當(dāng)MP3或者WMA等格式的音樂文件經(jīng)過主芯片內(nèi)部解碼后為數(shù)字信號,,而人耳所能識別的信號卻為模擬信號,,系統(tǒng)利用CS4330進行轉(zhuǎn)換。AT89C51SND1C從Flash中讀取數(shù)據(jù)之后,,將MP3格式的音樂在其內(nèi)部進行硬件解碼為二進制數(shù)據(jù),,之后通過D/A轉(zhuǎn)換器CS4330來對這些數(shù)據(jù)進行數(shù)模轉(zhuǎn)換,,轉(zhuǎn)換成人耳可以接受的音樂。主芯片AT89C51SND1C內(nèi)部有一個音頻輸出接口,,支持不同格式的音頻數(shù)據(jù)流格式,,如PCM格式和I2S格式,該接口可以跟幾乎所有的通用音頻D/A轉(zhuǎn)換器相連,。CS4330在改善音頻質(zhì)量,,降低信噪比等方面都很好。同時AT89C51SND1C內(nèi)部集成了MP3硬件解碼器,,系統(tǒng)不需要外接額外的解碼器,。解碼后的數(shù)字信號經(jīng)過D/A轉(zhuǎn)換后還原為模擬音頻信號。
3.1.5 控制部分
   
播控系統(tǒng)的設(shè)置通過按鍵來選擇,,AT89C51SND1C提供4個按鍵輸入口,,連接USB前,短接了DFU跳線,,運行Boot Loader,,進入到固件下載;接到USB前,,按下了FORMAT,,則格式化U盤;連接到USB,,不按任何鍵,,則進入U盤功能。使用電池供電時,,不按任何鍵,,則進入MP3模式。MP3鍵盤由4個鍵組成,,分別為Play/Pause鍵,、Preview鍵、Next鍵和Func鍵:Func,,功能切換,;Next,向后,;Previous,,向前,;Pla-y/Pause,,播放/暫停。用戶在使用播放器時可以方便地根據(jù)自己的喜好來選擇歌曲播放或暫停,。操作狀態(tài)和設(shè)置信息通過LCD1602來顯示,。LCD采用液晶顯示模塊,可顯示漢字及圖形。液晶顯示具有厚度薄,、適用于大規(guī)模集成電路直接驅(qū)動,、易于實現(xiàn)全彩色顯示的特點,正好適應(yīng)MP3播放器的需求,。
3.2 系統(tǒng)軟件設(shè)計
   
MP3播放器的軟件設(shè)計由2大部分組成:MP3播放功能模塊和USB通信功能模塊,。
3.2.1 MP3播放程序設(shè)計
   
MP3播放程序設(shè)計要與鍵盤配合起來使用。在主程序中,,如果已經(jīng)處于播放狀態(tài),,則調(diào)用Play MP3程序播放歌曲,直至播放到最后一首,。在Play MP3程序里面,,MP3解碼器一旦開始工作以后,就會一直向CPU請求數(shù)據(jù),,直至歌曲結(jié)束,。如果用戶想切換歌曲,則可直接按暫停鍵,,這樣此程序函數(shù)將會提前結(jié)束,,進入下一首歌曲的播放。其播放流程如圖4所示,。


3.2.2 USB通信功能程序設(shè)計
   
USB通信功能模塊用于對Flash存儲器內(nèi)的文件進行管理,,實現(xiàn)MP3文件的下載,由于AT89C51SND1C沒有外部中斷引腳,,USB中斷沒有中斷向量地址入口,,USB驅(qū)動程序采用中斷查詢工作方式。其流程如圖5所示,,在USB控制器使用前,,首先對其進行初始化,然后在主程序中循環(huán)讀取USB端點中斷寄存器,,當(dāng)查詢到有中斷產(chǎn)生時則進入到相應(yīng)的中斷處理程序,,開始設(shè)備配置和數(shù)據(jù)傳輸。



4 結(jié)束語
   
本文提出基于AT89C51SND1C單片機的MP3播放器的設(shè)計方法,,此MP3播放器系統(tǒng)既有播放歌曲的功能又有U盤功能,。兩種功能的轉(zhuǎn)換用USB接口檢測電路來控制。當(dāng)MP3播放器上的USB設(shè)備插入PC機上的USB接口進行文件下載時執(zhí)行U盤功能,,否則程序運行執(zhí)行MP3功能,。此設(shè)計低功耗,易擴展,,性價比高,,與同類產(chǎn)品相比,,有很強的市場競爭能力和實用價值。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。