- 相關(guān)推薦
TLC320AD50C與DSP接口設(shè)計(jì)
摘 要: DSP(數(shù)字信號(hào)處理器)具有強(qiáng)大的數(shù)字信號(hào)處理能力,在其應(yīng)用系統(tǒng)中,大多由ADC和DAC通道來完成對(duì)模擬信號(hào)的數(shù)字化處理。本文介紹了一種集成ADC和DAC于一體的TLC320AD50C模擬接口電路與TMS320VC5402定點(diǎn)DSP接口電路的硬件設(shè)計(jì)方法,并結(jié)合一個(gè)具體的軟件實(shí)例說明主從模式下軟件的實(shí)現(xiàn)方法。
關(guān)鍵詞:TLC320D50C;DSP;主從模式
引 言
在許多應(yīng)用系統(tǒng)中,為了應(yīng)用DSP卓越的數(shù)字信號(hào)處理能力,我們必須先將模擬信號(hào)進(jìn)行數(shù)字化(A/D轉(zhuǎn)換),再對(duì)采樣數(shù)據(jù)進(jìn)行相應(yīng)的算法處理,最后經(jīng)過數(shù)字信號(hào)模擬化(D/A轉(zhuǎn)換)后輸出。在這些DSP應(yīng)用系統(tǒng)中的關(guān)鍵問題是怎樣十分容易和高效地實(shí)現(xiàn)這些轉(zhuǎn)換,因此必然涉及到接口電路的設(shè)計(jì)。本文介紹一種單片內(nèi)集成了ADC通道和DAC通道的模擬接口電路TLC320AD50C(以下簡稱AD50)與TMS320VC5402緩沖串口的接口的設(shè)計(jì)實(shí)現(xiàn)方法,然后,基于這種接口電路的硬件設(shè)計(jì),通過軟件編程實(shí)現(xiàn)語音信號(hào)的采集與回放。
1 芯片簡介
TMS320VC5402是TI公司生產(chǎn)的從屬于TMS320C54x系列的一個(gè)工作靈活、高速、具有較高性價(jià)比、低功耗的16位定點(diǎn)通用DSP芯片。其主要特點(diǎn)包括:采用改進(jìn)的哈佛結(jié)構(gòu),1條程序總線(PB),3條數(shù)據(jù)總線(CB、DB、EB)和4條地址總線(PAB,CAB,DAB,EAB),帶有專用硬件邏輯CPU,片內(nèi)存儲(chǔ)器,片內(nèi)外圍專用的指令集,專用的匯編語言工具等。TMS320VC5402含4K字節(jié)的片內(nèi)ROM和16K字節(jié)的雙存取RAM,1個(gè)HPI(Host Port Interface)接口,2個(gè)多通道緩沖單口MCBSP(Multi-Channel Buffered Serial Port),單周期指令執(zhí)行時(shí)間10ns,雙電源(1.8V和3.3V)供電,帶有符合IEEE1149.1標(biāo)準(zhǔn)的JTAG邊界掃描仿真邏輯。
AD50是TI公司生產(chǎn)的一個(gè)16位、音頻范圍(采樣頻率為2K~22.05KHZ)、內(nèi)含抗混疊濾波器和重構(gòu)濾波器的模擬接口芯片,它有一個(gè)能與許多DSP芯片相連的同步串行通信接口。AD50C片內(nèi)還包括一個(gè)定時(shí)器(調(diào)整采樣率和幀同步延時(shí))和控制器(調(diào)整編程放大增益,鎖相環(huán)PLL,主從模式)。AD50有28腳的塑料SOP封裝(帶DW后綴)和48腳的塑料扁平封裝(帶PT后綴),體積較小,適應(yīng)于便攜設(shè)備。AD50的工作溫度范圍是0~70℃,單一5V電源供電或5V和3.3V聯(lián)合供電,工作時(shí)的最大功耗為120 mW。
2 硬件設(shè)計(jì)
2.1 AD50的內(nèi)部結(jié)構(gòu)簡圖
圖1最上面第一通道為模擬信號(hào)輸入監(jiān)控通道,第二通道為模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)(A/D)通道,第三通道為數(shù)字信號(hào)轉(zhuǎn)化為模擬信號(hào)(D/A)通道,最下面一路是AD50的工作頻率和采樣頻率控制通道。本文所述的輸入時(shí)鐘(MCLK)為8.192MHz,A/D與D/A的采樣頻率為MCLK/(128*N)Hz(N為AD50C的第4個(gè)寄存器4~6位所設(shè))。
2.2 AD50與DSP的引腳連接方式
AD50與TMS320VC5402是以SPI方式連接的。AD50工作在主機(jī)模式(M/S=1),提供SCLK(數(shù)據(jù)移位時(shí)鐘)和FS(幀同步脈沖)。TMS320VC5402工作于SPI方式的從機(jī)模式,BCLKX1和BFSX1為輸入引腳,在接數(shù)據(jù)和發(fā)數(shù)據(jù)時(shí)都是利用外界時(shí)鐘和移位脈沖。
3 軟件設(shè)計(jì)
3.1 軟件編制過程
一旦完成了正確的硬件連接,接下來就可以進(jìn)行軟件編程調(diào)試了。要完成的工作包括:
(1)TMS320VC5402串口的初始化。首先將DSP串口1復(fù)位,再對(duì)串口1的16個(gè)寄存器進(jìn)行編程,使DSP串口工作在以下狀態(tài):以SPI模式運(yùn)行,每幀一段,每段一個(gè)字,每字16位,采樣率發(fā)生器由DSP內(nèi)部產(chǎn)生,幀同步脈沖低電平有效,并且?guī)叫盘?hào)和移位時(shí)鐘信號(hào)由外部產(chǎn)生。DSP給AD50C編程用查詢方式,接收A/D轉(zhuǎn)換的D信號(hào)和發(fā)送D/A轉(zhuǎn)換的D信號(hào)用DMA方式。
(2)AD50初始化。該初始化操作過程包括通過TMS320VC5402的同步串口發(fā)送兩串16位數(shù)字信息到AD50。第一串為0000 0000 0000 0001B,最低有效位(bits0)說明下一個(gè)要傳輸?shù)臄?shù)據(jù)字屬于二次通信(關(guān)于一次通信和二次通信的內(nèi)容請(qǐng)參閱參考文獻(xiàn)[3])。第二個(gè)數(shù)據(jù)值用來對(duì)AD50的4個(gè)數(shù)據(jù)寄存器的某一個(gè)進(jìn)行配置。Bits15~11位為0,Bits10~8位為所選寄存器地址值,Bits7~0位為所選中寄存器的編程值。4個(gè)用戶可編程寄存器的描述如下:R1中包含模擬輸入通道選擇,硬件 / 軟件編程方式選擇;R2進(jìn)行單機(jī) / 從機(jī)工作和電話模式(電話模式內(nèi)容請(qǐng)參閱參考文獻(xiàn)[3])選擇;R3控制帶從機(jī)個(gè)數(shù)選擇;R4用來設(shè)置模擬信號(hào)可編程放大增益和A/D、D/A轉(zhuǎn)換頻率。其它兩個(gè)寄存器R5、R6是廠家留著測(cè)試用的,用戶不可以對(duì)其編程。我們?cè)谝韵吕讨袑?duì)4個(gè)可編程寄存器編程,使AD50C工作在以下狀態(tài):選擇INP/INM為工作模擬輸入,15+1位ADC和15+1位DAC模式,不帶從機(jī),采樣頻率為10.67KHz,模擬信號(hào)輸入和輸出放大增益均為0dB。
(3)用戶代碼的編寫。完成音頻信號(hào)采集與回放代碼的編制。本設(shè)計(jì)給AD50編程用查詢方式,接收A/D轉(zhuǎn)換的D信號(hào)和發(fā)送D/A轉(zhuǎn)換的D信號(hào)用DMA方式。
3.2 軟件具體實(shí)現(xiàn)
(1) 程序流程圖:
(2)部分關(guān)鍵代碼:
Ⅰ, TMS320VC5402中斷及串口初始化
……
stm #0002h, 48h
stm #0040h, 49h ; 設(shè)置DSP串口1工作在每幀一個(gè)字,每個(gè)字16位模式
……
stm #0006h, 48h
stm #0100h, 49h ; 設(shè)置CLKGDV=0,使串口1工作在最大頻率
stm #0007h, 48h
stm #0a000h, 49h ;設(shè)置CLKSM=1,采樣率發(fā)生器時(shí)鐘由DSP內(nèi)部產(chǎn)生
stm #000eh,48h
stm #0008h,49h ;設(shè)置FSXP=1,使幀同步脈沖低電平有效
stm #0080h,imr ;DMA一通道中斷使能
rsbx intm ;開放所有可屏蔽中斷
……
Ⅱ, AD50初始化
ld #0001h,a ;D0=1,請(qǐng)求第二次交流
stlm a,43h ;向TLC320AD50C寫數(shù)據(jù)
aa: stm #0001h,48h
ldm 49h,a
and #0002h,a
bc aa,aeq ;數(shù)據(jù)是否被TLC320AD50C接收
ld #0180h,a ;給TLC320AD50C的寄存器1編程,使其復(fù)位
stlm a,43h
bb:stm #0001h,48h
ldm 49h,a
and #0002h,a
bc bb,aeq ;編程數(shù)據(jù)是否被TLC320AD50C接收
……
stm #0100h,a ;TLC320AD50C脫離復(fù)位并且設(shè)置寄存器1,使INP,INM為輸入
……
stm #0200h,a ;設(shè)置TLC320AD50C寄存器2,使電話模式無效
……
stm #0460h,a ;設(shè)置TLC320AD50C寄存器4,使采樣頻率為10.667KHz
……
stm #0300h,a ;設(shè)置TLC320AD50C寄存器3,使帶0個(gè)從機(jī)
……
Ⅲ, DMA1通道初始化
stm #05h, 55h ;選擇DMA1通道
stm #0041h,56h ;設(shè)置串口1接收端為DMA事件的源地址
stm #027fh,56h ;設(shè)置DMA事件的目的地址
stm #3000h,56h ;設(shè)置直接傳送數(shù)據(jù)個(gè)數(shù)
stm #5000h,56h ;設(shè)置串口1同步模式,一幀接收一個(gè)字
stm #404dh,56h ;設(shè)置DMA為多幀模式,源地址不調(diào)整目的地址按57h的值調(diào)整
stm #20h, 55h
stm #0001h,57h ;設(shè)置目的地址為自動(dòng)加1調(diào)整
stm #0282h,54h ;設(shè)置通道1為高優(yōu)先級(jí)并使能通道1
……
4 實(shí)驗(yàn)結(jié)果
下面圖中圖4和圖6分別為TLC320AD50C與TMS320VC5402組成的數(shù)據(jù)采集系統(tǒng)對(duì)同一個(gè)實(shí)驗(yàn)對(duì)象的語音信號(hào)“您好”和“啊”的采集結(jié)果,圖5和圖7分別為WINDOWS 98附件中的錄音機(jī)所錄下的語音信號(hào)“您好”和“啊”用MATLAB仿真后的圖形結(jié)果。
下面圖8為AD50采樣信號(hào)“啊”音的FFT Magnitude, 圖9為WINDOWS 98附件中的錄音機(jī)錄制信號(hào)“啊”音的FFT Magnitude。
5 結(jié)束語
本文以TMS320VC5402與TLC320AD50C為例,詳細(xì)介紹了AD50與DSP串口通信的硬件接口及軟件實(shí)現(xiàn)。從實(shí)驗(yàn)結(jié)果我們可以發(fā)現(xiàn)TLC320AD50C可以對(duì)語音信號(hào)進(jìn)行無失真采樣,完全能滿足后續(xù)語音信號(hào)處理的要求,并且與DSP接口簡單,高性能,低功耗,已成為當(dāng)前語音處理的主流產(chǎn)品。廣泛適用于音頻處理,語音增強(qiáng),語音安全,回聲抵消,VoIP等電話或語音應(yīng)用中。
【TLC320AD50C與DSP接口設(shè)計(jì)】相關(guān)文章:
增強(qiáng)并口EPP與DSP接口的設(shè)計(jì)增強(qiáng)并口EPP與DSP接口的設(shè)計(jì)08-06
基于DSP平臺(tái)的USB接口設(shè)計(jì)08-06
用FIFO設(shè)計(jì)A/D與DSP之間的接口08-06
TLC320AC01與DSP的接口設(shè)計(jì)08-06
DSP接口效率的分析與提高08-06
DSP與慢速設(shè)備接口的實(shí)現(xiàn)08-06
Trimedia DSP芯片JTAG接口的仿真器設(shè)計(jì)08-06