<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 通過(guò)SPI接口協(xié)議實(shí)現DSP與其它設備的通信

通過(guò)SPI接口協(xié)議實(shí)現DSP與其它設備的通信

作者: 時(shí)間:2004-12-07 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:介紹了通信協(xié)議,給出了將TI公司生產(chǎn)的TMS320C5402 用于協(xié)議通信的串口配置方法和接口電路設計,同時(shí)給出了串口McBSP的配置程序。

關(guān)鍵詞:多通道緩沖串行口 McBSP TMS320C5402 μPD780308

1 引言

隨著(zhù)信息技術(shù)革命的深入和計算機技術(shù)的飛速發(fā)展,技術(shù)也正以極快的速度被應用到科技和國民經(jīng)濟的各信領(lǐng)域。在很多工程開(kāi)發(fā)設計中,由于要求實(shí)現單片DSP與單片DSP、多片DSP芯片以及及其它處理芯片之間的通信,因此,怎樣更高效、更便捷的實(shí)現這些通信,已成為廣大DSP應用者首先要解決的一個(gè)問(wèn)題。

本文根據筆者在工程應用和調試方面用TI的DSP TMS320C5402與NEC的μPD780308單片機進(jìn)行通信的經(jīng)驗,介紹并討論了將TMS320C5402 DSP的多通道緩沖串行口McBSP(Multi-channel Buffered Serial Port)配置為SPI模式(即時(shí)鐘停止模式),從而實(shí)現DSP與其它單片處理器之間的通信設計方法同時(shí)給出了實(shí)現方法的部分程序代碼。

2 多通道緩沖串行口McBSP

多通道緩沖串行口McBSP的功能是提供器件內外數據的串行交換。同以前的串口相比,McBSP串口具有相當大的靈活性。表1給出了有關(guān)TMS320C5402的McBSP管腳說(shuō)明。其中串口接收、發(fā)送時(shí)鐘和同步幀信號既可由外部提供,又可由內部時(shí)鐘發(fā)生器提供,從而大大的提高了通信的靈活性。

表1 TMS320C5402的有關(guān)McBSP管腳說(shuō)明

管腳說(shuō)明說(shuō) 明
DR數據輸入端
DX數據輸出端
CLKR接收數據位時(shí)鐘
CLKX發(fā)送數據位時(shí)鐘
FSR接收數據幀時(shí)鐘
FSX發(fā)送數據幀時(shí)鐘
CLKS外部提供的采樣率發(fā)生器時(shí)鐘源

3 SPI協(xié)議中的McBSP時(shí)鐘停止模式

SPI協(xié)議是以主從方式工作的,這種模式通常有一個(gè)主和一個(gè)或多個(gè)從,其接口包括以下四種信號:

(1)串行數據輸入(也稱(chēng)為主進(jìn)從出,或MISO);

(2)串行數據輸出(也稱(chēng)為主出從進(jìn),或MOSI);

(3)串行移位時(shí)鐘(也稱(chēng)為SCK);

(4)從使能信號(也稱(chēng)為SS)。

圖1為設備的SPI接口示意圖。該接口在工作時(shí),主設備通過(guò)提供移位時(shí)鐘和從使能信號來(lái)控制信息的流動(dòng)。從使能信號是一個(gè)可選的高低電平,它可以激活從設備(在沒(méi)有時(shí)鐘提供的情況下)的串行輸入和輸出。在沒(méi)有專(zhuān)門(mén)的從使能信號的情況下,主從設備之間的通信則由移位時(shí)鐘的有無(wú)來(lái)決定,在這種連接方式下,從設備必須自始至終保持激活狀態(tài),而且從設備只能是一個(gè),不能為多個(gè)。

TMS320C5402提供的時(shí)鐘停止模式可用于SPI協(xié)議通信,當McBSP被配置為時(shí)鐘停止模式時(shí),發(fā)送器和接收器在內部是同步的,即可將發(fā)送數據幀時(shí)鐘(FSX)用作從使能(即SS),而將發(fā)送數據位時(shí)鐘(CLKX)用作SPI協(xié)議中SCK。由于收數據位時(shí)鐘(CLKR)和接收數據幀時(shí)鐘(FSR)在內部與FSX和CLKX是相連的,因此,該管腳不能用于SPI模式。

當McBSP被配置為一個(gè)主設備時(shí),傳送輸出信號(BDX)被用作SPI協(xié)議的MOSI信號,而接收輸入信號(BDR)則被用作MISO信號。圖2所示為McBSP用作主設備時(shí)的SPI接口示意圖。

同樣地,當McBSP被配置為一個(gè)從設備時(shí),BDX被用作MISO信號,BDR則被用作MOSI信號。圖3為McBSP用作從設備的SPI接口示意圖。

當TMS320C5402的McBSP被用于時(shí)鐘停止模式時(shí),寄存器SPCR1的CLKSTP位域和引腳配置寄存器的CLKXP位的配置如表2所列。

表2 時(shí)鐘停止模式配置

CLKSTPCLKXP

