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

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

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

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

ZLG致遠(yuǎn)電子 ? 2024-12-27 11:34 ? 次閱讀

導(dǎo)讀

I2C總線在產(chǎn)品設(shè)計(jì)中被廣泛應(yīng)用,盡管其結(jié)構(gòu)簡單,但經(jīng)常發(fā)生上拉電阻設(shè)計(jì)不合理的問題。本文將對I2C上拉電阻的選擇進(jìn)行簡要分析。

一根信號線上,通過電阻連接一個固定的高電平VCC,信號線初始、空閑時一直保持高電平狀態(tài),稱為上拉電阻。

總線的上拉電阻各有不同作用,如I2C的上拉電阻是由I2C端口內(nèi)部結(jié)構(gòu)決定的,而RS485CAN總線的上拉電阻是為了做終端匹配。那這不同總線的上拉電阻,是否接上拉,阻值的選擇有何講究嗎?

是的,這些電阻阻值的選擇都是有理論依據(jù)的,如果阻值選擇不正確,會引起一些異常,例如曾經(jīng)有一個案例,I2C上拉電阻阻值為10K,而應(yīng)用卻要求I2C跑400KHz的高速率,顯然這樣的上拉電阻不能滿足400kHz的高速率要求,出現(xiàn)通信錯誤也是不可避免的了。

對于RS485和CAN總線而言,則需要根據(jù)現(xiàn)場情況進(jìn)行靈活使用,就算節(jié)點(diǎn)數(shù)相同的兩個應(yīng)用,由于布線和所接設(shè)備的差異,需要的匹配電阻也是不同的。理論計(jì)算值可做為重要的參考依據(jù)。

6d7f57a8-c403-11ef-9434-92fbcf53809c.jpg ?I2C上拉電阻有什么作用、阻值如何確定?

目的:保證通訊正常。

常說I2C需要加上拉電阻,卻不知道為什么需要加上拉電阻?

第一是I2C本身的協(xié)議決定,空閑時兩線均保持高電平狀態(tài),能夠?qū)崿F(xiàn)線“與”功能。

第二是器件內(nèi)部結(jié)構(gòu),如圖1所示,SCL和SDA引腳內(nèi)部結(jié)構(gòu),內(nèi)部無法提供高電平,只能依靠外部高電平。目前部分器件支持上拉功能的復(fù)用功能開漏模式,芯片內(nèi)部可配置為上拉模式(建議使用外部上拉電阻)。

6d966ef2-c403-11ef-9434-92fbcf53809c.png

圖1 I2C端口內(nèi)部結(jié)構(gòu)等效電路

I2C上拉電阻的取值大小怎么確定?

考慮IO灌電流,阻值不能過小。通常在標(biāo)準(zhǔn)模式100Khz,灌電流不超過3mA,

VOL不超過0.4V,若上拉電阻至3.3V,上拉電阻阻值約大于1k。

6db84c2a-c403-11ef-9434-92fbcf53809c.png

代入Vdd = 3.3,Vol(max)=0.4,Iol(max)= 3,得到Rmin = 966Ω。

考慮上升時間,阻值不能過大。高電平是靠外部上拉電阻提供,電阻和總線電容組成RC網(wǎng)絡(luò),電阻過大充電時間過長,造成信號上升緩慢,未在規(guī)定時間內(nèi)到達(dá)高電平,導(dǎo)致數(shù)據(jù)錯誤。針對I2C系統(tǒng),在上拉電壓的30%至70%時來測量上升時間和下降時間,總線電容100pF,總線最大上升時間300ns。

6dc54f74-c403-11ef-9434-92fbcf53809c.png

代入Tr=300,Cb=100,計(jì)算得到Rmax=3.54kΩ。

根據(jù)以上計(jì)算,上拉電阻的取值在966~3.54k之間。工程實(shí)際設(shè)計(jì)中,并不是完全按照這個值來設(shè)計(jì),通??蛇x取2.2k,3k,4.7k。

