0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

簡述I2C總線協(xié)議

jf_78858299 ? 來源:BUAA火車俠 ? 作者:BUAA火車俠 ? 2023-02-13 10:14 ? 次閱讀

I2C總線物理拓撲結(jié)構(gòu)

圖片

I2C 總線在物理連接上非常簡單,分別由SDA(串行數(shù)據(jù)線)和SCL(串行時鐘線)及上拉電阻組成。通信原理是通過對SCL和SDA線高低電平時序的控制,來 產(chǎn)生I2C總線協(xié)議所需要的信號進行數(shù)據(jù)的傳遞。在總線空閑狀態(tài)時,這兩根線一般被上面所接的上拉電阻拉高,保持著高電平。

I2C總線特征

I2C總線上的每一個設備都可以作為主設備或者從設備,而且每一個設備都會對應一個唯一的地址(可以從I2C器件的數(shù)據(jù)手冊得知),主從設備之間就通過這 個地址來確定與哪個器件進行通信,在通常的應用中,我們把CPU帶I2C總線接口的模塊作為主設備,把掛接在總線上的其他設備都作為從設備。相關(guān)文章推薦:[通信協(xié)議 IIC 與 SPI 最全對比]。

I2C總線上可掛接的設備數(shù)量受總線的最大電容400pF 限制,如果所掛接的是相同型號的器件,則還受器件地址位的限制。

I2C總線數(shù)據(jù)傳輸速率在標準模式下可達100kbit/s,快速模式下可達400kbit/s,高速模式下可達3.4Mbit/s。一般通過I2C總線接口可編程時鐘來實現(xiàn)傳輸速率的調(diào)整,同時也跟所接的上拉電阻的阻值有關(guān)。

I2C總線上的主設備與從設備之間以字節(jié)(8位)為單位進行雙向的數(shù)據(jù)傳輸。

I2C總線協(xié)議

I2C協(xié)議規(guī)定,總線上數(shù)據(jù)的傳輸必須以一個起始信號作為開始條件,以一個結(jié)束信號作為傳輸?shù)耐V箺l件。起始和結(jié)束信號總是由主設備產(chǎn)生??偩€在空閑狀態(tài) 時,SCL和SDA都保持著高電平,當SCL為高電平而SDA由高到低的跳變,表示產(chǎn)生一個起始條件;當SCL為高而SDA由低到高的跳變,表示產(chǎn)生一個 停止條件。在起始條件產(chǎn)生后,總線處于忙狀態(tài),由本次數(shù)據(jù)傳輸?shù)闹鲝脑O備獨占,其他I2C器件無法訪問總線;而在停止條件產(chǎn)生后,本次數(shù)據(jù)傳輸?shù)闹鲝脑O備 將釋放總線,總線再次處于空閑狀態(tài)。如圖所示:

圖片

在了解起始條件和停止條件后,我們再來看看在這個過程中數(shù)據(jù)的傳輸是如何進行的。前面我們已經(jīng)提到過,數(shù)據(jù)傳輸以字節(jié)為單位。主設備在SCL線上產(chǎn)生每個 時鐘脈沖的過程中將在SDA線上傳輸一個數(shù)據(jù)位,當一個字節(jié)按數(shù)據(jù)位從高位到低位的順序傳輸完后,緊接著從設備將拉低SDA線,回傳給主設備一個應答位, 此時才認為一個字節(jié)真正的被傳輸完成。當然,并不是所有的字節(jié)傳輸都必須有一個應答位,比如:當從設備不能再接收主設備發(fā)送的數(shù)據(jù)時,從設備將回傳一個否 定應答位。數(shù)據(jù)傳輸?shù)倪^程如圖所示:

[圖片]

在前面我們還提到過,I2C總線上的每一個設備都對應一個唯一的地址,主從設備之間的數(shù)據(jù)傳輸是建立在地址的基礎上,也就是說,主設備在傳輸有效數(shù)據(jù)之前 要先指定從設備的地址,地址指定的過程和上面數(shù)據(jù)傳輸?shù)倪^程一樣,只不過大多數(shù)從設備的地址是7位的,然后協(xié)議規(guī)定再給地址添加一個最低位用來表示接下來 數(shù)據(jù)傳輸?shù)姆较颍?表示主設備向從設備寫數(shù)據(jù),1表示主設備向從設備讀數(shù)據(jù)。如圖所示:

圖片

I2C總線操作

對I2C總線的操作實際就是主從設備之間的讀寫操作。大致可分為以下三種操作情況:

第一,主設備往從設備中寫數(shù)據(jù)。數(shù)據(jù)傳輸格式如下:

圖片

第二,主設備從從設備中讀數(shù)據(jù)。數(shù)據(jù)傳輸格式如下:

