音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

TMS320VC5402 DSP與串行AD73360A/D轉換器接口設計

出處:nxzp12348 發(fā)布于:2007-04-18 16:40:25

摘要:討論了TI公司的數(shù)字信號處理器TMS320VC5402的多通道緩沖串口與串行A/D變換器AD73360的接口設計,詳細闡述了兩者的硬件接口和軟件實現(xiàn)。

    關鍵詞:多通道緩沖串口 TMS320VC5402DSP AD73360 A/D轉換器

隨著對信號處理要求的不斷提高以及DSP技術的不斷發(fā)展,越來越多的工程技術人員開始采用DSP進行系統(tǒng)設計。美國TI公司的TMS320VC5402(以下簡稱VC5402)DSP具有運算速度快、功耗小和性價比高的特點,已在個人移動通信、信號與信息處理以及自動控制等領域得到了廣泛的應用。該芯片提供了兩個多通道緩沖串行接口(McBSP)與外部設備進行通信。它與串行A/D變換器構成的信號采集與處理系統(tǒng)具有硬件設計簡單、可靠性好的特點。本文將詳細闡述VC5402與AD73360的接口設計。

1 VC5402的McBSP

VC5402的McBSP是一種同步串行接口,支持多種通信方式和SPI協(xié)議,該串口可以根據(jù)設計者的不同需求進行配置,使用非常靈活。它的主要特點如下:全雙工的串行通信;連續(xù)的發(fā)送和接收數(shù)據(jù)流功能;具有外部時鐘輸入或內部可編程時鐘兩種時鐘控制方式;可獨立編程的發(fā)送和接收幀同步;多通道數(shù)據(jù)傳輸(多可達128個通道);可選的數(shù)據(jù)寬度:8、12、16、20、24或32位;用于數(shù)據(jù)壓縮的μ律和A律壓縮擴展;可編程的時鐘和幀同步極性。

McBSP包括6個引腳,分別是串行數(shù)據(jù)發(fā)送信號DX、串行數(shù)據(jù)接收信號DR、發(fā)送時鐘信號CLKX、接收時鐘信號CLKR、發(fā)送幀同步信號FSX和接收幀同步信號FSR。由于McBSP內帶有一個可編程的采樣和幀同步時鐘產(chǎn)生器,所以串口接收、發(fā)送時鐘和幀同步等信號既可由內部產(chǎn)生,也可以由外部輸入。

VC5402的McBSP由23個寄存器進行控制,除了少數(shù)幾個不能由程序訪問之外,一般在串口進行數(shù)據(jù)通信之前都要對它們進行初始化,部分寄存器是存儲器映射寄存器,必須通過子地址的方式進行訪問。要訪問McBSP的這些寄存器,首先要把所要訪問的寄存器的子地址寫到子地址寄存器SPSA中,然后才能對數(shù)據(jù)寄存器進行訪問。

McBSP接收和發(fā)送數(shù)據(jù)的過程如下:在發(fā)送數(shù)據(jù)時,首先將要發(fā)送的數(shù)據(jù)寫到DXR寄存器中,若XSR寄存器為空(說明上發(fā)送的數(shù)據(jù)已經(jīng)由DX引腳送出),則將DXR寄存器中的數(shù)據(jù)拷貝到XSR寄存器中;然后在幀同步FSX和時鐘CLKX的作用下,將XSR寄存器中的數(shù)據(jù)逐位移到DX引腳輸出。在數(shù)據(jù)從DXR寄存器復制到XSR后,就可以將下一個要發(fā)送的數(shù)據(jù)寫到DXR寄存器中,因而可以保證數(shù)據(jù)的連續(xù)發(fā)送。串口接收數(shù)據(jù)的過程與發(fā)送基本類似,但方向相反且VC5402的多通道串口的接收帶三個緩沖器。

在VC5402片內,CPU與McBSP之間的數(shù)據(jù)傳送有三種方式查詢方式、中斷方式和DMA方式。每當串口接收到一個字(新接收的數(shù)據(jù)復制到DRR12寄存器中)或發(fā)送的字從DXR寄存器拷貝到XSR寄存器中時,都會改變串口控制寄存器1(SPCR1)中的RDDY和串口控制寄存器2(SPCR2)中的XRDY標志位,所以CPU可以通過不斷查詢的方法知道數(shù)據(jù)是否發(fā)送完畢以及是否接收到新的數(shù)據(jù),從而決定下一步操作。CPU還可以通過串口的接收或發(fā)送中斷事件,在中斷服務程序中完成數(shù)據(jù)的傳送,中斷的觸發(fā)事件是可以選擇的,在進行處理之前必須預先設置好串口控制寄存器1(SPCR1)和串口控制寄存器2SPCR2中相應的位。第三種傳數(shù)方式就是通過芯片的DMA與串口相連,由串口同步事件觸發(fā)DMA完成數(shù)據(jù)的傳送。

