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)體

I/O結(jié)構(gòu)有哪幾類
I/O結(jié)構(gòu)有哪幾類
i2c總線ppt(I2C總線器件應(yīng)用)
I2C總線的結(jié)構(gòu)介紹
STM32 I2C硬件的結(jié)構(gòu)

MCU---I/O基本結(jié)構(gòu)

MCU---I/O基本結(jié)構(gòu)

I2C上拉電阻計算公式
I2C設(shè)備驅(qū)動的兩個數(shù)據(jù)結(jié)構(gòu)

I2C子系統(tǒng)幾個主要的結(jié)構(gòu)體

I2C中什么是線與功能

I2C總線能掛多少設(shè)備 I2C架構(gòu)

評論