← Wiki · Pojem

Pull-up a pull-down rezistory

Rezistor k napájení (pull-up) nebo k zemi (pull-down) dá pinu definovanou úroveň, když ho nic jiného neřídí.

Proč#

Vstup, který není k ničemu připojený, plave: chytá rušení a čte náhodné hodnoty. Pull-up rezistor (na 3V3) způsobí, že čte 1, dokud ho něco nestáhne dolů; pull-down (na GND) způsobí, že čte 0, dokud ho něco nevytáhne nahoru. Rezistor je schválně slabý, aby ho tlačítko nebo výstup snadno přetlačily.

Kde ho potřebujete#

Signál Rezistor
Tlačítko na GND pull-up 10 kΩ (nebo interní v čipu)
I²C SDA a SCL pull-up 4.7 kΩ na 3V3, jednou na sběrnici
ESP32 EN / strapping piny pro boot pull-up 10 kΩ, jak říká datasheet
Gate MOSFETu řízené z GPIO pull-down 10–100 kΩ, aby zátěž zůstala během resetu vypnutá
USB-C CC (zařízení) pull-down 5.1 kΩ, viz USB-C
Ukázkový obvod: R1/R2 vytahují linky I²C na 3V3 (zařízení I²C linku jen stahují do nuly). R3 drží gate MOSFETu dole, dokud mikrokontrolér ještě startuje.
R1/R2 vytahují linky I²C na 3V3 (zařízení I²C linku jen stahují do nuly). R3 drží gate MOSFETu dole, dokud mikrokontrolér ještě startuje. Ukázku pullups_i2c z této stránky otevřete v PCB Canvas: „Vložit do mého schématu“.

Volba hodnoty#

  • Příliš malá hodnota plýtvá proudem, když je linka stažená opačně (3.3 V / 1 kΩ = 3.3 mA), a může přetížit budič.
  • Příliš velká hodnota zpomalí hrany a linka je citlivá na rušení. I²C na 400 kHz potřebuje na typické sběrnici ≤ 4.7 kΩ; pro tlačítka stačí 10 kΩ.
  • Interní pull-upy (30–100 kΩ) stačí pro tlačítka na krátkých vodičích, na I²C po kabelech jsou příliš slabé.

Na co si dát pozor#

  • Dva moduly I²C, každý s vlastními pull-upy, nevadí; pět paralelně (≈1 kΩ) je příliš silných. Nadbytečné odstraňte.
  • Pull-up na 5 V na pinu čipu 3.3 V do něj pouští 5 V.