Was ist die Funktion dieser Diode in Arduino Uno (zwischen +5 V und Reset)

Ich mache mein eigenes avr-Entwicklungsboard mit atmege32a und schaue mir im Grunde das Design von Arduino Uno-Boards an und versuche, die gemeinsamen Teile für Best Practices wie zum Beispiel Stromversorgung und andere Dinge nachzuahmen

Mir ist aufgefallen, dass sich zwischen der +5-V-Schiene und dem Reset-Pin sowie dem 10-K-Widerstand eine Diode befindet.

Der Widerstand ist für den Pull-up, das ist offensichtlich, aber ich verstehe nicht, was diese Diode an dieser Stelle macht?

BEARBEITEN

Ich habe den gesamten Schaltplan von der Arduino-Website hinzugefügt

https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf

Arduino Uno Dioden-Reset

Ihnen fehlen alle anderen Dinge, die mit dem Pin verbunden sind.
@Ignacio Vazquez-Abrams Es tut mir leid, was meinst du damit? Meintest du, dass der Screenshot nicht groß genug war, um alle notwendigen Details zu enthalten?
Bild aktualisiert!
Drei verschiedene Antworten, die miteinander streiten. Das kann nur bedeuten, dass dies eine sehr gute Frage ist.

Antworten (3)

Ich bezweifle, dass diese Diode ESD-bedingt ist oder dass sie irgendetwas mit einem Hochspannungs-Programmiermodus zu tun hat. Soweit ich weiß, können Sie einen Atmega mit der normalen Versorgungsspannung programmieren (keine Hochspannung erforderlich).

Ich denke, es ist da, um das Nicht-Reset-Signal schnell herunterzuziehen , wenn die 5-V-Versorgungsleitung niedrig wird (aus).

Sehr wahrscheinlich befindet sich an diesem Reset-Eingang ein Kondensator (zu Masse), um die MCU im Reset zu halten, während sich alles einpendeln kann, nachdem die +5-V-Versorgung aktiv wird. Damit dies auch bei einer (kurzen) Unterbrechung der Versorgung der Fall ist, muss dieser Kondensator schnell entladen werden. Das wird diese Diode tun!

Es ist wirklich traurig zu sehen, dass diese falsche Antwort "akzeptiert" wird.
@ChrisStratton Es ist ebenso traurig, wenn solche Bemerkungen gemacht werden, ohne klar zu machen, was (Sie denken) an der Antwort "falsch" ist. Wenn Sie eine bessere Antwort haben, schlagen Sie eine Änderung vor oder schreiben Sie Ihre eigene Antwort, damit wir alle etwas lernen können .
Es wurden bereits die richtigen Antworten gegeben. Du hast es erraten, und du hast falsch geraten.
@Bimpelrekkie Diese Diode hängt mit Sicherheit mit ESD und HVP zusammen. Da die Atmega-Chips die HV-Programmierung unterstützen, fehlt ihnen die ESD-Schutzdiode am Reset-Pin. Da die HV-Programmierung auf Arduino-Boards nicht unterstützt wird, hilft das Hinzufügen einer externen Diode, den Pin zu schützen. Auch gut, ich habe zu meiner Zeit viele AVR-Chips durch unvorsichtigen Umgang mit dem Reset-Pin getötet ... Abgesehen davon könnte Ihre Antwort auch wahr sein.
@ChrisStratton Ich höre immer noch keine anständigen Argumente von Ihnen, warum Sie denken, dass meine Antwort so falsch ist. Ich sehe zwei Personen, die meine Erklärung als "auch möglich" bezeichnen. Nur "es ist falsch" zu sagen, ohne zu erklären, warum Sie das denken, ist nicht hilfreich. Ich erwarte mehr von jemandem mit 21.000 Erfahrung.
Auch dies wurde bereits ausführlich von anderen erklärt .

Hinweis: Obwohl die Antwort von Bimplerekkie gut und vernünftig ist, ist eine andere Erklärung möglich, die auch in einer jetzt gelöschten Antwort von DrFriedParts und begleitenden Kommentaren von Ignacio Vasquez-Abrams angedeutet wurde.

Da ich eine relevante Dokumentation zu dieser anderen Erklärung gefunden habe, denke ich, dass es besser ist, sie hier zu geben (der wahre Grund, warum diese Diode in die Schaltung eingebaut wurde, muss beim Entwickler des Arduino-Boards erfragt werden; beide Erklärungen sind vernünftig und möglich dass beides der Grund war, der zu dieser Designentscheidung geführt hat).


