1. 程式人生 > >SPI匯流排和I2C匯流排的異同點

SPI匯流排和I2C匯流排的異同點

更多精彩內容,請微信搜尋“FPGAer俱樂部”關注我們。

       

一: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來實現讀寫,相對複雜一些。

============華 麗 的 分 割 線============

想加入我們FPGA學習交流群嗎?可以長按或掃描以下二維碼,稽核通過後我們邀請您加入

這些微信群旨在打造一個提供給FPGA工程開發人員及興趣愛好者(統稱“FPGAer”)進行技術交流、答疑解惑和學習的平臺。而且我們也將會通過網路舉辦FPGA技術講座,分享相關研究文獻

瞭解更多FPGA知識可以長按或掃描以下二維碼關注FPGAer俱樂部