![圖片](https://mmbiz.qpic.cn/mmbiz_png/K9mVOHgVt7yKldTkJAhKuFYvhBmsHdTI4eiajDBay8kklKGuRHiaXhmmeBrQC8lfYse0MGw7LqrxfTnP0aMv91icg/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1)

第三,主設備往從設備中寫數(shù)據(jù),然后重啟起始條件,緊接著從從設備中讀取數(shù)據(jù);或者是主設備從從設備中讀數(shù)據(jù),然后重啟起始條件,緊接著主設備往從設備中寫數(shù)據(jù)。這種操作在單個主設備系統(tǒng)中,重復的開啟起始條件機制要比用STOP終止傳輸后又再次開啟總線更有效率。數(shù)據(jù)傳輸格式如下:

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 上拉電阻
    +關(guān)注

    關(guān)注

    5

    文章

    355

    瀏覽量

    30438
  • I2C總線
    +關(guān)注

    關(guān)注

    8

    文章

    384

    瀏覽量

    60663
  • SDA
    SDA
    +關(guān)注

    關(guān)注

    0

    文章

    123

    瀏覽量

    27951
  • SCL
    SCL
    +關(guān)注

    關(guān)注

    1

    文章

    239

    瀏覽量

    16985
收藏 人收藏

    評論

    相關(guān)推薦

    i2c總線ppt(I2C總線器件應用)

    I2C總線器件應用第一節(jié) I2C總線器件應用概述I2C總線工作原理
    發(fā)表于 08-13 17:34 ?0次下載

    i2c總線的特點

    i2c總線的特點:2 I2C 總線使設計人員和廠商都得益.. 3 2.1 設計人員的得益.. 4 2.2 廠商的得益. 5
    發(fā)表于 08-05 09:05 ?26次下載

    用Verilog HDL實現(xiàn)I2C總線功能

    簡述I2C總線的特點;介紹了開發(fā)FPGA時I2C總線模塊的設計思想;給出并解釋了用Verilog HDL實現(xiàn)部分
    發(fā)表于 10-19 10:49 ?104次下載

    I2C總線協(xié)議及其應用(圖)

    I2C總線協(xié)議及其應用
    發(fā)表于 06-01 20:22 ?7003次閱讀

    什么是i2c總線

    什么是i2c總線  下載請點擊: i2c總線協(xié)議中文版 
    發(fā)表于 11-05 09:26 ?2877次閱讀

    I2C總線協(xié)議及其應用

    I2C總線協(xié)議及其應用 一、I2C總線介紹: ---- 由于大規(guī)模集成電路技術(shù)的發(fā)展,在單個芯片集成CPU以及組成一個單獨工作系統(tǒng)
    發(fā)表于 02-08 11:23 ?1512次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b><b class='flag-5'>協(xié)議</b>及其應用

    用Verilog HDL實現(xiàn)I2C總線功能

    摘要: 簡述I2C總線的特點;介紹了開發(fā)FPGA時I2C總線模塊的設計思想;給出并解釋了用Verilog HDL實現(xiàn)部分
    發(fā)表于 06-20 13:17 ?6824次閱讀
    用Verilog HDL實現(xiàn)<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>功能

    i2c總線協(xié)議(中文版pdf)

    i2c總線協(xié)議(中文版pdf),感興趣的可以看看。
    發(fā)表于 02-26 16:47 ?0次下載

    I2C總線物理拓撲結(jié)構(gòu)_I2C總線協(xié)議解析

    I2C 總線在物理連接上非常簡單,分別由SDA(串行數(shù)據(jù)線)和SCL(串行時鐘線)及上拉電阻組成。通信原理是通過對SCL和SDA線高低電平時序的控制,來 產(chǎn)生I2C總線
    的頭像 發(fā)表于 09-24 14:12 ?6033次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>物理拓撲結(jié)構(gòu)_<b class='flag-5'>I2C</b><b class='flag-5'>總線</b><b class='flag-5'>協(xié)議</b>解析

    i2c總線用來做什么_i2c總線數(shù)據(jù)傳輸過程

    I2C總線控制器為微控制器或微處理器提供控制I2C總線的接口,它控制所有I2C總線的特殊序列、
    發(fā)表于 11-24 14:16 ?7093次閱讀

    I2C總線協(xié)議操作介紹

    總線協(xié)議所需要的信號進行數(shù)據(jù)的傳遞。在總線空閑狀態(tài)時,這兩根線一般被上面所接的上拉電阻拉高,保持著高電平。 I2C總線特征
    的頭像 發(fā)表于 02-09 14:08 ?2199次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b><b class='flag-5'>協(xié)議</b>操作介紹

    I2C總線協(xié)議英文資料

    I2C總線協(xié)議英文資料
    發(fā)表于 11-24 10:00 ?13次下載

    I2C串行總線協(xié)議是什么?I2C總線有哪些優(yōu)點?

    I2C串行總線協(xié)議是什么?I2C總線有哪些優(yōu)點? I2C(Inter-Integrated Ci
    的頭像 發(fā)表于 09-12 11:18 ?1321次閱讀

    I2C總線協(xié)議的工作原理和尋址格式

    I2C(Inter-Integrated Circuit)總線協(xié)議,即集成電路總線協(xié)議,是一種用于連接微控制器及其外圍設備的串行
    的頭像 發(fā)表于 05-27 15:47 ?1171次閱讀

    簡單認識I2C通信協(xié)議

    I2C(Inter-Integrated Circuit)通信協(xié)議是由飛利浦公司(現(xiàn)為恩智浦半導體)開發(fā)的一種簡單、雙向二線制同步串行總線協(xié)議。自1982年發(fā)布以來,
    的頭像 發(fā)表于 07-25 18:06 ?915次閱讀