那曲檬骨新材料有限公司

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

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

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

I2C通訊為什么要用開漏輸出和上拉電阻?

朱老師物聯(lián)網(wǎng)大講堂 ? 2024-05-16 08:10 ? 次閱讀

一、I2C總線簡介

I2C(Inter-Integrated Circuit)總線是一種雙向串行通信總線,由兩根線組成:SDA(數(shù)據(jù)線)和SCL(時鐘線)。這兩根線都是雙向的,并且是開漏輸出的,這意味著每個設(shè)備都可以將線拉低(Ground),但不能將線拉高(Vcc)。這種設(shè)計(jì)使得多個設(shè)備可以共享同一條總線,以進(jìn)行通信。

b9fa7726-1318-11ef-9118-92fbcf53809c.png

二、I2C接口接外部上拉電阻的原因

I2C(Inter-Integrated Circuit)接口在使用時需要連接外部上拉電阻,主要原因包括以下幾點(diǎn):
開漏(Open-drain)或開集電極(Open-collector)輸出:I2C總線上的設(shè)備如主設(shè)備和從設(shè)備使用開漏或開集電極的輸出方式來驅(qū)動總線。這意味著,設(shè)備只能將線路拉低(接地),而不能直接將線路拉高至供電電壓。因此,需要外部上拉電阻來將線路拉高。多主設(shè)備配置:I2C允許多個主設(shè)備存在于同一總線上。為了防止輸出沖突(例如,一個設(shè)備嘗試將線路拉高,而另一個設(shè)備嘗試將線路拉低),I2C設(shè)計(jì)為只能通過外部上拉電阻來將信號線拉高,從而簡化了總線管理。邏輯狀態(tài)的穩(wěn)定和可靠性:外部上拉電阻確保在沒有設(shè)備主動驅(qū)動線路時,數(shù)據(jù)線(SDA)和時鐘線(SCL)能穩(wěn)定地保持在高電平狀態(tài)。這有助于提高信號的可靠性和減少誤讀。靈活的電壓級別:由于I2C設(shè)備可以支持不同的邏輯電平,使用外部上拉電阻可以方便地匹配總線電平到特定的系統(tǒng)電壓,例如3.3V或5V等,從而使得不同電壓等級的設(shè)備可以共存于同一總線。電氣特性的優(yōu)化:通過選擇合適的上拉電阻值,可以優(yōu)化總線的電氣特性,如上拉速率、功耗和噪聲容限。電阻值太低會增加功耗和可能導(dǎo)致總線驅(qū)動器過載,而電阻值太高則可能導(dǎo)致信號上升時間過長,影響總線速率。所以綜上所述,外部上拉電阻在I2C通信中發(fā)揮著至關(guān)重要的作用,保證了通信的穩(wěn)定性和靈活性。在I2C通信中,使用推挽(push-pull)輸出并不是標(biāo)準(zhǔn)的實(shí)現(xiàn)方式,因?yàn)檫@種輸出方式與I2C設(shè)計(jì)的開漏(open-drain)或開集電極(open-collector)輸出方式存在本質(zhì)上的差異。下面詳細(xì)解釋為什么通常不使用推挽輸出:總線沖突的風(fēng)險(xiǎn):I2C總線設(shè)計(jì)為多主設(shè)備和多從設(shè)備可以共享同一總線。如果使用推挽輸出,當(dāng)一個設(shè)備試圖將總線拉高而另一個設(shè)備試圖將其拉低時,將會發(fā)生總線沖突,可能導(dǎo)致設(shè)備損壞。信號完整性問題:推挽輸出可以同時驅(qū)動高電平和低電平,這在總線空閑和活躍時都維持總線狀態(tài)。然而,這種方式缺乏開漏輸出的靈活性,例如在總線檢測和仲裁過程中動態(tài)改變控制權(quán),這是I2C協(xié)議重要的一部分。電平匹配和靈活性降低:使用推挽輸出意味著所有設(shè)備必須在相同的電壓級別上操作,這限制了不同電壓級別設(shè)備的互操作性。相比之下,開漏輸出允許通過外部上拉電阻選擇適當(dāng)?shù)碾妷杭墑e,以匹配不同設(shè)備的電壓要求。仲裁和時鐘同步問題:I2C支持總線仲裁和時鐘同步,這依賴于能夠檢測總線上的高電平和低電平狀態(tài)。如果總線使用推挽輸出,總線上的電平狀態(tài)將由最后一個發(fā)送信號的設(shè)備完全控制,從而使得仲裁和同步變得困難或不可能。因此,盡管理論上可以通過某些特定設(shè)計(jì)讓I2C總線上的設(shè)備使用推挽輸出,但這樣做通常需要額外的硬件支持和復(fù)雜的總線管理策略,且違背了I2C協(xié)議的基本設(shè)計(jì)原則。如果需要在I2C總線上實(shí)現(xiàn)類似推挽的功能,通常建議使用其他通信協(xié)議,如SPI或UART,這些協(xié)議本身就設(shè)計(jì)為支持推挽輸出。

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

    關(guān)注

    5

    文章

    363

    瀏覽量

    30731
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1495

    瀏覽量

    124542
  • 串行通信
    +關(guān)注

    關(guān)注

    4

    文章

    579

    瀏覽量

    35580
