當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]討論了TI公司的數(shù)字信號處理器TMS320VC5402的多通道緩沖串口與串行A/D變換器AD73360的接口設(shè)計,詳細(xì)闡述了兩者的硬件接口和軟件實(shí)現(xiàn)。

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

1 VC5402的McBSP

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

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

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

  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寄存器復(fù)制到XSR后,就可以將下一個要發(fā)送的數(shù)據(jù)寫到DXR寄存器中,因而可以保證數(shù)據(jù)的連續(xù)發(fā)送。串口接收數(shù)據(jù)的過程與發(fā)送基本類似,但方向相反且VC5402的多通道串口的接收帶三個緩沖器。

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

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

2 串行A/D轉(zhuǎn)換器AD73360

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

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

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

3 McBSP與AD73360接口的硬件設(shè)計

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

 

  McBSP(串口0)與AD73360的連接如圖3所示。圖中VC5402的McBSP的XF引腳與AD73360的SE引腳和RESET引腳相連,XF信號用于對AD73360進(jìn)行控制;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的驅(qū)動時鐘信號MCLK,實(shí)際上也可由晶振直接產(chǎn)生AD73360的驅(qū)動時鐘信號MCLK。AD73360的最高輸入時鐘為16.384MHz,如果DSP主時鐘為81.92MHz時,定時器分頻因子可設(shè)為4。

 

4 McBSP與AD73360接口的軟件設(shè)計

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

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

  RCR2=XCR2=0001h        單相位幀同步,無壓擴(kuò),第一個幀同步后的幀同步不忽略,一位數(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,關(guān)閉其它通道。

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

  SPCR1=1h               使能串口接收,接收中斷由RRDY標(biāo)志觸發(fā)。

  SPCR2=0103h            使能串口發(fā)送,發(fā)送中斷由XRDY標(biāo)志觸發(fā)。

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

  stm #0000h,SPSA       ;子地址寄存器指向串口控制寄存器1(SPCR1)

    stm #0000h,SPDATA     ;關(guān)閉串口接收

    stm #0001h,SPSA       ;子地址寄存器指向串口控制寄存器2(SPCR2)

    stm #0102h,SPDATA     ;關(guān)閉串口發(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進(jìn)行初始化,其程序(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,設(shè)置

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

      stl a,ar1

    stm #0be00h,ar0

    cmpr 0,ar1

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

  errorcrh:stm #8700h,DXR10         ;向CRH寫控制字00h,設(shè)置

      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進(jìn)入數(shù)據(jù)模式

    nop

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

 

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

 

參考文獻(xiàn)

1 TMS320C54X DSP Reference Set Volume5: Enhanced Peripherals. TI公司, 1999

2 AD73360 Data Sheet.AD公司, 1999

3 蘇 濤. DSP實(shí)用技術(shù).西安:西安電子科技大學(xué)出版社,2002

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