新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 數(shù)字信號處理器TMS320VC5402與音頻模擬芯片TLC320AD50C的接口設(shè)計

數(shù)字信號處理器TMS320VC5402與音頻模擬芯片TLC320AD50C的接口設(shè)計

作者: 時間:2006-05-07 來源:網(wǎng)絡(luò) 收藏

摘要:介紹了TI公司的信號處理器TMS320VC5402串行口的主要特點(diǎn),及其和音頻模擬接口芯片TLC320AD50C的結(jié)構(gòu)及其使用注意事項。詳細(xì)講述了兩者的硬件連接及軟件實(shí)現(xiàn)。

本文引用地址:http://butianyuan.cn/article/242239.htm

關(guān)鍵詞:器 TMS320CV5402 音頻模擬接口芯片 TLC320AD50C

目前發(fā)展起來的高速器()在語音處理系統(tǒng)中得到了廣泛應(yīng)用。TMS320VC5402的TI公司生產(chǎn)的一種性能價格比較高的16位定點(diǎn)。它的指令周期為10ns,具有運(yùn)算速度快、通用性能、接口連接方便等特點(diǎn),尤其適合在語音編碼和通信中應(yīng)用。

TLC320AD50C是TI公司生產(chǎn)的∑-Δ型A/D、D/A音頻接口芯片,為V3.4調(diào)制解調(diào)器以及音頻應(yīng)用提供了通用的模擬接口,可以直接與TMS320VC5402相連。本文詳細(xì)介紹TLC320AD50C與TMS320VC5402的硬件接口連接和軟件設(shè)計。

1 TMS320VC5402的McBSP

TMS320VC5402有兩個McBSP(多通道緩存串行口)。McBSP提供了全雙工的通信機(jī)制,以及雙緩存的發(fā)送寄存器和三緩存的接收寄存器,允許連續(xù)的數(shù)據(jù)流傳輸,數(shù)據(jù)長度可以為8、12、16、20、24、32;同時還提供了A-律和μ-律壓擴(kuò),多達(dá)128個通道的發(fā)送和接收。McBSP通過7個引腳使得一個數(shù)據(jù)通路和一個控制通路與外部設(shè)備相連。數(shù)據(jù)經(jīng)McBSP與外設(shè)的通信通過DR和DX引腳傳輸,控制信號則由CLKX、CLKR、FSX、FSR等四條引腳來實(shí)現(xiàn)。CPU和DMA控制器可以讀取DRR[1,2]的數(shù)據(jù)實(shí)現(xiàn)接收,并且可以對DXR[1,2]寫入數(shù)據(jù)實(shí)現(xiàn)發(fā)送。接收和發(fā)送幀同步脈沖既可以由內(nèi)部采樣速率產(chǎn)生器產(chǎn)生,也可以由外部脈沖源驅(qū)動。當(dāng)FSR和FSX都為輸入時(FSXM=FSRM=0,外部脈沖源驅(qū)動),McBSP分別在CLKR和CLKX的下降沿檢測,且DR的數(shù)據(jù)也在CLKR的下降沿進(jìn)行采樣。而當(dāng)FSR和FSX都為輸出時,則在CLKX和CLKR的上升沿進(jìn)行檢測。

16-bit的串行口控制寄存器SPCR[1,2]和引腳控制寄存器PCR用來配置串行口;接收控制寄存器RCR[1,2]和發(fā)送控制寄存器XCR[1,2]分別設(shè)置接收和發(fā)送的不同參數(shù),如幀長度、每幀的數(shù)據(jù)長度等。

圖1是當(dāng)FSR和FSX為輸出時McBsp的發(fā)送和接收時序圖。另外,McBSP還可以通過(R/X)DATDLY設(shè)置接收和發(fā)送數(shù)據(jù)延遲,通過(R/X)PHASE設(shè)置接收和發(fā)送的多階段。

2 音頻模擬接口芯片TLC320AD50C

TLC320AD50C是TI生產(chǎn)的∑-Δ型單片音頻接口芯片。它集成了16位A/D和D/A轉(zhuǎn)換器,采樣速率最高可達(dá)22.05kb/s,其采樣速率可通過編程來設(shè)置。在TLC320AD50C內(nèi)部DAC之前有插值濾波器,而在ADC之后有抽樣濾波器,接收和發(fā)送可以同時進(jìn)行。TLC320AD50C與TMS320VC5402之間采用串行通信方式,有兩種數(shù)據(jù)傳輸模式:16們傳輸模式和15+1位傳輸模式。若采用15+1位傳輸模式,其中的D0位用來表示二次通信。TLC320AD50C的數(shù)據(jù)傳輸時序如圖2所示。

