日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > TLC320AD545編解碼器與C54x DSP接口設計

          TLC320AD545編解碼器與C54x DSP接口設計

          作者: 時間:2004-12-06 來源:網絡 收藏
          摘要:介紹一種與TMS320 的McBSP方法。內容包括硬件和與之相關的軟件;介紹AD545與各自的初始化以及它們之間的通信協議。

          關鍵詞: TMS320VC5402 McBSP

          (AD545)是TI公司生產的一種單通道數據/傳真編(Codec)。它是一種常用的混合信號寬帶連接芯片,廣泛應用于音頻和傳真數據采集處理系統中。它可以TMS320 DSP的McBSP(多通道緩沖串口)無縫串行連接進行數據采集、存儲和處理。本文提出一種AD545 Codec與VC5402 DSP的McBSP設計方法,包括硬件連接及相關軟件代碼。

          1 芯片介紹

          1.1 主要特性

          AD545是一種單通道的數據/傳真編解碼器。它由一個單通道的Codec和帶有一個串口的模擬混合電路組成,其中的串口用于和外接主處理器接口相連。此芯片同時包含了可編程增益控制器和一個AT41話簡驅動器。其電源可以是模擬5V、數字5V和監(jiān)控5V;也可是模擬3.3V、數字3.3V和監(jiān)控3.3V;還可是模擬5V、數字3.3V和監(jiān)控5V。芯片封裝是48腳TQFP。

          AD545的主要特點有:差分和單端驅動模擬輸出;采樣速率最大可達11.025kHz;采樣精度16位,2的補碼數據格式;80dB動態(tài)范圍;具有可編程增益放大器;帶有可編程增益放大器的8ΩAT41差分話筒驅動器;Flash寫使能電路為外部的Flash提供電源;溫度范圍-40~85℃。

          1.2 功能框圖

          AD545內部功能框圖如圖1所示。

          1.3 各功能部分簡介

          Codec部分:①1個ADC通道;②低通濾波;③模擬輸入和模擬輸出增益控制;④1個16位與外部主處理器接口的串口;⑤最大采樣速率可達11.025kHz。

          模擬混合電路部分:①1個集成放大器,其增益和濾波器頻率可由外部的電容和電阻設定;②1個可編程增益放大器和1個8Ω的差分話筒驅動器相連,通過對控制寄存器進行編程,話筒驅動器可以設置為0dB增益或者不發(fā)聲,通過編程,話筒驅動器的輸入可以選擇放大了的DAC輸出(Data_Out PGA),也可以是ADC的輸入信號;③變換器的參考電壓輸入端(DT_REF)應接2.5V或1.5V電壓(當DACDD是5V時,應接2.5V;當DAVDD是3.3V時,應接1.5V)。

          邏輯和其它電路部分:邏輯電路的功能是執(zhí)行串口操作以及通過串口的二次通信對控制寄存器進行編程。這些控制寄存器用于設置放大器增益,選擇循環(huán)功能以及讀取ADC的溢出標志等。此外,還有一個Flash寫命名能電路,它提供了一個外部的邏輯輸入,并且可以為外部存儲器設備的寫使能電路提供電源,這個Flash寫使能電路采用數字電源供電。

          2 硬件連接

          AD545與VC5402硬件連接原理如圖2所示。

          AD545的幀同步信號可以是高電平有效,也可以是低電平有效,這取決于AD545串行接口模式選擇引腳SI_SEL的狀態(tài)。本設計采用低電平有效方式和VC5402接口,因此,AD545的串行接口模式選擇SI_SEL接高電平DVDD。

          3 軟件設計

          3.1 串行通信工作時序

          DSP與Codec串行通信工作時序如圖3所示。

          3.2 VC5402 DSP的McBSP寄存器設置

          McBSP應該配置成單相位通信、16位字長的標準模式。由于AD545提供了串行時鐘和幀同步時鐘信號,因此,不必要配置McBSP的采樣速率發(fā)生器。鑒于上述的串行通信工時序圖,表1給出了McBSP控制寄存器的典型配置值。

          表1 VC5402 DSP的McBSP控制寄存器的典型配置值

          McBSP的控制寄存器名設置值(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寄存器設置

          DSP對AD545控制寄存器的設置是通過串行通信來完成的。主通信在DSP和AD545的ADC通道和DAC通道之間傳輸實際信號數據,二次通信用來配置AD545的控制寄存器。二次通信是在主通道期間通過設置所傳輸到AD545中數據字的最低有效位(LSB)的值來標識的。如果LSB是1,則下一個通信周期是二次通信周期,AD545所接收到的數據就會被變換來對控制寄存器進行寫入操作。圖4給出了主通信數據格式。

          在二次通信期間,通過DT_DIN傳輸到AD545的數據包含了AD545控制寄存器的地址信息、一位表示寄存器是否正在被讀或寫的位信息以及在寫寄存器狀態(tài)下將被寫到寄存器的數據信息。如圖5所示,是在寫寄存器狀態(tài)下的數據格式,其中bit15和bit14為缺省值00,bit13為讀/寫位(1表示寫,0表示讀)。

          AD545僅有兩個控制寄存器(標識為1和2)。程序代碼中所提供的控制寄存器設置值(分別是0x0100和0x0200)是一種通用配置,可以很容易地對其修改,以滿足所需要的情況。

          圖3

          3.4 關鍵程序代碼

          這里所提供的程序代碼是基于上述硬件連接的單機模式程序,此程序對VC5402的McBSP和AD545進行了初始化,并且用DSP的CPU來完成數據的采集和回放(AD545的ADC通道輸入數據被送到DAC通道進行輸出)。所有代碼在CCS2.0下調試通過。

          (1)主程序

          void main(void)

          {……

          init_core(); /*初始化DSP*/

          ……

          setup_codec(McBSP_ch1,codec_ctrl_chl,N_delay_chl);

          /*設置AD545通道*/

          setup_CPU_to_codec(McBSP_ch1);/*設置數據流向*/

          while(1){} /*無限循環(huán)*/

          }

          (2)子程序

          void init_core(void)

          {/*設置PLL*/

          *CLKMD=0x0000; /*禁止PLL*/

          *CLKMD=0x90b2; /*PLLx10,外部晶振10MHz*/

          /*其它設置*/

          *SWWSR=0x2492; /*設置等待狀態(tài)*/

          *SWCR=0x0000; /*設置等待狀態(tài)控制寄存器*/

          *PMST=*PMST|0x0020; /*設置OVLY=1*/

          void setup_codec(McBSP *McBSPx,int *codec_ctr1_data,unsigned

          }

          int N_delay)

          {……

          asm(SSBX INTM ;/*禁止全局中斷*/

          /*設置McBSP*/

          /*設置AD545寄存器*/

          ……

          for(i=1;i=codec_ctr1_data[0];i++){

          *McBSPx->DXRlx=0x0001;

          /*主通信中標識下一通道為二次通信*/

          while(!IFR McBSPx->BXINTx_MASK)){}

          /*DXR1x寄存器中的主要通信數據,等待BXINT標志*/

          *IFR=McBSPx->BXINTx_MASK;/*清除BXINT flag*/

          *McBSPx->DXR1x=codec_ctrl_data[i];

          /*二次通信數據*/

          while(!(*IFR McBSPx->BXINTx_MASK)){}

          /*DXR1寄存器中二次通信數據,等待BXINT標志*/

          *IFR=McBSPx->BXINTx_MASK;/*清除BXINT標志*/}

          }

          void setup_CPU_to_codec(McBSP *McBSPx)

          {……

          if((McBSPx->McBSPnum==1)||(McBSPx->McBSPnum==2)

          ){

          *DMPREC=*DMPREC 0xff3f;/*設置INTOSEL[1:0]=00b*/}

          *IFR=McBSPx->BRINTx_MASK;/*清除BRINT標志*/

          temp=*DRR10;/*讀取DRR10來清除RRDY位*/

          *IMR=*IMR|McBSPx->BRINTx_MASK;/*使能BRINT中斷*/

          asm(RSBX INTM ;/*使能全局中斷*/

          }

          結語

          AD545 Codec是較為常用的數據/傳真編解碼器,TMS320VC02是性能價格比較高的定點DSP芯片?;谏鲜鲈O計的系統,可以應用于音頻/傳真數據采集、存儲及處理系統中。



          評論


          相關推薦

          技術專區(qū)

          關閉