找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7259|回復: 0
打印 上一主題 下一主題
收起左側(cè)

I2C和SPI通信方式的講解。

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:143621 發(fā)表于 2017-1-7 12:01 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
I2C和SPI是兩種不同的通信協(xié)議。
一。 IIC  簡介
它是由數(shù)據(jù)線 SDA 和時鐘 SCL 構(gòu)成的串行總線, 可發(fā)送和接收數(shù)據(jù)。在 CPU 與被控 IC 之間、IC 與 IC 之間進行雙向傳送,高速 IIC 總線一般可達 400kbps 以上。用I2C通信的芯片最常用的就是EEPROM芯片,如Atmel的AT24CXX系列,此外,還有一些其它功能的芯片。


這是EEPROM芯片的接法)

(對應的單片機引腳)



     (時鐘芯片)



I2C 總線在傳送數(shù)據(jù)過程中共有三種類型信號, 它們分別是:開始信號、結(jié)束信號和應答信號。
開始信號:SCL 為高電平時,SDA 由高電平向低電平跳變,開始傳送數(shù)據(jù)。
結(jié)束信號:SCL 為高電平時,SDA 由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。
應答信號: 接收數(shù)據(jù)的 IC 在接收到 8bit 數(shù)據(jù)后, 向發(fā)送數(shù)據(jù)的 IC 發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU 向受控單元發(fā)出一個信號后,等待受控單元發(fā)出一個應答信號,CPU 接收到應答信號后,根據(jù)實際情況作出是否繼續(xù)傳遞信號的判斷。若未收到應答信號,由判斷為受控單元出現(xiàn)故障。
   
二.SPI

SPI通常有SCK時鐘,STB片選,DATA數(shù)據(jù)信號三個信號。SPI總線真正實現(xiàn)了全雙工數(shù)據(jù)傳輸,SPI 有3線跟4線兩種,4線的話,就是多了一條叫SDC的線,用來告知從設備現(xiàn)在傳輸?shù)氖菙?shù)據(jù)還是指令。這個接口較快,可以傳輸較連續(xù)的數(shù)據(jù)。SPI要想連接多個從設備,就需要給每個從設備配備一根片選信號。如果要可以實現(xiàn)全雙工,也是需要多加一根數(shù)據(jù)線(MOSI MISO)。SPI通信芯片的引腳名稱不一定都是這幾個名稱,可能還有會別的名稱,但是意思是一樣的,例如MOSI引腳的意思是“主機輸出從機輸入”,某個SPI接口的芯片就有可能會寫成SDI,因為這個SPI器件是作為從機的,所以它的SDI的意思就是“從機數(shù)據(jù)輸入引腳”。

SPI通信過程為:把CS引腳拉低,然后SCK輸出時鐘,然后就可以在MOSI引腳上輸出數(shù)據(jù),同時可以在MISO上獲得數(shù)據(jù)了。

(這是一個SPI FLASH芯片,DO是MISO,DI是MOSI,CLK是SCK,功能一樣,叫法不一樣而已)

(單片機接法)


下面主要總結(jié)一下2種總線的異同點:

1 iic總線不是全雙工,2根線SCL SDA。spi總線實現(xiàn)全雙工,4根線SCK CS MOSI MISO

2 iic總線是多主機總線,通過SDA上的地址信息來鎖定從設備。spi總線只有一個主設備,主設備通過CS片選來確定從設備

3 iic總線傳輸速度在100kbps-4Mbps。spi總線傳輸速度更快,可以達到30MHZ以上。

4 iic總線空閑狀態(tài)下SDA SCL都是高電平。spi總線空閑狀態(tài)MOSI MISO也都是 SCK是有CPOL決定的

5 iic總線scl高電平時sda下降沿標志傳輸開始,上升沿標志傳輸結(jié)束。spi總線cs拉低標志傳輸開始,cs拉高標志傳輸結(jié)束

6 iic總線是SCL高電平采樣。spi總線因為是全雙工,因此是沿采樣,具體要根據(jù)CPHA決定。一般情況下master device是SCK的上升沿發(fā)送,下降沿采集

7 iic總線和spi總線數(shù)據(jù)傳輸都是MSB在前,LSB在后(串口是LSB在前)

8 iic總線和spi總線時鐘都是由主設備產(chǎn)生,并且只在數(shù)據(jù)傳輸時發(fā)出時鐘

9 iic總線讀寫時序比較固定統(tǒng)一,設備驅(qū)動編寫方便。spi總線不同從設備讀寫時序差別比較大,因此必須根據(jù)具體的設備datasheet來實現(xiàn)讀寫,相對復雜一些。

           




如果您覺得對您有幫助那么請關注我得公眾號 “老趙a科技”和我一起學習



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表