說(shuō) 明

0XX不可用時(shí)鐘停止模式。時(shí)鐘被激活用于非SPI模式
100時(shí)鐘開(kāi)始于上升沿(無(wú)延遲)
110時(shí)鐘開(kāi)始于上升沿(有延遲)
101時(shí)鐘開(kāi)始于下降沿(無(wú)延遲)
111時(shí)鐘開(kāi)始于下降沿(有延遲)

4 其它有關(guān)寄存器的配置

為了更好地掌握和了解McBSP作為SPI設備時(shí)的有關(guān)寄存器配置,現以McBSP作為SPI從設備來(lái)介紹有關(guān)McBSP的其它有關(guān)寄存器的配置,若McBSP做為SPI主設備,則相關(guān)配置正好相反。當McBSP作為SPI從設備時(shí),主設備外部產(chǎn)生主時(shí)鐘。CLKX引腳和FSX引腳必須被設置為輸入。由于CLKX引腳和CLKR信號在內部相連接,因而傳送和接收回路均由外部主時(shí)鐘計時(shí)(CLKX)。同時(shí),由于FSX引腳和FSR信號也已在內部連接,因此,CLKR引腳和FSR引腳不再需要外部信號的連接。

盡管CLKX信號由主設備外部產(chǎn)生且與McBSP同步,但是,McBSP的采樣率發(fā)生器仍然必須正確啟動(dòng)SPI從設備,同時(shí),采樣率發(fā)生器還應被設置為最大速率(CPU時(shí)鐘速率的一半)。另外,內部采樣率時(shí)鐘常被用來(lái)同步McBSP邏輯和外部主時(shí)鐘以及從使能信號。每次傳送時(shí),McBSP一般在從使能信號的上升沿進(jìn)行FSX輸入。也就是說(shuō),在每次傳送的開(kāi)始,主設備必須維護使能信號,而在每次傳送完成后,則必須消除從使能信號。在兩次傳送之間,從使能信號不能一直保持為高電平。對正確的SPI從設備而言,McBSP的數據延遲參數必須設置為0,在這種運行模式中,設置值為1或2沒(méi)有定義。配置McBSP為從設備所需的寄存器位值如表3所列。

表3 SPI操作模式下的寄存器位值表

位 域功能描述寄存器
CLKXM0配置BCLKX引腳為輸入PCR
CLKSM1由CPU時(shí)鐘產(chǎn)生的采樣率時(shí)鐘SRGR2
CLKGDV1為采樣率時(shí)鐘選擇2的劃分因素SRGR1
FSXM0配置BFSX引腳為輸入PCR
FSGM0對每個(gè)包傳送,BFSX信號被激活SRGR2
FSXP1配置BFSX引腳為活動(dòng)低電平PCR
XDATDLY0為SPI從設備運行,必須為0XCR2
RDATDLY0為SPI從設備運行,必須為0RCR2

5 程序設計

下面是有關(guān)TMS320C5402器件的McBSP各個(gè)控制寄存器的配置,該配置程序筆者在實(shí)踐中已經(jīng)過(guò)測試,并已成功運用在了某工程設計中。

Void McBSP1_Config(void)

{

offlset=0x0000;

SPCR11=0x1800; ;配置串口時(shí)鐘停止模式CLKSTP=10

offlset=0x0001;

SPCR21=0x0222;

offlset=0x0005;

SRGR11=0x00FA;

offlset=0x0007;

SRGR21=0xa00F;

offlset=0x0002;

RCR11=0x0040; ;接收一幀含一字,一字含16位

offlset=0x0003;

RCR21=0x0044; 接收數據無(wú)延遲RDATDLY=00

offlset=0x0004;

XCR11=0x0040; ;發(fā)送一幀含一字,一字含16位

offlset=0x0005;

XCR21=0x0044; ;發(fā)送數據無(wú)延遲XDATDLY=00

offlset=0x000E;

PCR1=0x000; ;發(fā)送時(shí)鐘由外部時(shí)鐘驅動(dòng),CLKX為輸入腳CLKX=0,發(fā)送時(shí)鐘極性CLKXP=0,發(fā)送幀同步極性FSXP=1

offlset=0x0008;

MCR11=0x0001;

offlset=0x0009;

MCR21=0x0001;

offlset=0x000C;

XCERA1=0x0003;

offlset=0x0001;

SPCR21=0x0262;

offlset=0x0001;

SPCR21=0x0263;

offlset=0x0000;

SPCR11=0x1801; ;接收器有效

offlset=0x0001;

SPCR21=0x02e3; ;發(fā)送器有效

Return;

}

6 結束語(yǔ)

串行SPI通信協(xié)議是一種標準的通信協(xié)議,很多場(chǎng)合下都采用這種機制,文中將DSP作為從設備的目的是時(shí)鐘可由主設備來(lái)提供,因此不用再專(zhuān)門(mén)去調試時(shí)鐘,這種方式在開(kāi)發(fā)中比較方便。



關(guān)鍵詞: SPI DSP 接口協(xié)議 設備

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>