基于51單片機的MP3方案設(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(準(zhǔn)備)狀態(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播放器的需求。
51單片機相關(guān)文章:51單片機教程
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
評論