SPI和IIC通訊區別

2021-07-31 15:37:39 字數 1326 閱讀 7752

一、iic

iic 是多主裝置的匯流排,iic沒有物理的晶元選擇訊號線,沒有仲裁邏輯電路,只使用兩條訊號線—— 『serial data』 (sda) 和 『serial clock』 (scl)。

iic協議規定:

第一,每一支iic裝置都有乙個唯一的七位裝置位址;

第二,資料幀大小為8位的位元組;

第三,資料(幀)中的某些資料位用於控制通訊的開始、停止、方向(讀寫)和應答機制。

iic 資料傳輸速率有標準模式(100 kbps)、快速模式(400 kbps)和高速模式(3.4 mbps),另外一些變種實現了低速模式(10 kbps)和快速+模式(1 mbps)。

基於iic匯流排的設計,線路上不可能出現電平衝突現象。如果一支裝置傳送邏輯0,其它傳送邏輯1,那麼線路看到的只有邏輯0。也就是說,如果出現電平衝突,傳送邏輯0的始終是「贏家」。

匯流排的物理結構亦允許主裝置在往匯流排寫資料的同時讀取資料。這樣,任何裝置都可以檢測衝突的發生。當兩支主裝置競爭匯流排的時候,「贏家」並不知道競爭的發生,只有「輸家」發現了衝突——當它寫乙個邏輯1,卻讀到0時——而退出競爭。

任何iic裝置都有乙個7位位址,理論上,現實中只能有127種不同的iic裝置。實際上,已有iic的裝置種類遠遠多於這個限制,在一條匯流排上出現相同的位址的iic裝置的概率相當高。為了突破這個限制,很多裝置使用了雙重位址——7位位址加引腳位址(external configuration pins)。iic 標準也預知了這種限制,提出10位的位址方案。

10位的位址方案對 iic協議的影響有兩點:

第一,位址幀為兩個位元組長,原來的是乙個位元組;

第二,第乙個位元組前五位最高有效位用作10位位址標識,約定是「11110」。

另外,在iic中有個現象--時鐘拉伸:在 iic 通訊中,主裝置決定了時鐘速度。因為時鐘脈衝訊號是由主裝置顯式發出的。但是,當從裝置沒辦法跟上主裝置的速度時,從裝置需要一種機制來請求主裝置慢一點。這種機制稱為時鐘拉伸。

當從裝置需要降低傳輸的速度的時候,它可以按下時鐘線,逼迫主裝置進入等待狀態,直到從裝置釋放時鐘線,通訊才繼續。

二、spi和iic比較

1. spi適合資料流應用,而iic更適合「位元組裝置」的多主裝置應用。

2. 匯流排拓撲結構/訊號路由/硬體資源耗費,iic 只需兩根訊號線,而標準spi至少四根訊號

3. 資料吞吐/傳輸速度

如果應用中必須使用高速資料傳輸,那麼spi是必然的選擇。因為spi是全雙工,iic 的不是。spi沒有定義速度限制,一般的實現通常能達到甚至超過10 mbps。iic 最高的速度也就快速+模式(1 mbps)和高速模式(3.4 mbps),後面的模式還需要額外的i/o緩衝區,還並不是總是容易實現的。

非同步序列通訊和同步序列通訊區別

在計算機系統中,cpu和外部通訊有兩種通訊方式 並行通訊和序列通訊。而按照序列資料的時鐘控制方式,序列通訊又可分為同步通訊和非同步通訊兩種方式。1 非同步序列方式的特點 所謂非同步通訊,是指資料傳送以字元為單位,字元與字元間的傳送是完全非同步的,位與位之間的傳送基本上是同步的。非同步序列通訊的特點可...

序列通訊與並行通訊區別

序列通訊 一條資訊的各位資料被逐位按順序傳送的通訊方式稱為序列通訊。序列通訊的特點是 資料位傳送,傳按位順序進行,最少只需一根傳輸線即可完成,成本低但送速度慢。序列通訊的距離可以從幾公尺到幾千公尺。根據資訊的傳送方向,序列通訊可以進一步分為單工 半雙工和全雙工三種。資訊只能單向傳送為單工 資訊能雙向...

同步通訊與非同步通訊區別

同步通訊原理 同步通訊是一種連續序列傳送資料的通訊方式,一次通訊只傳送一幀資訊。這裡的資訊幀與非同步通訊中的字元幀不同,通常含有若干個資料字元。採用同步通訊時,將許多字元組成乙個資訊組,這樣,字元可以乙個接乙個地傳輸,但是,在每組資訊 通常稱為幀 的開始要加上同步字元,在沒有資訊要傳輸時,要填上空字...