一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

嵌入式教育科普|I2C接口全面解析

ElfBoard ? 2025-04-11 09:44 ? 次閱讀

1、基本概念

I2C的全稱(chēng)是Inter-Integrated Circuit,譯為集成電路總線,是一種同步、雙向、半雙工的兩線式串行接口總線。連接到I2C總線上的設(shè)備既可以用作主設(shè)備,也可以用作從設(shè)備。主設(shè)備通常是一個(gè)微控制器微處理器,用來(lái)控制通信的啟動(dòng)和停止、時(shí)鐘信號(hào)(SCL)的產(chǎn)生,以及數(shù)據(jù)傳輸;從設(shè)備則是等待來(lái)自主設(shè)備的命令并響應(yīng)命令接收。

I2C總線是共享的總線系統(tǒng),因此可以將多個(gè)I2C設(shè)備連接到該系統(tǒng)上,不同的I2C設(shè)備有不同的器件地址,主設(shè)備通過(guò)I2C設(shè)備的器件地址訪問(wèn)指定的I2C從設(shè)備,連接方式如下圖:

wKgZO2f4cdCADNaQAA22gKFjOGc822.png

I2C采用的開(kāi)漏輸出,SDA跟SCL兩根線都需要加上拉電阻,當(dāng)總線空閑時(shí)候兩根線是高電平。I2C的優(yōu)點(diǎn)在于其簡(jiǎn)單性、靈活性、易于集成、通信速度快、占用引腳少、連接簡(jiǎn)單等。然而,由于其半雙工的工作方式,以及在同一總線上連接的設(shè)備數(shù)量有限,I2C在某些應(yīng)用中可能不是最佳選擇,也具有傳輸距離短、信號(hào)干擾大等缺點(diǎn)。

2、工作原理

I2C是一種雙線總線,分別是時(shí)鐘線SCL和數(shù)據(jù)線SDA。在正常工作中,總線協(xié)議有起始條件與停止條件。

起始條件:SCL為高電平,SDA由高電平變?yōu)榈碗娖健?/p>

停止條件:SCL為高電平,SDA由低電平變?yōu)楦唠娖健?/p>

起始跟停止條件由主機(jī)控制。當(dāng)主機(jī)發(fā)出起始條件后,I2C總線會(huì)被認(rèn)為忙碌狀態(tài)。當(dāng)主機(jī)發(fā)出停止條件后,I2C總線會(huì)被認(rèn)為空閑狀態(tài)。當(dāng)主機(jī)發(fā)送一個(gè)重新起始條件替代停止位I2C總線也會(huì)被認(rèn)為處于忙碌狀態(tài)。

wKgZPGf4ch6APuuUAAkHR9hBsOw219.png

主機(jī)發(fā)出起始條件后,開(kāi)始讀取數(shù)據(jù),但這里要注意的是數(shù)據(jù)的有效性。

數(shù)據(jù)有效性:SCL時(shí)鐘線在高電平期間,SDA必須是穩(wěn)定的。SCL時(shí)鐘線在低電平時(shí)候SDA數(shù)據(jù)線才允許高電平或者低電平變化。每傳送一個(gè)數(shù)據(jù)位產(chǎn)生一個(gè)時(shí)鐘。

wKgZPGf4ckmAGBtWAA22gNnnmvA601.png

