基于STC12C5A60S2的U盤音頻播放器設(shè)計(jì)
摘要 設(shè)計(jì)了一個(gè)基于STC12C5A60S2的U盤音頻播放器,介紹了播放器的設(shè)計(jì)思路和原理框圖,分別就播放器的3個(gè)模塊給出具體的實(shí)現(xiàn)電路,并提供了軟件程序流程圖。運(yùn)行結(jié)果表明,播放器實(shí)現(xiàn)了預(yù)期功能,且具有較高的性價(jià)比和可拓性。
關(guān)鍵詞 U盤;MP3播放器;STC12C5A60S2;VS1003
U盤即閃存盤,是一種用閃存進(jìn)行數(shù)據(jù)存儲(chǔ)的介質(zhì),通常使用USB插頭。U盤體積極小、重量輕、可熱插拔也可以重復(fù)寫入。自其面世后,迅速普及并取代傳統(tǒng)的軟盤,成為主要的便攜存儲(chǔ)模式。隨著U盤體積的不斷減小、存儲(chǔ)容量卻不斷加大,使得U盤的使用范圍也不斷拓展。然而U盤所儲(chǔ)存的數(shù)據(jù),現(xiàn)今仍大多通過計(jì)算機(jī)提取并進(jìn)行處理,這也局限了U盤的發(fā)展范圍。
筆者認(rèn)為,針對(duì)某一特定功能,剝離相應(yīng)數(shù)據(jù)對(duì)計(jì)算機(jī)的依賴性,一方面可充分利用U盤數(shù)據(jù),另一方面也發(fā)揮出USB協(xié)議的通用性,使U盤實(shí)現(xiàn)所用即所得的便攜特性?;诖耍O(shè)計(jì)了U盤MP3播放器電路,主要完成U盤存儲(chǔ)的音頻文件的數(shù)據(jù)提取及功能運(yùn)行任務(wù)。該播放器等同于個(gè)人計(jì)算機(jī)的音頻處理模塊,不僅可識(shí)別、提取U盤所存儲(chǔ)的MP3、WMA或MIDI格式的文件,并可自行完成音頻解碼等數(shù)據(jù)處理工作,最后送入揚(yáng)聲器或耳機(jī)進(jìn)行播放。
1 播放器組成原理框圖
播放器組成原理如圖1所示,共由3個(gè)主要模塊組成:單片機(jī)處理模塊,由STC12C4A60S52單片機(jī)及其外圍電路組成;U盤讀寫模塊,由CH375及其外圍電路組成;為音頻解碼模塊,由VS1003芯片及其外圍電路組成。
播放器的工作過程是:MCU通過CH375讀取來自USB存儲(chǔ)設(shè)備的數(shù)據(jù),并依據(jù)功能鍵的控制指令,將USB存儲(chǔ)設(shè)備的相關(guān)數(shù)據(jù)送入音頻解碼模塊,在VS1003解碼后,送入揚(yáng)聲器或耳機(jī)。設(shè)置6個(gè)人機(jī)交互功能按鍵,分別實(shí)現(xiàn)播放、暫停、上一曲、下一曲、增大音量、減小音量等基本操作功能。
2 硬件電路設(shè)計(jì)
如圖1所示,主要完成U盤讀寫、單片機(jī)處理及音頻解碼3個(gè)模塊的電路設(shè)計(jì)。
2.1 U盤讀寫模塊
U盤讀寫模塊由CH375及其外圍電路組成,其構(gòu)成如圖2所示。
CH375是USB總線通用接口芯片,支持USB主機(jī)及從設(shè)備方式。在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機(jī)/DSP/MCU/MPU等控制器的系統(tǒng)總線上。在USB主機(jī)方式下,CH375還提供了串行通訊方式,通過串行輸入、輸出和中斷輸出與單片機(jī)/DSP/MCU/MPU等相連接。[!--empirenews.page--]
CH375的USB主機(jī)方式支持常用的USB全速設(shè)備,外部單片機(jī)可通過CH375按照相應(yīng)的USB協(xié)議與USB設(shè)備通訊。CH375還內(nèi)置了處理Mass-Storage海量存儲(chǔ)設(shè)備的專用通訊協(xié)議的固件,外部單片機(jī)可以直接以扇區(qū)為基本單位讀寫常用的USB存儲(chǔ)設(shè)備。
設(shè)計(jì)中,CH375采用主機(jī)方式,圖中J1為USB插座,可連接U盤等存儲(chǔ)設(shè)備,D1為指示LED,當(dāng)檢測(cè)到USB設(shè)備連接時(shí)燈亮。當(dāng)TXD引腳連接到地時(shí),CH375工作在并口方式,此時(shí)圖中JP1接口D0~D7為雙向數(shù)據(jù)總線,連接單片機(jī)。
單片機(jī)連接圖中JP2接口,通過程序控制CH375,其功能及特性如表1所示。
單片機(jī)通過寫命令來和數(shù)據(jù)來控制CH375,并通過CH375獲得U盤數(shù)據(jù)。CH375內(nèi)置相關(guān)的固件程序,自動(dòng)處理了USB等協(xié)議。單片機(jī)可以通過CH375直接獲取U盤扇區(qū)的數(shù)據(jù),因此只需處理FAT文件系統(tǒng)層就可以實(shí)現(xiàn)對(duì)U盤文件的操作。
2.2 MCU模塊
MCU模塊,由STC12C4A60S52單片機(jī)及其外圍電路組成。STC12C5A60S2是宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期的單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8~12倍,提供Flash程序存儲(chǔ)器60 kByte,1 kByte的EEPROM,片上集成1 280 Byte RAM。工作電壓5.5~3.5 V,內(nèi)部集成MAx810專用復(fù)位電路,4個(gè)定時(shí)器,2個(gè)串口,2路PWM,8路高速10位A/D轉(zhuǎn)換,ISP/IAP,內(nèi)置看門狗電路,外部掉電檢測(cè)電路等。
圖3為播放器MCU模塊的硬件電路原理圖,其中,JP4為電源輸入接口,D1為電源指示燈,排阻Rp1為P0口的上拉電阻。JP2和JP3接到U盤讀寫模塊對(duì)應(yīng)的接口上。由于單片機(jī)在5 V電源下工作,而VS1003在3.3 V電源下,所以工作P1口應(yīng)該接限流電阻到JP1再到音頻解碼模塊對(duì)應(yīng)的接口上。電路設(shè)置5個(gè)功能按鍵,“UP”為增大音量,“DOWN”為減小音量,“LEFT”為選擇上一曲,“DOWN”為選擇下一曲,而“PLAY”為播放/暫停鍵。
2.3 音頻解碼模塊
音頻解碼模塊,由VS1003芯片及其外圍電路組成。VS1003是一個(gè)單片MP3/WMA/MIDI音頻解碼器和ADPCM編碼器。它包含一個(gè)高性能低功耗的DSP處理器核VS_DSP、工作數(shù)據(jù)存儲(chǔ)器、為用戶應(yīng)用提供5 kB的指令RAM和0.5 kB的數(shù)據(jù)RAM、串行控制和數(shù)據(jù)接口、4個(gè)常規(guī)用途的I/O口、1個(gè)UART、1個(gè)高品質(zhì)可變采樣率的ADC和立體聲DAC、1個(gè)耳機(jī)放大器和地線緩沖器。
VS1003通過一個(gè)串行接口接收輸入的bit流,可作為—個(gè)系統(tǒng)的從機(jī)。輸入的bit流被解碼,然后通過數(shù)字音量控制器到達(dá)1個(gè)18位過采樣多位ε-△DAC。VS1003通過串行總線控制解碼器,除了基本解碼功能,在用戶RAM中還可以做其他特殊應(yīng)用,例如DSP音效處理。
圖4為播放器的VS1003外圍硬件電路原理圖,其中,AVDD為模擬正電源3.3 V,CVDD為數(shù)字正電源2.5 V,IOVDD為I/O正電源3.3 V,模擬地與數(shù)字地用0電阻隔離。J1、J2均為3.5音頻插座,J1為音頻輸出,J2為音頻輸入。
單片機(jī)通過對(duì)VS1003寄存器的寫入來設(shè)置VS1003芯片,對(duì)VS1003數(shù)據(jù)緩沖區(qū)寫入數(shù)據(jù),使其解碼。[!--empirenews.page--]
3 軟件程序流程圖
單片機(jī)程序主要解決讀取CH375數(shù)據(jù),和寫入VS1003寄存器用于播放音樂兩個(gè)問題。其中,5種功能分別與圖3的5個(gè)功能按鍵一一對(duì)應(yīng)。軟件程序流程圖如圖5所示。
4 結(jié)束語
如圖所示,旨在將音頻處理功能從計(jì)算機(jī)剝離,拓展U盤使用范圍,設(shè)計(jì)了針對(duì)U盤音頻文件數(shù)據(jù)處理的播放器電路,并用C語言編寫了相關(guān)程序。該電路主要由3個(gè)模塊構(gòu)成,其中主控器選用增強(qiáng)型51單片機(jī)STC12C5A60S2,語音解碼芯片采用芬蘭VLSI公司的VS1003,而USB設(shè)備接口芯片選用南京沁恒公司的CH375,采用USB主機(jī)方式,外部單片機(jī)無需處理USB協(xié)議,就可直接以扇區(qū)為基本單位讀寫常用USB存儲(chǔ)設(shè)備。
實(shí)際運(yùn)行結(jié)果證明,該播放器完全符合設(shè)計(jì)預(yù)期,U盤即插即用,不僅可播放U盤中指定目錄中的MP3文件、WMA文件、MIDI文件,還可以通過按鍵控制,實(shí)現(xiàn)各種功能。整個(gè)系統(tǒng)電路的性價(jià)比較高,具有較強(qiáng)的可拓性。