Warum sind Dinge wie RESET / MCLR auf den meisten ICs niedrig aktiv?


40

Konvention?

Einfacher zu implementieren?

Ein anderer Grund?

Gibt es einen Grund, warum MCLR oder RESET auf Mikrocontrollern aktiv sind - niedrig, dh, Sie müssen sie nach unten ziehen, um den IC zurückzusetzen, und nach oben ziehen, um den IC "laufen zu lassen".

Ich bin nur neugierig, weil mir das einige Probleme bereitet. Wenn es aktiv hoch wäre, könnte ich den Kondensator auf dem MCLR, der in einigen Fällen erforderlich ist, vermeiden und mich nur mit einem Pull-Down-Widerstand befassen. Es scheint nur die Komplexität zu erhöhen.


Nebenbei bemerkt, wenn Sie keinen guten Boden haben, kann Ihr Boden auch schwingen. Wenn Sie eine Pulldown-Konfiguration verwenden, benötigen Sie möglicherweise noch einen Kondensator am MCLR.
Kellenjb

Antworten:


49

Schauen Sie sich an, was beim Einschalten passiert: Vcc steigt bis zu einem Punkt an, an dem es hoch genug ist, damit alles richtig funktioniert. Dieser Punkt ist jedoch nicht klar definiert und kann von Gerät zu Gerät variieren. Es ist sinnvoll, diese Spannung nicht zum Zurücksetzen des Reglers zu verwenden.
Es ist jedoch einfach, unabhängig von Vcc einen niedrigen Pegel zu halten. Immerhin ist Reset bereits beim Einschalten aktiv, da sich in diesem Moment alles auf einem niedrigen Pegel befindet.

edit
Die folgende Grafik zeigt, wie die Ausgangsspannung des Reset-Controllers ( IC und MC34064 ) niedrig bleibt, bis Vcc hoch genug ist, um den gesamten Mikrocontroller stabil zu halten.

Alt-Text


Das wollte ich fragen.
Kortuk

-1 - Es ist genauso einfach, unabhängig von Vcc einen hohen Pegel zu halten. Sie verwenden einen Pullup-Transistor oder -Widerstand, genauso wie Sie einen Pulldown-Transistor oder -Widerstand verwenden würden. Ihr Argument sagt nichts Besonderes über den Unterschied zwischen den Spannungen an den Stromversorgungsstiften aus. Beim Einschalten gehen sie auseinander und die gültigen Logikpegel sind relativ zur Versorgungsspannung.
Jason S

1
@Jason: Es ist sinnvoller, es auf einem Level zu halten, das immer klar definiert ist, als sich auf ein Level zu verlassen, das sich ständig ändert.
stevenvh

8
Vcc und Gnd ändern sich beide relativ zueinander. Es ist nur Konvention, dass wir Gnd als "konstant" betrachten, wenn es wirklich die beiden relativ zueinander sind. Vcc ändert sich nur im Verhältnis zu Gnd, weil wir es so sehen, anstatt dass Gnd im Verhältnis zu Vcc negativ zunimmt.
Jason S

26

Wikipedia sagt :

Viele Steuersignale in der Elektronik sind Aktiv-Niedrig-Signale (normalerweise Rücksetzleitungen, Chipauswahlleitungen usw.). Dies ist darauf zurückzuführen, dass die meisten Logikfamilien mehr Strom als Stromquellen aufnehmen können , sodass Fanout und Störfestigkeit zunehmen. Es ermöglicht auch eine verdrahtete ODER-Logik, wenn die Logikgatter Open-Collector / Open-Drain mit einem Pull-Up-Widerstand sind. Beispiele hierfür sind der I²C-Bus und das Controller Area Network (CAN) sowie der PCI Local Bus. Die RS232-Signalisierung, wie sie an einigen seriellen Schnittstellen verwendet wird, verwendet Aktiv-Niedrig-Signale.

Hoffe das hilft.


7
Was den Grund für das einfachere Einsinken betrifft, liegt dies daran, dass N-Kanal-MOSFETs (die zum Einsinken in CMOS verwendet werden) eine bessere Ladungsträgermobilität aufweisen (Elektronen fließen besser als Löcher)
Nick T

2
Da bin ich mir nicht ganz sicher. Heutzutage können die meisten ICs ± 20 mA sinken, und ist das wirklich wichtig? 4,7 k (typ.) Werden weniger als 1 mA sein, was die meisten ICs können.
Thomas O

3
@Thomas - 'Sinken ± 20mA' ist keine genaue Aussage darüber, was passiert. Die Quellen- und Senkenströme gehen durch getrennte Transistoren, die für eine gegebene Chipfläche unterschiedliche Spezifikationen haben.
Kevin Vermeer

