[I2C]I2C匯流排協議圖解

來源:互聯網
上載者:User

標籤:i2c協議   targe   sdn   接下來   其他   傳遞   embed   匯流排協議   mbed   

轉自:http://blog.csdn.net/w89436838/article/details/38660631

1  I2C匯流排物理拓撲結構

 
    I2C 匯流排在物理串連上非常簡單,分別由SDA(串列資料線)和SCL(串列時鐘線)及上拉電阻組成。通訊原理是通過對SCL和SDA線高低電平時序的控制,來產生I2C匯流排協議所需要的訊號進行資料的傳遞。在匯流排空閑狀態時,這兩根線一般被上面所接的上拉電阻拉高,保持著高電平

2  I2C匯流排特徵

    I2C匯流排上的每一個裝置都可以作為主裝置或者從裝置,而且每一個裝置都會對應一個唯一的地址(地址通過物理接地或者拉高,可以從I2C器件的資料手冊得知,如TVP5158晶片,7位地址依次bit6~bit0:x101 1xxx, 最低三位可配,如果全部物理接地,則該裝置地址為0x58, 而之所以7bit因為1個bit要代表方向,主向從和從向主),主從裝置之間就通過這個地址來確定與哪個器件進行通訊,在通常的應用中,我們把CPU帶I2C匯流排介面的模組作為主裝置,把掛接在匯流排上的其他裝置都作為從裝置。
    I2C匯流排上可掛接的裝置數量受匯流排的最大電容400pF 限制,如果所掛接的是相同型號的器件,則還受器件地址位的限制。
    I2C匯流排資料轉送速率在標準模式下可達100kbit/s,快速模式下可達400kbit/s,高速模式下可達3.4Mbit/s。一般通過I2C匯流排介面可程式化時鐘來實現傳輸速率的調整,同時也跟所接的上拉電阻的阻值有關。
    I2C匯流排上的主裝置與從裝置之間以位元組(8位)為單位進行雙向的資料轉送。

3  I2C匯流排協議

    I2C協議規定,匯流排上資料的傳輸必須一個起始訊號作為開始條件,以一個結束訊號作為傳輸的停止條件。起始和結束訊號總是由主裝置產生(意味著從裝置不可以主動通訊?所有的通訊都是主裝置發起的,主可以發出詢問的command,然後等待從裝置的通訊)

起始和結束訊號產生條件:匯流排在空閑狀態時,SCL和SDA都保持著高電平,當SCL為高電平而SDA由高到低的跳變,表示產生一個起始條件;當SCL為高而SDA由低到高的跳變,表示產生一個停止條件。

在起始條件產生後,匯流排處於忙狀態,由本次資料轉送的主從裝置獨佔,其他I2C器件無法訪問匯流排;而在停止條件產生後,本次資料轉送的主從裝置將釋放匯流排,匯流排再次處於空閑狀態。起始和結束

    在瞭解起始條件和停止條件後,我們再來看看在這個過程中資料的傳輸是如何進行的。前面我們已經提到過,資料轉送以位元組為單位。主裝置在SCL線上產生每個時鐘脈衝的過程中將在SDA線上傳輸一個資料位元,當一個位元組按資料位元從高位到低位的順序傳輸完後,緊接著從裝置將拉低SDA線,回傳給主裝置一個應答位, 此時才認為一個位元組真正的被傳輸完成。當然,並不是所有的位元組傳輸都必須有一個應答位,比如:當從裝置不能再接收主裝置發送的資料時,從裝置將回傳一個否 定應答位。資料轉送的過程
 
    在前面我們還提到過,I2C匯流排上的每一個裝置都對應一個唯一的地址,主從裝置之間的資料轉送是建立在地址的基礎上,也就是說,主裝置在傳輸有效資料之前要先指定從裝置的地址,地址指定的過程和上面資料轉送的過程一樣,只不過大多數從裝置的地址是7位的,然後協議規定再給地址添加一個最低位用來表示接下來資料轉送的方向,0表示主裝置向從裝置寫資料,1表示主裝置向從裝置讀資料。向指定裝置發送資料的格式:(每一最小包資料由9bit組成,8bit內容+1bit ACK, 如果是地址資料,則8bit包含1bit方向)
 

4  I2C匯流排操作

    對I2C匯流排的操作實際就是主從裝置之間的讀寫操作。大致可分為以下三種操作情況

  •     主裝置往從裝置中寫資料。資料轉送格式如下:

 

  •     主裝置從從裝置中讀資料。資料轉送格式如下:

  •     主裝置往從裝置中寫資料,然後重啟起始條件,緊接著從從裝置中讀取資料;或者是主裝置從從裝置中讀資料,然後重啟起始條件,緊接著主裝置往從裝置中寫資料。資料轉送格式如下:

    第三種操作在單個主裝置系統中,重複的開啟起始條件機制要比用STOP終止傳輸後又再次開啟匯流排更有效率。

[I2C]I2C匯流排協議圖解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.