當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]提出一種基于單片機(jī)AT89C51SND1C的MP3播放系統(tǒng)的設(shè)計(jì)方案。單片機(jī)集成了專(zhuān)用的解碼器,使用K9F1208閃存作為外存儲(chǔ)器,放音電路采用CS4330,存儲(chǔ)文件通過(guò)播放器上的USB接口設(shè)備從PC機(jī)上直接下載,液晶顯示采用LCD1602。方案設(shè)計(jì)簡(jiǎn)單,性?xún)r(jià)比高,低功耗,易擴(kuò)展。由于采用的是通用單片機(jī)實(shí)現(xiàn)的,可以很容易地移植到其他微控制器系統(tǒng)中,有很強(qiáng)的市場(chǎng)競(jìng)爭(zhēng)能力和實(shí)用價(jià)值。

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

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

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



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

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


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


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


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



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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