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

正文內(nèi)容

基于fpga的音頻處理系統(tǒng)畢業(yè)論文-預(yù)覽頁

2025-07-18 15:42 上一頁面

下一頁面
 

【正文】 10H12H1EH功能Left Line InRight Line InLetfHeadphoneOutRightHeadphoneOutAnalog AudioPathControlDigital AudioPathControlPower Down ControlDigitalAudioInterface FormatSampling ControlActive ControlResetRegister 數(shù)字音頻接口WM8731的數(shù)字音頻接口有5根引腳,分別為:BCLK(數(shù)字音頻位時鐘)、DACDAT(DAC數(shù)字音頻數(shù)據(jù)輸入)、DACIRC(DAC采樣左/右聲道信號)、ADC-DAT(ADC數(shù)字音頻信號輸出)、ADCLRC(ADC采樣左/右聲道信號)。BCLK和ADCLRC/DACLRC在主模式時為輸出信號,從模式下為輸入信號。簡言之,要通過I2S模式控制WM8731,應(yīng)向SDIN接口先發(fā)0X34H(WM8731基址,CSB=0時),然后發(fā)0X0E 02(0EH為DATAB158所指寄存器,02H為該寄存器的配置數(shù)據(jù)0000 0010)圖左對齊模式左對齊格式時,MSB在BCLK的第一個上升沿有效,緊接著是一個ADCLRC或DACLRC傳輸?!癁?6位。360個18*18乘法器,在完成DSP處理上擁有更大優(yōu)勢。這一硬核 IP 模塊是一個完整的 PCIe (PIPE) 協(xié)議解決方案,用于實現(xiàn)PHYMAC 層、數(shù)據(jù)鏈路層以及傳輸層的功能性。3 硬件電路 硬件開發(fā)環(huán)境硬件部分,主要應(yīng)用Altera公司推出的FPGA/CPLD集成開發(fā)環(huán)境Quartus II完成SOPC系統(tǒng)的搭建。Quartus II支持Altera的IP核,包含了LPM/Mega Function宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度。圖SOPC系統(tǒng)框圖 WM8731的外圍電路ED2開發(fā)板上已集成了語音芯片WM8731。該模塊可直接作為頂層模塊進行例化,本次設(shè)計以Verilog語言進行頂層設(shè)計。Nios II集成開發(fā)環(huán)境(IDE)是Nios II系列嵌入式處理器的基本軟件開發(fā)工具。系統(tǒng)設(shè)計及其編譯結(jié)果如圖13所示。6個開關(guān)的功能:SW0控制音頻信號的輸入方式,向上表示LINE IN輸入,向下表示MIC輸入;SW1用于在音頻信號輸入為MIC輸入時,控制BOOST開關(guān),向上表示BOOST ON,向下表示BOOST OFF;SW2控制播放過程中是否進行零交叉檢測,向上表示零交叉檢測開,向下表示零交叉檢測關(guān);SW5/SW4/SW3分別對抽樣率進行控制,三者控制方式如下:SW5/SW4/SW3:DOWN/DOWN/DOWN96K DOWN/DOWN/UP48K,DOWN/UP/DOWN, DOWN/UP/UP32K,UP/DOWN/DOWN8K 各功能模塊實現(xiàn)方案 I2C總線對I2C總線的軟件設(shè)計流程圖如圖8所示,通知準(zhǔn)備寫/讀時即發(fā)送一字節(jié),值為0x34,前面最重要的7位表示W(wǎng)M8731準(zhǔn)備接收,因為總線上可能還有其他設(shè)備,最低位清零表示W(wǎng)M8731將要寫數(shù)據(jù),置1表示將要讀出下一地址內(nèi)容。 bMicBoost = ui_is_mic_boost()。 AUDIO_MicBoost(bMicBoost)。 AUDIO_DacEnableSoftMute(TRUE)。 AUDIO_SetLineInVol(0x17, 0x17)。 AUDIO_MicMute(TRUE)。 AUDIO_DacEnableZeroCross(ui_is_dac_zero_cross())。 else if (record_sample_rate == 32000) AUDIO_SetSampleRate(RATE_ADC32K_DAC32K)。 // AUDIO_InterfaceActive(TRUE)。圖17為音頻輸出過程,通過耳機可以聽到經(jīng)過處理的音頻信號,LCD顯示目前狀態(tài)為播放過程。I2C總線協(xié)議的程序設(shè)計也是很此課題的重難點之一,在本章也對該總線協(xié)議的開發(fā)流程做了具體介紹。本次設(shè)計涉及到的內(nèi)容有基于NIOS II的SOPC系統(tǒng)構(gòu)架,音頻信號的錄放,WM8731芯片的控制,I2C協(xié)議,SDRAM的讀寫。所有軟件開發(fā)任務(wù)都可以Nios II IDE下完成,包括編輯、編譯和調(diào)試程序。系統(tǒng)在功能擴展上具有極大的潛力,有很好的應(yīng)用前景和科研價值。在這個過程中,在畢業(yè)設(shè)計期間,唐老師在課題前沿以及研究方向廣度和深度的正確把握,使我在完成課題時獲益匪淺。四年大學(xué)生涯即將結(jié)束,本次課題的完成將是大學(xué)生活結(jié)束的一個標(biāo)志,想來不禁感懷,在這個大學(xué)四年里,我所經(jīng)歷的每一點進步都離不開我的同學(xué)的幫助,老師的教導(dǎo),學(xué)院的關(guān)懷,在這之間經(jīng)歷了很多事,收獲了很多,學(xué)到了很多,充實了很多。我將以此為激勵,繼續(xù)努力,在將來的學(xué)習(xí)和生活中爭取更大的進步!在本科階段即將告別之時,我希望借此機會向曾經(jīng)關(guān)心、支持和幫助我的親人、良師益友再次表示衷心的感謝。 data structure definit =====define RECORD_BUTTON 0x08define PLAY_BUTTON 0x04define PLAYRING_BUTTON 0x02define RECORD_BLOCK_SIZE 250 // ADC FIFO: 512 bytedefine PLAY_BLOCK_SIZE 250 // DAC FIFO: 512 bytedefine MAX_TRY_CNT 1024define LINEOUT_DEFUALT_VOL 0x79 // 0 dBdefine USE_SDRAM_FOR_DATAifndef USE_SDRAM_FOR_DATA define BUF_SAMPLE_NUM (96000*5) // 5 second 96Kendif typedef enum{ MIC_RECORD, LINEIN_RECORD, LINEOUT_PLAY}AUDIO_FUNC。void display_time_elapsed(alt_u32 sample_num)。int ui_get_sample_rate(void)。 0x01)?FALSE:TRUE。 (0x01 1))?FALSE:TRUE。 (0x01 2))?TRUE:FALSE。 mask = IORD(SW_BASE, 0)。 else if (mask == 2) sample_rate = 44100。 } void button_monitor_isr(void* context, alt_u32 id){ volatile alt_u32* pPressedMask = (volatile alt_u32*)context。 }bool button_monitor_start(volatile alt_u32 *pPressedMask){ bool bSuccess = TRUE。amp。 }bool init_audio(AUDIO_FUNC audio_func){ bool bSuccess = TRUE。 AUDIO_SetInputSource(SOURCE_MIC)。 AUDIO_MicMute(FALSE)。 AUDIO_AdcEnableHighPassFilter(FALSE)。 // max 0x1F, min:0。 AUDIO_LineInMute(FALSE)。 AUDIO_SetLineOutVol(LINEOUT_DEFUALT_VOL, LINEOUT_DEFUALT_VOL)。 else if (record_sample_rate == 48000) AUDIO_SetSampleRate(RATE_ADC48K_DAC48K)。 return bSuccess。}void show_power(short sample){ static alt_u32 sum = 0。 t++。 t = 0。 LCD_TextOut(Wele\nAudio Demo\n)。 bSuccess = FALSE。 int i。i++){ data = *pData++。 0xFFFF)。 sample_max sample_l) sample_max = sample_l。 if (sample_r 0 amp。amp。void show_menu(void){ int i。}int main(){ typedef enum{ ST_STANDY, ST_RECODING, ST_PLAYING }STATE。 alt_u32 *pBuf, *pPlaying, *pRecording, RecordLen, PlayLen, data, try_t, buf_sample_size。 show_menu()。else // alloc memory to stroe PCM data buf_sample_size = BUF_SAMPLE_NUM。 return 0。 // test record_sample_rate = ui_get_sample_rate()。 bPlayPressed = (button_mask amp。 record_sample_rate = ui_get_sample_rate()。 AUDIO_FifoClear()。 sprintf(szText,MIC %s (%dK)\nRecording...\n,bMicBoost?Boost:, record_sample_rate/1000)。 LCD_TextOut(szText)。 LCD_TextOut(Record First\nBefore Play\n)。 state = ST_PLAYING。 pPlaying = pBuf。 sprintf(szText, record\n%d samples\n, (int)RecordLen)。 dump_record_data(pBuf, RecordLen)。 (RecordLen buf_sample_size)){ try_t = 0。 } if (try_t = MAX_TRY_CNT){ bError = TRUE。ch_right)。 i++。 } }else if (state == ST_PLAYING){ if (bPlayPressed || (PlayLen = RecordLen) || bError){ // stop playing printf(Play Stop %s\r\n, bError?(Error):)。 }else{ // continue playing int i = 0。 while (!AUDIO_DacFifoNotFull() amp。 break。 ch_right = data amp。 PlayLen++。 0xFFFF), (short)(data a
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1