Comment savoir si j'ai besoin d'une résistance pull up ou pull down pour une broche GPIO?

8

J'ai vu de nombreux microcontrôleurs utiliser des résistances pull up ou pull down soit comme réglage des broches GPIO, soit comme partie du matériel.

Comment savoir si j'ai besoin d'une résistance pull up ou pull down pour une broche GPIO et si je le fais, comment savoir laquelle convient à mon application?

Dom
la source

Réponses:

6

Vous avez besoin d'une résistance pull up ou pull down sur une ligne dont le niveau de tension est au moins parfois "imprévisible" - par exemple, une entrée flottante, mais aussi une ligne I2C.

Si vous voulez que la ligne par défaut soit numérique 1, vous utilisez un pull up. Si vous voulez que ce soit un 0 numérique, vous utilisez un menu déroulant.

Un exemple très typique est un bouton. Supposons que le logiciel s'attende à ce qu'une broche descende lorsqu'un bouton est enfoncé. Sur la broche correspondante, vous utilisez un pull up et le bouton relie la broche à la terre.


la source
3

Dans la disposition finale, il est également fortement recommandé de tirer chaque broche inutilisée au niveau approprié. Ne les laissez pas non connectés car cela peut entraîner un comportement imprévisible au démarrage ou pendant le programme en cours d'exécution.

Ruslan Gerasimov
la source
0

Que vous le tiriez vers le haut ou vers le bas, cela dépend vraiment de vous et des besoins de votre projet.

Comme mentionné précédemment

Si votre code cherche à se déclencher sur un front descendant ou un 0, vous voudrez utiliser un pull up pour maintenir le niveau élevé lorsqu'il n'est pas utilisé.

Si votre code cherche à se déclencher sur un front montant ou un 1, vous voudrez utiliser un pull down pour maintenir le potentiel à 0, utilisez votre source externe pour le tirer vers le haut.

Maintenant, les résistances de traction doivent avoir une valeur ohmique élevée, suffisante pour surmonter le bruit que vous devez éliminer, mais pas si forte que vos soucis externes ne peuvent pas le surmonter.

Généralement, en tirant vers le bas, vous économiserez quelques mA d'énergie.

Disons que nous avons un pull up de 5k @ 5v, c'est-à-dire 1mApar broche; lors de l'exécution des batteries, chaque mA est précieux.

Lorsque nous tirons vers le bas, nous brûlons généralement le bruit EMF, consommant un nombre négligeable de mA.

Matt Clark
la source
un pullup ne tirerait-il nominalement pas de courant lorsque la ligne n'est pas conduite bas, et de même un courant résiduel de pulldown lorsque la ligne est conduite haut?
John O'M.
Typiquement, une résistance pull up / down est juste suffisante pour que le signal "par défaut" souhaité soit atteint, typiquement Vin ou Gnd. À cette fin, ils sont généralement autour de 10k ou environ, donc si vous conduisez la ligne HAUT alors qu'une résistance de rappel est connectée, vous ne gaspillez que des amplificateurs Vhigh / 10k. Si Vhigh est 5V, cela équivaut à 0,5mA.
Chuck