<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、I2C、UART三種串行總線(xiàn)協(xié)議的區別和SPI接口介紹

SPI、I2C、UART三種串行總線(xiàn)協(xié)議的區別和SPI接口介紹

作者: 時(shí)間:2016-12-15 來(lái)源:網(wǎng)絡(luò ) 收藏

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

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

第一個(gè)區別當然是名字:

SPI(Serial Peripheral Interface:串行外設接口);

I2C(INTER IC BUS)

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

第二,區別在電氣信號線(xiàn)上:

SPI總線(xiàn)由三條信號線(xiàn)組成:串行時(shí)鐘(SCLK)、串行數據輸出(SDO)、串行數據輸入(SDI)。SPI總線(xiàn)可以實(shí)現多個(gè)SPI設備互相連接。提供SPI串行時(shí)鐘的SPI設備為SPI主機或主設備(Master),其他設備為SPI從機或從設備(Slave)。主從設備間可以實(shí)現全雙工通信,當有多個(gè)從設備時(shí),還可以增加一條從設備選擇線(xiàn)。

如果用通用IO口模擬SPI總線(xiàn),必須要有一個(gè)輸出口(SDO),一個(gè)輸入口(SDI),另一個(gè)口則視實(shí)現的設備類(lèi)型而定,如果要實(shí)現主從設備,則需輸入輸出口,若只實(shí)現主設備,則需輸出口即可,若只實(shí)現從設備,則只需輸入口即可。

I2C總線(xiàn)是雙向、兩線(xiàn)(SCL、SDA)、串行、多主控(multi-master)接口標準,具有總線(xiàn)仲裁機制,非常適合在器件之間進(jìn)行近距離、非經(jīng)常性的數據通信。在它的協(xié)議體系中,傳輸數據時(shí)都會(huì )帶上目的設備的設備地址,因此可以實(shí)現設備組網(wǎng)。

如果用通用IO口模擬I2C總線(xiàn),并實(shí)現雙向傳輸,則需一個(gè)輸入輸出口(SDA),另外還需一個(gè)輸出口(SCL)。(注:I2C資料了解得比較少,這里的描述可能很不完備)

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

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

第三,從第二點(diǎn)明顯可以看出,SPI和UART可以實(shí)現全雙工,但I2C不行;

第四,看看牛人們的意見(jiàn)吧!

wudanyu:I2C線(xiàn)更少,我覺(jué)得比UART、SPI更為強大,但是技術(shù)上也更加麻煩些,因為I2C需要有雙向IO的支持,而且使用上拉電阻,我覺(jué)得抗干擾能力較弱,一般用于同一板卡上芯片之間的通信,較少用于遠距離通信。SPI實(shí)現要簡(jiǎn)單一些,UART需要固定的波特率,就是說(shuō)兩位數據的間隔要相等,而SPI則無(wú)所謂,因為它是有時(shí)鐘的協(xié)議。

quickmouse:I2C的速度比SPI慢一點(diǎn),協(xié)議比SPI復雜一點(diǎn),但是連線(xiàn)也比標準的SPI要少。

SPI接口介紹(轉)

這幾天碰到了使用SPI接口的flash,才知道flash還可以是串行的,看來(lái)以前真是井底之蛙啊,找了一些SPI接口的資料都不全,后來(lái)找到一點(diǎn)英文資料,翻譯了一下,加上我的個(gè)人理解,湊成一篇了,希望對初學(xué)者有點(diǎn)幫助。

SPI接口的全稱(chēng)是"Serial Peripheral Interface",意為串行外圍接口,是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應用在EEPROM,FLASH,實(shí)時(shí)時(shí)鐘,AD轉換器,還有數字信號處理器和數字信號解碼器之間。

SPI接口是在CPU和外圍低速器件之間進(jìn)行同步串行數據傳輸,在主器件的移位脈沖下,數據按位傳輸,高位在前,地位在后,為全雙工通信,數據傳輸速度總體來(lái)說(shuō)比I2C總線(xiàn)要快,速度可達到幾Mbps。

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

(1)MOSI – 主器件數據輸出,從器件數據輸入
(2)MISO – 主器件數據輸入,從器件數據輸出
(3)SCLK – 時(shí)鐘信號,由主器件產(chǎn)生
(4)/SS – 從器件使能信號,由主器件控制

在點(diǎn)對點(diǎn)的通信中,SPI接口不需要進(jìn)行尋址操作,且為全雙工通信,顯得簡(jiǎn)單高效。
在多個(gè)從器件的系統中,每個(gè)從器件需要獨立的使能信號,硬件上比I2C系統要稍微復雜一些。

SPI接口在內部硬件實(shí)際上是兩個(gè)簡(jiǎn)單的移位寄存器,傳輸的數據為8位,在主器件產(chǎn)生的從器件使能信號和移位脈沖下,按位傳輸,高位在前,低位在后。如下圖所示,在SCLK的下降沿上數據改變,同時(shí)一位數據被存入移位寄存器。

SPI接口內部硬件圖示:

最后,SPI接口的一個(gè)缺點(diǎn):沒(méi)有指定的流控制,沒(méi)有應答機制確認是否接收到數據。


上一頁(yè) 1 2 下一頁(yè)

評論


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