Ist es wirklich eine schlechte Idee, einen MCU-Eingangspin frei zu lassen?

28

Ich habe gehört, dass es schlecht für den Pin ist, wenn ein Pin auf einer MCU schwebt, wenn er als Eingang konfiguriert ist (im Gegensatz zum Standardausgang), und dass er möglicherweise vorzeitig ausfällt. Ist das wahr? Hinweis: In meinem Fall schwebt der Pin aufgrund eines eingehenden Videosignals zwischen 0,3 V und 1,3 V. Dies fällt manchmal in die Niemandszone von 0,8 V - 2,0 V, wenn mit 3,3 V gearbeitet wird.

Thomas O.
quelle
1
Haben Sie das Datenblatt und die Dokumentation zur MCU-Familie überprüft? Sie sollten einige ziemlich eindeutige Antworten haben und Sie können sehen, wie die Pins intern implementiert sind.
XTL
@XTL, ich habe sie durchsucht, aber keine Hinweise darauf gefunden. Sie sagen, dass Floating Pins undefinierte Zustände annehmen können, erwähnen aber nicht, ob dies Probleme verursachen könnte.
Thomas O
Es gibt einen Unterschied zwischen einem potentialfreien Digitaleingang und einem als analog definierten Eingang. Klingt so, als wäre dies ein Analogeingang.
Martin
@Martin Ich kann den Pin nicht als Analogeingang verwenden. Ich habe eine Zeitscheibe von ~ 125 ns für jedes Pixel im Video (25 ns Anweisungstakt), kann also keine einzige Nanosekunde mehr verbrauchen.
Thomas O
2
Welche MCU verwenden Sie, die standardmäßig alle Pins ausgibt ? Das klingt nach einem Rezept für eine Katastrophe.
Connor Wolf

Antworten:

31

Problem: Das
Verlassen eines als potentialfreier Eingang konfigurierten Pins ist gefährlich, da Sie sich nicht sicher sind, wie der Pin ist. Wie Sie bereits erwähnt haben, war Ihr Pin aufgrund Ihrer Schaltung manchmal LOW oder manchmal im Niemandsland oder konnte manchmal auf HIGH gehen.

Ergebnis:
Im Wesentlichen wird der schwebende Eingang definitiv einen fehlerhaften Chipbetrieb oder ein unvorhersehbares Verhalten verursachen. Ich habe festgestellt, dass einige Chips eingefroren sind, indem ich einfach meine Hand näher an das Board herangeführt habe (ich trug kein ESD-Armband), oder einige haben bei jedem Einschalten des Boards ein anderes Startverhalten.

Warum:
Dies geschieht einfach, weil der Pin schwingt, wenn an diesem Pin ein externes Rauschen auftritt, wodurch die Leistung entzogen wird, wenn CMOS-Logikgatter die Leistung entziehen, wenn sie den Status wechseln.

Lösung:
Die meisten Mikros haben heutzutage auch interne Klimmzüge, so dass dieses Verhalten verhindert werden kann. Eine andere Möglichkeit wäre, den Pin als Ausgang zu konfigurieren, damit er die Interna nicht beeinflusst.

IntelliChick
quelle
3
Wenn Sie es als Eingang verwenden, führt es definitiv zu fehlerhaften Eingaben. Beeinflusst es jedoch wirklich andere Teile des Chips und verursacht Startprobleme?
Endolith
3
Wenn ich den Pin ignoriere und ihn nicht für Peripheriegeräte verwende, würde er trotzdem Probleme verursachen?
Thomas O
@endolith und Thomas - ich denke mikeselectricstuff hat das für dich beantwortet! Es könnte Probleme verursachen, indem einfach Rauschen in andere Teile des Systems eingeführt wird. Ich weiß, dass es an dem schwebenden Pin lag, denn sobald ich ihn auf einen Ausgang konfiguriert habe, sind die Probleme weg!
IntelliChick
2
Ich verstehe nicht, wie ein schwebendes Metallstück andere Teile des Systems stören kann. Es nimmt zwar Rauschen auf, aber wenn Sie nicht auf den Eingang achten, sollte das keine Rolle spielen. Hängen die Probleme mit winkenden Händen in der Nähe wirklich mit nicht verwendeten schwebenden Eingängen zusammen?
Endolith
TIL Schwimmstifte sind nicht ungefährlich. Danke IntelliChick und @Yann!
Nick Johnson
13

Es ist ein bisschen schlimmer, als nur in einem unbekannten Zustand zu sein oder unnötig umzuschalten. Heutzutage sind digitale Schaltungen meist vom CMOS-Typ, wobei die Transistoren sowohl die High- als auch die Low-Seite schalten. Wenn wir eindeutige Einsen und Nullen haben, sind sie entweder ausgeschaltet oder gesättigt. Dies sind die beiden effizientesten Zustände für die Transistoren. Dazwischen liegt jedoch ein linearer Betriebsbereich. Es wird für analoge Verstärker verwendet, ist aber nicht so effizient wie die Extreme - was bedeutet, dass mehr Energie als Wärme im Transistor verschwendet wird. Im schlimmsten Fall lecken sowohl der High-Side-Transistor als auch der Low-Side-Transistor auf diese Weise (weil der Pin tatsächlich weder High noch Low ist), und sie können sich dann kombinieren, um einen nennenswerten Strom innerhalb des Chips zu verursachen, wenn sie versuchen, den internen Zustand beide auf High zu treiben und niedrig - möglicherweise dasselbe mit dem nächsten Gate in einer Kettenreaktion. Die Hitze könnte zum Problem werden, auch wenn der Strom nicht ausfällt. Die Lösungen von IntelliChick gelten weiterhin.

Bei Pins, die auch mit ADCs verbunden sind, bieten einige Mikrocontroller die Funktion, den digitalen Eingangspuffer zu deaktivieren, um sowohl dieses Problem als auch eine Signalverlustverzerrung zu vermeiden.

Yann Vernier
quelle
Die Eingänge haben keine Hysterese?
Endolith
3
Schmitt-Triggereingänge tun dies, aber im Allgemeinen nicht.
Yann Vernier
6

In der Praxis ist der Haupteffekt ein erhöhter Stromverbrauch. Wenn ein Pin tatsächlich potentialfrei ist und nicht an eine unbestimmte Spannungsquelle angeschlossen ist, kann es zu Schwingungen kommen, die neben einer erhöhten Leistungsaufnahme auch zu Rauschen in andere Teile des Systems führen können. Jeder Pin, der für einen ADC- oder Komparatoreingang verwendet werden kann, kann den digitalen Eingangspuffer trennen, um dieses Problem zu vermeiden. (DIDR bei AVR, ADCON1 / ANSEL bei PIC)

mikeselectricstuff
quelle
Was genau würde oszillieren und warum?
Endolith
@endolith - Der Eingabepuffer am Pin. Denken Sie an einen invertierenden Puffer mit einem Kondensator zwischen dem Eingang und dem Ausgang.
Connor Wolf
@FakeName: Aber wo ist der Wechselrichter? Wo ist der Ausgang, der auf den Eingang zurückkoppelt?
Endolith
3
Grundsätzlich durchlaufen alle IC-IO-Pins einen Puffer (häufig einen Inverter) auf dem IC-Die . Da der Puffer Drähte für den Eingang und den Ausgang aufweist, kann eine kapazitive Kopplung zwischen dem Eingang und dem Ausgang bestehen. Wenn der Eingang ausreichend hochohmig ist, kann daher ein Übergang am Wechselrichterausgang eine Änderung des Wechselrichtereingangs und damit eine erneute Änderung des Ausgangs usw. bewirken.
Connor Wolf,
4

Im Allgemeinen ist es eine schlechte Idee, den Eingangspin nicht zu verrutschen, da dies zu Folgendem führen kann:

a) Funktionsprobleme - unbekannter Eingangszustand, Umschalten (kann zum Beispiel einen Interrupt mit undefiniertem ISR auslösen, der den Prozessor hängen lassen würde)

b) Erhöhter Stromverbrauch - höchstwahrscheinlich ähnelt das Eingangsgatter einem CMOS-Inverter. Wenn bei dieser Struktur der Eingang weit genug von einer der Schienen entfernt ist (z. B. bei halber Versorgung), fließt ständig ein erheblicher Übergangsstrom.

c) Wenn die Quer über Strom fließt die Phänomene kennen als Injektion heißer Ladungsträger kann tatsächlich Lebensdauer verringern des Gerätes. Das Eingangsgatter kann nur für normales Schalten und nicht für kontinuierliches Leiten ausgelegt sein, so dass das Gerät katastrophal ausfallen kann. Beachten Sie jedoch, dass Sie das Gerät in einem solchen Zustand mehrere hundert Stunden lang bei erhöhter Temperatur aufstellen müssen, damit dies geschieht.

Beachten Sie, dass a) und b) echte Probleme sind, auf die man höchstwahrscheinlich stoßen wird. Was c) betrifft, ist es weniger wahrscheinlich, dass ein Problem auftritt, aber warum sollten Sie ein Risiko eingehen?

mazurnification
quelle
3

Der Eingang wechselt je nach EMI zwischen 0 und 1. Ich bin nicht sicher, ob dadurch der Eingang ausfällt, aber es wird mehr Strom verbraucht, da die Übergänge von 0 zu 1 zu 0 sind.

Setze es auf einen Ausgang und mache es fertig.

Robert
quelle
1
Wenn ich den Ausgang auf 0 oder 1 stelle, wird das Videosignal geerdet und es kommt zu einem Videoverlust.
Thomas O
Können Sie ein internes Pull-up aktivieren und damit fertig werden?
Endolith
Das Aktivieren des internen Pullups sollte gut sein. Es geht darum, es in einen bekannten Zustand zu versetzen und dort zu belassen.
Robert
2

Einige Hochgeschwindigkeits-CMOS-Geräte können zerstört werden, wenn ein Eingang potentialfrei bleibt. Das häufigste Problem ist jedoch der erhöhte Stromverbrauch. Bei Mikrocontrollern der PIC-Serie liegt der zusätzliche Strom in der Größenordnung von Hunderten von Mikroampere pro potentialfreiem Pin. Nicht genug, um das Gerät zu beschädigen, aber genug, um die Batterielebensdauer in einer Anwendung, die andernfalls 5 uA verbrauchen würde, erheblich zu beeinträchtigen. Einige Chips verfügen über Optionen zum Deaktivieren eines digitalen Eingangs. Wenn ein Eingang deaktiviert ist, kann er frei schweben gelassen werden.

Superkatze
quelle