衡阳派盒市场营销有限公司

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

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

3天內不再提示

I2C總線上主設備和從設備的連接關系

ARM與嵌入式 ? 來源:ARM與嵌入式 ? 2023-06-23 21:50 ? 次閱讀

I2C總線是一種同步、雙向、半雙工的兩線式串行接口總線。這里,半雙工的含義是指在任意給定的時刻,只有一個方向上是可以通信的。

I2C總線最早由Philips半導體公司于20世紀80年代研發面市。I2C最初的設計目標是為微處理器/微控制器系統與電視機外圍芯片之間的連接提供簡單的方法。 I2C總線由兩條總線組成:串行時鐘線SCL和串行數據線SDA。 SCL線——負責產生同步時鐘脈沖。 SDA線——負責在設備間傳輸串行數據。 I2C總線是共享的總線系統,因此可以將多個I2C設備連接到該系統上。連接到I2C總線上的設備既可以用作主設備,也可以用作從設備。 主設備負責控制通信,通過對數據傳輸進行初始化/終止化,來發送數據并產生所需的同步時鐘脈沖。 從設備則是等待來自主設備的命令,并響應命令接收。主設備和從設備都可以作為發送設備或接收設備。無論主設備是作為發送設備還是接收設備,同步時鐘信號都只能由主設備產生。 在相同的總線上,I2C支持多個主設備的同時存在。圖1-1顯示了I2C總線上主設備和從設備的連接關系。 50c8f4b4-11a5-11ee-962d-dac502259ad0.png50e184de-11a5-11ee-962d-dac502259ad0.png 當總線空閑時,SDA 和SCL 都處于高電平狀態,當主機要和某個從機通訊時,會先發送一個開始條件,然后發送從機地址和讀寫控制位,接下來傳輸數據(主機發送或者接收數據),數據傳輸結束時主機會發送停止條件。傳輸的每個字節為8 位,高位在前,低位在后。

開始條件:SCL 為高電平時,主機將SDA 拉低,表示數據傳輸即將開始。

從機地址:主機發送的第一個字節為從機地址,高7 位為地址,最低位為R/W 讀寫控制位,1 表示讀操作,0 表示寫操作。

一般從機地址有7 位地址模式和10 位地址模式兩種,如果是10 位地址模式,第一個字節的頭7 位是11110XX 的組合,其中最后兩位(XX)是10 位地址的兩個最高位,第二個字節為10 位從機地址的剩下8 位,如下圖所示: 50ff7638-11a5-11ee-962d-dac502259ad0.png

應答信號:每傳輸完成一個字節的數據,接收方就需要回復一個ACK(acknowledge)。寫數據時由從機發送ACK,讀數據時由主機發送ACK。當主機讀到最后一個字節數據時,可發送NACK(Notacknowledge)然后跟停止條件。

數據:從機地址發送完后可能會發送一些指令,依從機而定,然后開始傳輸數據,由主機或者從機發送,每個數據為8 位,數據的字節數沒有限制。

重復開始條件:在一次通信過程中,主機可能需要和不同的從機傳輸數據或者需要切換讀寫操作時,主機可以再發送一個開始條件。

停止條件:在SDA 為低電平時,主機將SCL 拉高并保持高電平,然后在將SDA 拉高,表示傳輸結束。

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

    關注

    8

    文章

    7139

    瀏覽量

    89575
  • 主機
    +關注

    關注

    0

    文章

    1010

    瀏覽量

    35308
  • I2C總線
    +關注

    關注

    8

    文章

    406

    瀏覽量

    61164

原文標題:I2C總線

