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

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

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

詳解I2C應(yīng)用的上拉電阻

電子設(shè)計(jì) ? 來源:工程師曾玲 ? 作者:博客園 ? 2019-10-03 16:57 ? 次閱讀

在一些PCB的layout中,大家往往會(huì)看到在I2C通信接口處,往往會(huì)接入一個(gè)4.7K的電阻,有的datasheet上面明確有要求,需要接入,有的則沒有要求。

I2C接口

對(duì)于單片機(jī)來講,有些IO內(nèi)部的上拉電阻可以使能,這樣就省去了外部的上拉電阻,這是對(duì)于單片機(jī)帶有標(biāo)準(zhǔn)I2C通信協(xié)議接口,若是只帶有模擬I2C協(xié)議接口,那么就需要考慮接入上拉電阻問題。下圖是攝像頭進(jìn)行配置通信時(shí)SCL和SDA需要進(jìn)行上拉電阻的連接。

在大多數(shù)情況下,由于I2C接口采用Open Drain機(jī)制,器件本身只能輸出低電平,無法主動(dòng)輸出高電平,只能通過外部上拉電阻RP將信號(hào)線拉至高電平。因此I2C總線上的上拉電阻是必須的,如圖1所示。

圖1

因?yàn)镮2C總線在空閑時(shí)必須拉高,只有是高的才能拉成低的,所以這是之所以規(guī)定空閑時(shí)必須為高的一個(gè)原因,要是保持“低”的話,那是不可能成為“多主”總線的。

其實(shí)I2C總線接口在工作時(shí)只會(huì)檢測高低電平,他不會(huì)在乎有無上拉電阻的問題,所以總線必須滿足時(shí)序要求。

上拉電阻的大小,會(huì)牽扯到兩個(gè)問題,一個(gè)是功耗,一個(gè)是速度問題,兩者是一個(gè)矛盾體。如果你想盡量提高速度,那么就牽涉到總線電容的問題,其實(shí)很容易理解,上拉電阻與總線的電容形成了RC,高速時(shí)將直接影響通訊!因?yàn)榭偩€拉高時(shí)有個(gè)充電時(shí)間以及高電平的閥值,如果還沒有充電到足以保證從器件可以識(shí)別的高電平的閥值時(shí)主器件就以為完成了一個(gè)總線動(dòng)作的話,那么通訊肯定是不能進(jìn)行的!
如果你想盡可能降低功耗,那么就要盡可能增大電阻以最大可能的減小電路各部分的消耗電流從而實(shí)現(xiàn)整體降低功耗!但不可能無限大,否則充電時(shí)間你會(huì)受不了的!

//========================================================

I2C上拉電阻大小

I2C上拉電阻確定有一個(gè)計(jì)算公式:

Rmin={Vdd(min)-o.4V}/3mA

Rmax=(T/0.874) *c, ( T=1us 100KHz, T=0.3us 400KHz )

C是Bus capacitance

Rp最大值由總線最大容限(Cbmax)決定,Rp最小值由Vio與上拉驅(qū)動(dòng)電流(最大取3mA)決定;

于是 Rpmin=5V/3mA≈1.7K(@Vio=5V)或者2.8V/3mA≈1K(@Vio=2.8V)

Rpmax取值:標(biāo)準(zhǔn)模式,100Kbps總線的負(fù)載最大容限<=400pF;快速模式,400Kbps總線的負(fù)載最大容限<=200pF,根據(jù)具體使用情況、目前的器件制造工藝、PCB的走線距離等因素以及標(biāo)準(zhǔn)的向下兼容性,設(shè)計(jì)中以快速模式為基礎(chǔ),即總線負(fù)載電容<200pF,也就是傳輸速度可以上到400Kbps是不成問題的。于是Rpmax可以取的范圍是1.8K~7K @ Vio=5V對(duì)應(yīng)50pF~200pF。

