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

正文內(nèi)容

dsp語音錄放課程設(shè)計(編輯修改稿)

2025-07-11 10:06 本頁面
 

【文章內(nèi)容簡介】 。系統(tǒng)有兩種工作方式,一種是現(xiàn)場采集并播放,即系統(tǒng)采集現(xiàn)場的線路輸入信號或麥克語音信號,并存儲在 NandFlash 中,在采集的過程中, 同時通過耳機(jī)播出。另一種是播放錄制的語音數(shù)據(jù),即不采集現(xiàn)場語音信號,直接播放已經(jīng)存儲在 NandFlash 中的語音數(shù)據(jù)。這兩種工作方式可以在系統(tǒng)初始化工程時通過按鍵選擇。具體的程序代碼段設(shè)計主要包括 MCBSP 口的配置、 AIC23 的初始化、 NandFlash 燒寫、 DSP 上電自舉,這四個部分。其中現(xiàn)場采集、播放的流程圖如下: MCBSP 的配置 5416 提供的 MCBSP 口是一種高速、雙向、多通道帶緩沖的串行接口。它可以與其他 C54x DSP 器件、編碼器或其他串行接 口器件通信。 MCBSP 的硬件部分是基于標(biāo)準(zhǔn)串行接口的 [3]。 MCBSP 的控制模塊包括幀同步信號發(fā)生器、內(nèi)部時鐘發(fā)生器、以及它們的控制電路和多通道選擇。與 MCBSP 有關(guān)的控制寄存器是通過子地址尋址來華東交通大學(xué)信息 學(xué)院課程設(shè)計 7 訪問的,它有 28 個子寄存器只占用一個 DSP 內(nèi)存地址。 MCBSP 的子地址寄存器 (SPSA)用來指向這些使用同一個內(nèi)存地址的寄存器中的某一個。 MCBSP 子數(shù)據(jù)寄存器 (SPSDx)用來訪問選中的寄存器。由于配置每個寄存器的代碼段相同,首先指定子地址寄存器地址,接著給數(shù)據(jù)。為了保證程序的簡潔與可讀性,這里采用 調(diào)用函數(shù)的方法來替代這些重復(fù)代碼,代碼具體實現(xiàn)如下: define MCBSP1_SET(add,data) MCBSP1_SPSA = add, MCBSP1_SPSD = data // 定義一個宏函數(shù),第一個參數(shù) add 為子地址寄存器的地址, data 為子地址寄存器的值 MCBSP1_SET( SPCR1, 0x1801) // SPCR1=0x1801 MCBSP1_SET( SPCR2, 0x03C1) // SPCR2=0x03C1 AIC23 的初始化 AIC23 具有 8 個 可編程的內(nèi)部寄存器,通過軟件編程能隨時控制 AIC23 的采樣頻率,高、低通濾波器的截止頻率,模擬輸入及輸出的增益。 DSP 通過串口 1 完成對 AIC23 的初始化工作。程序中把對 AIC23 的初始化命令寫在一個數(shù)組中,采用循環(huán)方式將這些命令通過串口發(fā)送出去。 codec[10]={0x1e00,0x0c00,0x0811,0x0a04,0x0e43,0x102c,0x1201,0x0117,0x05ff, 0x07ff}。 MCBSP1_DXR1=codec[i]。 DSP 上電自舉 當(dāng)軟硬件 設(shè)計工作完成后,需要系統(tǒng)能夠脫離 PC 機(jī)獨(dú)立運(yùn)行。這就需要將調(diào)試好的 .out 燒寫到外部 Flash 中,并要求目標(biāo)系統(tǒng)上電后可自行啟動并執(zhí)行用戶軟件代碼,這就需要用到 DSP 的自舉引導(dǎo) (Bootloader)技術(shù)。這里采用的是 16 位并行Flash 引導(dǎo)方式。使用 將 .out 文件轉(zhuǎn)換成 16 進(jìn)制的自舉表文件,通過燒寫器將這個自舉表文件燒寫到 flash 中。然而,這種脫機(jī)燒寫不能燒寫貼片封裝的芯片,系統(tǒng)的靈活性受到很大的限制。本設(shè)計采用了一種新的一次裝載程序并燒寫的在線燒寫方法。用 生成好自舉表文件后,另外跟據(jù) Flash 的編程方法,編寫燒寫代碼,并讀取自舉表文件。在 C 程序源碼中讀取的自舉表文件是 ASCII 值,因此需要在程序中加一段格式轉(zhuǎn)換代碼,將數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制文件,并且去掉自舉表的表頭和表尾。轉(zhuǎn)換時采用一個 4 次循環(huán),先讀取 4 位 16進(jìn)制數(shù)的最高位,把這個 ASCII 值轉(zhuǎn)換成二進(jìn)制數(shù)字,將其左移 4 位,接著讀取次高位。循環(huán) 4 次便得到了可以直接燒寫的數(shù)據(jù)。系統(tǒng)脫機(jī)工時,通過外部并行總線,用 DMA 方式將這些代碼從數(shù)據(jù)空間搬移到程序空間中。 華東交通大學(xué)信息 學(xué)院課程設(shè)計 8 第 4 章 課程設(shè)計總結(jié) 通過這次的 DSP 課程設(shè)計,讓我充分認(rèn)識到了我的不足。我雖然學(xué)習(xí)過 C 語言的編程,但一旦將它應(yīng)用到實際的比較專業(yè)的問題上,我所學(xué)的知識就變得完全不夠用了,為了這次課程設(shè)計我查詢了大量的資料,無論是 C 語言方面的還是壓縮算法方面的都讓我們花費(fèi)了很多時間,查詢到了需要的資料我們又對它們進(jìn)行了整理,提取出我們需要的 a 律壓縮和μ律壓縮的算法和原理,并且努力去理解其中的知識,使其能為我們所用,盡管如此我們?nèi)匀粵]能成功的編出屬于我們自己的程序,因此我們找到了一份編好的程序,用我們已經(jīng)理解的知識去分析它,理解這份程序的原理,并根據(jù)我們的實際對它進(jìn)行一些修改,從而我們才得出我們現(xiàn)在的程序。雖然程序編寫成功了但我們在調(diào)試上又遇到了很多的問題,比如在 CCS 環(huán)境下我們要如何觀察波形,波形有代表什么等等,為此我們又不斷的翻閱課件和資料,才最終解決了所有的問題,我的課程設(shè)計才算基本完成了。 整個課程設(shè)計過程中,我在不斷的查閱資料和開動腦筋過程中,鍛煉了我的資料采集能力,也鍛煉了我的分析整理能力,為以后做畢業(yè)設(shè)計打下了基礎(chǔ);同樣在實驗過程中我遇到很多困難,而這些困難則鍛煉了我的耐心和分析解決問題的能力;通過編程鍛煉了我的編程能力,使我對 C 語言 ,匯編語言更加熟悉,讓我能更好的運(yùn)用它們;同時也鍛煉了我們的團(tuán)結(jié)協(xié)作能力,為將來走入社會能更好的工作打下了基礎(chǔ)。 總之通過這次的實驗,讓我認(rèn)識到了自己的不足,同時又通過這次的實驗讓我們學(xué)到了讓我們受用一生的知識。 華東交通大學(xué)信息 學(xué)院課程設(shè)計 9 參考文獻(xiàn) [1]戴明楨等 編著 .TMS320C54X DSP 結(jié)構(gòu)原理及應(yīng)用 . 北京:航空航天大學(xué)出版社 ,第 2版, 2021; [2]彭啟琮編 著 .DSP技術(shù)的發(fā)展與應(yīng)用 .北京:高等教育出版社, 2021; [3]胡廣書編 著 .數(shù)字信號處理理論、算法與實現(xiàn) .北京:清華大學(xué)出版社, 2021; [4]北京合眾達(dá)電子技術(shù)有限公司編著 .SEEDDTK 系列實驗手冊 .北京合眾達(dá)電子技術(shù)有限公司出版, 2021。 [5]鄒彥主編 .DSP原理及應(yīng)用 .電子工業(yè)出版社, 華東交通大學(xué)信息 學(xué)院課程設(shè)計 10 附錄 : 源程序代碼 include include include include include ioport unsigned portefff。 define IO_374 portefff void init_exint1_interrupt()。 void init_GPIO(void)。 void mic_bypass(void)。 void line_in_bypass(void)。 void mic_record(void)。 void line_in_record(void)。 void codec_play(void)。 void DEAL_RX(unsigned int i)。 unsigned int DEAL_TX(void)。 void stop_interrupt()。 //stop receive amp。 tranmit interrupt unsigned int flag=0xffff。 unsigned long secter_num。 unsigned int ping_buf1[0x2021]。 unsigned int ping_buf2[0x2021]。 unsigned int enc_flag=0。 unsigned int input_flag =0。 unsigned int rl_flag=0。 unsigned int count1=0 。 define max_secter_num 33 define init_secter_num 0 void main(void) { unsigned int i,j。 unsigned int key_val。 SWWSR = 0x7fff。 SWCR = 0x0001。 BSCR = 0x8006。 CLKMD = PLL_DIV_INIT。 waitloop( 0x0400 )。 CLKMD = PLL_LOCK_INIT_X(9)。 waitloop( 0x0400 )。 PMST = 0x0168。 Init_MCBSP_codec()。 init_codec_linein()。 init_exint1_interrupt()。 華東交通大學(xué)信息 學(xué)院課程設(shè)計 11 init_GPIO()。 init_lcd()。 LCD_clear(0)。 cur_row=2。 cur_col=20。 LCD_pr_chars(RECORD_PLAY TEST,16)。 cur_row=3。 cur_col=1。 LCD_pr_chars(=======================,23)。 IO_374=0xffff。 //374 enable Close_LED_Data()。 Close_LED_Traf()。 Close_LED_sign()。 waitloop( 0x0400 )。
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1