Diese Diode könnte da sein, um den Reset-Pin vor ESD-Ereignissen (elektrostatische Entladung) zu schützen. Tatsächlich haben die meisten Pins der MCU interne Klemmdioden sowohl zur positiven Schiene als auch zur Masse, mit Ausnahme des Reset-Pins, bei dem die Diode zur positiven Schiene fehlt. Dies zeigt diese Application Note von Microchip (Auszüge):


4.9.2. PIN-Schutz zurücksetzen

Während der parallelen Programmierung wird ein 12-V-Signal an den Reset-Pin angeschlossen. Es gibt also keine interne Schutzdiode von Reset auf VCC; es gibt nur einen von GND bis Reset. Siehe die Abbildung unten.

Abbildung 4-6. Pin-Eingangsschutz zurücksetzen

Geben Sie hier die Bildbeschreibung ein

Um beim Reset den gleichen Schutz wie bei anderen I/O-Pins zu erreichen, sollte eine externe Diode zwischen Reset und VCC angeschlossen werden. Eine normale Kleinsignaldiode reicht aus. Zusätzlich sollten ein Pull-up-Widerstand (10 kΩ typisch) und ein kleiner Filterkondensator (4,7 nF) angeschlossen werden, wie in der Abbildung unten gezeigt.

Abbildung 4-7. Empfohlene Reset-Pin-Verbindung

Geben Sie hier die Bildbeschreibung ein

All dies wird natürlich nicht benötigt, wenn Reset direkt mit VCC verbunden ist, aber dann ist externes Zurücksetzen und In-System-Programmierung (ISP) ebenfalls deaktiviert.

Wenn ein hoher ESD-Schutz des Reset nicht erforderlich ist oder durch andere Komponenten erreicht wird, kann die Diode weggelassen werden. Der Widerstand und der Kondensator werden dennoch für ein optimales Reset-Verhalten empfohlen.


Diese Erklärung wird auch durch ein anderes Dokument unterstützt, nämlich Microchips AN2519 - AVR® Microcontroller Hardware Design Considerations (Auszüge):


3. Anschluss des RESET-Pins an AVR-Geräten

[...]

ESD-Schutzdiode wird nicht intern von Reset auf VCC bereitgestellt, um HVPP zu ermöglichen. Wenn HVPP nicht verwendet wird, wird empfohlen, eine ESD-Schutzdiode extern von Reset zu VCC hinzuzufügen. Alternativ kann eine Zenerdiode verwendet werden, um die Reset-Spannung gegenüber GND zu begrenzen. In lauten Umgebungen wird eine Zenerdiode dringend empfohlen. Die Komponenten sollten sich physisch in der Nähe des RESET-Pins des AVR-Geräts befinden. Eine empfohlene Beschaltung einer Reset-Leitung ist im folgenden Schaltbild dargestellt.

Abbildung 3-1. Empfohlene Reset-Pin-Verbindung

Geben Sie hier die Bildbeschreibung ein


Beachten Sie, dass sowohl der Kondensatorwert (100 nF) als auch der Pull-up-Widerstandswert (10 kΩ) mit den Angaben in diesen Anwendungshinweisen kompatibel sind. Daher ist der Designer möglicherweise nur diesen Hinweisen gefolgt.

Übrigens, die Tatsache, dass meine Erklärung das wahre Motiv im Kopf des Designers sein könnte, wird auch durch das gestützt, was wir in einem anderen Teil des Arduino UNO-Schemas finden (Hervorhebung von mir):

Geben Sie hier die Bildbeschreibung ein

Wie Sie sehen können, befindet sich an derselben Position auch eine Diode am Reset-Pin der ATmega 16U2 MCU (die MCU, die als USB-zu-UART-Brücke fungiert). In diesem Fall gibt es jedoch keinen zu entladenden Kondensator, daher erweist sich die ESD-Schutz-Erklärung als durchaus vernünftig.

In Ihrem Bild fehlen noch relevante Dinge im Schaltplan. Der USB-Chip kann die DTR-Leitung umschalten, um ZU4 zurückzusetzen. Dann ist D2 da, um zu verhindern, dass die RESET-Leitung eine zu hohe Spannung erhält, die sich aus dem Ladezustand von C5 ergibt.

Ich wollte nicht den ganzen Schaltplan hierher bringen, weil es nicht klar sein wird, da die Elemente klein sein werden, um sie zu erkennen! Es ist Open Source und online verfügbar unter arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf