男女午夜激情_www.天堂av.com_亚洲综合小说区_亚洲欧美自拍视频_成年精品_久久www免费人成—看片_激情综合五月天_久久高潮视频_最新国产成人ab网站_国产精品卡一

機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發
   位置: 機電之家下載站 >> 單片機技術網 >> 單片機開發 >> DSP >> 正文
培訓信息
贊助商
TLC320AD50C在DSP系統中的應用與設計
TLC320AD50C在DSP系統中的應用與設計
 更新時間:2009-6-5 9:10:04  點擊數:2
【字體: 字體顏色

 西北工業大學 謝奕勝 向平

摘 要:本文介紹了TI公司的信號處理器TMS20C54X緩沖串行口的結構、原理以及模擬接口芯片TLC320AD50C的結構及其原理,重點講述了兩者的硬件接口設計及其軟件實現。
  關鍵詞:多通道緩沖串口(McBSP) ;TLC320AD50C ; DSP; TMS320C54X

  前言

  DSP是一種適合于實時數字信號處理的微處理器,主要用于實時快速地實現各種數字信號的處理算法,如數字濾波、變換、增強、壓縮、估計、識別等。DSP自20世紀80年代誕生以來得到迅速的發展,廣泛用于通信、控制、軍事等領域。在DSP的應用中,數據的采集、信號處理及重建是DSP應用系統的重要任務。本文介紹TMS320C54X與 - 型A/D、D/A轉換芯片TLC320AD50C的工作原理、硬件接口以及軟件設計。

  TMS320C54X DSP的串口簡介

  在TI的DSP中,串行口是一個非常重要的片上外設,它能夠高速地與外部設備進行數據交換。TMS32054X DSP隨著器件不同,有多種接口,都能與TLC320AD50C直接接口。下面以TMS320C5409 DSP為例,簡要敘述McBSP串口的工作原理和應用要點。

  McBSP串口由數據通道和控制通道組成,它通過7個管腳與外部設備相連,數據發送通過DX,數據接收通過DR,串行口的控制信息從CLKX、CLKR、FSX和FSR獲得。CLKS為外部時鐘源。CPU和DMA控制器通過內部外設總線對McBSP進行訪問,從數據接收寄存器DRR[1,2]中讀取數據,往數據發送寄存器DXR[1,2]寫數據,數據從DR引腳進入DSP,首先存放在接收移位寄存器RSR[1,2]中,當一個完整的字接收完畢后,結果被復制到接收緩沖寄存器RBR[1,2],最后再由RBR[1,2]復制到DRR[1,2]中,供CPU或DMA控制器訪問。寫操作與讀取相仿,從結構上來看,發送和接收部分是相對獨立的,所以可以實現全雙工通信。McBSP的控制設置通過一對寄存器讀寫來完成,這些控制寄存器控制的工作模式或指示串口的狀態信息。訪問某個指定的寄存器時,首先要將相應的控制寄存器的子地址寫入子地址控制器SPSA,SPSA驅動復接器,使之與數據控制寄存器SPSD相連。接入相應子地址寄存器所在的實際物理存儲位置,當向SPSD寫入數據時,數據送入前面子地址寄存器所指定的內嵌數據存儲器,當從SPSD讀取數時,也接入所制定的內嵌數據存儲器。

  TLC320AD50C 簡介

  隨著數字技術的不斷發展,介于模擬與數字電路之間的芯片的使用也越來越多。美國TI公司的TLC320AD50C(以下簡稱AD50)就是一種具有許多優良特性的模擬接口電路芯片,該芯片可廣泛用于各種電路,尤其是應用在DSP領域中。AD50芯片采用過采樣 - 技術,可進行A/D和D/A的高分辨率、低速信號轉換。該器件同時還包括兩個串行同步轉換電路(用于各自的數據方向),在DAC之前有一個內插濾波器,而在后面有一個抽取濾波器。AD50中的可選項和電路配置可以通過串行口進行編程, AD50配置位可進行軟件編程,該器件中共有七個數據和控制寄存器可供使用。其用途如下:

  寄存器0:空操作(No-Op)寄存器。寄存器1:Control1寄存器。該寄存器用以控制軟件復位、軟件掉電、選擇正;蜉o助模擬輸入、數字反饋的選擇、DAC的16位或15位工作方式的選擇、****放大器輸出增益的選擇及硬件或軟件二次通信請求方式的選擇等。寄存器2:Control 2寄存器,用于控制一個抽取FIR濾波器溢出的輸出標志、FLAG的輸出值、ALT-DATA輸入端使能、為ADC選擇16位方式或15位方式及使能模擬反饋。寄存器3:Control 3寄存器。它控制FS與FSD之間延遲SCLK的個數;通知主器件有多少從器件將連在一起。寄存器4:Control 4寄存器,用來控制輸入輸出放大器增益,采樣率為fs=MCLK/(128 N)或MCLK/(512 N)的選擇,以及在MCLK輸入端使能外部采樣時鐘和旁路內部PLL等。寄存器5和寄存器6:保留寄存器,用于工廠測試。

  TLC320AD50C與外界串行通信可以分為首次通信和二次通信。在首次通信中,有兩種數據傳送模式,16位傳送模式和15+1位傳送模式,可通過控制寄存器設定。默認情況下為15+1位傳送模式。若采用15+1位傳送模式,其最低位DO為非數據位,輸入DAC數據的DO位為二次通信請求位,輸出ADC數據的D0位為M/S腳的狀態位。二次通信只有在發出請求時產生,當首次通信采用15+1位模式時,可以進行二次通信請求;當首次通信采用16位模式時,則必須由FC腳輸入信號來產生二次通信請求。二次通信數據格式如圖1所示,其中D7-D0為控制寄存器數據,D12-D8為控制寄存器地址,D13=1為讀控制寄存器數據,D13=0對控制寄存器寫數據。通過二次通信,可實現TLC320AD50C初始化和修改TLC320AD50C內部控制寄存器。在TLC320AD50C內部有5個可供二次通信訪問的控制寄存器,其中4個寄存器和TLC320AD50C初始化及配置有關。其功能如表1所示。

  表1(略)

  硬件設計

  在應用中,將TLC320AD50C接至DSP的同步串口,并將TLC320AD50C設置在主動工作模式下,即由TLC320AD50C提供幀同步信號和移位時鐘,另外不同型號的DSP的管腳電壓可以為3.3V或者5V。因此,可以根據DSP 的電源特性為TLC320AD50C選擇3.3V或5V的數字電,以實現管腳的直接連接。通過將多個TLC320AD50C串行連接,并將第一個TLC320AD50C設置成主動工作模式,而其他TLC320AD50C設置成從設備方式,以實現多TLC320AD50C和DSP的相連。

  圖1 TLC320AD50C與TMS320C54X硬件接口電路(略)

  圖1給出TMS320C54X與TLC320AD50C硬件接口電路,假設DSP的管腳電壓為3.3V,因而將TLC320AD50C的數字電接到3.3V電源,管腳M/S經過10K電阻上拉,將TLC320AD50C設置成主動工作模式,選擇INP和INM作為ADC的輸入,將AUXP和AUXM接至模擬地;DAC的正相輸出經過一階低通濾波后送給模擬設備,反相輸出不用;DSP可以通過通用輸出口XF對TLC320AD50C進行復位操作; 管腳FC接地,系統只能采用軟件方式申請觸發輔助通信(二次通信)模式;數據格式為15+1比特模式,管腳FSD可以輸出到后面的TLC320AD50C的FS管腳,以實現設備的同步。輸入主時鐘MCLK為8.192MHz,采樣頻率選擇為8KHz,內部PLL使能(控制寄存器4中的N=8)。通過寄存器設置,將TMS320C54X的FSX,FSR,CLKR,CLKX配置為外部輸人,TLC320AD50C的SCLK配置為內部產生。這樣數據接收/發送幀同步信號、移位時鐘信號均由TLC320AD50C產生。串行口的接收/發送過程受TLC320AD50C的控制。

  軟件設計

  相關軟件設計大致可分為串口McBSP設置和外部芯片TLC320AD50C設置。

  串口McBSP設置應該先讓串口的XRST=0,RRST=0, GRST=0使串口處于初始化狀態,然后給控制寄存器設置設計的狀態位,如SRGR、SPCR、 PCR、 XCR、 RCR等。但要注意的是,這里不能改變XRST=0,RRST=0 GRST=0位,最后是讓XRST=1,RRST=1,FRST=1使串口退出復位狀態。

  TLC320AD50C設置通過輔助通信來讀寫控制寄存器,輔助通信有兩種方法實現,一是硬件方式,FC必須在FS的上跳沿被拉高,這樣

  TLC320AD50C會在后128個SCLK后切換到輔助通信模式下,二是軟件方式,要用軟件方式必須是工作在15+1位模式下,當寫入的數字D0位為1,則可以在后128個SCLK后切換到輔助通信模式下。對控制器的寫的數據通過DIN進入TLC320AD50C,寄存器的數據從DOUT輸出,訪問寄存器時要求指明設備號、讀寫屬性、寄存器地址。下面給出的分別是串口初始化以及LC320AD50C初始化的部分關鍵代碼。

