【正文】
在 MATLAB環(huán)境下仿真; (4)給出程序流程圖,編寫初始化程序及數(shù)據(jù)處理程序; 工 作 量 7000字左右 , 圖紙 13 張 。 TMS320C54x DSP應(yīng)用程序設(shè)計與開發(fā)。 關(guān)鍵詞 : 語音信號 ; 數(shù)據(jù) 采集 ; DSP; TLC320AD50 Abstract In the study based on digital signal processing,proposed a design based on DSP TMS320VC5402 and A / D converter chip TLC320AD50 speech signal acquisition the overall design scheme of the system, the hardware circuit including the system power supply design, the reset circuit design, clock circuits, memory design, A / D interface circuit, JTAG interface design,the connections of DSP and A / D chip and so on, and software flow chart. Experiments show that: the design based on DSP hardware and software systems is an excellent voice signal acquisition system, the system structure is clear, the circuit is simple and easy to achieve. Key words: Voice signal。在語音信號處理過程中 , 要實(shí)現(xiàn)語音信號處理技術(shù)的精確性、 實(shí)時性目的 , 語音信號采集和無誤差存儲成為語音信號處理中的前提。 TLC320AD50是 TI公司提供的一款 16 bit同步串口 A/D和 D/A轉(zhuǎn)換芯片 , ADC之后有 1個抽取濾波器以提高輸入信號的信噪比 , 其采樣頻率最高可達(dá) Kb/s, 滿足語音信號處理中關(guān)于采樣頻率的要求 。獨(dú)立的程序和數(shù)據(jù)空間允許他同時并行地訪問指令和數(shù)據(jù),提供了高度 的平行性。這一并行操作是算術(shù)、邏輯以及二進(jìn)制運(yùn)算的強(qiáng)大的機(jī)制。 用戶可以根據(jù)自己的需要來設(shè)置 ROM的編程實(shí)現(xiàn)自己應(yīng)用目的。但如果引腳 MP/MC在硬件復(fù)位時被采樣低電平,那么程序?qū)?ROM的 FF8h0處開始執(zhí)行。這些向量是軟的 也就是說當(dāng)遇到陷阱時,處理器的 PC裝入陷阱向量從而讓處理器去處理向量位置處的程序。這將 pmtr寄存器裝載中斷向量標(biāo)志位被完成。復(fù)位時, DROM位被清 0; 64K字的數(shù)據(jù)存儲器空間包括數(shù)據(jù)存儲器映像寄存器, 0000H~ 001FH是常用的 CPU寄存器地址, 0020H~ 005FH是片內(nèi)外設(shè)寄存器的地址。 保 留 ( O V L Y = 1)外 部 ( O V L Y = 0)0 0 0 0 H0 0 7 F H0 0 8 0 H片 內(nèi) D R A M :1 6 K( O V L Y = 1)外 部 ( O V L Y = 0)3 F F F H4 0 0 0 H保 留 ( O V L Y = 1)外 部 ( O V L Y = 0)0 0 0 0 H0 0 7 F H0 0 8 0 H片 內(nèi) D R A M :1 6 K( O V L Y = 1)外 部 ( O V L Y = 0)3 F F F H4 0 0 0 H程 序 空 間:頁 0程 序 空 間:頁 0F F 7 F HF F 8 0 HF F F F HF F 7 F HF F 8 0 HF F F F HE F F F HF 0 0 0 HF E F F HF F 0 0 H片 外中 斷 矢 量( 外 部 )中 斷 矢 量( 片 內(nèi) )片 外片 內(nèi) R O M:4 K保 留存 儲 器 映 象寄 存 器0 0 0 0 H0 0 5 F H0 0 8 0 H片 內(nèi) D R A M :1 6 K3 F F F H4 0 0 0 H數(shù) 據(jù) 空 間F F 7 F HF F 8 0 HF F F F H片 外E F F F HF 0 0 0 HF E F F HF F 0 0 H片 內(nèi)R O M(D R O M = 1)外 部 ( D R O M = 0) 保 留( D R O M = 1 )外 部 ( D R O M = 0 )0 0 6 0 H0 0 7 F H暫 存 器 S P R A MM P / M C = 1( 微 處 理 器 模 式 )M P / M C = 0( 微 型 計 算 機(jī) 模 式 ) 圖 存儲器分配圖 P a g e 06 4 KP a g e 1 :低1 6 K外 部P a g e 1 :高4 8 K外 部1 0 0 0 0 H1 3 F F F H1 4 0 0 0 H0 0 0 0 0 H0 F F F F H 1 F F F F HP a g e 2 :低1 6 K外 部P a g e 2 :高4 8 K外 部2 0 0 0 0 H2 3 F F F H2 4 0 0 0 H2 F F F F H. . .. . .. . .. . .P a g e 1 5 :低1 6 K外 部P a g e 1 5:高4 8 K外 部F 0 0 0 0 HF 3 F F F HF 4 0 0 0 HF F F F F HX P C = 0 X P C = 1 X P C = 2 X P C = 1 5圖 信息工程學(xué)院課程設(shè)計(論文) 10 TLC320AD50 介紹 TLC320AD50(以下簡稱 AD50 )是 TI生產(chǎn)的 多媒體音頻編解碼器 芯片 ,它集成了 16位 A/D和D/A 轉(zhuǎn)換器 ,采樣速率最高可達(dá) ,其采樣速率可通過 DSP編程來設(shè)置。 AD50的工作方式和采樣頻率均通過串口編程來實(shí)現(xiàn)。啟動二次通信有兩種方法 ,一種是在 FC上加高電平 ,第二種是將 15位方式在首次通信的 D IN的LSB位置為 1。 設(shè)計中采用 TLC320AD50完成語音信號的 A/D轉(zhuǎn)換。TMS320VC5402 有 20 根地址線, 16 根數(shù)據(jù)線,可以尋址 1M 的地址空間,在這里,選用TMS320VC5402 的數(shù)據(jù)空間用做 SRAM 的擴(kuò) 展,選用 TMS320VC5402 的 I/O 空間用做FLASH 擴(kuò)展 。 TLC320AD50 是 TI 公司提供的一款 16 bit 同步串口 A/D 和 D/A轉(zhuǎn)換芯片, ADC之后有 1個抽取濾波器以提高輸入信號的信噪比 , 其采樣頻率最高可達(dá) Kb/s,滿足語音信號處理中關(guān)于采樣頻率的要求。由于語音信號的頻率范圍在 200Hz~ 23400Hz 之間 ,采樣率一般設(shè)定為 8kHz,所以用 AD50 做AD 轉(zhuǎn)換器非常合適。二次通信則用來設(shè)置和讀出寄存器的值 ,所有的寄存器都在二次通信時編程。 本章將詳細(xì)介紹各模塊的硬件設(shè)計以及軟件設(shè)計。具有先進(jìn)的多總線結(jié)構(gòu) , 三條 16位數(shù)據(jù)存儲器總線和一條程序存儲器總線 ; 40位算術(shù)邏輯單元( ALU) , 包括一個 40 位桶形移位器和兩個 40 位累加器 ; 一個 1717 乘法器和一個 40位專用加法器 , 允許 16位帶 /不帶符號的乘法 ; 整合維特比加速器 , 用于提高維特比編譯碼的速度 。 這些都有利于算法的優(yōu)化 。在實(shí)際中,大部分?jǐn)?shù)字系統(tǒng)所使用的電源可工作于 5V或 , 本設(shè)計采用TI公司提供的雙電源芯片: TPS73HD318電源的最大輸出電流為 750mA,并且提供兩個寬度為 200ms的低電平復(fù)位脈沖。復(fù)位后 (RS回到高電平 ), CPU從程序存儲器的 FF80H單元取指,并開始執(zhí)行程序。使用芯片內(nèi)部的振蕩器在芯片的 X1和 X2/CLKIN引腳之間接入一個晶體 ,用于啟動內(nèi)部振蕩器。 擴(kuò)展連接圖 如圖 。 其硬件連接圖如圖 。 JTAG接口引腳連接如圖 。設(shè)置 AD50時,串行通信數(shù)據(jù)最低為高電平。c: \wav\39。時間 (s)39。頻譜 圖 39。頻譜幅度( dB) 39。倒頻(s) 39。 D S P 串口初始化開始語音處理算法設(shè)置 AD 50 寄存器啟動 A / D設(shè)置中斷結(jié)束 圖 DSP初始化程序: include include int sin_data[256]。 int keycode=0x0000。 ST1=0x4800。 CLKMD=0x1007。//open the interrupt。 { sin_data[i]=255*sin(*i/256)。 { tri_data[i]=i。i255。i++) { port9100=tri_data[i]。 0xFF00u) | value。} define TIMER_HALT(port)\ TCR(port) |= (0x1u TSS) define TIMER_START(port)\ TCR(port) = (TCR(port) amp。\ 信息工程學(xué)院課程設(shè)計(論文) 23 PRD(port) = 0xffffu。 DMSBA = DMSRC_SUBADDR。 //src DMSDI = 0x0000u。 //mcr } DMSBA = DMSRCP_SUBADDR。 /*DMIDX0*/ DMSDI = 0x0000u。 /*DMGSA*/ DMSDI = 0x0000u。= 0xFF00u。 DMSDI = dmidx0。 DMSDI = dmgsa。 DMPREC = dmpre。 /* Write to DMA src subbank register with increment */ DMSDI = dst_addr。 DMSBA = DMSRCP_SUBADDR。 VC5402 的強(qiáng)大信號處理能力使得系統(tǒng)能夠?qū)崿F(xiàn)復(fù)雜的信號處理算法 , 不僅 可以進(jìn)行數(shù)據(jù)采集還能夠?qū)Σ杉盘栠M(jìn)行算法處理 。北京:機(jī)械工業(yè)出版社, 2021, 6264 [7] 《 TMS320VC5402 Datasheet》 , Texas Instruments