I2C和SPI異同及使用注意

2021-08-21 14:28:47 字數 981 閱讀 4861

1 iic匯流排不是全雙工,2根線scl sda。spi匯流排實現全雙工,4根線sck cs mosi miso

2 iic匯流排是多主機匯流排,通過sda上的位址資訊來鎖定從裝置。spi匯流排只有乙個主裝置,主裝置通過cs片選來確定從裝置

3 iic匯流排傳輸速度在100kbps-4mbps。spi匯流排傳輸速度更快,可以達到30mhz以上。

4 iic匯流排空閒狀態下sda scl都是高電平。spi匯流排空閒狀態mosi miso也都是 sck是有cpol決定的

5 iic匯流排scl高電平時sda下降沿標誌傳輸開始,上公升沿標誌傳輸結束。spi匯流排cs拉低標誌傳輸開始,cs拉高標誌傳輸結束

6 iic匯流排是scl高電平取樣。spi匯流排因為是全雙工,因此是沿取樣,具體要根據cpha決定。一般情況下master device是sck的上公升沿傳送,下降沿採集

7 iic匯流排和spi匯流排資料傳輸都是msb在前,lsb在後(串列埠是lsb在前)

8 iic匯流排和spi匯流排時鐘都是由主裝置產生,並且只在資料傳輸時發出時鐘

9 iic匯流排讀寫時序比較固定統一,裝置驅動編寫方便。spi匯流排不同從裝置讀寫時序差別比較大,因此必須根據具體的裝置datasheet來實現讀寫,相對複雜一些。

spi匯流排有4根線,分別是sck,sdo,sdi,ss,可以掛多個從裝置,但是在掛多個從裝置時,主裝置端還需要做乙個n選一的解碼器,用於選擇將要訪問的從裝置,因此,主裝置上的管腳需求比較多;spi匯流排在只有乙個從裝置時,只要用到sck,sdo,sdi這三根線,此時選擇spi比i2c匯流排佔優。

i2c匯流排只有兩根線,scl,sda.,也可以掛多個從裝置,對從裝置的選擇直接依靠協議完成,無需增加物理連線。一般情況下,當一塊電路板上有多個從裝置時,往往選用i2c而非spi,因為spi增加了額外額硬體開銷以及電路板走線。

i2c和spi匯流排一般是讀取一些prom等從裝置用。

序列通訊介面sci,主要應用在兩個智慧型裝置之間的互相通訊。有別於spi和i2c匯流排的主從模式,sci可以是主-主模式

裝置樹之I2C和SPI例項

clock frequency i2c匯流排頻率,常用值有100000,400000 i2c具體例項如下圖所示 圖1圖2上圖1描述i2c控制器屬性,比如暫存器屬性,中斷屬性 從中斷屬性可知 i2c控制器使用spi interrupts方式,中斷號為51,高電平觸發 上圖2描述i2c控制器子結點屬性 ...

I2C裝置除錯及波形分析

最新在開發oled屏驅動,需要用到i2c匯流排,下面大體上講解一下i2c裝置的除錯及波形分析,為大家做一些參考,由於剛涉及這部分內容,因此有什麼錯誤的,還請賜教 一 概要 i2c匯流排只需要兩條線,一條sda資料線,一條scl時鐘線 根據這兩條線的高低電平 上公升沿 下降沿就可以實現主機與i2c裝置...

SCCB 匯流排和I2C匯流排區別

sccb seriai camera controlbus 是簡化的i2c協議,sio l是序列時鐘輸入線,sio o是序列雙向資料線,分別相當於i2c協議的scl和sda。sccb的匯流排時序與i2c基本相同,它的響應訊號ack被稱為乙個傳輸單元的第9位,分為don t care和na。don t...