.include "const.inc" ;串口初始化數據表,表中每項包括寄

存器子地址,和對應的設置值

.include "init54.inc" ;初始化DSP內設的常數表文件
.include "vector.inc" ;中斷向量表文件
.mmregs ;映射控制器物理地址
MCBSP_INIT: ;MCBSP_INIT 是初始化串口McBSP
;SPSA和SPSD的地址是連續的。所
以可以用輔助寄存器來訪問,簡化代碼
stm 0,SPSA0 ;reset mcbsp0 spcr1
nop
stm K_SPCR10_RS,SPSD0 ;K_SPCR10_RS為const.inc 文件定義好的常數
nop
stm 1,SPSA0 ;spcr2
nop
STM K_SPCR20_RS,SPSD0
stm #MCBSP0_CONST,AR2 ;MCBSP0_CONST為const.inc數據表的首地址
stm #SPSA0,AR3
stm #(15-1),BRC ;共有14個寄存器要設置,采用指針循 環切換方式實現
rptb LOOP-1
ld *AR2+,A ;AR2指向數據表中的數據首地址,然后地址遞增
stl A,*AR3+ ;AR3指向SPSA0,然后指向SPSD0,再回指SPSA0.
nop
ld *AR2+,A
stl A,*AR3-
nop

LOOP:

