一、上拉電阻
上拉就是將不確定的信號通過一個電阻鉗位在高電平,電阻同時起限流作用。上拉電阻可以提高電路驅動能力。
那么,為什么會有不確定的信號呢?

舉個例子:
MCU 的 GPIO 在上電復位后往往默認為 浮空輸入(高阻態)。
如果外部沒有有效驅動源,引腳就像“天線”,容易耦合噪聲 → 電平在 0/1 之間隨機跳動。
長走線、連接器、按鍵開路、開漏/集電極開路輸出等都會使線路呈現高阻態。
上拉電阻如何“確定”信號?
硬件做法:在信號線與 VCC 之間接一個電阻 R。
無外部驅動時 → R 提供微弱電流 → 將節點拉向 VCC(邏輯 1)。
外部器件需要發 0 時 → 它只需把線拉到 GND,R 限流即可

二、阻值如何確定?
阻值選擇需平衡信號速度、功耗、驅動能力 三大因素,遵循以下計算邏輯:
1. 最小阻值:由驅動端的灌電流能力決定

VOL:輸出低電平電壓(通常 ≤0.4V)
IOLIOL:驅動端最大允許灌電流(查芯片手冊)
示例:
VCC=5VVCC=5V, VOL=0.4V VOL=0.4V, IOL=20mA IOL=20mA(典型MCU GPIO)

→ 實際需 ≥ 230Ω(否則燒毀IO口?。?/p>
2. 最大阻值:由信號上升時間和總線電容決定

trisetrise:信號允許的最大上升時間(由通信速率決定)
Cbus:總線總電容(導線電容 + 器件輸入電容)
示例(I2C總線):
速率 100kHz → 要求 trise<1 μstrise<1 μs
Cbus=200 pF,Cbus=200 pF(2個器件 + PCB走線)

→ 實際需 ≤ 2.2kΩ
三、典型場景
阻值怎么選

小結口訣
“浮空必上拉,開漏要上拉,長線強上拉,低功耗大阻值?!?/p>

點擊藍字
關注我