<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>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > SPI UART TWI 三種串行總線(xiàn)協(xié)議的區別

SPI UART TWI 三種串行總線(xiàn)協(xié)議的區別

作者: 時(shí)間:2016-12-15 來(lái)源:網(wǎng)絡(luò ) 收藏
1.SPI(Serial Peripheral Interface:串行外設接口)

管腳:SS/SCK/MOSI(SDO)/MISO(SDI)

本文引用地址:http://dyxdggzs.com/article/201612/330456.htm

結構:一個(gè)始終發(fā)生器、兩個(gè)移位寄存器(主從各一個(gè));

使用:初始化(完成對兩器件器件SPI使能、主從設置、SCK設置、IO方向、采樣沿);

編寫(xiě)數據讀/寫(xiě)函數(只要發(fā)生一次數據傳送,兩器件的SPIF位就會(huì )置位,從而讀寫(xiě));

必要時(shí)加入中斷程序;

注意:兩個(gè)寄存器是互通的,其工作過(guò)程見(jiàn)網(wǎng)硬盤(pán),從百度文庫搜集。因此主機讀從機數據必須發(fā)送兩個(gè)字節,第一個(gè)是命令字節,告訴從機要準備數據于從機SPDR中,第二個(gè)是任意字節,這樣發(fā)送了后就會(huì )把從機SPDR中的字節交換過(guò)來(lái),從而實(shí)現數據交換。

擴展:



(2)I2C(INTER IC BUS)

管腳:SDA/SCL

結構:

UART(Universal Asynchronous Receiver Transmitter:通用異步收發(fā)器)

RXD/TXD/GND;

(1) 特點(diǎn)

Master mode and slave mode

Bi-directional mode

Slave select output

Mode fault error flag with CPU interrupt capability

Double-buffered data register

Serial clock with programmable polarity and phase

Control of SPI operation during wait mode

SPI有兩種模式,Normal Mode and Bidirectional Mode,包括以下幾根線(xiàn):

SSSlave Select

SCKSerial Clock

MOSI Master Output, Slave Input

MISO Master Input, Slave Output

MOMI Master Output, Master Input

SISOSlave Input, Slave Output

其中前四根線(xiàn)用于Normal Mode,常用的也是4根線(xiàn)的Normal Mode。

MOSI

This pin is used to transmit data out of the SPI module when it is configured as a Master and receive data

when it is configured as Slave.

MISO

This pin is used to transmit data out of the SPI module when it is configured as a Slave and receive data

when it is configured as Master.

SS

This pin is used to output the select signal from the SPI module to another peripheral with which a data

transfer is to take place when its configured as a Masterand its used as an input to receive the slave select

signal when the SPI is configured as Slave.

SCK

This pin is used to output the clock with respect to which the SPI transfers data or receive clock in case of

Slave.

SPI是一種允許一個(gè)主設備啟動(dòng)一個(gè)與從設備的同步通訊的協(xié)議,從而完成數據的交換。也就是SPI是一種規定好的通訊方式。這種通信方式的優(yōu)點(diǎn)是占用端口較少,一般4根就夠基本通訊了。同時(shí)傳輸速度也很高。一般來(lái)說(shuō)要求主設備要有SPI控制器(但可用模擬方式),就可以與基于SPI的芯片通訊了。

SPI的通信原理很簡(jiǎn)單,它需要至少4根線(xiàn),事實(shí)上3根也可以。也是所有基于SPI的設備共有的,它們是SDI(數據輸入),SDO(數據輸出),SCK(時(shí)鐘),CS(片選)。其中CS是控制芯片是否被選中的,也就是說(shuō)只有片選信號為預先規定的使能信號時(shí)(高電位或低電位),對此芯片的操作才有效。這就允許在同一總線(xiàn)上連接多個(gè)SPI設備成為可能。

接下來(lái)就負責通訊的3根線(xiàn)了。通訊是通過(guò)數據交換完成的,這里先要知道SPI是串行通訊協(xié)議,也就是說(shuō)數據是一位一位的傳輸的。這就是SCK時(shí)鐘線(xiàn)存在的原因,由SCK提供時(shí)鐘脈沖,SDI,SDO則基于此脈沖完成數據傳輸。數據輸出通過(guò)SDO線(xiàn),數據在時(shí)鐘上沿或下沿時(shí)改變,在緊接著(zhù)的下沿或上沿被讀取。完成一位數據傳輸,輸入也使用同樣原理。這樣,在至少8次時(shí)鐘信號的改變(上沿和下沿為一次),就可以完成8位數據的傳輸。

要注意的是,SCK信號線(xiàn)只由主設備控制,從設備不能控制信號線(xiàn)。同樣,在一個(gè)基于SPI的設備中,至少有一個(gè)主控設備。

這樣傳輸的特點(diǎn):這樣的傳輸方式有一個(gè)優(yōu)點(diǎn),與普通的串行通訊不同,普通的串行通訊一次連續傳送至少8位數據,而SPI允許數據一位一位的傳送,甚至允許暫停,因為SCK時(shí)鐘線(xiàn)由主控設備控制,當沒(méi)有時(shí)鐘跳變時(shí),從設備不采集或傳送數據。也就是說(shuō),主設備通過(guò)對SCK時(shí)鐘線(xiàn)的控制可以完成對通訊的控制。

SPI還是一個(gè)數據交換協(xié)議:因為SPI的數據輸入和輸出線(xiàn)獨立,所以允許同時(shí)完成數據的輸入和輸出。

不同的SPI設備的實(shí)現方式不盡相同,主要是數據改變和采集的時(shí)間不同,在時(shí)鐘信號上沿或下沿采集有不同定義,具體請參考相關(guān)器件的文檔。

I2C

只要求兩條總線(xiàn)線(xiàn)路:一條串行數據線(xiàn)SDA一條串行時(shí)鐘線(xiàn)SCL

每個(gè)連接到總線(xiàn)的器件都可以通過(guò)唯一的地址和一直存在的簡(jiǎn)單的主機從機關(guān)系軟件設定地址主機可以作為主機發(fā)送器或主機接收器

它是一個(gè)真正的多主機總線(xiàn)如果兩個(gè)或更多主機同時(shí)初始化數據傳輸可以通過(guò)沖突檢測和仲裁,防止數據被破壞

串行的8位雙向數據傳輸位速率在標準模式下可達100kbit/s快速模式下可達400kbit/s高速模式下可達3.4Mbit/s

片上的濾波器可以濾去總線(xiàn)數據線(xiàn)上的毛刺波保證數據完整

連接到相同總線(xiàn)的IC數量只受到總線(xiàn)的最大電容400pF限制

UART

UART總線(xiàn)是異步串口,因此一般比前兩種同步串口的結構要復雜很多,一般由波特率產(chǎn)生器(產(chǎn)生的波特率等于傳輸波特率的16倍)、UART接收器、UART發(fā)送器組成,硬件上由兩根線(xiàn),一根用于發(fā)送,一根用于接收。

顯然,如果用通用IO口模擬UART總線(xiàn),則需一個(gè)輸入口,一個(gè)輸出口。

UART常用于控制計算機與串行設備的芯片。有一點(diǎn)要注意的是,它提供了RS-232C數據終端設備接口,這樣計算機就可以和調制解調器或其它使用RS-232C接口的串行設備通信了。

明顯可以看出,SPI和UART可以實(shí)現全雙工,但I2C不行



評論


技術(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>