stm 0,SPSA0 ;退出復位狀態
nop
stm K_SPCR10_RS|1,SPSD0
nop
stm 1,SPSA0
nop
STM K_SPCR20_RS|1,SPSD0
nop
WAIT #100
ret

AD50C_INIT: ;TLC320AD50C初始化

ld #K_Register1,B
call ADDA_SET ;調用ADDA_SET函數塊
ld #K_Register2,B
call ADDA_SET
ld #K_Register4,B
call ADDA_SET
RET

ADDA_SET: ;ADDA_SET函數塊,實現一次主通信,
一次輔助通信,然后返回到正常模式

stm #1,DXR10

WAIT_1INT:

ld *(serial_int_flag),A ;讀取中斷標識
nop
nop
nop
bc WAIT_1INT,AEQ ;等待中斷
st #0,*(serial_int_flag) ;中斷標識清空
stlm B,DXR10

WAIT_2INT:

ld *(serial_int_flag),A
nop
nop
nop
ADD #1,A
bc WAIT_2INT,AEQ
st #0,*(serial_int_flag)
RET

  結束語

  本文介紹了利用TMS320C54X的同步串行接口與TLC320AD50C之間通信的方法,介紹了AD50與DSP串口通信的硬件接口及軟件?梢钥闯,此接口電路簡潔,編程方便,可實現高精度A/D、D/A轉換,可以對語音信號進行無失真采樣,完全能滿足后續語音信號處理的要求,與DSP接口簡單,高性能,低功耗,已成為當前語音處理的主流產品,廣泛應用在音頻處理,語音增強,語音安全,回聲抵消,VoU等電話或語音應用領域。

<!--插入廣告JS代碼-->
  • 上一篇: TLC320AD545編解碼器與C54x DSP接口設計
  • 下一篇: DSP+FPGA在高速高精運動控制器中的應用
  • 發表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發消息66821730(技術支持)點擊這里給我發消息66821730(廣告投放) 點擊這里給我發消息41031197(編輯) 點擊這里給我發消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業自行提供,該企業負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(濱江)機電一體化學會
    中國行業電子商務100強網站

    網站經營許可證:浙B2-20080178-1
    主站蜘蛛池模板: 汉中市| 吉安县| 石棉县| 四会市| 茂名市| 长兴县| 许昌县| 井冈山市| 芷江| 新河县| 乌兰县| 陕西省| 从化市| 泌阳县| 云和县| 万山特区| 确山县| 平阴县| 佛山市| 金川县| 青海省| 社会| 始兴县| 黔江区| 苏尼特右旗| 湖南省| 临颍县| 安徽省| 客服| 东丽区| 扶余县| 新巴尔虎右旗| 于都县| 东明县| 麦盖提县| 民县| 开封县| 和顺县| 孝义市| 隆子县| 扶绥县|