IIC匯流排協議介紹

2021-10-06 07:00:31 字數 1973 閱讀 2700

1 iic介紹

i2c匯流排用於連線微控制器及其外圍裝置。是微電子通訊控制領域廣泛採用的一種匯流排標準。它是同步通訊的一種特殊形式,具有介面線少,控制方式簡單,器件封裝形式小,通訊速率較高,系統的更改和擴充極為容易。

i2c匯流排只有2根雙向訊號線,1根sda(資料線),1根sla(時鐘線)。

2 iic結構圖

i2c匯流排通過上拉電阻接正電源。當匯流排空閒時,兩根線均為高電平。連到匯流排上的任一器件輸出的低電平,都將使匯流排的訊號變低,即各裝置的sda及scl都是線「與」關係。(就是只要有乙個裝置對應的sda和scl變為低電平那麼整根匯流排的都是低電平)

每個連線到i2c匯流排的裝置都有唯一的位址,主機與裝置之間之間進行資料傳送(可以相互傳送)

例如:主機向裝置之間進行資料傳送,這時主機就是傳送器,裝置就是接收器。

傳送器:傳送資料到匯流排。

接收器:從匯流排接受資料。

如果主機出現多個,此時主機又同時想通過匯流排發出資料給裝置,為了避免混亂,iic匯流排要通過匯流排制裁來控制那一台主機來控制匯流排。

3 iic匯流排協議

iic協議規定了在iic匯流排進行資料傳送的時候,scl(時鐘訊號)必須為高電平,並且資料線上的資料需要保持穩定,當scl為低電平時,資料線(sda)上的電平高低才可以允許變化。

在匯流排資料進行傳輸的時候必須有乙個起始條件作為開始,有乙個終止訊號表示結束,起始訊號和終止訊號都是由主機發出的,起始訊號表示匯流排被占用,終止訊號表示匯流排處於空閒狀態。

起始訊號是scl為高電平,sda為高電平變為低電平,終止訊號是scl為高電平 終止訊號從低電平向高電平轉變。

如圖所示

4資料傳送

4.1資料的傳送的開始

在起始訊號後必須傳送乙個裝置的位址(7位),第8位是資料的傳送方向位(r/t),用「0」表示主機傳送資料,「1」表示主機接收資料。每次資料傳送總是由主機產生的終止訊號結束。但是,若主機希望繼續占用匯流排進行新的資料傳送,則可以不產生終止訊號,馬上再次發出起始訊號對另一從機進行定址。每乙個裝置的位址都是唯一的

4.2正式傳送資料

每乙個位元組必須保證是8位長度。資料傳送時,先傳送最高位,每乙個被傳送的位元組後面都必須跟隨一位應答位一共9位。

5工作方式

5.1 主機向裝置寫資料

s表示起始條件 a表示應答位 p表示終止條件 橙色表示主機傳送的資料 白色表示裝置傳送的資料

5.2 主機向裝置讀資料

當主機接收資料時,它收到最後乙個資料位元組後,必須向從機發出乙個結束傳送的訊號。

5.3 主機先寫後讀

主機先讀後寫也類似

IIC匯流排協議

i2c匯流排進行資料傳送時,時鐘訊號為高電平期間,資料線上的資料必須保持穩定,只有在時鐘線上的訊號為低電平期間,資料線上的高電平或低電平狀態才允許變化。起始和終止訊號 scl線為高電平期間,sda線由高電平向低電平的變化表示起始訊號 scl線為高電平期間,sda線由低電平向高電平的變化表示終止訊號。...

IIC匯流排協議

iic匯流排狀態 讀寫時序時的匯流排狀態 iic 即inter integrated circuit 積體電路匯流排 這種匯流排型別是由飛利浦半導體公司在八十年代初設計出來的一種簡單 雙向 二線制 同步序列匯流排 兩根訊號線 sda,scl 其中sda為雙向的資料訊號線,scl為時鐘訊號線 主從裝置...

iic匯流排介紹

在i2c 匯流排中唯一出現的是被定義為起始s 和停止p 條件見圖5 的情況 其中一種情況是在scl 線是高電平時sda 線從高電平向低電平切換這個情況表示起始條件 當scl 是高電平時sda 線由低電平向高電平切換表示停止條件 起始和停止條件一般由主機產生匯流排在起始條件後被認為處於忙的狀態在停止條...