根據(jù)Rpmin與Rpmax的限制范圍,一般取5.1K @ Vio=5V , 負(fù)載容限的環(huán)境要求也容易達(dá)到。在2.8V系統(tǒng)中,console設(shè)計(jì)選3.3K,portable/handset等低供耗的設(shè)計(jì)選4.7K犧牲速度換取電池使用時(shí)間。

總的來說:電源電壓限制了上拉電阻的最小值 ; 負(fù)載電容(總線電容)限制了上拉電阻的最大值

補(bǔ)充:在I2c總線可以串連300歐姆電阻RS可以用于防止SDA和SCL線的高電壓毛刺。I2C協(xié)議還定義了串聯(lián)在SDA、SCL線上電阻Rs。該電阻的作用是,有效抑制總線上的干擾脈沖進(jìn)入從設(shè)備,提高可靠性。這個(gè)電阻的選擇一般在100~200ohm左右。當(dāng)然,這個(gè)電阻并不是必須的,在惡劣噪聲環(huán)境中,可以選用。

//========================================================

I2C上拉電阻討論

RP不宜過小,一般不低于1KΩ

一般IO 端口的驅(qū)動(dòng)能力在2mA~4mA量級(jí)。如果RP阻值過小,VDD灌入端口的電流將較大,這導(dǎo)致端口輸出的低電平值增大(I2C協(xié)議規(guī)定,端口輸出低電平的最高允許值為0.4V);如果灌入端口的電流過大,還可能損壞端口。故通常上拉電阻應(yīng)選取不低于1KΩ的電阻(當(dāng)VDD=3V時(shí),灌入電流不超過3mA)。

RP不宜過大,一般不高于10KΩ

由于端口輸出高電平是通過RP實(shí)現(xiàn)的,線上電平從低到高變化時(shí),電源通過RP對(duì)線上負(fù)載電容CL充電,這需要一定的時(shí)間,即上升時(shí)間。端口信號(hào)的上升時(shí)間可近似用充電時(shí)間常數(shù)RPCL乘積表示。

信號(hào)線負(fù)載電容(對(duì)地)由多方面組成,包括器件引腳、PCB信號(hào)線、連接器等。如果信號(hào)線上掛有多個(gè)器件,負(fù)載電容也會(huì)增大。比如總線規(guī)定,對(duì)于的400kbps速率應(yīng)用,信號(hào)上升時(shí)間應(yīng)小于300ns;假設(shè)線上CL為20PF,可計(jì)算出對(duì)應(yīng)的RP值為15KΩ。

如果RC充電時(shí)間常數(shù)過大,將使得信號(hào)上升沿變化緩慢,達(dá)不到數(shù)據(jù)傳輸?shù)囊蟆?/p>

因此一般應(yīng)用中選取的都是幾KΩ量級(jí)的上拉電阻,比如都選取4K7的電阻。

小阻值的RP電阻增大了端口 Sink電流,故在可能的情況下,RP取值應(yīng)稍大一點(diǎn),以減少耗電。另外,通常情況下,SDA,SCL兩條線上的上拉電阻取值是一致的,并上拉到同一電源上。

//========================================================

I2C應(yīng)用中上拉電阻電源問題

在部中分應(yīng)用中,還存在主從設(shè)備以及上拉電阻電源不一致的情況,比如Camera模組。在很多設(shè)計(jì)方案中,Camera模組不工作時(shí),并不是進(jìn)入Power Down模式,而是直接關(guān)閉模組供電VDDS。此時(shí),處理器與模組相互連接的所有信號(hào)線都應(yīng)該進(jìn)入高阻態(tài),否則就會(huì)有電流漏入模組;而對(duì)于此時(shí)的I2C控制信號(hào)線來說,由于上拉電阻的存在,必須關(guān)斷上拉電阻電源VDDP。如果上拉電阻使用的是系統(tǒng)電源VDDM(VDDP=VDDM),無法關(guān)閉,就會(huì)有漏電流進(jìn)入模組;因此這種情況下,應(yīng)該使用VDDS作為上拉電阻電源(VDDP=VDDS),這樣上拉電阻電源與Slave電源即可同時(shí)關(guān)閉,切斷了漏電路徑。