文章出處:【微信號:ARM與嵌入式,微信公眾號:ARM與嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    I2C總線物理拓撲結構及特征

    I2C總線上的每一個設備都可以作為主設備或者設備,而且每一個
    發表于 09-09 09:25 ?1388次閱讀

    飛凌嵌入式ElfBoard ELF 1板卡-i2c設備通訊編程示例之i2c硬件原理

    同一條i2c總線上,并通過地址來區分不同的設備。(五)寫時序下圖完整的展示了主機向機寫一個字節的時序圖,需要注意的包括:當主設備通過
    發表于 10-28 08:58

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-i2c設備通訊編程示例之i2c硬件原理

    同一條i2c總線上,并通過地址來區分不同的設備。(五)寫時序下圖完整的展示了主機向機寫一個字節的時序圖,需要注意的包括:當主設備通過
    發表于 10-29 16:29

    I2C 總線協議圖解

    ,SPI和uart為雙工。2I2C總線特征 I2C總線上的每一個設備都可以作為主設備或者
    發表于 08-01 16:12

    I2C總線是什么

    I2C總線I2C總線(讀做“IC”或“I2C
    發表于 07-21 09:03

    arduino讀取I2C總線上連接設備的地址

    這兩天研究了一下I2C總線,發現有好多I2C設備的地址并不知道,當然有的可以在網上查的到,但是如果遇到用過的I2C器件,
    發表于 11-23 16:58 ?11.2w次閱讀

    i2c總線的起始和終止的條件

    盡量選用帶復位輸人的I2C器件,I2C總線死鎖產生的原因可以發現I2C
    發表于 12-06 15:48 ?2.9w次閱讀
    <b class='flag-5'>i2c</b><b class='flag-5'>總線</b>的起始和終止的條件

    樹莓派怎樣連接多個I2C設備

     簡單。 i2c是一輛公共汽車。總線的目的是與多個設備通信。將設備并行連接到同一i2c
    的頭像 發表于 11-13 09:27 ?1.9w次閱讀
    樹莓派怎樣<b class='flag-5'>連接</b>多個<b class='flag-5'>I2C</b><b class='flag-5'>設備</b>

    嵌入式內核及驅動開發-09IIC子系統框架使用(I2C協議和時序,I2C驅動框架,I2C設備驅動開發,MPU6050硬件連接

    文章目錄I2c協議和時序I2c介紹I2c硬件連接I2c總線的信號
    發表于 12-06 14:06 ?17次下載
    嵌入式內核及驅動開發-09IIC子系統框架使用(<b class='flag-5'>I2C</b>協議和時序,<b class='flag-5'>I2C</b>驅動框架,<b class='flag-5'>I2C</b><b class='flag-5'>從</b><b class='flag-5'>設備</b>驅動開發,MPU6050硬件<b class='flag-5'>連接</b>

    傳感器i2c與arduino連接_Nodemcu I2C接口連接Arduino

    數據后即刻檢查接收方的確認信號,以確定接收方是否成功的接收到數據。I2C的工作模式I2C的工作模式分為:主模式(Master mode)和模式(Slave mode),主設備啟動與
    發表于 12-17 18:01 ?1次下載
    傳感器<b class='flag-5'>i2c</b>與arduino<b class='flag-5'>連接</b>_Nodemcu <b class='flag-5'>I2C</b>接口<b class='flag-5'>連接</b>Arduino

    I2C主設備設備的一般通信過程

    物理I2C接口有兩根雙向線,串行時鐘線(SCL)和串行數據線(SDA)組成,可用于發送和接收數據,但是通信都是由主設備發起,設備被動響應,實現數據的傳輸。
    的頭像 發表于 04-25 14:36 ?1.1w次閱讀

    i2c detect掃描i2c總線上設備

    i2cdetect:用于掃描i2c 總線上設備 Usage: i2cdetect [ - y] [ - a] [ - q | - r]
    的頭像 發表于 07-27 16:16 ?1.2w次閱讀
    <b class='flag-5'>i2c</b> detect掃描<b class='flag-5'>i2c</b><b class='flag-5'>總線上</b>的<b class='flag-5'>設備</b>

    I2C串行總線協議是什么?I2C總線有哪些優點?

    1982年發明并推廣,用于連接智能傳感器和存儲器器件,以及控制和監控外設。該協議是一種主從式通信協議,允許多個設備連接到同一總線上,并在
    的頭像 發表于 09-12 11:18 ?1810次閱讀

    I2C總線的工作模式介紹

    兩根線組成:數據線(SDA)和時鐘線(SCL)。數據線負責傳輸數據,而時鐘線則用于同步數據傳輸。I2C總線是全雙工的,意味著數據可以在兩個方向上傳輸。它支持多個主設備
    的頭像 發表于 01-17 15:32 ?161次閱讀

    I2C總線與Arduino的接口示例

    基礎 I2C總線由兩條線組成:數據線(SDA)和時鐘線(SCL)。SDA用于傳輸數據,而SCL用于同步數據傳輸。I2C設備可以是主設備
    的頭像 發表于 01-17 15:34 ?225次閱讀
    百家乐官网赌博机怎么玩| 百家乐棋牌游戏币| 利高百家乐官网游戏| 六合彩网| 在线百家乐电脑| 网上百家乐大赢家| 百家乐娱乐城玩法| 网上百家乐作弊不| 百家乐平注法口诀| 澳门百家乐规例| 百家乐赌场牌路分析| 百家乐二代理解| 单机百家乐小游戏| 百家乐专打单跳投注法| 百家乐sxcbd| 大发888怎么| bet365存| 博彩游戏| 百家乐官网游戏如何玩| 游戏百家乐官网押发| 百家乐官网游戏免费| 现金百家乐官网赢钱| 兰桂坊百家乐官网的玩法技巧和规则| 王子百家乐官网的玩法技巧和规则 | 全讯网22335555| 大发888体育投注| 威尼斯人| 七胜百家乐官网娱乐场| 墓地附近做生意风水| 玩百家乐五湖四海娱乐城| 百家乐破解分| 菲律宾太阳城88| 云顶娱乐| 沙河市| 百家乐官网实时赌博| 百家乐投注外围哪里好| 皇朝娱乐城| 玩百家乐官网凤凰娱乐城| 百家乐官网国际娱乐网| 榆次百家乐的玩法技巧和规则 | 太阳城菲律宾官方网|