Est-ce vraiment une mauvaise idée de laisser une broche d'entrée MCU flottante?

28

J'ai entendu dire que laisser une broche flottante sur un MCU lorsqu'il est configuré en tant qu'entrée (par rapport à la sortie par défaut) est mauvais pour la broche, et peut éventuellement entraîner sa défaillance prématurée. Est-ce vrai? NB dans mon cas, la broche flotte quelque part entre 0,3 V et 1,3 V en raison d'un signal vidéo entrant. Cela tombe parfois dans la zone de no man's de 0,8 V à 2,0 V lors d'un fonctionnement à partir de 3,3 V.

Thomas O
la source
1
Avez-vous vérifié la fiche technique et la documentation de la famille MCU? Ils devraient avoir des réponses assez précises et vous pouvez voir comment les broches sont implémentées en interne.
XTL
@XTL, je les ai parcourus, mais je n'y ai trouvé aucune référence. Ils disent que les broches flottantes peuvent entrer dans des états non définis, mais ne mentionnent pas si cela pourrait causer des problèmes.
Thomas O
Il y a une différence entre une entrée numérique flottante et une entrée définie comme analogique. On dirait que c'est une entrée analogique.
Martin
@Martin Je ne peux pas faire de la broche une entrée analogique. J'ai une tranche de temps d'environ 125 ns pour chaque pixel de la vidéo (horloge d'instruction de 25 ns), je ne peux donc pas dépenser une seule nanoseconde de plus.
Thomas O
2
Qu'est - ce que MCU utilisez - vous que les paramètres par défaut toutes les broches de sortie ? Cela ressemble à une recette pour un désastre.
Connor Wolf

Réponses:

31

Problème:
Laisser une broche configurée comme entrée flottante est dangereux simplement parce que vous ne pouvez pas être sûr de l'état de la broche. Comme vous l'avez mentionné, à cause de votre circuit, votre épingle était parfois BASSE ou parfois dans un no man's land ou pouvait parfois aller à HAUT.

Résultat:
Essentiellement, l'entrée flottante causera définitivement un fonctionnement erratique de la puce ou un comportement imprévisible. J'ai remarqué que certaines puces ont gelé en rapprochant simplement ma main de la carte (je ne portais pas de bracelet antistatique) ou certaines auraient un comportement de démarrage différent chaque fois que la carte s'allumait.

Pourquoi:
cela se produit simplement parce que s'il y a du bruit externe sur cette broche, la broche oscillerait, ce qui drainerait la puissance comme les portes logiques CMOS drainent la puissance quand elles changent d'état.

Solution: la
plupart des micros de nos jours ont également des tractions internes, ce qui pourrait empêcher ce problème de se produire. Une autre option serait de configurer la broche comme sortie afin qu'elle n'affecte pas les internes.

IntelliChick
la source
3
Si vous l'utilisez comme entrée, cela entraînera certainement des entrées erratiques, mais cela affecte-t-il vraiment d'autres parties de la puce et provoque-t-il des problèmes de démarrage?
endolith
3
Si j'ignore la broche et que je ne l'utilise pour aucun périphérique, cela poserait-il toujours des problèmes?
Thomas O
@endolith et Thomas - Je pense que mikeselectricstuff a répondu à cela pour vous! Cela pourrait causer des problèmes simplement en introduisant du bruit dans d'autres parties du système. Je sais que c'était à cause de la broche flottante, car dès que je l'ai configuré sur une sortie, les problèmes ont disparu!
IntelliChick
2
Je ne comprends pas comment un morceau de métal flottant peut introduire du bruit dans d'autres parties du système. Il capte le bruit, certes, mais si vous ne faites pas attention à l'entrée, cela ne devrait pas avoir d'importance. Les problèmes d'agitation des mains à proximité sont-ils vraiment liés aux entrées flottantes inutilisées ?
endolith
Les broches flottantes TIL ne sont pas inoffensives. Merci IntelliChick et @Yann!
Nick Johnson
13

C'est un peu pire que d'être dans un état inconnu ou de basculer inutilement. Les circuits numériques de nos jours sont pour la plupart de type CMOS, avec des transistors commutant les côtés haut et bas; lorsque nous avons des 1 et des 0 clairs, ils sont soit bloqués, soit saturés, les deux états les plus efficaces pour les transistors. Entre les deux, cependant, se trouve une région de fonctionnement linéaire; il est utilisé pour les amplificateurs analogiques, mais il n'est pas aussi efficace que les extrêmes - ce qui signifie que plus de puissance est gaspillée sous forme de chaleur dans le transistor. Dans le pire des cas, les transistors côté haut et bas fuient ainsi (car la broche n'est en fait ni haute ni basse), et ils peuvent ensuite se combiner pour provoquer un courant notable dans la puce alors qu'ils tentent de conduire l'état interne à la fois haut et faible - peut-être faire de même à la porte suivante dans une réaction en chaîne. La chaleur pourrait devenir un problème même si le courant ne l'est pas. Les solutions d'IntelliChick s'appliquent toujours.

