Pourquoi avons-nous besoin de résistances de traction externes lorsque les microcontrôleurs ont des résistances de traction internes?

15

Les microcontrôleurs ont des résistances internes de tirage haut / bas, mais la plupart des circuits ont des résistances de tirage externes.

J'ai cherché sur Google des réponses et quelques sites ont dit que ces résistances n'étaient pas si fortes mais je pensais qu'elles étaient assez bonnes pour fonctionner. J'avais pensé qu'ils pourraient avoir besoin externe car les résistances internes doivent être déclenchées par programmation.

Donc, pour une situation imprévue, ils attachent également des résistances externes. Mais je n'en suis pas certain.

Quelle est la vraie raison derrière l'utilisation des externes lorsque nous avons des internes?

Gunjan Gangwani
la source
6
Certains microcontrôleurs ont des résistances internes. Et ces résistances ne sont pas dimensionnées correctement pour toutes les applications (elles sont généralement optimisées pour une faible puissance).
Dave Tweed
2
Que se passe-t-il si j'omet les résistances de pullup sur les lignes I2C? Ce fil est une analyse d'une tentative d'utilisation de résistances de rappel internes avec I2C.
Nick Alexeev
"Donc, pour une situation imprévue, ils attachent également des résistances externes." Parfois aussi des situations planifiées. Souvent, il est plus facile / plus rapide / moins cher dans un environnement de production de déplacer simplement une résistance d'un endroit à un autre que d'avoir à re-flasher le firmware pour obtenir le même résultat. Le faire dans le firmware impliquerait probablement une deuxième version du même firmware qui doit être maintenu. Avec une modification de soudure, il suffit d'une instruction de travail conditionnelle.
Wossname

Réponses:

30

Il y a plusieurs raisons possibles, telles que

  • Il faut que la résistance soit présente lors de la mise sous tension, car le microcontrôleur n'aura pas encore commencé à s'exécuter.
  • Besoin d'une résistance plus précise que la résistance interne. Les résistances internes pull-up / down ont des tolérances très larges.
  • Besoin d'une résistance plus grande ou plus petite que celle fournie en interne. Par exemple, I 2 C utilise généralement des pullups plus forts, alors que vous voudrez peut-être un pullup très faible pour surveiller un commutateur, pour économiser de l'énergie.
  • Besoin de tirer à une tension autre que la tension d'alimentation ou la masse du microcontrôleur.
  • Utilisation d'une résistance de pull-up / -down avec l'ADC sur le microcontrôleur. Certains microcontrôleurs désactivent leurs résistances internes sur toutes les broches auxquelles l'ADC est connecté.
  • Besoin d'une résistance de rappel sur un microcontrôleur qui n'a que des tractions.
Abe Karplus
la source
Je ne pouvais pas comprendre le dernier deuxième point ... Pourquoi les microcontrôleurs désactiveraient-ils leurs résistances internes avec ADC
Gunjan Gangwani
3
@GunjanGangwani Je ne pense pas que ce soit une bonne décision de conception, mais l'idée est que généralement vous ne voulez pas que l'ADC tire du courant de la chose qu'il mesure, vous voulez donc une connexion à haute impédance. Je suppose que certains concepteurs ne font pas confiance aux développeurs de micrologiciels pour toujours désactiver les résistances internes.
Abe Karplus
7
Je pense que c'est normalement parce que les pull-ups / pull-downs sont associés aux tampons d'entrée numériques, et l'activation des ADC peut parfois désactiver complètement les circuits de tampon numérique (et avec lui, les résistances de pull-up / down).
Connor Wolf
3
@Ashutosh Si vous voulez une haute impédance, bien sûr, vous n'utilisez pas de pullup. Certains microcontrôleurs appliquent cela en désactivant automatiquement leurs tractions internes, ce qui est un problème dans les situations où vous ne voulez pas d'une haute impédance.
Abe Karplus
1
Les entrées ADC @GunjanGangwani doivent être isolées de tous les autres circuits pour fournir le plancher de bruit le plus faible. Les entrées numériques consomment souvent plus de courant que souhaité lorsqu'elles sont pilotées entre leurs tensions "haute" et "basse". Les microcontrôleurs plus anciens utilisaient un interrupteur interne pour déconnecter l'entrée de la partie numérique lorsque cette broche était utilisée pour l'ADC, et c'est cette partie numérique qui a le pull up. Celui-ci est déconnecté à la fois pour isoler l'ADC et abaisser le bruit de fond, ainsi que pour éviter un éventuel appel de courant supplémentaire (ou dans les très anciennes puces, le verrouillage de cmos).
Adam Davis
9

Certains (ou peut-être plusieurs) microcontrôleurs ont des résistances internes de rappel, mais ce sont souvent des valeurs assez élevées. De nombreuses applications nécessiteraient des tractions de valeur inférieure.

Des résistances de pull-up peuvent également être nécessaires aux entrées des circuits logiques normaux (portes, compteurs, etc.) qui n'ont pas de pull-ups internes (et parfois nous voulons des résistances de pull-down, à la place ...)

Peter Bennett
la source
1
résistances de pull-up internes, mais ce sont souvent des valeurs assez élevées.Je construisais récemment une application à faible puissance et j'ai constaté que les résistances de pull-up étaient d'environ 50 k, ce que j'ai trouvé assez faible, ce qui entraîne une utilisation excessive. J'ai donc utilisé une résistance externe de valeur supérieure. En fin de compte, cela dépend de vos besoins.
Bimpelrekkie
3

De plus, vous utiliseriez une résistance externe chaque fois que vous avez besoin d'une valeur de résistance réelle. Les MCU n'ont généralement pas de résistances de rappel réelles, mais plutôt des MOSFET absorbant un petit courant, de sorte que leur valeur de résistance équivalente peut varier énormément en fonction du signal que vous appliquez à la broche.

Dmitry Grigoryev
la source