一、DSP的串行接口技術(shù)
DSP是一種獨特的微處理器,是以數(shù)字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉(zhuǎn)換為0或1的數(shù)字信號。再對數(shù)字信號進行修改、刪除、強化,并在其他系統(tǒng)芯片中把數(shù)字數(shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數(shù)以千萬條復雜指令程序,遠遠超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強大數(shù)據(jù)處理能力和高運行速度,是最值得稱道的兩大特色。
如今,嵌入式系統(tǒng)正迅速向低功耗、低成本、小體積、高性能、高速率方向發(fā)展。隨著串行接口技術(shù)的不斷成熟,逐步達到了以上設(shè)計要求,成為重要的接口方案。尤其在數(shù)字信號處理器方面,串行口的重要性體現(xiàn)得更加突出,幾乎所有的數(shù)字信號處理器都提供了一個或多個串行接口,并且隨著數(shù)字信號處理器的更新?lián)Q代,其相應的串行接口,在功能上不斷強化,性能上不斷提升。
與并行接口相比,串行接口的最大優(yōu)點就是減少了DSP的引腳數(shù)目,降低了接口設(shè)計的復雜性。通常,串行接口提供全雙工同步操作,輸入和輸出數(shù)據(jù)以位為單位的串行方式進行處理。目前,世界各主要半導體制造商提交了許多不同的串行協(xié)議,其中一些已經(jīng)成為工業(yè)標準。典型的串行協(xié)議包括:MOTOROLA(Austin,TX)的串行外圍設(shè)備接口SPI和隊列SPI(QSPI)、PHILIPS(Sunnyvale,CA)、National Semiconductor的微總線(microwire)。
圖1是典型的SPI協(xié)議。SPI協(xié)議采用主從設(shè)置,相互連接的設(shè)備中一個作為主設(shè)備,其他的設(shè)備作為從設(shè)備。接口連線主要包括以下4條信號線:
(1)串行數(shù)據(jù)輸入信號線,即MISO(Master InSlave Out);
(2)串行數(shù)據(jù)輸出信號線,即MOSI(Master Out-Slave In);
(3)移位時鐘信號線,即SCK;
(4)從設(shè)備片選信號線,即SS。
二、TMS320VC5410的多通道緩存串行口——McBSP
1.McBSP的功能特點
TMS320V5410是TI生產(chǎn)的第二代低功耗TMS320C5000系列定點數(shù)字信號處理器,提供了3個高速、全雙工、多通道緩存串行口McBSP,每個串行口可以支持128通道,速度達100Mbit/s。McBSP是在標準串行接口的基礎(chǔ)之上對功能進行擴展,因此,具有與標準串行接口相同的基本功能:
(1)全雙工通信;
(2)擁有兩級緩沖發(fā)送和三級緩沖接收數(shù)據(jù)寄存器,允許連續(xù)數(shù)據(jù)流傳輸;
(3)為數(shù)據(jù)發(fā)送和接收提供獨立的幀同步脈沖和時鐘信號;
(4)能夠與工業(yè)標準的解碼器、模擬接口芯片(AICs)和其他串行A/D和D/A設(shè)備直接連接;
(5)支持外部移位時鐘或內(nèi)部頻率可編程移位時鐘。
此外,McBSP還具有以下特殊功能:
(1)可以與IOM-2、SPI、AC97等兼容設(shè)備直接連接;
(2)支持多通道發(fā)送和接收,每個串行口最多支持128通道;
(3)串行字長度可選,包括8、12、16、20、24和32位;
(4)支持μ-Law和A-Law數(shù)據(jù)壓縮擴展;
(5)進行8位數(shù)據(jù)傳輸時,可以選擇LSB或MSB為起始位;
(6)幀同步脈沖和時鐘信號的極性可編程;
(7)內(nèi)部時鐘和幀同步脈沖的產(chǎn)生可編程,具有相當大的靈活性。
2.McBSP寄存器的訪問
TMS320VC5410包含3組多通道緩存串行口,每組多通道緩存串行口有23個寄存器與之相關(guān),除RBR[1,2]、RSR[1,2]、XSR[1,2]之外,其中15個寄存器是可尋址寄存器。由于數(shù)據(jù)頁0的存儲空間限制,有些寄存器必須通過子地址尋址方式來訪問。SPSA_x是子地址寄存器,欲訪問指定的寄存器,只要把相應的子地址寫入SPSA_x就可以了。表1列出了McBSP的子地址寄存器。
表1 McBSP子地址寄存器
假如要對McBSP1的發(fā)送控制寄存器2(XCR2_1)進行設(shè)置。首先,將子地址0x0005寫入子地址寄存器(SPSA_1),與此同時,存儲單元0x0049就映射為發(fā)送控制寄存器2(XCR2_1)。然后,對存儲單元0x0049的讀寫操作,就相當于對發(fā)送控制寄存器2(XCR2_1)進行操作。
例:設(shè)置McBSP1的發(fā)送控制寄存器2(XCR2_1)。
3.McBST的SPI接口設(shè)計
McBSP的時鐘停止模式與SPI協(xié)議兼容。當設(shè)置McBSP為主設(shè)備時,發(fā)送端輸出信號(BDX)就作為SPI協(xié)議的MOSI信號,接收端輸入信號(BDR)就作為SPI協(xié)議的MISO信號。發(fā)送幀同步脈沖信號(BFSX)作為從設(shè)備片選信號(SS),而發(fā)送時鐘信號(BCLKX)就與SPI協(xié)議的串行時鐘信號(SCK)相對應。由于接收時鐘信號(BCLKR)和接收幀同步脈沖信號(BFSR)與發(fā)送端的相應部分在內(nèi)部相互連接,因此這些信號不用于時鐘停止模式。McBSP設(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采樣點/秒的通過率,滿足大多數(shù)應用的要求。MAX541采用8引腳DIP或SO封裝。MAX541各引腳描述如表2所列。
表2 MAX541引腳說明
2.McBSP與MAX541的接口電路
TMS320VC5410與MAX541的接口電路如圖3所示。
為使MAX541獲得高分辨率和高精度,可以由MAX873提供高精度的+2.5V低阻抗基準電壓源。為了消除高頻和低頻干擾,必須在REF引腳與模擬地之間接入退耦電容。由于AX541的數(shù)字輸入DIN與TTL/CMOS邏輯電平兼容,因此,可以與TMS320VC5410的串行輸出BDX直接連接。此外,必須嚴格隔離模擬地AGND和數(shù)字地DGND,最后在MAX541的AGND引腳上將模擬地和數(shù)字地連接在國起,構(gòu)成星形的地線系統(tǒng)。在MAX541的輸出端接入電壓跟隨型運算放大器MAX495。表3是數(shù)字輸入代碼與模擬輸出電壓之間的對應關(guān)系。#p#分頁標題#e#
表3 MAX541單極性接口
DSP的發(fā)送幀同步脈沖信號(BFSX)作為MAX541的片選信號(CS),而發(fā)送時鐘信號(BCLKX)作為MAX541的串行時鐘輸入。MAX541的三線接口電路時序如圖4所示。
圖4所示,在片選信號CS由高電平轉(zhuǎn)變?yōu)榈碗娖降耐瑫r,串行數(shù)據(jù)按照從最高有效位到最低有效位的順序,在串行時鐘的每個上升沿逐位移入片內(nèi)的輸入寄存器。
3.軟件設(shè)計
下面通過產(chǎn)生國個鋸齒波的例子來說明TMS320VC5410與MAX541之間的軟件設(shè)計。
當McBSP作為SPI通信的主設(shè)備,由它為從設(shè)備提供時鐘信號,并控制數(shù)據(jù)的傳輸過程。CLKX引腳上的時鐘信號必須在數(shù)據(jù)包傳輸期間使能,當沒有數(shù)據(jù)包傳輸時,時鐘信號根據(jù)所采用的極性保持高電平或者低電平。通常,通過McBSP的采樣率發(fā)生器產(chǎn)生10MHz時鐘信號,由BCLKX引腳輸出,作為MAX541的串行時鐘輸入信號。McBSP利用BFSX引腳為MAX541提供片選信號,因此必須正確設(shè)置幀脈沖發(fā)生器,使之在每個數(shù)據(jù)包傳輸期間產(chǎn)生幀同步脈沖,即在數(shù)據(jù)包傳輸?shù)牡谝晃晦D(zhuǎn)變?yōu)橛行顟B(tài)(在本例中為低電平有效,取決于MAX541的片選信號CS),然后維持有效狀態(tài)直到數(shù)據(jù)包發(fā)送完畢。此外,根據(jù)SPI傳輸協(xié)議,必須正確設(shè)置數(shù)據(jù)發(fā)送延遲時間(XDATDLY=01b),由圖4可知,在幀同步脈沖有效之后,大約延遲了一個時鐘周期才進行串行數(shù)據(jù)的發(fā)送。根據(jù)圖4所示的時序圖,為McBSP選擇一種合適的時鐘方案,即設(shè)置McBSP的時鐘停止模式。在本例中采用時鐘停止模式3(CLKSTP=10b、CLKXP=1),其時鐘方案如圖5所示。
表4列出了一些與SPI設(shè)置相關(guān)的寄存器位。
表4 與SPI設(shè)置相關(guān)的些寄存器位
4.程序清單
程序首次初始化TMS320VC5410,使數(shù)據(jù)頁指針(DP)為0,并且禁止中斷。TMS320VC5410外接10Hz的時鐘頻率發(fā)生器,通過鎖相環(huán)電路倍頻至100MHz。接著初始化TMS320VC5410的多通道緩存串行口McBSP。最后,響應XRDY中斷發(fā)送數(shù)據(jù)。
結(jié)束語
本文介紹了TMS320VC5410的多通道緩存串行口(McBSP)的功能特點,并結(jié)合實例子著重討論了如何利用SPI接口協(xié)議實現(xiàn)McBSP與其他串行器件之間相互通信。
轉(zhuǎn)載請注明出處。