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