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

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

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

I2C總線為什么要接上拉電阻

fcsde-sh ? 來源:fcsde-sh ? 2024-11-20 10:07 ? 次閱讀

I2C為什么要接上拉電阻?因?yàn)樗情_漏輸出。

c4f81390-9ff4-11ef-93f3-92fbcf53809c.jpg

為什么是開漏輸出?

I2C協(xié)議支持多個(gè)主設(shè)備與多個(gè)從設(shè)備在一條總線上,如果不用開漏輸出,而用推挽輸出,會出現(xiàn)主設(shè)備之間短路的情況。所以總線一般會使用開漏輸出。

為什么要接上拉電阻?

接上拉電阻是因?yàn)镮2C通信需要輸出高電平的能力。一般開漏輸出無法輸出高電平,如果在漏極接上拉電阻,則可以進(jìn)行電平轉(zhuǎn)換。

I2C由兩條總線SDA和SCL組成。連接到總線的器件的輸出級必須是漏極開路,都通過上拉電阻連接到電源,這樣才能夠?qū)崿F(xiàn)“線與”功能。當(dāng)總線空閑時(shí),這兩條線路都是高電平。

上拉電阻阻值怎么確定?

一般IO端口的驅(qū)動能力在2mA~4mA量級。

阻值不能過小。

功耗問題。如果上拉阻值過小,VDD灌入端口的電流將較大,功耗會很大,導(dǎo)致端口輸出的低電平值增大(I2C協(xié)議規(guī)定,端口輸出低電平的最高允許值為0.4V)。故通常上拉電阻應(yīng)選取不低于1K的電阻(當(dāng)VDD=3V時(shí),灌入電流不超過3mA)。

阻值不能過大。

速度問題。它取決于上拉電阻和線上電容形成的RC延時(shí),RC延時(shí)越大,波形越偏離方波趨向于正弦波,數(shù)據(jù)讀寫正確的概率就越低,所以上拉電阻不能過大。

I2C總線上的負(fù)載電容不能超過400pF。當(dāng)I2C總線上器件逐漸增多時(shí),總線負(fù)載電容也相應(yīng)增加。當(dāng)總的負(fù)載電容大于400pF時(shí),就不能可靠的工作。這也是I2C的局限性。

建議上拉電阻可選用1.5K,2.2K,4.7K。

I2C總線基本操作

根據(jù)I2C總線規(guī)范,總線空閑時(shí)兩根線都必須為高。假設(shè)主設(shè)備A需要啟動I2C,他需要在SCL高電平時(shí),將SDA由高電平轉(zhuǎn)換為低電平作為啟動信號

主設(shè)備A在把SDA拉高后,它需要再檢查一下SDA的電平。為什么? 因?yàn)榫€與,如果主設(shè)備A拉高SDA時(shí),已經(jīng)有其他主設(shè)備將SDA拉低了,由于 1 & 0 = 0 那么主設(shè)備A在檢查SDA電平時(shí), 會發(fā)現(xiàn)不是高電平,而是低電平。說明其他主設(shè)備搶占總線的時(shí)間比它早,主設(shè)備A只能放棄占用總線。 如果SDA是高電平,說明主設(shè)備A可以占用總線,然后主設(shè)備A將SDA拉低,開始通信。

因此,模擬I2C一定要將GPIO端口設(shè)置為開漏輸出并加上拉電阻。

聲明:本文內(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

    瀏覽量

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

    關(guān)注

    8

    文章

    407

    瀏覽量

    61427

原文標(biāo)題:I2C總線為什么要接上拉電阻

文章出處:【微信號:fcsde-sh,微信公眾號:fcsde-sh】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    I2C為什么接上電阻?

    I2C為什么接上電阻?因?yàn)樗情_漏輸出。
    發(fā)表于 07-08 16:14 ?2901次閱讀
    <b class='flag-5'>I2C</b>為什么<b class='flag-5'>要</b><b class='flag-5'>接上</b><b class='flag-5'>拉</b><b class='flag-5'>電阻</b>?

    聊聊I2C總線電阻

    I2C總線電阻的選擇以及作用,以及計(jì)算方法。
    的頭像 發(fā)表于 07-14 12:49 ?4999次閱讀
    聊聊<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>上<b class='flag-5'>拉</b><b class='flag-5'>電阻</b>

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

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

    i2c總線相關(guān)知識

    I2C總線在物理連接上非常簡單,分別由SDA(串行數(shù)據(jù)線)和SCL(串行時(shí)鐘線)及上電阻組成。通信原理是通過對SCL和SDA線高低電平時(shí)序
    發(fā)表于 12-06 10:48 ?3627次閱讀
    <b class='flag-5'>i2c</b><b class='flag-5'>總線</b>相關(guān)知識

    I2C總線物理拓?fù)浣Y(jié)構(gòu)_I2C總線協(xié)議解析

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

    I2C總線一定要接上電阻?上電阻阻值怎么確定?

    I2C為什么接上電阻?因?yàn)樗情_漏輸出。 1 為什么是開漏輸出? I2C協(xié)議支持多個(gè)主設(shè)備與
    的頭像 發(fā)表于 06-21 10:30 ?1.5w次閱讀

    I2C為什么接上電阻?

    I2C為什么接上電阻?因?yàn)樗情_漏輸出!
    的頭像 發(fā)表于 06-21 16:34 ?1.3w次閱讀
    <b class='flag-5'>I2C</b>為什么<b class='flag-5'>要</b><b class='flag-5'>接上</b><b class='flag-5'>拉</b><b class='flag-5'>電阻</b>?

    I2C電阻設(shè)計(jì)

    I2C電阻 在一些PCB的layout中,大家往往會看到在I2C通信的接口處,往往會接入一個(gè)4.7K的電阻,有的datasheet上面明
    發(fā)表于 01-14 14:10 ?10次下載
    <b class='flag-5'>I2C</b>上<b class='flag-5'>拉</b><b class='flag-5'>電阻</b>設(shè)計(jì)

    I2C總線的常見通信方式

    SDA和SCL需要外接上電阻,根據(jù)總線上的I2C設(shè)備數(shù)量,系統(tǒng)的通信速度,設(shè)計(jì)選擇不同的上
    發(fā)表于 06-29 11:28 ?7164次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的常見通信方式

    IIC上電阻的選擇與計(jì)算

    I2C總線為什么接上電阻 1、根據(jù)I2C
    的頭像 發(fā)表于 10-25 20:36 ?1117次閱讀

    【干貨】IIC上電阻的選擇與計(jì)算

    I2C總線為什么接上電阻 1、根據(jù)I2C
    的頭像 發(fā)表于 11-09 13:21 ?3225次閱讀

    【干貨】IIC上電阻的選擇與計(jì)算

    I2C總線為什么接上電阻 1、根據(jù)I2C
    的頭像 發(fā)表于 12-13 16:30 ?3039次閱讀

    電阻I2C電路中的作用 I2C電阻的計(jì)算方法

    相信很多人都清楚,在I2C總線上需要接上電阻?但是您針對對I2C
    的頭像 發(fā)表于 07-25 10:37 ?3060次閱讀
    上<b class='flag-5'>拉</b><b class='flag-5'>電阻</b>在<b class='flag-5'>I2C</b>電路中的作用 <b class='flag-5'>I2C</b>上<b class='flag-5'>拉</b><b class='flag-5'>電阻</b>的計(jì)算方法

    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><b class='flag-5'>電阻</b>計(jì)算

    如何選擇I2C總線電阻

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