伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

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

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

3天內不再提示

I2C總線協議操作介紹

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2022-02-09 14:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

I2C總線特征

I2C總線上的每一個設備都可以作為主設備或者從設備,而且每一個設備都會對應一個唯一的地址(可以從I2C器件的數據手冊得知),主從設備之間就通過這 個地址來確定與哪個器件進行通信,在通常的應用中,我們把CPU帶I2C總線接口的模塊作為主設備,把掛接在總線上的其他設備都作為從設備。

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

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

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

I2C總線協議

I2C協議規定,總線上數據的傳輸必須以一個起始信號作為開始條件,以一個結束信號作為傳輸的停止條件。起始和結束信號總是由主設備產生。總線在空閑狀態 時,SCL和SDA都保持著高電平,當SCL為高電平而SDA由高到低的跳變,表示產生一個起始條件;當SCL為高而SDA由低到高的跳變,表示產生一個 停止條件。在起始條件產生后,總線處于忙狀態,由本次數據傳輸的主從設備獨占,其他I2C器件無法訪問總線;而在停止條件產生后,本次數據傳輸的主從設備 將釋放總線,總線再次處于空閑狀態。如圖所示:

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

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

I2C總線操作

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

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

100052882-107398-5.png

第二,主設備從從設備中讀數據。數據傳輸格式如下:

100052882-107399-6.png

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

100052882-107400-7.png

審核編輯:何安

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • I2C總線
    +關注

    關注

    8

    文章

    422

    瀏覽量

    63478
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    SGM4541 I2C總線過壓保護器:設計與應用的詳細解析

    SGM4541 I2C總線過壓保護器:設計與應用的詳細解析 在如今的電子設備設計中,保護電路免受過電壓的損害是至關重要的。SG Micro Corp推出的SGM4541 I2C總線過壓
    的頭像 發表于 03-17 16:30 ?330次閱讀

    SGM4541A:I2C總線過壓保護的理想之選

    SGM4541A:I2C總線過壓保護的理想之選 在電子設備的設計中,I2C總線的穩定運行至關重要。而SGM4541A作為一款低IQ I2C
    的頭像 發表于 03-17 16:30 ?178次閱讀

    P82B715:I2C總線擴展的得力助手

    P82B715:I2C總線擴展的得力助手 在電子設計領域,I2C總線是一種常用的通信協議,但它的總線
    的頭像 發表于 12-26 10:20 ?1267次閱讀

    深入解析TCA9617B:I2C總線中繼器的卓越之選

    深入解析TCA9617B:I2C總線中繼器的卓越之選 在電子工程師的日常設計工作中,I2C總線和SMBus系統的應用極為廣泛。而TCA9617B作為一款BiCMOS雙雙向緩沖器,專為
    的頭像 發表于 12-22 15:20 ?596次閱讀

    AS32X601的I2C模塊操作EEPROM詳解

    I2C接口模塊實現了I2C協議的標準模式和快速模式,支持多主機I2C總線架構。其標準模式為100K,快速模式400K。而EEPROM,作
    的頭像 發表于 12-21 21:39 ?1432次閱讀
    AS32X601的<b class='flag-5'>I2C</b>模塊<b class='flag-5'>操作</b>EEPROM詳解

    I2C總線協議

    I2C 總線使用兩根信號線(數據線 SDA 和時鐘線 SCL)在設備間傳輸數據。SCL 為單向時鐘線,固定由主機驅動。SDA 為雙向數據線,在數據傳輸過程中由收發兩端分時驅動。 I2C 總線
    發表于 12-15 08:07

    I2C死鎖的問題

    操作I2C從設備應答后輸出數據,如果在這個時刻I2C主設備異常復位而此時I2C從設備輸出的數據位正好為0,也會導致I2C
    發表于 12-04 06:00

    I2C的優點介紹

    簡單性和線路效率: I2C 僅使用兩條線路(SDA(串行數據線)和 SCL(串行時鐘線))提供簡單而高效的通信解決方案,而與總線上的設備數量無關。這種簡單性降低了電路設計的復雜性,最大限度地減少
    發表于 11-27 07:49

    I2C的缺點介紹

    非常重要。 上拉電阻: I2C 需要使用連接到 SDA 和 SCL 線的上拉電阻。這些電阻器維持總線上默認的高邏輯電平。選擇適當的電阻值對于確保可靠的信號電平和正確的總線操作至關重要。
    發表于 11-27 06:10

    深入剖析I2C協議

    I2C是由Philips開發的簡單的雙向兩線總線,在深入淺出理解SPI協議中,我們區分了單工,半雙工,全雙工協議數據流向的區別,根據特征,I2C
    的頭像 發表于 08-21 15:10 ?3839次閱讀
    深入剖析<b class='flag-5'>I2C</b><b class='flag-5'>協議</b>

    I2C總線通信,為什么要進行電氣隔離?

    I2C總線采用雙向二線制,支持多主機多從機通信,具備高可靠性、抗干擾能力強,廣泛應用于嵌入式系統中。
    的頭像 發表于 08-11 11:04 ?2628次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>通信,為什么要進行電氣隔離?

    第十八章 I2C通信測試

    本章介紹I2C協議,其物理層用SDA和SCL雙線,支持多設備:協議層含起始/停止信號、應答機制等。還講解W55MH32的I2C外設及初始化
    的頭像 發表于 06-19 17:07 ?1424次閱讀
    第十八章 <b class='flag-5'>I2C</b>通信測試

    第十六章 一文淺談I2C

    本篇文章介紹了W55MH32的I2C總線,其由SDA和SCL構成,具設備尋址等特點,協議含起始 / 停止信號等。闡述主從模式,介紹了相關例程
    的頭像 發表于 05-28 16:07 ?1587次閱讀
    第十六章 一文淺談<b class='flag-5'>I2C</b>

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-I2C設備驅動之Linux下的I2C驅動簡介

    在Linux下,I2C(Inter-Integrated Circuit)驅動是用于支持I2C總線協議的驅動程序。I2C是一種串行通信
    發表于 04-15 10:39

    飛凌嵌入式ElfBoard ELF 1板卡-I2C設備驅動之Linux下的I2C驅動簡介

    在Linux下,I2C(Inter-Integrated Circuit)驅動是用于支持I2C總線協議的驅動程序。I2C是一種串行通信
    發表于 04-15 10:19