McBSP的初始化主要完成串口的配置,接收和發(fā)送可以分別設定,但要結合具體的硬件設計來進行。串口初始化的主要工作如下設定FSR、FSX、CLKX和CLKR為輸入還是輸出以及它們的極性;設定是單相位還是雙相位幀同步;設定每幀所包含的數(shù)據(jù)個數(shù);設定傳輸數(shù)據(jù)的字寬(若為雙相位幀同步,每一相位對應的字寬可設為不一樣);設定個幀同步之后的幀同步是否被忽略;設定數(shù)據(jù)位的延遲;設定數(shù)據(jù)的符號擴展方式;設定所選擇的傳輸通道;若采用內部產(chǎn)生時鐘和幀同步信號,還需要對時鐘和幀同步產(chǎn)生器進行設置。

2 串行A/D轉換器AD73360

AD73360是AD公司推出的6通道模擬輸入的16位串行可編程A/D轉換器。由于采用ΣΔ A/D轉換原理,具有良好的內置抗混疊性能,所以對模擬前端濾波器的要求不高,用一階RC低通濾波器就能滿足要求。由于其采樣率和輸入信號增益都是可編程的,采樣率可分別設置為64K、32K、16K和8K(輸入時鐘為16.384MHz時)增益可在0dB到38dB之間選擇,因而它既適合于大信號的應用,也適合于小信號的應用。AD73360能保證6路模擬信號同時采樣,且在變換過程中延遲很小。AD73360還能多片級聯(lián)使用,從而擴充模擬輸入的通道數(shù)。

AD73360有R-28和SU-44兩種封裝,圖1是R-28封裝的管腳圖,下面僅對與McBSP接口設計有關的部分引腳進行說明。

RESET為AD73360硬件復位信號,用于對AD73360進行硬件復位;SE為串口使能信號,當SE為高電平時,AD73360正常工作,當SE為低電平時,AD73360被禁止,此時所有的輸出為三態(tài),所有的輸入信號無效,同時AD73360進入節(jié)電狀態(tài)。MCLK為外部時鐘輸入信號,通常由外部時鐘驅動,MCLK進入AD73360之后,首先被分頻產(chǎn)生DMCLK內部主時鐘信號,然后由DMCLK分頻產(chǎn)生串口時鐘信號SCLK,它們的分頻因子都是可編程的;SCLK為串口時鐘信號,通常作為DSP的同步串口的輸入時鐘信號;SDI和SDIFS為數(shù)據(jù)輸入和輸入幀同步信號,通常用于接收初始化控制字;SDO和SDOFS為數(shù)據(jù)輸出和輸出幀同步信號,通常用于輸出轉換的數(shù)據(jù);其余的引腳分別為6路模擬輸入、模擬電源和數(shù)字電源。AD73360有8個控制寄存器(CRA、CRB、CRC、CRD、CRE、CRF、CRG、CRH),在AD73360工作之前必須對這些寄存器進行初始化。AD73360有三種工作模式:編程模式、數(shù)據(jù)模式和混合模式。在編程模式下只接收控制字,輸出無效的轉換數(shù)據(jù);在數(shù)據(jù)模式下,輸入的控制字被忽略,輸出有效的轉換數(shù)據(jù);在混合模式下,允許在數(shù)據(jù)轉換過程中接收控制字。

3 McBSP與AD73360接口的硬件設計

AD73360的模擬輸入共有四種方式:直流耦合的差分輸入、交流耦合的差分輸入、直流耦合的單端輸入和交流耦合的單端輸入。交流耦合的差分輸入的連接如圖2所示,其中C1和C2起隔直作用,R1、C3和R2、C4分別為一階低通濾波器,R3和R4的作用是把參考信號引入到輸入端,C5為旁路電容。由于用到AD73360的內部參考源,所以初始化時必須使能參考信號(REFOUT)的輸出。

