TLC320AD545(AD545)是TI公司生產(chǎn)的一種單通道數(shù)據(jù)/傳真編解碼器(Codec)。它是一種常用的混合信號寬帶連接芯片,廣泛應(yīng)用于音頻和傳真數(shù)據(jù)采集處理系統(tǒng)中。它可以TMS320C54x DSP的McBSP(多通道緩沖串口)無縫串行連接進(jìn)行數(shù)據(jù)采集、存儲和處理。本文提出一種AD545 Codec與VC5402 DSP的McBSP接口設(shè)計(jì)方法,包括硬件連接及相關(guān)軟件代碼。
1 芯片介紹
1.1 主要特性
AD545是一種單通道的數(shù)據(jù)/傳真編解碼器。它由一個單通道的Codec和帶有一個串口的模擬混合電路組成,其中的串口用于和外接主處理器接口相連。此芯片同時包含了可編程增益控制器和一個AT41話簡驅(qū)動器。其電源可以是模擬5V、數(shù)字5V和監(jiān)控5V;也可是模擬3.3V、數(shù)字3.3V和監(jiān)控3.3V;還可是模擬5V、數(shù)字3.3V和監(jiān)控5V。芯片封裝是48腳TQFP。
AD545的主要特點(diǎn)有:差分和單端驅(qū)動模擬輸出;采樣速率最大可達(dá)11.025kHz;采樣精度16位,2的補(bǔ)碼數(shù)據(jù)格式;80dB動態(tài)范圍;具有可編程增益放大器;帶有可編程增益放大器的8ΩAT41差分話筒驅(qū)動器;Flash寫使能電路為外部的Flash提供電源;溫度范圍-40~85℃。
1.2 功能框圖
AD545內(nèi)部功能框圖如圖1所示。
1.3 各功能部分簡介
Codec部分:①1個ADC通道;②低通濾波;③模擬輸入和模擬輸出增益控制;④1個16位與外部主處理器接口的串口;⑤最大采樣速率可達(dá)11.025kHz。
模擬混合電路部分:①1個集成放大器,其增益和濾波器頻率可由外部的電容和電阻設(shè)定;②1個可編程增益放大器和1個8Ω的差分話筒驅(qū)動器相連,通過對控制寄存器進(jìn)行編程,話筒驅(qū)動器可以設(shè)置為0dB增益或者不發(fā)聲,通過編程,話筒驅(qū)動器的輸入可以選擇放大了的DAC輸出(Data_Out PGA),也可以是ADC的輸入信號;③變換器的參考電壓輸入端(DT_REF)應(yīng)接2.5V或1.5V電壓(當(dāng)DACDD是5V時,應(yīng)接2.5V;當(dāng)DAVDD是3.3V時,應(yīng)接1.5V)。
邏輯和其它電路部分:邏輯電路的功能是執(zhí)行串口操作以及通過串口的二次通信對控制寄存器進(jìn)行編程。這些控制寄存器用于設(shè)置放大器增益,選擇循環(huán)功能以及讀取ADC的溢出標(biāo)志等。此外,還有一個Flash寫命名能電路,它提供了一個外部的邏輯輸入,并且可以為外部存儲器設(shè)備的寫使能電路提供電源,這個Flash寫使能電路采用數(shù)字電源供電。
2 硬件連接
AD545與VC5402硬件連接原理如圖2所示。
AD545的幀同步信號可以是高電平有效,也可以是低電平有效,這取決于AD545串行接口模式選擇引腳SI_SEL的狀態(tài)。本設(shè)計(jì)采用低電平有效方式和VC5402接口,因此,AD545的串行接口模式選擇SI_SEL接高電平DVDD。
3 軟件設(shè)計(jì)
3.1 串行通信工作時序
DSP與Codec串行通信工作時序如圖3所示。
3.2 VC5402 DSP的McBSP寄存器設(shè)置
McBSP應(yīng)該配置成單相位通信、16位字長的標(biāo)準(zhǔn)模式。由于AD545提供了串行時鐘和幀同步時鐘信號,因此,不必要配置McBSP的采樣速率發(fā)生器。鑒于上述的串行通信工時序圖,表1給出了McBSP控制寄存器的典型配置值。
表1 VC5402 DSP的McBSP控制寄存器的典型配置值
McBSP的控制寄存器名 | 設(shè)置值(16位) |
SPCR x (串口控制寄存器1) | 0000000000000001B(0001H |
SPCR2x (串口控制寄存器2) | 1000000000000000B(8000H |
RCR1x (接收控制寄存器1) | 0000000001000000B(0040H |
RCR2x (接收控制寄存器2) | 0000000000000100B(0004H |
XCR1x (發(fā)送控制寄存器1) | 0000000001000000B(0040H |
XCR2x (發(fā)送控制寄存器2) | 0000000000000100B(0004H |
PCRx (幀控制寄存器) | 0000000000001110B(000EH |
3.3 AD545寄存器設(shè)置
DSP對AD545控制寄存器的設(shè)置是通過串行通信來完成的。主通信在DSP和AD545的ADC通道和DAC通道之間傳輸實(shí)際信號數(shù)據(jù),二次通信用來配置AD545的控制寄存器。二次通信是在主通道期間通過設(shè)置所傳輸?shù)紸D545中數(shù)據(jù)字的最低有效位(LSB)的值來標(biāo)識的。如果LSB是1,則下一個通信周期是二次通信周期,AD545所接收到的數(shù)據(jù)就會被變換來對控制寄存器進(jìn)行寫入操作。圖4給出了主通信數(shù)據(jù)格式。
在二次通信期間,通過DT_DIN傳輸?shù)紸D545的數(shù)據(jù)包含了AD545控制寄存器的地址信息、一位表示寄存器是否正在被讀或?qū)懙奈恍畔⒁约霸趯懠拇嫫鳡顟B(tài)下將被寫到寄存器的數(shù)據(jù)信息。如圖5所示,是在寫寄存器狀態(tài)下的數(shù)據(jù)格式,其中bit15和bit14為缺省值00,bit13為讀/寫位(1表示寫,0表示讀)。
AD545僅有兩個控制寄存器(標(biāo)識為1和2)。程序代碼中所提供的控制寄存器設(shè)置值(分別是0x0100和0x0200)是一種通用配置,可以很容易地對其修改,以滿足所需要的情況。
圖3
3.4 關(guān)鍵程序代碼
這里所提供的程序代碼是基于上述硬件連接的單機(jī)模式程序,此程序?qū)C5402的McBSP和AD545進(jìn)行了初始化,并且用DSP的CPU來完成數(shù)據(jù)的采集和回放(AD545的ADC通道輸入數(shù)據(jù)被送到DAC通道進(jìn)行輸出)。所有代碼在CCS2.0下調(diào)試通過。
(1)主程序
void main(void)
{……
init_core(); /*初始化DSP*/
……
setup_codec(&McBSP_ch1,codec_ctrl_chl,N_delay_chl);
/*設(shè)置AD545通道*/
setup_CPU_to_codec(&McBSP_ch1);/*設(shè)置數(shù)據(jù)流向*/
while(1){} /*無限循環(huán)*/
}
(2)子程序
void init_core(void)
{/*設(shè)置PLL*/
*CLKMD=0x0000; /*禁止PLL*/
*CLKMD=0x90b2; /*PLLx10,外部晶振10MHz*/
/*其它設(shè)置*/
*SWWSR=0x2492; /*設(shè)置等待狀態(tài)*/
*SWCR=0x0000; /*設(shè)置等待狀態(tài)控制寄存器*/
*PMST=*PMST|0x0020; /*設(shè)置OVLY=1*/
void setup_codec(McBSP *McBSPx,int *codec_ctr1_data,unsigned
}
int N_delay)
{……
asm(SSBX INTM ;/*禁止全局中斷*/
/*設(shè)置McBSP*/
/*設(shè)置AD545寄存器*/
……
for(i=1;i<=codec_ctr1_data[0];i++){
*McBSPx->DXRlx=0x0001;
/*主通信中標(biāo)識下一通道為二次通信*/
while(!IFR & McBSPx->BXINTx_MASK)){}
/*DXR1x寄存器中的主要通信數(shù)據(jù),等待BXINT標(biāo)志*/
*IFR=McBSPx->BXINTx_MASK;/*清除BXINT flag*/
*McBSPx->DXR1x=codec_ctrl_data[i];
/*二次通信數(shù)據(jù)*/
while(!(*IFR & McBSPx->BXINTx_MASK)){}
/*DXR1寄存器中二次通信數(shù)據(jù),等待BXINT標(biāo)志*/
*IFR=McBSPx->BXINTx_MASK;/*清除BXINT標(biāo)志*/}
}
void setup_CPU_to_codec(McBSP *McBSPx)
{……
if((McBSPx->McBSPnum==1)||(McBSPx->McBSPnum==2)
){
*DMPREC=*DMPREC &0xff3f;/*設(shè)置INTOSEL[1:0]=00b*/}
*IFR=McBSPx->BRINTx_MASK;/*清除BRINT標(biāo)志*/
temp=*DRR10;/*讀取DRR10來清除RRDY位*/
*IMR=*IMR|McBSPx->BRINTx_MASK;/*使能BRINT中斷*/
asm(RSBX INTM ;/*使能全局中斷*/
}
結(jié)語
AD545 Codec是較為常用的數(shù)據(jù)/傳真編解碼器,TMS320VC02是性能價格比較高的定點(diǎn)DSP芯片。基于上述設(shè)計(jì)的系統(tǒng),可以應(yīng)用于音頻/傳真數(shù)據(jù)采集、存儲及處理系統(tǒng)中。
評論
查看更多