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
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!
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
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
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
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):
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.
Ignacio Vazquez-Abrams
Muhammad Nur
Muhammad Nur
Rohr