STC89C58RD+單片機在MP3播放器設(shè)計中的應(yīng)用
音頻解碼模塊
本文引用地址:http://2s4d.com/article/145484.htmVS1011E解碼芯片
系統(tǒng)采用VS1011E芯片對MP3音頻進行解碼。VS1011E音頻解碼芯片為VS10XX系列的第三代產(chǎn)品,是芬蘭VLSI Solution Oy公司生產(chǎn)的單片MP3/WMA/MIDI音頻解碼芯片,其內(nèi)部結(jié)構(gòu)如圖3所示。它包含一個高性能、低功耗的DSP處理核(VSDSP),5KB的指令RAM,0.5KB的數(shù)據(jù)RAM,串行的控制和數(shù)據(jù)輸入接口,四個通用I/O口,一個UART口,一個可變采樣率的ADC,一個立體聲DAC以及音頻耳機放大器。芯片可工作于12.288~14MHz或24.576~28MHz時鐘下??捎糜诮獯aMPEG1&2Layer1,2,3以及MPEG2.5Layer3格式、和WAV等格式文件[6]。
VS1011E芯片工作流程
VS1011E芯片工作時,首先將MP3或WAV格式音頻文件通過SDI總線送入芯片內(nèi)部并解碼。解碼后,如果SCL_AIADDR!=0,則執(zhí)行應(yīng)用區(qū)代碼(代碼地址由相應(yīng)的地址寄存器提供),然后再按照SCL_BASS寄存器(SB_AMPLITUDE位和ST_AMPLITUDE位)的設(shè)置,將數(shù)據(jù)送到低音和高音優(yōu)化器進行音效處理,之后再將數(shù)據(jù)通過音量控制單元備份到音頻FIFO中。音頻FIFO用于保持數(shù)據(jù),并將數(shù)據(jù)作為采樣率轉(zhuǎn)換器和DAC的輸入。采樣率轉(zhuǎn)換器可將所有不同采樣率轉(zhuǎn)換成CLKI/512信號送給DAC,再由DAC按位依次產(chǎn)生立體聲模擬信號,然后由系統(tǒng)將這些信號送到耳機功放。VS1011E的工作流程如圖4所示?! ?/p>
實現(xiàn)VS1011E芯片控制協(xié)議
VS1011E芯片與主機進行數(shù)據(jù)和控制信息的通信需要利用工作于從模式的SPI串行總線,通過串行數(shù)據(jù)接口(SDI)傳送音頻數(shù)據(jù),通過串行控制接口(SCI)傳送控制數(shù)據(jù)。VS1011E的SPI接口具有VS1002新模式(SM_SDINEW=1)和VS1001兼容模式(SM_SDINEW=0)兩種工作模式。當SM_SDISHARED=1時,數(shù)據(jù)信號和控制信號的傳送共用xCS作同步信號;SM_SDISHARED=0時,則分別采用xDCS和xCS為同步信號。作為從機工作模式,VS1011E可通過一個信號線DREQ指示是否允許主機傳送數(shù)據(jù)。當DREQ為高時,VS1011E至少可以接收32KB的SDI數(shù)據(jù)或SCI控制命令。下面以VS1002模式簡單分析SPI協(xié)議:
(1)SDI數(shù)據(jù)協(xié)議線
xDCS為同步控制線,低電平時激活,可輸入數(shù)據(jù),高電平時結(jié)束當前操作,以使串行接口處于等待狀態(tài),當SM_SDISHARED=1時,由xCS替換該引腳。SCK為時鐘線,由主控芯片提供時鐘。SI為數(shù)據(jù)輸入線,可在SCK上升沿采樣輸入SI數(shù)據(jù)。
(2)SCI控制命令線
xCS為同步控制線,低電平時激活,高電平結(jié)束當前操作,以使串口處于等待狀態(tài),同時使SO輸出線為高阻態(tài)。SCK(復(fù)用)為時鐘線。SI(復(fù)用)為控制命令輸入,可在SCK上升沿采樣輸入SI數(shù)據(jù),若xCS被拉低,則在SCK的第一個上升沿寫入數(shù)據(jù)線的第一個數(shù)據(jù)位。SO為數(shù)據(jù)輸出線,當主控制器讀VS1011E內(nèi)部控制寄存器狀態(tài)時,可在SCK下降沿輸出數(shù)據(jù),如果當前為寫操作,MJH SO為高阻態(tài)。
51單片機相關(guān)文章:51單片機教程
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
評論