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