I2C 采用的 GPIO 一般為開漏模式,支持線與功能,但是開漏模式無法輸出高電平,所以需要外部上拉。Vdd 可以采用 5V、3.3V、1.8V等,電源電壓不同,上拉電阻阻值也不同。
一般總線上認(rèn)為,低于0.3Vdd為低電平,高于0.7Vdd為高電平。
推挽結(jié)構(gòu)和開漏結(jié)構(gòu)
推挽結(jié)構(gòu):使用兩個三極管或MOSFET,以推挽方式存在于電路中。電路工作時,兩只對稱的開關(guān)管每次只有一個導(dǎo)通,所以導(dǎo)通損耗小、效率高。既可以向負(fù)載灌電流,也可以從負(fù)載抽取電流。推拉式輸出級既提高電路的負(fù)載能力,又提高開關(guān)速度。
圖中上面是 NPN 型三極管,下面是 PNP 型三極管。分別有以下兩種情況:
輸出高電平:向負(fù)載灌電流。
輸出低電平:從負(fù)載拉電流。
三極管和 MOS 管效果類似,不贅述。
開漏結(jié)構(gòu)(OD):對比推挽結(jié)構(gòu),開漏結(jié)構(gòu)只有一個三極管或者MOS管。
之所以叫開漏,是因為MOS管分為三極:源極、柵極、漏極。漏極開路輸出,所以叫開漏;如果是三極管:基極、集電極、發(fā)射極,集電極開路,所以叫開集輸出(OC)。
開集輸出(OC),NPN 三極管:
這個結(jié)構(gòu)很好分析:Vin 高電平,三極管導(dǎo)通,對外輸出低電平,外部被直接拉到低。Vin 低電平,集電極(C)開路,輸出電平狀態(tài)由外部決定。
以上分析均采用三極管,MOS管類似。
因此,推挽結(jié)構(gòu)可以輸出高低電平。開漏輸出只能輸出低電平,高電平由外部電路決定。
對比總結(jié)如下:
電平跳變速度,推挽輸出由CPU控制,高低電平跳變速度快(0-》1),開漏輸出由外部上拉電阻決定,上拉電阻小,反應(yīng)速度快,從低電平到高電平跳變速度就快,但電阻小電流就大,功耗就高,反之亦然。
所以開漏輸出的外部上拉電阻要兼顧速度和功耗。上拉電阻小,信號邊沿陡峭,信號好,但是功耗高。
電平轉(zhuǎn)換:推挽輸出輸出的高低電平只有0和Vdd,開漏輸出的高電平由外部上拉電阻決定,多少V都可以,只要不超過MOS管擊穿電壓。
-
電壓
+關(guān)注
關(guān)注
45文章
5637瀏覽量
116256 -
I2C
+關(guān)注
關(guān)注
28文章
1495瀏覽量
124554 -
GPIO
+關(guān)注
關(guān)注
16文章
1216瀏覽量
52377
發(fā)布評論請先 登錄
相關(guān)推薦
Linux內(nèi)核中描述I2C的四個核心結(jié)構(gòu)體
![Linux內(nèi)核中描述<b class='flag-5'>I2C</b>的四個核心<b class='flag-5'>結(jié)構(gòu)</b>體](https://file1.elecfans.com/web2/M00/A2/DF/wKgaomT1NMmAMJHXAABKxBwjZOs978.png)
I/O結(jié)構(gòu)有哪幾類
I/O結(jié)構(gòu)有哪幾類
i2c總線ppt(I2C總線器件應(yīng)用)
I2C總線的結(jié)構(gòu)介紹
STM32 I2C硬件的結(jié)構(gòu)
![STM32 <b class='flag-5'>I2C</b>硬件的<b class='flag-5'>結(jié)構(gòu)</b>](https://file.elecfans.com/web1/M00/BB/CC/pIYBAF6qdxuAfW4UAAA9H1qXhDI244.png)
MCU---I/O基本結(jié)構(gòu)
![MCU---<b class='flag-5'>I</b>/O基本<b class='flag-5'>結(jié)構(gòu)</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
MCU---I/O基本結(jié)構(gòu)
![MCU---<b class='flag-5'>I</b>/O基本<b class='flag-5'>結(jié)構(gòu)</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
I2C上拉電阻計算公式
I2C設(shè)備驅(qū)動的兩個數(shù)據(jù)結(jié)構(gòu)
![<b class='flag-5'>I2C</b>設(shè)備驅(qū)動的兩個數(shù)據(jù)<b class='flag-5'>結(jié)構(gòu)</b>](https://file1.elecfans.com/web2/M00/8D/81/wKgaomS7ifaAdzc7AAAfm4bWzrY770.jpg)
I2C子系統(tǒng)幾個主要的結(jié)構(gòu)體
![<b class='flag-5'>I2C</b>子系統(tǒng)幾個主要的<b class='flag-5'>結(jié)構(gòu)</b>體](https://file1.elecfans.com/web2/M00/8D/80/wKgZomS7jRaALehwAAAKdPsOL70130.jpg)
I2C中什么是線與功能
![<b class='flag-5'>I2C</b>中什么是線與功能](https://file1.elecfans.com/web2/M00/8D/B0/wKgZomS_K0qAeJTRAABmV5Jk9y0595.jpg)
I2C總線能掛多少設(shè)備 I2C架構(gòu)
![<b class='flag-5'>I2C</b>總線能掛多少設(shè)備 <b class='flag-5'>I2C</b>架構(gòu)](https://file1.elecfans.com/web2/M00/A6/76/wKgaomUVGgCAWm7nAABO7EDUtj8264.jpg)
評論