收藏 人收藏

    評論

    相關(guān)推薦

    如何選擇I2C總線電阻

    I2C總線是一種廣泛使用的串行通信協(xié)議,它允許多個設(shè)備通過兩條線(數(shù)據(jù)線SDA和時鐘線SCL)進(jìn)行通信。為了確保數(shù)據(jù)信號的穩(wěn)定性和減少反射,I2C總線的數(shù)據(jù)線SDA和時鐘線SCL都需要適當(dāng)?shù)?b class='flag-5'>上
    的頭像 發(fā)表于 01-17 15:43 ?120次閱讀

    I2C總線上電阻阻值如何確定?

    導(dǎo)讀I2C總線在產(chǎn)品設(shè)計(jì)中被廣泛應(yīng)用,盡管其結(jié)構(gòu)簡單,但經(jīng)常發(fā)生電阻設(shè)計(jì)不合理的問題。本文將對I2C
    的頭像 發(fā)表于 12-27 11:34 ?1014次閱讀
    <b class='flag-5'>I2C</b>總線上<b class='flag-5'>拉</b><b class='flag-5'>電阻</b>阻值如何確定?

    使用GPIO模擬I2C的電路設(shè)計(jì)

    使用GPIO模擬I2C協(xié)議時,SDA和SCL線應(yīng)配置為輸出模式,來滿足線“與”的功能,不建議配置為推挽輸出模式,參考電路如下: 特殊情況
    發(fā)表于 12-23 11:20

    I2C總線為什么要接上電阻

    I2C為什么要接上電阻?因?yàn)樗?b class='flag-5'>開輸出。 為什么是
    的頭像 發(fā)表于 11-20 10:07 ?558次閱讀
    <b class='flag-5'>I2C</b>總線為什么要接上<b class='flag-5'>拉</b><b class='flag-5'>電阻</b>

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-i2c與從設(shè)備通訊編程示例之i2c硬件原理

    (Serial Data);(三)i2c為總線型結(jié)構(gòu),主設(shè)備依靠從設(shè)備地址進(jìn)行尋址;(四)設(shè)備的SCL和SDA均要配置成輸出模式;(五)SCL和SDA必須添加上
    發(fā)表于 10-29 16:29

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

    (Serial Data);(三)i2c為總線型結(jié)構(gòu),主設(shè)備依靠從設(shè)備地址進(jìn)行尋址;(四)設(shè)備的SCL和SDA均要配置成輸出模式;(五)SCL和SDA必須添加上
    發(fā)表于 10-28 08:58

    I2C協(xié)議的基礎(chǔ)知識

    本文從I2C協(xié)議的概述開始,描述協(xié)議的歷史、不同速度模式、物理層和數(shù)據(jù)幀結(jié)構(gòu),最后介紹I2C混合電壓系統(tǒng)中電平兼容性以及電阻大小計(jì)算。
    的頭像 發(fā)表于 10-22 15:51 ?680次閱讀
    <b class='flag-5'>I2C</b>協(xié)議的基礎(chǔ)知識

    請問TPA3130D2 FAULTZ是輸出嗎?

    ,TPA3130鎖死,怎么讓他自恢復(fù)呢? 通過MCU怎么控制? 3、FAULTZ 是 輸出嗎? FAULTZ直接串聯(lián)10k電阻
    發(fā)表于 10-10 08:16

    I2C總線上電阻計(jì)算

    電子發(fā)燒友網(wǎng)站提供《I2C總線上電阻計(jì)算.pdf》資料免費(fèi)下載
    發(fā)表于 10-08 09:54 ?1次下載
    <b class='flag-5'>I2C</b>總線上<b class='flag-5'>拉</b><b class='flag-5'>電阻</b>計(jì)算

    如何計(jì)算上電阻的值

    ,但在對性能有更高要求或特定條件下,則需要通過更為精確的計(jì)算來確定電阻值。本文將詳細(xì)介紹如何計(jì)算上電阻的值。 首先,我們需要理解
    的頭像 發(fā)表于 09-09 17:20 ?614次閱讀

    I2C總線上電阻的必要性

    在電子通信領(lǐng)域,I2C總線作為一種廣泛應(yīng)用的雙向串行通信協(xié)議,其穩(wěn)定性和效率對于整個系統(tǒng)的性能至關(guān)重要。為了確保數(shù)據(jù)傳輸?shù)目煽啃裕?b class='flag-5'>I2C總線設(shè)計(jì)時采用了
    的頭像 發(fā)表于 09-09 17:16 ?1289次閱讀

    輸出為什么加上電阻

    受到限制。為了提高輸出的性能和可靠性,通常需要在電路中加入電阻。
    的頭像 發(fā)表于 07-14 10:46 ?2354次閱讀

    求助,Proteus是否無法正確仿真STM32的輸出

    Proteus仿真。通過STM32CubeMX將上述MCU的PB8、PB9引腳配置為輸出且無內(nèi)部/下拉電阻,并將兩個引腳分別與PCF8
    發(fā)表于 05-29 06:29

    I2C組成原理及通訊模式

    SDA與SCL都外接了電阻,所以當(dāng)SDA空閑時刻輸出的永遠(yuǎn)是高電平,它對外設(shè)也有一定要求,要求外設(shè)的輸出模式也是
    發(fā)表于 04-28 17:33 ?6373次閱讀
    <b class='flag-5'>I2C</b>組成原理及<b class='flag-5'>通訊</b>模式

    STM32cubemx在和推挽輸出模式下電阻和下拉電阻有什么作用和區(qū)別?

    只配置過輸入的時候和下拉電阻。不知道在和推挽輸出模式下
    發(fā)表于 03-27 07:20
    休闲百家乐官网的玩法技巧和规则 | 即墨市| 百家乐官网代理加盟| 兴和县| 百家乐官网娱乐城博彩正网| 网络百家乐官网免费试玩| 百家乐官网现金网平台排行榜| 百家乐官网最新的投注方法| 百家乐官网澳门赌| 百家乐官网追号软件| 百家乐视频游戏挖坑| 百家乐生活馆拖鞋| 大发888官方 黄埔网| 大发888 这类平台| 安康市| 川宜百家乐官网分析软件| 迪威百家乐官网娱乐平台| 做生意如何风水| 百家乐入庄闲概率| 嘉兴太阳城大酒店| 利来国际注册| 百家乐官网赢家球讯网| 博彩百家乐官网字谜总汇| 百家乐庄闲出现几率| 百家乐tt娱乐网| 青岛棋牌英雄| 百家乐官网视频对对碰| 免费百家乐官网奥| 百家乐大小技巧| 百家乐官网| 望城县| 诸子百家乐官网的玩法技巧和规则| 百家乐太阳城球讯网| 大发888方官| 威尼斯人娱乐场钓鱼网站 | 百家乐官网ho168平台| 属蛇做生意坐向| 威尼斯人娱乐城会员| 钻石娱乐开户| 真人百家乐官网赌注| 百家乐bp|