另外需要注意的是,在上述應(yīng)用實(shí)例中選擇的IO,應(yīng)該選取上電默認(rèn)為輸入(或高阻)才行。

詳解I2C應(yīng)用的上拉電阻

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

    關(guān)注

    4316

    文章

    22948

    瀏覽量

    395717
  • 上拉電阻
    +關(guān)注

    關(guān)注

    5

    文章

    357

    瀏覽量

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

    關(guān)注

    28

    文章

    1477

    瀏覽量

    123112
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電阻的含義、上電阻I2C電路中的作用

    我們知道,在I2C的電路中,在SCL、SDA線與電源之間通常會(huì)接一個(gè)電阻,這個(gè)電阻稱之為上電阻。 但什么是上
    發(fā)表于 09-08 14:43 ?7133次閱讀

    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 ?1418次閱讀
    <b class='flag-5'>I2C</b>總線上<b class='flag-5'>拉</b><b class='flag-5'>電阻</b>的計(jì)算實(shí)例

    I2C為什么要接上電阻?

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

    聊聊I2C總線上電阻

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

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

    I2C總線應(yīng)用中的幾個(gè)問題:i2c電阻阻值的確定,PCB布局布線與抗干擾設(shè)計(jì),軟件模擬I2C時(shí)序,I
    發(fā)表于 09-13 14:27 ?51次下載
    <b class='flag-5'>I2C</b>總線應(yīng)用中的幾個(gè)問題

    i2c電阻大小_i2c電阻的作用

    I2C的上電阻可以是1.5K,2.2K,4.7K, 電阻的大小對(duì)時(shí)序有一定影響,對(duì)信號(hào)的上升時(shí)間和下降時(shí)間也有影響,一般接1.5K或2.2K。
    的頭像 發(fā)表于 11-24 14:27 ?2.7w次閱讀

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

    I2C為什么要接上電阻?因?yàn)樗情_漏輸出。 1 為什么是開漏輸出? I2C協(xié)議支持多個(gè)主設(shè)備與多個(gè)從設(shè)備在一條總線上,如果不用開漏輸出,而用推挽輸出,會(huì)出現(xiàn)主設(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>?

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

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

    I2C電阻計(jì)算公式

    I2C一般為開漏結(jié)構(gòu),需要在外部加上電阻,常見的阻值有1k、1.5k、2.2k、4.7k、5.1k、10k等。
    的頭像 發(fā)表于 09-02 09:49 ?4046次閱讀

    I2C總線上需要接上電阻?您對(duì)I2C電阻足夠了解嗎

    我們知道,在I2C的電路中,在SCL、SDA線與電源之間通常會(huì)接一個(gè)電阻,這個(gè)電阻稱之為上電阻。
    的頭像 發(fā)表于 11-24 09:19 ?9018次閱讀

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

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

    I2C的開漏輸出和上電阻

    信息和接收信息無法同時(shí)進(jìn)行,I2C工作時(shí)的傳輸速率在標(biāo)準(zhǔn)模式下可達(dá)100kbit/s,快速模式下可達(dá)400kbit/s,高速模式下可達(dá)3.4Mbit/s。I2C總線采用漏極開路的設(shè)計(jì),且SDA和SCL通過上
    的頭像 發(fā)表于 07-02 16:39 ?5172次閱讀
    <b class='flag-5'>I2C</b>的開漏輸出和上<b class='flag-5'>拉</b><b class='flag-5'>電阻</b>

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

    相信很多人都清楚,在I2C總線上需要接上電阻?但是您針對(duì)對(duì)I2C電阻足夠了解嗎?本文帶您詳
    的頭像 發(fā)表于 07-25 10:37 ?2458次閱讀
    上<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>計(jì)算