IIC 總線接口詳細介紹

1. 概述編程

IIC = Inter Integrated-Circuit 總線是PHLIPS公司推出的一種串行總線,是具有多主機系統所需的包括總線裁決和高低速器件同步功能的高性能串行總線,它支持多主控(multimastering),其中任何可以進行發送和接收的設備均可以成爲主總線。I2C總線只有兩根雙向信號線。一根是數據線SDA,另外一根是時鐘線SCL,以下圖:性能

2. 硬件結構ui

I2C總線經過上拉電阻(大小由速度和容性負載決定通常在3.3K-10K之間)接正電源。當總線空閒時,兩根線均爲高電平。連到總線上的任一器件輸出的低電平,都將使總線的信號變低,即各器件的SDA及SCL都是線「與」關係。以下圖:.net

               

每一個鏈接到總線的設備都有惟一的地址,地址爲7位,前四位鑑定器件類別,通常是固定的;後三位由器件自己管腳A0、A一、A2能夠編程,故同類器件通常最多掛8個。調試

工做速率以下:blog

常見的有標準模式100Kbit/s和快速模式400Kbit/s兩種,加強快速模式1Mbit/s和高速模式3.4Mbit/s,極速模式單向數據傳輸速率可達5Mbit/s。接口

能夠實現半雙工通訊。基於I2C衍生出來的標準有SMBus、PMBus、IPMI、DDC和ATCA等。同步

 3. 總線尋址it

總線明確規定,採用7位尋址字節,D7~D1位組成從機的地址。ast

D0位是數據傳送方向位,爲「0」時表示寫數據,爲「1」時表示讀數據。

主機發送地址時,總線上的每一個從機都將這7位地址碼和本身的地址碼比較,若是相同則認爲本身被主機尋址,根據讀寫位確認爲發送器或者接收器。

部分規格書中說明地址是8位則分讀地址和寫地址,即增長了讀寫位在裏面:

極少數狀況下有10位尋址的狀況;

IIC總線保留地址表以下:

  0000 0000 爲通用廣播地址。

 

 4. 數據傳輸

數據位有效性規定
I2C總線進行數據傳送時,時鐘信號爲高電平期間,數據線上的數據必須保持穩定,只有時鐘信號爲低電平時,數據線上的電平才容許變化。以下圖:

起始信號和終止信號
SCL線爲高電平時,SDA線由高變低表示起始信號;

SCL線爲高電平時,SDA線由低變高表示終止信號。

起始信號和終止信號均是主機發出;

起始信號產生後,總線處於被佔用狀態;

終止信號產生後,總線處於空閒狀態;

 

數據傳送格式
字節傳送與應答
每個字節必須保證是8位長度。數據傳送時,先傳送最高位(MSB),每個被傳送的字節後面都必須跟隨一位應答位(即一幀共有9位)。以下圖:

因爲某種緣由從機不對主機尋址信號應答時(如從機正在進行實時性的處理工做而沒法接收總線上的數據),它必須將數據線置於高電平,而由主機產生一個終止信號以結束總線的數據傳送;

若是從機對主機進行了應答,但在數據傳送一段時間後沒法繼續接收更多的數據時,從機能夠經過對沒法接收的第一個數據字節的「非應答」通知主機,主機則應發出終止信號以結束數據的繼續傳送;

當主機接收數據時,它收到最後一個數據字節後,必須向從機發出一個結束傳送的信號。這個信號是由對從機的「非應答」來實現的。而後,從機釋放SDA線,以容許主機產生終止信號。

數據幀率格式
IIC總線上的數據包括地址信號和數據信號。在起始信號後必須傳送一個從機的地址(7位),第8位是數據的傳送方向即讀仍是寫(R=1/W=0),每次數據傳送均是主機產生終止信號而結束。

              總線的一次數據傳輸,包括如下幾種組合:

主機向從機發送數據,數據的傳送方向在整個傳送過程當中不變:
                          

主機在第一個字節後,當即從從機讀數據:
                      

在傳送過程當中,須要改變讀寫方向時,起始信號和從機地址都得從新一次:
                    

 5. 注意事項

全部器件的接口均是開漏結構,經過外接上拉電阻實現線與邏輯;
總線上全部設備經過軟件尋址(7位或者10位不常見);
每一個字節傳送均是高位在前面MSB;
若是從機須要延遲下一個數據字節的開始傳送時間,能夠把SCL電平拉低並保持來強制主機進入等待狀態;
總線最大電容值,通常爲400pf,高速模式下爲100pf;、
SLC通常狀況下不會擁堵在低電平,若是出現這種現象,有硬件復位管腳的話,推薦使用硬件復位;沒有的話,推薦使用從新上電方式觸發上電覆位電路;
SDA擁堵在低電平,主機應發送9個時鐘脈衝,那些將SDA拉低的設備在這9個時鐘週期內應釋放總線。若是沒有的話,則須要經過硬件復位或從新上電的方式清除擁堵。


歡迎加入硬件QQ羣:101 808 3751,一塊兒討論硬件問題,分享調試心得,共同成長。

   ————————————————  版權聲明:本文爲CSDN博主「千里沽山」的原創文章,遵循CC 4.0 by-sa版權協議,轉載請附上原文出處連接及本聲明。 原文連接:https://blog.csdn.net/weixin_42509369/article/details/83002455

相關文章
相關標籤/搜索