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

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

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

I2C為什么要接上拉電阻?

Q4MP_gh_c472c21 ? 來源:硬件筆記本 ? 作者:硬件筆記本 ? 2021-06-21 16:34 ? 次閱讀

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

4f661fb8-d12c-11eb-9e57-12bb97331649.jpg

為什么是開漏輸出?

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

為什么要接上拉電阻?

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

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

上拉電阻阻值怎么確定?

一般而言,IO端口的驅(qū)動能力在2mA~4mA量級。 阻值不能過小。

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

阻值不能過大。 速度問題。它取決于上拉電阻和線上電容形成的RC延時,RC延時越大,波形越偏離方波趨向于正弦波,數(shù)據(jù)讀寫正確的概率就越低,所以上拉電阻不能過大。 I2C總線上的負(fù)載電容不能超過400pF。當(dāng)I2C總線上器件逐漸增多時,總線負(fù)載電容也相應(yīng)增加。當(dāng)總的負(fù)載電容大于400pF時,就不能可靠的工作。這也是I2C的局限性。

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

I2C總線基本操作

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

主設(shè)備A在把SDA拉高后,它需要再檢查一下SDA的電平。

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

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

責(zé)任編輯:lq6

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

    關(guān)注

    86

    文章

    5515

    瀏覽量

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

    關(guān)注

    28

    文章

    1487

    瀏覽量

    123787

原文標(biāo)題:嵌入式開發(fā)之IIC通訊為什么要加上拉電阻?

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    I2C總線為什么接上電阻

    I2C為什么接上電阻?因?yàn)樗情_漏輸出。 為什么是開漏輸出? I2C協(xié)議支持多個主設(shè)備與多個
    的頭像 發(fā)表于 11-20 10:07 ?474次閱讀
    <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>

    請問TLA2024斷電后I2C接口是處于什么狀態(tài)?

    請問TLA2024 斷電后I2C 接口是處于什么狀態(tài)?客戶碰到一個問題,I2C 總線上有接TLA2024 和其他I2C 設(shè)備,上電阻到3
    發(fā)表于 11-15 06:14

    RISC V的I2C操作

    ?雙向IO,需設(shè)置為弱上。I2C對應(yīng)的三態(tài)門的OE信號:需要賦值為I2C SDA/SCL的write信號;rtl中的表述如下:主要原因在于:i2c的通信過程中,當(dāng)總線空閑時,兩根線均
    的頭像 發(fā)表于 11-01 11:06 ?206次閱讀

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

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

    了解I2C總線

    電子發(fā)燒友網(wǎng)站提供《了解I2C總線.pdf》資料免費(fèi)下載
    發(fā)表于 10-08 11:13 ?2次下載
    了解<b class='flag-5'>I2C</b>總線

    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ì)算

    I2C基本指南

    電子發(fā)燒友網(wǎng)站提供《I2C基本指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-10 09:40 ?0次下載
    <b class='flag-5'>I2C</b>基本指南

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

    I2C總線不僅能夠確保信號傳輸?shù)姆€(wěn)定,還能有效地防止多設(shè)備操作中的電氣沖突。確定適當(dāng)?shù)纳?b class='flag-5'>拉電阻值對于保證I2C通信的可靠性和效率至關(guān)重要。雖然在大多數(shù)應(yīng)用中,使用標(biāo)準(zhǔn)的4.7kΩ
    的頭像 發(fā)表于 09-09 17:20 ?504次閱讀

    I2C總線上電阻的必要性

    數(shù)據(jù)線加上電阻。這一設(shè)計(jì)不僅關(guān)乎技術(shù)的實(shí)現(xiàn),更涉及系統(tǒng)安全和信號傳輸效率的優(yōu)化。本文將深入探討在I2C總線上加上電阻的必要性及其帶來的技
    的頭像 發(fā)表于 09-09 17:16 ?1041次閱讀

    CAN轉(zhuǎn)I2C橋接器

    電子發(fā)燒友網(wǎng)站提供《CAN轉(zhuǎn)I2C橋接器.pdf》資料免費(fèi)下載
    發(fā)表于 08-28 11:10 ?0次下載
    CAN轉(zhuǎn)<b class='flag-5'>I2C</b>橋接器

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

    每個設(shè)備都可以將線低(Ground),但不能將線拉高(Vcc)。這種設(shè)計(jì)使得多個設(shè)備可以共享同一條總線,以進(jìn)行通信。二、I2C接口接外部上電阻的原因
    的頭像 發(fā)表于 05-16 08:10 ?6610次閱讀
    <b class='flag-5'>I2C</b>通訊為什么要用開漏輸出和上<b class='flag-5'>拉</b><b class='flag-5'>電阻</b>?

    請問SMT8S003F3P的I2C模塊使用時需要外接上電阻嗎?

    SMT8S003F3P的I2C模塊使用時需要外接上電阻嗎?
    發(fā)表于 05-08 06:19

    什么是I2C協(xié)議 I2C總線的控制邏輯

    在實(shí)際使用過程中,I2C比較容易出現(xiàn)的一個問題就是死鎖 ,死鎖在I2C中主要表現(xiàn)為:I2C死鎖時表現(xiàn)為SCL為高,SDA一直為低。
    發(fā)表于 03-12 09:17 ?1073次閱讀
    什么是<b class='flag-5'>I2C</b>協(xié)議 <b class='flag-5'>I2C</b>總線的控制邏輯

    GD32 MCU硬件I2C不可靠不如軟件I2C?來看看紅楓派開發(fā)版的硬件I2C驅(qū)動如何做到穩(wěn)得一批

    在一個評論中,看到網(wǎng)友對硬件I2C的討論,硬件I2C Busy找不到原因、軟件I2C穩(wěn)得一批。
    的頭像 發(fā)表于 02-23 09:37 ?2793次閱讀
    GD32 MCU硬件<b class='flag-5'>I2C</b>不可靠不如軟件<b class='flag-5'>I2C</b>?來看看紅楓派開發(fā)版的硬件<b class='flag-5'>I2C</b>驅(qū)動如何做到穩(wěn)得一批