freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

應(yīng)用電子技術(shù)專業(yè)畢業(yè)論文-基于stc12c5a60s2與vs1003音頻播放器的研究-文庫吧

2025-01-03 17:00 本頁面


【正文】 17AO晶振輸出XTALI18AI晶振輸入IOVDD219IOPWRI/O電源DGND220DGND處理器核與I/O地DGND321DGND處理器核與I/O地DGND422DGND處理器核與I/O地XCS23DI片選輸入,低電平有效CVDD224CPWR處理器核電源RX26DIUART接收口,不用時接IOVDDSCLK28DI串行總線的時鐘SI29DI串行輸入SO30DO3串行輸出CVDD331CPWR處理器核電源TEST32DI保留做測試,連接至IOVDD表21 所用管腳功能表(續(xù))管腳名稱LQFP48管腳類型管腳功能GPIO0/SPIBOOT33DIO通用I/O0/SPIBOOT,使用100K下拉電阻GPIO134DIO通用I/O1AGND037APWR模擬地,低噪聲參考地AVDD038APWR模擬電源RIGHT39AO右聲道輸出AGND140APWR模擬地AGND241APWR模擬地GBUF42AO公共地緩沖器AVDD143APWR模擬電源AVDD245APWR模擬電源LEFT46AO左聲道輸出AGND347APWR模擬地 內(nèi)部寄存器在VS1003的使用中除了需要對管腳作用的了解,還要對VS1003的內(nèi)部寄存器有很好的了解。VS1003共有16個16位的寄存器,地址分別為0X0~0XF?除了模式寄存器(MODE,0X0)和狀態(tài)寄存器(STATUS,0X1)在復(fù)位后的初始值分別為0X800和OX3C外,其余的寄存器在VS1003初始化后的值均為0。在本次設(shè)計中對VS1003部分寄存器進(jìn)行設(shè)置,其中主要介紹幾個重要的SCI寄存器的功能及其設(shè)置。重要寄存器的定義、類型、參數(shù)、功能,詳見表22。表22 SCI寄存器SCI寄存器,前綴SCI_寄存器類型復(fù)位值時間縮寫[bits]描述0x0RW0x80070 CLKIMODE模式控制0x1RW0x3C40 CLKISTATUSVS1003狀態(tài)0x2RW02100 CLKIBASS內(nèi)置低音/高音增強器0x3RW011000 XTALICLOCKF時鐘頻率+倍頻數(shù)0x5RW03200 CLKIAUDATA0xBRW02100 CLKIVOL音量控制通過上面的介紹簡略的了解所用寄存器的名字、功能,但在使用過程中需要對各寄存器進(jìn)行詳細(xì)設(shè)置。下面將VS1003所用寄存器逐一進(jìn)行詳細(xì)介紹:在SCI寄存器中SCI_MODE用于控制VS1003的操作,其缺省值為0x0800。 MODE(地址0X0,RW,可讀寫)模式寄存器在VS1003中是一個比較重要的寄存器,其每一位都對應(yīng)著VS1003的不同設(shè)置。bit0:SM_DIFF 微分。SM_DIFF=0 正常音頻相位;SM_DIFF=1 左聲道反轉(zhuǎn)。當(dāng)SM_DIFF 置位時,VS1003將左聲道反相輸出,立體聲輸入將產(chǎn)生環(huán)繞效果,對于單聲道輸入將產(chǎn)生差分(反相)左/右聲道信號。bit1:SM_SETTOZERO 置零。bit2:SM_RESET。SM_RESET=1,VS1003 軟復(fù)位。軟復(fù)位之后該位會自動清零。bit3:SM_OUTOFWAV。SM_OUTOFWAV=1,停止WAV解碼。當(dāng)你要中途停止WAV、WMA或者M(jìn)IDI文件的解碼時,置位SM_OUTOFWAV,并向VS1003持續(xù)發(fā)送數(shù)據(jù)(對于WAV文件發(fā)送0)直到將SM_OUTOFWAV清零?同時SCI_HIDAT1也將被清零。bit4:SM_PDOWN。SM_PDOWN=1,軟件省電模式,該模式不及硬件省電模式(可由VS1003的XRESET來激活)。bit5:SM_TESTS。SM_TESTS=1,進(jìn)入SDI測試模式。bit6:SM_STREAM。SM_STREAM=1,使能VS1003的流模式。bit7:SM_PLUSV。SM_PLUSV=1,MP3+V解碼使能。bit8:SM_DACT。SM_DACT=0,SCLK上升沿有效;SM_DACT=1,SCLK下降沿有效。bit9:SM_SDIORD。SM_SDIORD=0,SDI總線字節(jié)數(shù)據(jù)MSB在前,即須先發(fā)送MSB?SM_SDIORD=1,SDI總線字節(jié)數(shù)據(jù)LSB在前,即須先發(fā)送LSB?該位的設(shè)置不會影響SCI總線。bit10:SM_SDISHARE。SM_SDISHARE=1,SDI與SCI將共用一個片選信號(同時SM_SDINEW=1),即將XDCS與XCS這兩根信號線合為一條,能省去一個I/O口。bit11:SM_SDINEW。SM_SDINEW=1,VS1002本地模式(新模式)。VS1003在啟動后默認(rèn)進(jìn)入該模式。(這里所說的模式指的是總線模式。)bit12:SM_ADPCM。SM_ADPCM=1,ADPCM錄音使能。同時置位SM_ADPCM和SM_RESET將使能VS1003的IMA ADPCM錄音功能。bit13:SM_ADPCM_HP。SM_ADPCOM_HP=1,使能ADPCM高通濾波器。同時置位SM_ADPCM_HP、SM_ADPCM和SM_RESET將開啟ADPCM錄音用高通濾波器,對錄音時的背景噪音有一定的抑制作用。bit14:SM_LINE_IN 錄音輸入選擇。SMLINE_IN=1,選擇線入(line in)?SM_LINE_IN=0,選擇麥克風(fēng)輸入(默認(rèn))。 SCI_BASS(地址0X2,RW,可讀寫)重音/高音設(shè)置寄存器。VS1003的內(nèi)置的重音增強器VSBE是種高質(zhì)量的重音增強DSP算法,能夠最大限度的避免音頻削波。當(dāng)SB_AMPLITUDE(bit:7~4)不為零時,重音增強器將使能。可以根據(jù)個人需要來設(shè)置SB_AMPLITUDE。例如SCI_BASS=0x00f6,即對60Hz以下的音頻信號進(jìn)行15dB的增強。當(dāng)ST_AMPLITUDE(bit:15~12)不為零時,高音增強將使能。例如,SCI_BASS=0x7a00。 SCI_CLOCKF(地址0X3,RW,可讀寫)。bit15~bit13:SC_MULT時鐘輸入XTALI的倍頻設(shè)置,設(shè)置之后將啟動VS1003內(nèi)置的倍頻器。bit12~bit11:SC_ADD用于在WMA流解碼時給倍頻器增加的額外的倍頻值。bit10~bit0:,其默認(rèn)值為0。 SCI_AUDATA(地址0X5,RW,可讀寫)。當(dāng)進(jìn)行正確的解碼時,該寄存器的值為當(dāng)前的采樣率(bit:15~bit1)和所使用的聲道(bit0)。采樣率須2的倍數(shù);bit0=0,單聲道數(shù)據(jù),bit0=1,立體聲數(shù)據(jù)。寫該寄存器半直接改變采樣率。 SCI_VOL(地址0XB,RW,可讀寫)。音量控制寄存器。高八位用于設(shè)置左聲道,低八位用于設(shè)置右聲道。設(shè)置值為最大竟是的衰減倍數(shù),范圍為0到255。最大竟是的設(shè)置值為0x0000,而靜音為0xffff。例如:左聲道:173。,右聲道:173。,則SCI_VOL=(4X256)+7=0x0407。硬件復(fù)位將使SCI_VOL清零(最大音量),而軟件復(fù)位將不改變音量設(shè)置值。(設(shè)置靜音(SCI_COL=0XFFFF)將關(guān)閉模擬 部分的供電。) 數(shù)據(jù)通信VS1003與核心控制器STC12C5A60S2的數(shù)據(jù)通信是通過SPI總線方式進(jìn)行的。VS1003通過串行命令接口(SCI)和串行數(shù)據(jù)接口(SDI)來接收STC12C5A60S2的控制命令和MP3的數(shù)據(jù);通過xCS、xDCS引腳的置高/低來確認(rèn)是哪一個接口處于傳送狀態(tài)。VS1003的功能控制,是通過SCI口寫入特定寄存器實現(xiàn)的。在音頻流解碼系統(tǒng)中,要以VS1003為從機(jī)數(shù)據(jù)應(yīng)答模塊得到順暢的模擬音頻流,必須依據(jù)VS1003關(guān)于SPI協(xié)議下其自身特定的SPI工作原理對STC12C5A60S2進(jìn)行編程控制才能實現(xiàn)。VS1003特定的SPI協(xié)議可分為兩大類:SCI( Serial Command Interface,串行命令接口)傳輸和SDI( Serial Data Interface,串行數(shù)據(jù)接口)傳輸SCI傳輸是指VS1003為實現(xiàn)基于SPI協(xié)議的數(shù)據(jù)傳輸而率先進(jìn)行的命令傳輸。該命令傳輸也是基于SPI協(xié)議,但具體協(xié)議內(nèi)容因命令的不同而不同。STC12C5A60S2必須完全依據(jù)SCI命令的協(xié)議格式去編寫代碼才有可能實現(xiàn)初步的SPI通信。由于SPI協(xié)議本身是全雙工的同步通信方式,因此對于SCI傳輸過程,VS1003定義了讀、寫2套命令操作機(jī)制。寫命令操作相對于讀命令操作更為重要,主要用于告知從機(jī)關(guān)于數(shù)據(jù)通信的具體類別,而讀命令操作只在某些調(diào)試中用于監(jiān)視通信是否正常。數(shù)據(jù)應(yīng)答是衡量SPI數(shù)據(jù)是否被從機(jī)正確接收和從機(jī)是否準(zhǔn)備接收下一批SPI數(shù)據(jù)的重要標(biāo)識信號。在硬件上該控制位是獨立的,是VS1003獨有的數(shù)據(jù)請求返回管腳。畢竟無論是SCI傳輸還是SDI傳輸,VS1003在整個系統(tǒng)的SPI傳輸中都是完全被動地接收數(shù)據(jù)的,而VS1003本身還承擔(dān)著實時處理音頻數(shù)據(jù)的責(zé)任,如果VS1003的處理時序與主機(jī)的傳輸時序發(fā)生了沖突,那么VS1003被動接收的數(shù)據(jù)將變得無效,進(jìn)而使整個系統(tǒng)數(shù)據(jù)傳輸失效;如果VS1003在被動接收數(shù)據(jù)的前提下能夠根據(jù)自身的數(shù)據(jù)處理時序發(fā)出數(shù)據(jù)請求標(biāo)識,表明在某一段時間內(nèi)數(shù)據(jù)傳輸可以進(jìn)行,在另一段時間內(nèi)數(shù)據(jù)傳輸需要稍微暫停一下,那么整個SPI數(shù)據(jù)傳輸就會與音頻信號處理時序協(xié)調(diào)起來,實現(xiàn)流暢的音頻數(shù)據(jù)傳輸和處理。因此數(shù)據(jù)應(yīng)答是一個非常重要的通信標(biāo)識邏輯,完全由VS1003自動產(chǎn)生。對于主機(jī)則必須時刻依據(jù)數(shù)據(jù)應(yīng)答調(diào)整SPI傳輸時序。VS1003的SCI傳輸協(xié)議通常包含一個8 bit的指令字節(jié)、一個8 bit的地址字節(jié)和一個16 bit的數(shù)據(jù)字節(jié)。具體操作通常由8 bit的指令字節(jié)來確定。每次SCI傳輸后數(shù)據(jù)請求返回管腳( DREQ)都會被設(shè)置為低,VS1003是不允許在數(shù)據(jù)請求返回管腳變?yōu)楦咧伴_始新的SCI或SDI傳輸?shù)摹DI傳輸是指VS1003基于SPI協(xié)議的數(shù)據(jù)傳輸,完全是音頻流數(shù)據(jù),VS1003在接收SDI數(shù)據(jù)的同時完成片內(nèi)的音頻解碼數(shù)據(jù)處理任務(wù),以2B為單位進(jìn)行SDI數(shù)據(jù)的傳輸和處理,每傳輸完2B的二進(jìn)制音頻數(shù)據(jù),VS1003就在數(shù)據(jù)請求返回管腳上設(shè)置一個低電平。該管腳在再次變?yōu)楦唠娖街?,主機(jī)不能連續(xù)向從機(jī)發(fā)送SDI數(shù)據(jù),否則數(shù)據(jù)將被自動舍棄無效。SCI讀數(shù)據(jù)過程如圖22所示。圖22 SCI讀數(shù)據(jù)XCS線就是該系統(tǒng)的CS信號傳輸線。它本身只是一個片選和使能的功能。VS1003的內(nèi)部地址里都有固定的參數(shù)作為內(nèi)存數(shù)據(jù),當(dāng)對這些內(nèi)部地址進(jìn)行讀操作時就會把里邊的參數(shù)讀出來。因此,首先STC12C5A60S2的XCS線上信號需要拉低以選擇芯片,這是SPI協(xié)議的一個關(guān)鍵。然后讀指令代碼0x03將會通過STC12C5A60S2的SI管腳被傳輸至VS1003。讀指令代碼之后緊跟一個8bit的地址字節(jié)。在該地址被讀入之后,任何在SI管腳上傳輸?shù)臄?shù)據(jù)都將被忽略。剛才所傳輸?shù)刂房臻g中包含的16bit固定參數(shù)將會緊跟著在SO管腳上返回給STC12C5A60S2,用于監(jiān)視通信。數(shù)據(jù)傳輸完成后,XCS線上的信號需要被拉高。最后VS1003的DREQ管腳上的信號會因為VS1003的處理而有短暫的拉低,很快會自動變?yōu)楦唠娖揭杂酉乱粋€SCI指令。SCI寫數(shù)據(jù)過程如圖23所示。圖23 SCI寫數(shù)據(jù)它與SCI讀數(shù)據(jù)類似,也是先將XCS線拉低以選擇芯片。然后寫指令代碼0x02經(jīng)由SI管腳被傳輸至VS1003。寫指令代碼之后也是一個8 bit的地址字節(jié),只不過該地址是用來存放將要傳輸來的SPI數(shù)據(jù)的。整個過程中SO管腳是閑置的。在整個數(shù)據(jù)傳輸過程中,SCI傳輸與SDI傳輸之間是緊密跟進(jìn)的,因此在編寫代碼時必須非常注意真正的時序,尤其是注意DREQ信號的高低狀態(tài)和XCS線的高低選擇。對于圖24所示的2個相鄰的SCI命令傳輸過程,XCS信號必須在2個SCI傳輸中被拉高,當(dāng)檢測到DREQ線上信號變高后再拉低以進(jìn)行SCI傳輸。而對于圖25所示的2個相鄰的SDI字節(jié)傳輸過程,由于傳輸?shù)闹皇荢DI數(shù)據(jù),完全沒有必要采取DREQ的中斷。因此XCS信號可持續(xù)走高以放心通信,直到2B的SDI數(shù)據(jù)傳完,再看DREQ管腳上的信號以判斷是否繼續(xù)通信。2個SDI傳輸之間的SCI傳輸過程(見圖26),只要有SCI傳輸,在傳輸完成之后就一定存在一個DREQ低電平返回,DREQ與SCI傳輸是匹配的。圖24 兩個相鄰的SCI命令(4B)傳輸過程圖25 兩個相鄰的SDI字節(jié)傳輸過程圖26 兩個SDI傳輸之間的SCI傳輸過程 模塊設(shè)計及其與單片機(jī)的連接通過上面的幾節(jié)對VS1003的介紹,能初步的對VS1003進(jìn)行硬件設(shè)計,、為了模塊的小型化本設(shè)計中采用穩(wěn)壓芯片將單片機(jī)工作電壓(5V)、處理器工作電壓。要使VS1003工作必須在118腳接晶振電路;3腳(異步復(fù)位端)接上電復(fù)位電路;8腳(數(shù)據(jù)請求)需要與控制器連接;334腳(通用I/O口)這里沒有用到下拉100K電阻;13腳(數(shù)據(jù)片選/字節(jié)同步)需要與控制器連接;23腳(片選信號)需要與控制器連接;26腳(UART接收口)本設(shè)計不用但需要接IOVDD;28腳(串行時鐘)需要與控制器連接;29腳(串行輸入)需要與控制器連接;30腳(串行輸出)上拉10K電阻;32腳測試用接IOVDD;39腳(右聲道輸出)接到耳機(jī)的右聲道輸出;42(公共緩存地)用于耳機(jī)接地;46(左聲道輸出)接到耳機(jī)左聲道輸出,上述的與單片機(jī)連接的引腳通
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1