《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 詳解TMS320VC5410的McBSP串行接口技術(shù)與程序設(shè)計(jì)
詳解TMS320VC5410的McBSP串行接口技術(shù)與程序設(shè)計(jì)
摘要: 如今,,嵌入式系統(tǒng)正迅速向低功耗,、低成本,、小體積,、高性能,、高速率方向發(fā)展,。隨著串行接口技術(shù)的不斷成熟,,逐步達(dá)到了以上設(shè)計(jì)要求,,成為重要的接口方案,。尤其在數(shù)字信號(hào)處理器方面,,串行口的重要性體現(xiàn)得更加突出,幾乎所有的數(shù)字信號(hào)處理器都提供了一個(gè)或多個(gè)串行接口,,并且隨著數(shù)字信號(hào)處理器的更新?lián)Q代,,其相應(yīng)的串行接口,在功能上不斷強(qiáng)化,,性能上不斷提升
關(guān)鍵詞: 接口IC TMS320VC5410 McBSP 串行接口
Abstract:
Key words :

一,、DSP的串行接口技術(shù)

  DSP是一種獨(dú)特的微處理器,是以數(shù)字信號(hào)來處理大量信息的器件,。其工作原理是接收模擬信號(hào),,轉(zhuǎn)換為0或1的數(shù)字信號(hào)。再對(duì)數(shù)字信號(hào)進(jìn)行修改,、刪除,、強(qiáng)化,,并在其他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,,而且其實(shí)時(shí)運(yùn)行速度可達(dá)每秒數(shù)以千萬條復(fù)雜指令程序,,遠(yuǎn)遠(yuǎn)超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片,。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,,是最值得稱道的兩大特色。

  如今,,嵌入式系統(tǒng)正迅速向低功耗,、低成本、小體積,、高性能,、高速率方向發(fā)展。隨著串行接口技術(shù)的不斷成熟,,逐步達(dá)到了以上設(shè)計(jì)要求,,成為重要的接口方案。尤其在數(shù)字信號(hào)處理器方面,,串行口的重要性體現(xiàn)得更加突出,,幾乎所有的數(shù)字信號(hào)處理器都提供了一個(gè)或多個(gè)串行接口,并且隨著數(shù)字信號(hào)處理器的更新?lián)Q代,,其相應(yīng)的串行接口,,在功能上不斷強(qiáng)化,性能上不斷提升,。

  與并行接口相比,串行接口的最大優(yōu)點(diǎn)就是減少了DSP的引腳數(shù)目,,降低了接口設(shè)計(jì)的復(fù)雜性,。通常,串行接口提供全雙工同步操作,,輸入和輸出數(shù)據(jù)以位為單位的串行方式進(jìn)行處理,。目前,世界各主要半導(dǎo)體制造商提交了許多不同的串行協(xié)議,,其中一些已經(jīng)成為工業(yè)標(biāo)準(zhǔn),。典型的串行協(xié)議包括:MOTOROLA(Austin,TX)的串行外圍設(shè)備接口SPI和隊(duì)列SPI(QSPI)、PHILIPS(Sunnyvale,,CA),、National Semiconductor的微總線(microwire)。

  圖1是典型的SPI協(xié)議,。SPI協(xié)議采用主從設(shè)置,,相互連接的設(shè)備中一個(gè)作為主設(shè)備,,其他的設(shè)備作為從設(shè)備。接口連線主要包括以下4條信號(hào)線:

 ?。?)串行數(shù)據(jù)輸入信號(hào)線,,即MISO(Master InSlave Out);

 ?。?)串行數(shù)據(jù)輸出信號(hào)線,,即MOSI(Master Out-Slave In);

 ?。?)移位時(shí)鐘信號(hào)線,,即SCK;

 ?。?)從設(shè)備片選信號(hào)線,,即SS。

  二,、TMS320VC5410的多通道緩存串行口——McBSP

  1.McBSP的功能特點(diǎn)

  TMS320V5410是TI生產(chǎn)的第二代低功耗TMS320C5000系列定點(diǎn)數(shù)字信號(hào)處理器,,提供了3個(gè)高速、全雙工,、多通道緩存串行口McBSP,,每個(gè)串行口可以支持128通道,速度達(dá)100Mbit/s,。McBSP是在標(biāo)準(zhǔn)串行接口的基礎(chǔ)之上對(duì)功能進(jìn)行擴(kuò)展,,因此,具有與標(biāo)準(zhǔn)串行接口相同的基本功能:

 ?。?)全雙工通信,;

  (2)擁有兩級(jí)緩沖發(fā)送和三級(jí)緩沖接收數(shù)據(jù)寄存器,,允許連續(xù)數(shù)據(jù)流傳輸,;

  (3)為數(shù)據(jù)發(fā)送和接收提供獨(dú)立的幀同步脈沖和時(shí)鐘信號(hào),;

 ?。?)能夠與工業(yè)標(biāo)準(zhǔn)的解碼器、模擬接口芯片(AICs)和其他串行A/D和D/A設(shè)備直接連接,;

 ?。?)支持外部移位時(shí)鐘或內(nèi)部頻率可編程移位時(shí)鐘。

  此外,,McBSP還具有以下特殊功能:

 ?。?)可以與IOM-2、SPI,、AC97等兼容設(shè)備直接連接,;

 ?。?)支持多通道發(fā)送和接收,每個(gè)串行口最多支持128通道,;

 ?。?)串行字長(zhǎng)度可選,包括8,、12,、16、20,、24和32位,;

  (4)支持μ-Law和A-Law數(shù)據(jù)壓縮擴(kuò)展,;

 ?。?)進(jìn)行8位數(shù)據(jù)傳輸時(shí),可以選擇LSB或MSB為起始位,;

 ?。?)幀同步脈沖和時(shí)鐘信號(hào)的極性可編程;

 ?。?)內(nèi)部時(shí)鐘和幀同步脈沖的產(chǎn)生可編程,,具有相當(dāng)大的靈活性。

  2.McBSP寄存器的訪問

  TMS320VC5410包含3組多通道緩存串行口,,每組多通道緩存串行口有23個(gè)寄存器與之相關(guān),,除RBR[1,2]、RSR[1,2],、XSR[1,2]之外,,其中15個(gè)寄存器是可尋址寄存器。由于數(shù)據(jù)頁0的存儲(chǔ)空間限制,,有些寄存器必須通過子地址尋址方式來訪問,。SPSA_x是子地址寄存器,欲訪問指定的寄存器,,只要把相應(yīng)的子地址寫入SPSA_x就可以了,。表1列出了McBSP的子地址寄存器,。

  表1 McBSP子地址寄存器

  

  假如要對(duì)McBSP1的發(fā)送控制寄存器2(XCR2_1)進(jìn)行設(shè)置,。首先,將子地址0x0005寫入子地址寄存器(SPSA_1),,與此同時(shí),,存儲(chǔ)單元0x0049就映射為發(fā)送控制寄存器2(XCR2_1)。然后,,對(duì)存儲(chǔ)單元0x0049的讀寫操作,,就相當(dāng)于對(duì)發(fā)送控制寄存器2(XCR2_1)進(jìn)行操作,。

  例:設(shè)置McBSP1的發(fā)送控制寄存器2(XCR2_1)。

  3.McBST的SPI接口設(shè)計(jì)

  McBSP的時(shí)鐘停止模式與SPI協(xié)議兼容,。當(dāng)設(shè)置McBSP為主設(shè)備時(shí),,發(fā)送端輸出信號(hào)(BDX)就作為SPI協(xié)議的MOSI信號(hào),接收端輸入信號(hào)(BDR)就作為SPI協(xié)議的MISO信號(hào),。發(fā)送幀同步脈沖信號(hào)(BFSX)作為從設(shè)備片選信號(hào)(SS),,而發(fā)送時(shí)鐘信號(hào)(BCLKX)就與SPI協(xié)議的串行時(shí)鐘信號(hào)(SCK)相對(duì)應(yīng)。由于接收時(shí)鐘信號(hào)(BCLKR)和接收幀同步脈沖信號(hào)(BFSR)與發(fā)送端的相應(yīng)部分在內(nèi)部相互連接,,因此這些信號(hào)不用于時(shí)鐘停止模式,。McBSP設(shè)置為主設(shè)備時(shí),SPI協(xié)議連接如圖2所示,。

  三,、McBSP接口舉例

  1.高精度數(shù)模轉(zhuǎn)換器MAX541

  MAX541是16位串行輸入、電壓輸出數(shù)模轉(zhuǎn)換器,,+5V單電源供電,。DAC輸出非緩沖,因此只有0.3mA的低供電電流和1LSB的低漂移誤差,。DAC輸出范圍為0V至VREF,。MAX541采用3線串行接口,兼容于SPITM/QSPITM/MICROWIRETM等串行通信協(xié)議,。MAX541最高可以獲得500×10 3采樣點(diǎn)/秒的通過率,,滿足大多數(shù)應(yīng)用的要求。MAX541采用8引腳DIP或SO封裝,。MAX541各引腳描述如表2所列,。

  表2 MAX541引腳說明

  2.McBSP與MAX541的接口電路

  TMS320VC5410與MAX541的接口電路如圖3所示。

  為使MAX541獲得高分辨率和高精度,,可以由MAX873提供高精度的+2.5V低阻抗基準(zhǔn)電壓源,。為了消除高頻和低頻干擾,必須在REF引腳與模擬地之間接入退耦電容,。由于AX541的數(shù)字輸入DIN與TTL/CMOS邏輯電平兼容,,因此,可以與TMS320VC5410的串行輸出BDX直接連接,。此外,,必須嚴(yán)格隔離模擬地AGND和數(shù)字地DGND,最后在MAX541的AGND引腳上將模擬地和數(shù)字地連接在國起,構(gòu)成星形的地線系統(tǒng),。在MAX541的輸出端接入電壓跟隨型運(yùn)算放大器MAX495,。表3是數(shù)字輸入代碼與模擬輸出電壓之間的對(duì)應(yīng)關(guān)系。

  表3 MAX541單極性接口

  DSP的發(fā)送幀同步脈沖信號(hào)(BFSX)作為MAX541的片選信號(hào)(CS),,而發(fā)送時(shí)鐘信號(hào)(BCLKX)作為MAX541的串行時(shí)鐘輸入,。MAX541的三線接口電路時(shí)序如圖4所示,。

  圖4所示,在片選信號(hào)CS由高電平轉(zhuǎn)變?yōu)榈碗娖降耐瑫r(shí),,串行數(shù)據(jù)按照從最高有效位到最低有效位的順序,,在串行時(shí)鐘的每個(gè)上升沿逐位移入片內(nèi)的輸入寄存器。

  3.軟件設(shè)計(jì)

  下面通過產(chǎn)生國個(gè)鋸齒波的例子來說明TMS320VC5410與MAX541之間的軟件設(shè)計(jì),。

  當(dāng)McBSP作為SPI通信的主設(shè)備,,由它為從設(shè)備提供時(shí)鐘信號(hào),并控制數(shù)據(jù)的傳輸過程,。CLKX引腳上的時(shí)鐘信號(hào)必須在數(shù)據(jù)包傳輸期間使能,,當(dāng)沒有數(shù)據(jù)包傳輸時(shí),時(shí)鐘信號(hào)根據(jù)所采用的極性保持高電平或者低電平,。通常,,通過McBSP的采樣率發(fā)生器產(chǎn)生10MHz時(shí)鐘信號(hào),由BCLKX引腳輸出,,作為MAX541的串行時(shí)鐘輸入信號(hào),。McBSP利用BFSX引腳為MAX541提供片選信號(hào),因此必須正確設(shè)置幀脈沖發(fā)生器,,使之在每個(gè)數(shù)據(jù)包傳輸期間產(chǎn)生幀同步脈沖,,即在數(shù)據(jù)包傳輸?shù)牡谝晃晦D(zhuǎn)變?yōu)橛行顟B(tài)(在本例中為低電平有效,取決于MAX541的片選信號(hào)CS),,然后維持有效狀態(tài)直到數(shù)據(jù)包發(fā)送完畢,。此外,根據(jù)SPI傳輸協(xié)議,,必須正確設(shè)置數(shù)據(jù)發(fā)送延遲時(shí)間(XDATDLY=01b),,由圖4可知,在幀同步脈沖有效之后,,大約延遲了一個(gè)時(shí)鐘周期才進(jìn)行串行數(shù)據(jù)的發(fā)送,。根據(jù)圖4所示的時(shí)序圖,為McBSP選擇一種合適的時(shí)鐘方案,,即設(shè)置McBSP的時(shí)鐘停止模式,。在本例中采用時(shí)鐘停止模式3(CLKSTP=10b、CLKXP=1),,其時(shí)鐘方案如圖5所示,。

  表4列出了一些與SPI設(shè)置相關(guān)的寄存器位。

  表4 與SPI設(shè)置相關(guān)的些寄存器位

  4.程序清單

  程序首次初始化TMS320VC5410,,使數(shù)據(jù)頁指針(DP)為0,,并且禁止中斷,。TMS320VC5410外接10Hz的時(shí)鐘頻率發(fā)生器,,通過鎖相環(huán)電路倍頻至100MHz,。接著初始化TMS320VC5410的多通道緩存串行口McBSP。最后,,響應(yīng)XRDY中斷發(fā)送數(shù)據(jù),。

  結(jié)束語

  本文介紹了TMS320VC5410的多通道緩存串行口(McBSP)的功能特點(diǎn),并結(jié)合實(shí)例子著重討論了如何利用SPI接口協(xié)議實(shí)現(xiàn)McBSP與其他串行器件之間相互通信,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。