解決I2C通信問題,建議抓取I2C波形,觀察總線上升/下降時間,并分析總線電容和上拉電阻等因素,并結(jié)合驅(qū)動代碼全面分析。

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

    文章

    360

    瀏覽量

    30621
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1951

    瀏覽量

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

    關(guān)注

    8

    文章

    391

    瀏覽量

    60936
收藏 人收藏

    評論

    相關(guān)推薦

    I2C總線上電阻設(shè)計(jì)要點(diǎn)

      上周翻了下AT24CM02芯片的數(shù)據(jù)手冊,里面提到了I2C電阻的設(shè)計(jì)要點(diǎn),只有兩個公式就簡潔地把上電阻
    發(fā)表于 11-28 17:12 ?3108次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線上</b><b class='flag-5'>拉</b><b class='flag-5'>電阻</b>設(shè)計(jì)要點(diǎn)

    I2C總線上電阻的計(jì)算實(shí)例

      引言:I2C通信標(biāo)準(zhǔn)是當(dāng)今電子系統(tǒng)中最廣泛使用的芯片間通信標(biāo)準(zhǔn)。這是一種開放漏極/開放集電極通信標(biāo)準(zhǔn),意味著可以連接具有不同電壓供電軌的集成電路進(jìn)行通信。需要將上電阻器從I2C
    發(fā)表于 06-02 10:17 ?1553次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線上</b><b class='flag-5'>拉</b><b class='flag-5'>電阻</b>的計(jì)算實(shí)例

    聊聊I2C總線上電阻

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

    開發(fā)板I2C總線上為什么沒有上電阻

    開發(fā)板I2C連接到RTC(RX8010)芯片,I2C總線上沒有接上電阻,LS1012A手冊上說它的I2
    發(fā)表于 01-05 06:28

    I2C總線上電阻設(shè)計(jì)要點(diǎn)

    上周翻了下AT24CM02芯片的數(shù)據(jù)手冊,里面提到了I2C電阻的設(shè)計(jì)要點(diǎn),只有兩個公式就簡潔地把上電阻
    發(fā)表于 11-29 08:00

    I2C總線應(yīng)用中的幾個問題

    I2C總線應(yīng)用中的幾個問題:i2c電阻阻值確定
    發(fā)表于 09-13 14:27 ?51次下載
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>應(yīng)用中的幾個問題

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

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

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

    I2C電阻 在一些PCB的layout中,大家往往會看到在I2C通信的接口處,往往會接入一個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 ?6887次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的常見通信方式

    I2C為什么要接上電阻?上電阻阻值怎么確定?

    如果上阻值過小,VDD灌入端口的電流將較大,功耗會很大,導(dǎo)致端口輸出的低電平值增大(I2C協(xié)議規(guī)定,端口輸出低電平的最高允許值為0.4V)。
    發(fā)表于 02-06 10:53 ?1378次閱讀

    I2C電阻如何選擇合適的阻值

    I2C總線是微電子通信控制領(lǐng)域中常用的一種總線標(biāo)準(zhǔn),具備接線少,控制簡單,速率高等優(yōu)點(diǎn)。在I2C電路中常見的上
    的頭像 發(fā)表于 05-10 16:17 ?7029次閱讀
    <b class='flag-5'>I2C</b>上<b class='flag-5'>拉</b><b class='flag-5'>電阻</b>如何選擇合適的<b class='flag-5'>阻值</b>?

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

    相信很多人都清楚,在I2C總線上需要接上電阻?但是您針對對I2C
    的頭像 發(fā)表于 07-25 10:37 ?2719次閱讀
    上<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總線上電阻的必要性

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

    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為什么要接上電阻?因?yàn)樗情_漏輸出。 為什么是開漏輸出? I2C協(xié)議支持多個主設(shè)備與多個從設(shè)備在一條總線上,如果不用開漏輸出,而用推
    的頭像 發(fā)表于 11-20 10:07 ?473次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>為什么要接上<b class='flag-5'>拉</b><b class='flag-5'>電阻</b>