SPI總線和I2C總線的異同點

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

 

(1)MOSI – 主器件數據輸出,從器件數據輸入

(2)MISO – 主器件數據輸入,從器件數據輸出

(3)SCLK –時鐘信號,由主器件產生,最大爲fPCLK/2,從模式頻率最大爲fCPU/2

(4)NSS – 從器件使能信號,由主器件控制,有的IC會標註爲CS(Chip select)


二:I2C總線是由Philips公司開發的一種簡單、雙向二線制同步串行總線。它只需要兩根線即可在連接於總線上的器件之間傳送信息。

SDA(串行數據線)和SCL(串行時鐘線)都是雙向I/O線。

三:2種總線的異同點
1:I2C總線是半雙工,2根線SCL SDA;SPI總線實現全雙工,4根線SCK CS MOSI MISO。
2:I2C是多主機總線,通過SDA上的地址信息來鎖定從設備;SPI只有一個主設備,主設備通過CS片選來確定從設備。
3:I2C總線傳輸速度100Kbps----4Mbps;SPI可達30Mbps以上。
4:I2C總線空閒時SDA SCL都是高電平,SPI總線空閒狀態由CPOL(時鐘極性)決定。
5:I2C高電平時SDA下降沿標誌傳輸開始,上升沿標誌傳輸結束;SPI總線CS拉低標誌傳輸開始,CS拉高標誌傳輸結束。
6:I2C總線SCL高電平採樣;SPI具體根據CPHA(時鐘相位)決定,一般情況下,master device是SCK的上升沿發送,下降沿採集。
7:I2C和SPI總線數據傳輸都是MSB(最高有效位)在前,LSB在後(串口是LSB在前)。
8:I2C總線和SPI總線時鐘都是由主設備產生,並且只在數據傳輸時發出時鐘。
9:I2C總線讀寫時序比較固定統一,設備驅動編寫方便。SPI總線不同從設備datasheet來實現讀寫,相對複雜一些。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章