McBSP(串口0)與AD73360的連接如圖3所示。圖中VC5402的McBSP的XF引腳與AD73360的SE引腳和RESET引腳相連,XF信號用于對AD73360進行控制;AD73360的串口時鐘SCLK信號作為McBSP的發(fā)送信號CLKX0和接收時鐘信號CLKR0;McBSP的發(fā)送引腳FSX0、接收幀同步引腳FSR0與AD73360的輸入引腳SDIFS、輸出幀同步SDOFS連到一起,使McBSP的發(fā)送信號FSX0和接收幀同步時鐘信號FSR0與AD73360的輸出幀同步信號SDOFS保持同步。AD73360的數(shù)據(jù)輸出引腳SDO和輸入引腳SDI分別與McBSP的數(shù)據(jù)接收引腳DR0和數(shù)據(jù)發(fā)送引腳DX0相連。VC5402的定時器對主時鐘分頻,其輸出再經(jīng)過2分頻得到AD73360的驅動時鐘信號MCLK,實際上也可由晶振直接產(chǎn)生AD73360的驅動時鐘信號MCLK。AD73360的輸入時鐘為16.384MHz,如果DSP主時鐘為81.92MHz時,定時器分頻因子可設為4。

4 McBSP與AD73360接口的軟件設計

與硬件接口相對應的軟件設計包括:設置定時器1的分頻因子并啟動定時器、McBSP的初始化、AD73360的初始化、開始接收并處理數(shù)據(jù)等。若AD73360的驅動時鐘不是由VC5402分頻得到,則步可以忽略。在串口初始化時,由圖3可知,McBSP的發(fā)送、接收時鐘和幀同步等信號都為輸入,因而無需用到McBSP內部的采樣和幀同步產(chǎn)生器;由于AD73360的控制字和轉換的數(shù)據(jù)都為16位,所以McBSP應設置為單相位的接收和發(fā)送幀同步且傳送每個字的寬度為16位。采用中斷方式完成數(shù)據(jù)傳送時,對McBSP各控制寄存器的初始化值如下:

RCR1=XCR1=0040h 每幀一個字,字寬為16位。

RCR2=XCR2=0001h 單相位幀同步,無壓擴,個

幀同步后的幀同步不忽略,一位

數(shù)據(jù)延遲。

PCR=0h 發(fā)送和接收幀同步,時鐘都由

外部輸入,發(fā)送和接收幀同步

為高有效發(fā)送和接收數(shù)據(jù)在

上升沿采樣。

MCR1=1h 所有的接收通道被禁止,所需

要的通道由RPA/BBLK和

RCERA/B選擇。

MCR2=1h 所有的發(fā)送通道被禁止且被

屏蔽,所需要的通道由XPA/B

BLK和XCERA/B選擇。

RCERA=1h,RCERB=0h 僅打開接收通道0,關閉

其它通道。

XCERA=1h,XCERB=0h 僅打開發(fā)送通道0,關閉

其它通道。

SPCR1=1h 使能串口接收,接收中斷

由RRDY標志觸發(fā)。

SPCR2=0103h 使能串口發(fā)送,發(fā)送中

斷由XRDY標志觸發(fā)。

McBSP(串口0)的初始化程序(SPSA為子地址寄存器,映射地址為38h;SPDATA為數(shù)據(jù)寄存器,映射地址為39h)如下:

stm #0000hSPSA 子地址寄存器指向串口控制寄

存器1SPCR1

stm #0000hSPDATA 關閉串口接收

stm #0001hSPSA 子地址寄存器指向串口控制寄

存器2SPCR2

stm #0102hSPDATA 關閉串口發(fā)送

stm #0002hSPSA 子地址寄存器指向接收控制寄

存器1RCR1

stm #0040hSPDATA

stm #0003hSPSA 子地址寄存器指向接收控制寄

存器2RCR2

stm #0001hSPDATA

stm #0004hSPSA 子地址寄存器指向發(fā)送控制寄

存器1XCR1

stm #0040hSPDATA

stm #0005hSPSA 子地址寄存器指向發(fā)送控制寄

存器2XCR2

stm #0001hSPDATA

stm #000ehSPSA 子地址寄存器指向管腳控制寄

存器PCR

stm #0000hSPDATA

stm #0008hSPSA 子地址寄存器指向多通道控制

寄存器1MCR1

stm #0001hSPDATA

stm #0009hSPSA 子地址寄存器指向多通道控制

寄存器2MCR2

stm #0001hSPDATA

