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

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

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

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

h1654155971.8456 ? 來(lái)源:CSDN技術(shù)社區(qū) ? 作者:CSDN技術(shù)社區(qū) ? 2021-06-21 10:30 ? 次閱讀

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

1

為什么是開(kāi)漏輸出?

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

所以總線一般會(huì)使用開(kāi)漏輸出。

2

為什么要接上拉電阻?

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

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

當(dāng)總線空閑時(shí),這兩條線路都是高電平。

3

上拉電阻阻值怎么確定?

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

阻值不能過(guò)小

功耗問(wèn)題。如果上拉阻值過(guò)小,VDD灌入端口的電流將較大,功耗會(huì)很大,導(dǎo)致端口輸出的低電平值增大(I2C協(xié)議規(guī)定,端口輸出低電平的最高允許值為0.4V)。

故通常上拉電阻應(yīng)選取不低于1K的電阻(當(dāng)VDD=3V時(shí),灌入電流不超過(guò)3mA)。

阻值不能過(guò)大

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

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

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

4

I2C總線基本操作

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

主設(shè)備A在把SDA拉高后,它需要再檢查一下SDA的電平。為什么? 因?yàn)榫€與,如果主設(shè)備A拉高SDA時(shí),已經(jīng)有其他主設(shè)備將SDA拉低了,由于 1 & 0 = 0 那么主設(shè)備A在檢查SDA電平時(shí), 會(huì)發(fā)現(xiàn)不是高電平,而是低電平。

說(shuō)明其他主設(shè)備搶占總線的時(shí)間比它早,主設(shè)備A只能放棄占用總線。如果SDA是高電平,說(shuō)明主設(shè)備A可以占用總線,然后主設(shè)備A將SDA拉低,開(kāi)始通信。

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

編輯:jq

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

    關(guān)注

    86

    文章

    5536

    瀏覽量

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

    關(guān)注

    28

    文章

    1494

    瀏覽量

    124110
  • SDA
    SDA
    +關(guān)注

    關(guān)注

    0

    文章

    124

    瀏覽量

    28182

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

文章出處:【微信號(hào):eda365wx,微信公眾號(hào):EDA365電子論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    I2C總線為什么要接上電阻

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

    電阻和下拉電阻有什么區(qū)別?#硬件工程師 #電路設(shè)計(jì) #揚(yáng)興科技

    電阻
    揚(yáng)興科技
    發(fā)布于 :2024年09月26日 16:41:20

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

    I2C總線不僅能夠確保信號(hào)傳輸?shù)姆€(wěn)定,還能有效地防止多設(shè)備操作中的電氣沖突。確定適當(dāng)?shù)?b class='flag-5'>上電阻值
    的頭像 發(fā)表于 09-09 17:20 ?563次閱讀

    I2C總線電阻的必要性

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

    電路設(shè)計(jì)基礎(chǔ):電阻、下拉電阻分析

    電阻。 如下圖所示,R1為電阻,R2為下拉電阻。如果R1的
    發(fā)表于 08-22 13:59

    I2C通訊為什么要用開(kāi)漏輸出和電阻?

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

    請(qǐng)問(wèn)SMT8S003F3P的I2C模塊使用時(shí)需要外接上電阻嗎?

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

    電阻和下拉電阻的用處和區(qū)別介紹

    : 工作原理與功能差異: 電阻通常用于確保某電路節(jié)點(diǎn)在無(wú)輸入或高阻態(tài)時(shí)固定在邏輯高電平(通常是VCC或其他正電源電壓)。它通過(guò)個(gè)電阻
    的頭像 發(fā)表于 05-02 15:18 ?5061次閱讀
    <b class='flag-5'>上</b><b class='flag-5'>拉</b><b class='flag-5'>電阻</b>和下拉<b class='flag-5'>電阻</b>的用處和區(qū)別介紹

    電阻如何實(shí)現(xiàn)低功耗設(shè)計(jì)

    電阻有助于降低系統(tǒng)的總功耗,同時(shí)保持電路的功能性和穩(wěn)定性。那么電阻如何實(shí)現(xiàn)低功耗設(shè)計(jì)呢?
    的頭像 發(fā)表于 05-02 15:00 ?1095次閱讀

    電阻的作用是什么

    電阻種用于保證輸入信號(hào)為預(yù)期邏輯電平的電阻元件。
    的頭像 發(fā)表于 05-02 14:51 ?3773次閱讀
    <b class='flag-5'>上</b><b class='flag-5'>拉</b><b class='flag-5'>電阻</b>的作用是什么

    電阻和下拉電阻是什么

    就是將不確定的信號(hào)通過(guò)個(gè)電阻鉗位在高電平,電阻同時(shí)起限流作用。而下拉
    發(fā)表于 02-29 12:39 ?4239次閱讀
    <b class='flag-5'>上</b><b class='flag-5'>拉</b><b class='flag-5'>電阻</b>和下拉<b class='flag-5'>電阻</b>是什么

    IO內(nèi)置電阻阻值是多少?所有IO都有內(nèi)置電阻么,阻值是否樣?

    IO內(nèi)置電阻阻值是多少?所有IO都有內(nèi)置電阻
    發(fā)表于 02-21 06:17

    如何確定復(fù)位IC(電壓檢測(cè)器)的電阻、電壓浮動(dòng)呢?

    在此說(shuō)明由電阻引起的電壓浮動(dòng)和選擇電阻的方法。
    的頭像 發(fā)表于 02-20 16:37 ?1277次閱讀
    如何<b class='flag-5'>確定</b>復(fù)位IC(電壓檢測(cè)器)的<b class='flag-5'>上</b><b class='flag-5'>拉</b><b class='flag-5'>電阻</b>、電壓浮動(dòng)呢?