@reemrevnivek - Entschuldigung, mein Fehler, ich denke, Sinken / Sourcing ist angemessener. In beiden Fällen können sie jedoch viel Strom aufnehmen und beziehen.
Thomas O

3
Auch wenn die heutigen Teile robuster sind, kann es inzwischen nur noch Konvention sein.
JustJeff

8

Zusätzlich zur Antwort von Igor gibt es zwei kleinere Gründe, warum Aktiv-Niedrig-Signale verwendet werden:

  • Zusätzlich zu der Menge des verfügbaren Senkenstroms , die höher als der Quellenstrom ist, ist es für TTL-Schaltungen einfacher, eine Spannung zu erzeugen , die nahe an Masse liegt (nur ein Vce-Abfall), als eine Spannung nahe an Vcc (Vbe-Abfall + gewöhnlich etwas mehr) ).

  • Externe passive Schaltkreise (z. B. Drucktaster oder Endschalter) können sicherer ein aktives Low-Signal erzeugen: Verwenden Sie lediglich einen Pullup-Widerstand auf der Empfangsseite und schließen Sie den betreffenden Schaltkreisknoten auf der Seite der externen Quelle mit dem Massepotential kurz. Wenn Sie ein aktives High-Signal verwenden, müssen Sie Vcc für diese externen Schaltkreise verfügbar machen, wodurch die Gefahr eines Kurzschlusses des Vcc-Knotens mit Masse besteht.


4

Bei niedrigen Pegeln mehr abzusinken und Signale mit niedrigem Aktivitätspegel im Allgemeinen stammen aus den Tagen von TTL - jetzt ist es nur noch eine übliche Konvention. Es gibt keinen Grund, dies zu ändern.


2

Es ist nicht ungewöhnlich, dass verschiedene Teile eines Systems von verschiedenen Versorgungsmaterialien gespeist werden, die eine gemeinsame Grundlage haben. Dies kann daran liegen, dass einige Teile 3,3 Volt benötigen, während andere 2,0 oder 5,0 Volt benötigen. Einige Teile müssen möglicherweise separat von anderen ein- und ausgeschaltet werden, da einige Teile möglicherweise ein elektrisches Rauschen in ihren Netzteilen erzeugen, das andere Teile nicht können zu tolerieren usw. In einigen Fällen funktioniert die Schaltung, die einen Reset erzeugt, möglicherweise nicht oder wird nicht von derselben Versorgung gesteuert, die die CPU betreibt. Es ist kein Problem, den Reset-Generator an einem anderen Netzteil als der CPU zu betreiben, wenn ein Aktiv-Niedrig-Reset verwendet wird und entweder die CPU Spannungspegel über VDD toleriert oder die Reset-Leitung durch etwas, das an die CPU-Versorgung angeschlossen ist, schwach hochgezogen werden kann .

Stellen Sie sich als einfaches Beispiel eine 3-Volt-CPU vor, die mit 5-Volt-Chips verbunden ist. Die externe Schaltung funktioniert auf beliebige Weise nicht mehr, wenn VDD unter 4,75 Volt abfällt und eine Neuinitialisierung erforderlich wäre, nachdem die Spannung über diesen Punkt angestiegen ist. Die CPU selbst ist möglicherweise in der Lage, Code einwandfrei auszuführen, wenn die Netzspannung auf 3 Volt abfällt, kann jedoch möglicherweise nichts Nützliches tun. Der sauberste Weg, um sicherzustellen, dass die externe Hardware nach einem VDD-Anstieg über 4,75 Volt initialisiert wird, besteht darin, die CPU zurückzusetzen, wenn VDD unter diesem Punkt liegt. Die Verwendung eines Open-Collector-Reset-Chips und eines passiven Pullups zum VDD der CPU wäre der einfachste Ansatz.

Der einzige Nachteil dieses Ansatzes zum Behandeln des Zurücksetzens besteht darin, dass ein passiver Pull-up kontinuierlich Strom verbraucht, während das System zurückgesetzt wird. Energiespeicher [Kondensatoren] müssen in netzbetriebenen Systemen vollständig trocken und ohne Beschädigung entleert werden. In Systemen, die mit wiederaufladbaren Batterien betrieben werden, kann das Entladen einer entladenen Zelle zu übermäßigem Verschleiß führen. Sogar in Systemen, die mit Einwegbatterien betrieben werden, kann eine kontinuierliche Stromaufnahme das Risiko einer "Entlüftung" der Batterien in unerwünschter Weise erhöhen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.