Pour les broches également connectées aux ADC, certains microcontrôleurs offrent la fonction de désactiver le tampon d'entrée numérique, pour éviter à la fois ce problème et les fuites qui déforment le signal.

Yann Vernier
la source
Les entrées n'ont pas d'hystérésis?
endolith
3
Les entrées de déclenchement de Schmitt le font, mais généralement non.
Yann Vernier
6

Dans la pratique, l'effet principal est une augmentation de la consommation d'énergie. Si une broche flotte réellement au lieu d'être connectée à une source de tension indéterminée, il est possible qu'une oscillation se produise, ce qui, en plus d'augmenter la consommation d'énergie, peut introduire du bruit dans d'autres parties du système. Toute broche pouvant être utilisée pour une entrée ADC ou comparateur aura la possibilité de déconnecter le tampon d'entrée numérique pour éviter ce problème. (DIDR sur AVR, ADCON1 / ANSEL sur PIC)

mikeselectricstuff
la source
Qu'est-ce qui oscillerait exactement et pourquoi?
endolith
@endolith - Le tampon d'entrée sur la broche. Pensez à un tampon inverseur avec un condensateur entre l'entrée et la sortie.
Connor Wolf
@FakeName: Mais où est l'onduleur? Où est la sortie qui retourne à l'entrée?
endolith
3
Fondamentalement, toutes les broches IC IO passent par un tampon (souvent un onduleur) sur la puce IC . Puisque le tampon aura des fils pour l'entrée et la sortie, il peut y avoir un couplage capacitif entre l'entrée et la sortie. Par conséquent, si l'entrée est d'une impédance suffisamment élevée, une transition sur la sortie de l'onduleur peut entraîner une modification de l'entrée de l'onduleur, provoquant une nouvelle modification de la sortie, etc.
Connor Wolf
4

Généralement, c'est une mauvaise idée de laisser la broche d'entrée flottante, car cela peut provoquer:

a) Problèmes fonctionnels - état d'entrée inconnu, basculement (par exemple, peut déclencher une interruption avec un ISR non défini qui bloquerait le processeur)

b) Augmentation de la consommation d'énergie - la porte d'entrée est très probablement similaire à l'onduleur CMOS. Avec cette structure, lorsque l'entrée est suffisamment éloignée de l'un ou l'autre rail (par exemple à la moitié de l'alimentation), un courant de croisement important circule constamment.

c) Si le courant de croisement circule, les phénomènes connus sous le nom d' injection de support chaud peuvent en fait réduire la durée de vie de l'appareil. La porte d'entrée peut être conçue uniquement pour une commutation normale et non pour une conduction continue, de sorte que le dispositif peut échouer de manière catastrophique. Notez cependant qu'il faudrait placer l'appareil dans de telles conditions pendant plusieurs centaines d'heures à température élevée pour que cela se produise.

Notez que a) et b) sont de vrais problèmes que l'on rencontrera très probablement. Quant à c), il est moins probable que le problème se produise, mais pourquoi prendre des risques?

mazurnification
la source
3

L'entrée basculera entre 0 et 1 en fonction de n'importe quel EMI. Je ne sais pas si cela entraînera l'échec de l'entrée, mais cela entraînera plus de puissance à utiliser car les transitions de 0 à 1 à 0.

Réglez-le sur une sortie et terminez avec.

Robert
la source
1
Si je le règle sur une sortie, 0 ou 1, il mettra à la terre le signal vidéo et provoquera une perte de vidéo.
Thomas O
Pouvez-vous activer un pull-up interne et en finir avec lui?
endolith
L'activation du pull-up interne devrait être bonne. Le but est de le mettre dans un état connu et de le laisser là.
Robert
2

Certains périphériques CMOS haute vitesse peuvent être détruits si une entrée reste flottante, mais le problème le plus courant que l'on observera est l'augmentation de la consommation de courant. Sur les microcontrôleurs de la série PIC, le courant supplémentaire est de l'ordre de centaines de microampères par broche flottante. Pas assez pour endommager l'appareil, mais assez pour avoir un impact important sur la durée de vie de la batterie dans une application qui, autrement, consommerait 5uA. Certaines puces ont des options pour désactiver une entrée numérique; si une entrée est désactivée, elle peut librement rester flottante.

supercat
la source