在數(shù)據(jù)傳輸時(shí),SDA線上面的每個(gè)字節(jié)數(shù)據(jù)長(zhǎng)度必須是8位。每次傳輸?shù)淖止?jié)不受限制,每個(gè)字節(jié)后面跟隨著一個(gè)應(yīng)答位,數(shù)據(jù)以高有效位傳輸。如果從機(jī)不能夠接收數(shù)據(jù)或者傳輸一個(gè)完整的數(shù)據(jù)字節(jié),直到他完成某些其他功能。例如一個(gè)內(nèi)部中斷,它可以保持SCL為低電平狀態(tài),迫使主服務(wù)器進(jìn)入等待狀態(tài)。當(dāng)從機(jī)準(zhǔn)備好接收數(shù)據(jù)后它會(huì)釋放SCL時(shí)鐘線數(shù)據(jù)繼續(xù)傳輸。

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

    關(guān)注

    6058

    文章

    44821

    瀏覽量

    644676
  • 嵌入式
    +關(guān)注

    關(guān)注

    5125

    文章

    19438

    瀏覽量

    313051
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5389

    瀏覽量

    100878
  • I2C接口
    +關(guān)注

    關(guān)注

    1

    文章

    133

    瀏覽量

    25787
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    利用數(shù)字示波器調(diào)試嵌入式I2C總線

    本內(nèi)容提供了利用數(shù)字示波器調(diào)試嵌入式I2C總線,本文闡述了在實(shí)際開(kāi)發(fā)中所遇到的I2C通信問(wèn)題及使用示波器分析問(wèn)題和解決問(wèn)題的方法。嵌入式系統(tǒng)中應(yīng)用了越來(lái)越多的總線,其開(kāi)發(fā)
    發(fā)表于 11-04 17:30 ?6026次閱讀

    I2C總線介紹 I2C讀寫(xiě)時(shí)序介紹

    作為嵌入式開(kāi)發(fā)人員,無(wú)論是硬件還是軟件工程師,或多或少都會(huì)接觸過(guò)I2C接口的外設(shè)。諸如常用的存儲(chǔ)器EEPROM等皆是I2C接口進(jìn)行通信。
    發(fā)表于 10-01 16:57 ?4425次閱讀
    <b class='flag-5'>I2C</b>總線介紹 <b class='flag-5'>I2C</b>讀寫(xiě)時(shí)序介紹

    嵌入式教育科普|GPIO接口全面解析

    知識(shí)的掌握直接影響著嵌入式項(xiàng)目實(shí)現(xiàn)功能的成效。本文將以GPIO接口為切入點(diǎn),深入解析其工作原理與技術(shù)特性,希望能幫助屏幕前想要學(xué)習(xí)嵌入式開(kāi)發(fā)的小伙伴建立
    的頭像 發(fā)表于 03-05 11:11 ?1340次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>教育科普</b>|GPIO<b class='flag-5'>接口</b><b class='flag-5'>全面</b><b class='flag-5'>解析</b>

    嵌入式教育科普|SPI接口全面解析

    在現(xiàn)代科技領(lǐng)域,嵌入式系統(tǒng)接口作為信息交互的核心樞紐,扮演著不可或缺的角色。
    的頭像 發(fā)表于 03-24 16:45 ?1121次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>教育科普</b>|SPI<b class='flag-5'>接口</b><b class='flag-5'>全面</b><b class='flag-5'>解析</b>

    ElfBoard嵌入式教育科普|ADC接口全面解析

    ADC作為技術(shù)解析切入點(diǎn),通過(guò)系統(tǒng)闡釋其工作機(jī)理、性能特征及重要參數(shù),為嵌入式學(xué)習(xí)者愛(ài)好者構(gòu)建全維度接口技術(shù)認(rèn)知框架。
    的頭像 發(fā)表于 04-30 09:34 ?267次閱讀
    ElfBoard<b class='flag-5'>嵌入式</b><b class='flag-5'>教育科普</b>|ADC<b class='flag-5'>接口</b><b class='flag-5'>全面</b><b class='flag-5'>解析</b>

    基于CPLD的I2C總線接口設(shè)計(jì)

    在電路設(shè)計(jì)中,I2C總線是比較常用的兩線串行通信方式,大多數(shù)的CPU都擅長(zhǎng)于并口操作,不具備直接操作I2C總線接口的能力。為了使不具備I2C
    發(fā)表于 02-12 16:11 ?95次下載
    基于CPLD的<b class='flag-5'>I2C</b>總線<b class='flag-5'>接口</b>設(shè)計(jì)

    基于嵌入式Linux演示I2C設(shè)備調(diào)試

      I2C嵌入式設(shè)備最為常用的接口之一,常用于如下面這些應(yīng)用場(chǎng)景,因此本文就基于嵌入式Linux演示在User Space進(jìn)行I2C設(shè)備調(diào)
    發(fā)表于 09-18 15:21 ?3次下載

    I2C LCD 器件通過(guò)驅(qū)動(dòng)帶有 I2C 接口2 16 字符 LCD

    I2C LCD 器件通過(guò)驅(qū)動(dòng)帶有 I2C 接口2 16 字符 LCD
    發(fā)表于 10-10 08:22 ?13次下載
    <b class='flag-5'>I2C</b> LCD 器件通過(guò)驅(qū)動(dòng)帶有 <b class='flag-5'>I2C</b> <b class='flag-5'>接口</b>的 <b class='flag-5'>2</b> 線<b class='flag-5'>式</b> 16 字符 LCD

    基于嵌入式Linux下的I2C設(shè)備驅(qū)動(dòng)的總體思路與框架設(shè)計(jì)

    由于I2C總線的通用性,Linux作為一款優(yōu)秀的嵌入式操作系統(tǒng),也必須要對(duì)其要有很好的支持。在Linux內(nèi)核源碼中對(duì)I2C總線的驅(qū)動(dòng)是基于總線設(shè)備驅(qū)動(dòng)模型的,其驅(qū)動(dòng)程序用到了特殊的幾個(gè)
    發(fā)表于 08-20 09:04 ?3859次閱讀
    基于<b class='flag-5'>嵌入式</b>Linux下的<b class='flag-5'>I2C</b>設(shè)備驅(qū)動(dòng)的總體思路與框架設(shè)計(jì)

    如何玩轉(zhuǎn)嵌入式開(kāi)發(fā)中i2c協(xié)議

    對(duì)于嵌入式開(kāi)發(fā)的朋友來(lái)說(shuō),I2C協(xié)議實(shí)在是再熟悉不過(guò)了,有太多的器件,采用的都是通過(guò)I2C來(lái)進(jìn)行相應(yīng)的設(shè)置。
    的頭像 發(fā)表于 01-09 15:28 ?4406次閱讀
    如何玩轉(zhuǎn)<b class='flag-5'>嵌入式</b>開(kāi)發(fā)中<b class='flag-5'>i2c</b>協(xié)議

    I2C系列的合集,可以系統(tǒng)學(xué)習(xí)I2C協(xié)議

    這篇文章給大家?guī)?lái)了I2C系列的合集,可以系統(tǒng)學(xué)習(xí)I2C協(xié)議。大家趕緊看看吧! 1、I2C總線:何時(shí)使用I2C緩沖器 本文討論了使用I2C
    的頭像 發(fā)表于 09-23 15:28 ?3345次閱讀

    嵌入式linux應(yīng)用讀寫(xiě)i2c示例

    這里分享一個(gè)嵌入式linux讀寫(xiě)24c02的i2c程序ioctl函數(shù)的使用:原型:struct ioctl(struct file *file,unsigned int cmd,unsigned
    發(fā)表于 11-01 16:57 ?12次下載
    <b class='flag-5'>嵌入式</b>linux應(yīng)用讀寫(xiě)<b class='flag-5'>i2c</b>示例

    嵌入式Linux開(kāi)發(fā)——I2C總線接口

    嵌入式Linux開(kāi)發(fā)——I2C總線接口
    發(fā)表于 11-02 11:06 ?15次下載
    <b class='flag-5'>嵌入式</b>Linux開(kāi)發(fā)——<b class='flag-5'>I2C</b>總線<b class='flag-5'>接口</b>

    物聯(lián)網(wǎng)嵌入式軟件中的I2C總線設(shè)計(jì)詳解

    I2C(Inter-Integrated Circuit)通信總線,作為嵌入式系統(tǒng)設(shè)計(jì)中的一個(gè)關(guān)鍵組成部分,其靈活性和高效率使其在高級(jí)應(yīng)用中備受青睞。本文旨在提供關(guān)于I2C通信總線的深度解析
    的頭像 發(fā)表于 09-29 16:21 ?777次閱讀
    物聯(lián)網(wǎng)<b class='flag-5'>嵌入式</b>軟件中的<b class='flag-5'>I2C</b>總線設(shè)計(jì)詳解

    ElfBoard嵌入式教育科普|UART接口全面解析

    掌握UART等通信接口的深入知識(shí),對(duì)嵌入式初學(xué)者而言,不僅能夠深化對(duì)通信協(xié)議與方式的認(rèn)知,增強(qiáng)調(diào)試技巧及通信接口設(shè)計(jì)能力,還能拓寬應(yīng)用范疇并培育系統(tǒng)級(jí)思考方式。因此本文將對(duì)UART接口
    的頭像 發(fā)表于 03-10 09:29 ?566次閱讀
    ElfBoard<b class='flag-5'>嵌入式</b><b class='flag-5'>教育科普</b>|UART<b class='flag-5'>接口</b><b class='flag-5'>全面</b><b class='flag-5'>解析</b>