該器件采用兩組模擬輸入和兩組模擬輸出,有足夠的共模抑制能力,可以工作在差分或單端方式。當(dāng)模擬輸出時,輸出端通常接600Ω的負(fù)載。

TLC320AD50C的工作由7個控制寄存器控制。其中,控制寄存器1:軟件復(fù)位以及DAC的16位或15+1位模式選擇。

控制寄存器2:ADC的16位或15+1位模式選擇。

控制寄存器4:選擇輸入和輸出放大器的增益;通過選擇N確定采樣速率fs;選擇PLL,如果選擇PL(D7=0),則fs=MCLK/(128N),否則(D7=1),fs=MCLK/(512N)。其中,N=1-8。

該器件工作方式的設(shè)定和采樣頻率均可以由DSP編程來實(shí)現(xiàn),所以TLC320AD50C使用靈活、設(shè)置容易、與TMS320VC5402的連接易于實(shí)現(xiàn)。

3 TMS320VC5402與TLC320AD50C硬件連接及軟件實(shí)現(xiàn)

3.1 硬件連接

根據(jù)圖1和圖2的時序,則容易實(shí)現(xiàn)TLC320AD50C與TMS320VC5402的硬件連接,如圖3所示。

TLC320AD50C的MCLK外接8.192MHz的晶振,TMS320VC5402的FSX和FSR由TLC320AD50C設(shè)置。如果選擇D7=0,N=8,則采樣速率為8kHz。

3.2 通信協(xié)議

TLC320AD50C的通信有兩種格式:一次通信格式和二次通信格式。

一次通信格式的16位都用來傳輸數(shù)據(jù)。DAC的數(shù)據(jù)長度由寄存器1的D0位決定。啟動和復(fù)用時,缺省值為15+1位模式,最后一位要求二次通信。如果工作在16位傳輸模式,則必須由FC產(chǎn)生二次通信請求。

二次通信格式則用來初始化和修改TLC320AD50C內(nèi)部寄存器的值。在二次通信中可以通過向DIN寫數(shù)據(jù)來初始化。

格式如下:

系統(tǒng)復(fù)位后,必須通過DSP的DX口向TLC320AD50C的DIN寫數(shù)據(jù),如果采用一片TLC320AD50C,只需初始化其寄存器1、寄存器2和寄存器4。

由于通信數(shù)據(jù)長度為16位,初始化時應(yīng)通過RCR1和XCR1設(shè)置McBSP的傳輸數(shù)據(jù)長度為16??紤]到TLC320AD50C復(fù)位后至少經(jīng)過6個MCLK才可以脫離復(fù)位,故可以在此時間內(nèi)初始化DSP的串行口。

3.3 軟件實(shí)現(xiàn)

SERIAL_INIT:

LD #AIC_DP,DP *為AIC的復(fù)位初始化DP

ST #K_RESET,AIC_IN_RESET

PORTW #AIC_IN_RESET,K_AIC_ADDR *復(fù)位AIC

Need at least 6 cycles to pull the aic out of reset

STM #K_SERIAL_RETRSPCR1

STM #K_SERIAL_RETXSPCR2 *初始化串行口控制寄存器1,2復(fù)位串行口

STM #K_SERIAL_OUTRETR,SPCR1

STM #K_SERIAL_OUTRETX,SPXR2 *使串行口脫離復(fù)位

RSBXINTM *INTM=0,打開所有的中斷

LD #0,DP

ORM #(K_BRINT0|K_BXINT0),IMT *打開BRINT0和BXINT0

LD #AIC_DP,DP

STM #(~K_BRINT0),IFR *清除標(biāo)志

ST #K_ORESET,AIC_OUT_RESET

PORTW #AIC_OUT_RESET,K_AIC_ADDR *AIC脫離復(fù)位

STM RCR1,#K_RFW 初始化接收控制寄存器1,設(shè)置接收數(shù)據(jù)長度為16位

STM XCR1,#K_XFW *初始化發(fā)送控制寄存器1,設(shè)置發(fā)送數(shù)據(jù)長度為16位

STM PCR,#K_SERIAL *設(shè)置為串行口工作方式,而不是通用I/O方式

STM #K_DATA,DXR1 *向DIN寫數(shù)據(jù),引起二次通信,等待串行口中斷

IDLE 在BXINT0的中斷服務(wù)程序里,向DXR1寫入寄存器的值。*



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