stm #000ahSPSA 子地址寄存器指向接收通道使

能寄存器ARCERA

stm #0001hSPDATA

stm #000bhSPSA 子地址寄存器指向接收通道使

能寄存器BRCERB

stm #0000hSPDATA

stm #000chSPSA 子地址寄存器指向發(fā)送通道使

能寄存器AXCERA

stm #0001hSPDATA

stm #000dhSPSA 子地址寄存器指向發(fā)送通道使

能寄存器BXCERB

stm #0000hSPDATA

stm #0000hSPSA 子地址寄存器指向串口控制寄

存器1SPCR1

stm #0001hSPDATA 使能串口接收

stm #0001hSPSA 子地址寄存器指向串口控制寄

存器2SPCR2

stm #0103hSPDATA 使能串口發(fā)送

McBSP初始化完成并使能McBSP后就可以通過它對AD73360進行初始化,其程序(DXR10和DRR10分別為串口0的發(fā)送和接收寄存器映射地址分別為22h和20h)如下:

errorcrb stm #8105hDXR10 向CRB寫控制字05h,DMCLK

ld DRR10a =MCLK,SCLK=DMCLK/4,

stl aar1 采樣率=DMCLK/1024

stm #0b905har0

cmpr 0ar1

bc errorcrbntc 判斷控制字是否已正確寫入,

errorcrc stm #8241hDXR10 向CRC寫控制字41h,使能

ld DRR10a 參考電平輸出,全局上電

stl aar1

stm #0ba41har0

cmpr 0ar1

bc errorcrcntc 判斷控制字是否已正確寫入,

errorcrd stm #8388hDXR10 向CRD寫控制字88h,通道

ld DRR10a 1和通道2加電,增益為0dB

stl aar1

stm #0bb88har0

cmpr 0ar1

bc errorcrdntc 判斷控制字是否已正確寫入,

errorcre stm #8488hDXR10 向CRE寫控制字88h,通道

ld DRR10a 3和通道4加電,增益為0dB

stl aar1

stm #0bc88har0

cmpr 0ar1

bc errorcrentc 判斷控制字是否已正確寫入,

errorcrf stm #8588hDXR10 向CRF寫控制字88h,通道

ld DRR10a 5和通道6加電,增益為0dB

stl aar1

stm #0bd88har0

cmpr 0ar1

bc errorcrfntc 判斷控制字是否已正確寫入,

errorcrgstm #8600hDXR10 向CRG寫控制字00h,設置

ld DRR10a 1至6通道為差動輸入方式

stl aar1

stm #0be00har0

cmpr 0ar1

bc errorcrgntc 判斷控制字是否已正確寫入,

errorcrhstm #8700hDXR10 向CRH寫控制字00h,設置

ld DRR10a 1至6通道為同相輸入方式

stl aar1

stm #0bf00har0

cmpr 0ar1

bc errorcrhntc 判斷控制字是否已正確寫入,

stm #8001hDXR10 向CRA寫控制字01h,使

rpt #400 AD73360進入數(shù)據(jù)模式

nop
圖4 采樣信號在CCS中的顯示
    AD73360初始化完成之后就可以打開串口的接收中斷,在中斷服務程序中接收A/D轉換的數(shù)據(jù)。在該配置條件下,若輸入時鐘為8.192MHz,則AD73360為六路模擬采樣,采樣率為8kHz。圖4為其中一路采樣信號在CCS環(huán)境中的顯示。

實踐表明,由VC5402的McBSP和AD73360構成的信號采集和處理系統(tǒng)具有設計簡便、結構緊湊、工作穩(wěn)定和可以方便地在幾種采樣率之間選擇等優(yōu)點。與并行接口相比,采用串行接口的硬件連接線大為減少,這樣不僅可以減少印制電路板的面積,還可以減少電磁干擾,從而有利于系統(tǒng)更加穩(wěn)定的工作。在不影響系統(tǒng)工作速度的條件下,在系統(tǒng)設計中利用串行接口代替并行接口不失為一種很好的設計方法。


  
關鍵詞:TMS320VC5402 DSP與串行AD73360A/D轉換器接口設計

版權與免責聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關法律責任。

本網(wǎng)轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。

如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網(wǎng)聯(lián)系,否則視為放棄相關權利。

OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務:
賣家服務:
技術客服:

0571-85317607

網(wǎng)站技術支持

13606545031

客服在線時間周一至周五
9:00-17:30

關注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!