Cuál es la función de este diodo en arduino uno (entre +5V y reset)

Estoy haciendo mi propia placa de desarrollo avr usando atmege32a y básicamente estoy investigando el diseño de la placa Arduino uno y trato de imitar las partes comunes para las mejores prácticas como, por ejemplo, energía y otras cosas.

He notado que hay un diodo entre el riel de +5V y el pin de reinicio y también la resistencia de 10K.

La resistencia es para el pull-up que es obvio, pero no entiendo qué hace este diodo en este lugar.

EDITAR

He agregado todo el esquema del sitio web de arduino

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

Reinicio de diodo Arduino Uno

Te estás perdiendo todas las otras cosas conectadas al pin.
@Ignacio Vazquez-Abrams Lo siento, ¿qué quieres decir? ¿Quisiste decir que la captura de pantalla no era lo suficientemente grande como para contener todos los detalles necesarios?
Actualizada la imagen!
Tres respuestas diferentes , discutiendo entre sí. Eso solo puede significar que esta es una muy buena pregunta.

Respuestas (3)

Dudo que este diodo esté relacionado con ESD ni que tenga nada que ver con un modo de programación de alto voltaje. Hasta donde yo sé, puede programar un Atmega desde el voltaje de suministro normal (no se necesita alto voltaje).

Creo que está ahí para bajar rápidamente la señal de no reinicio cuando la línea de suministro de 5 V se vuelve baja (apagada).

Es muy probable que haya un capacitor (a tierra) en esa entrada de reinicio para mantener la MCU en reinicio mientras permite que todo se estabilice después de que el suministro de +5 V se active. Para garantizar que esto también suceda cuando el suministro se interrumpa (brevemente), ese capacitor debe descargarse rápidamente. ¡Eso es lo que hará este diodo!

Es realmente triste ver esta respuesta incorrecta "aceptada".
@ChrisStratton Es igualmente triste cuando se hacen comentarios como ese sin dejar en claro qué (piensas) está "incorrecto" en la respuesta. Si tiene una respuesta mejor, sugiera un cambio o escriba su propia respuesta para que todos podamos aprender algo .
Ya se han proporcionado las respuestas correctas. Adivinaste, y adivinaste mal.
@Bimpelrekkie Ese diodo ciertamente está relacionado con ESD y HVP. Debido a que los chips atmega admiten la programación HV, carecen del diodo de protección ESD en el pin de reinicio. Dado que la programación HV no es compatible con las placas Arduino, agregar un diodo externo ayuda a proteger el pin. Lo bueno también es que he matado muchos chips AVR en mi día por el manejo descuidado del pin de reinicio ... Dicho esto, su respuesta también podría ser cierta.
@ChrisStratton Todavía no escucho ningún argumento decente de tu parte por qué crees que mi respuesta es tan incorrecta. Veo a dos personas refiriéndose a mi explicación como "también posible". Simplemente decir "está mal" sin ninguna explicación de por qué crees que no es útil. Espero más de alguien con 21k de experiencia.
Nuevamente, esto ya ha sido ampliamente explicado por otros .

Nota: Aunque la respuesta de Bimplerekkie es buena y razonable, es posible otra explicación, que también se insinuó en una respuesta ahora eliminada de DrFriedParts y los comentarios adjuntos de Ignacio Vasquez-Abrams.

Dado que encontré documentación relevante sobre esta otra explicación, creo que es mejor darla aquí (la verdadera razón por la que se colocó ese diodo en el circuito se debe preguntar al diseñador de la placa Arduino; cualquiera de las dos explicaciones es razonable y es posible que ambos fueron el motivo que motivó esa decisión de diseño).


Ese diodo podría estar allí para proteger el pin de reinicio de los eventos de ESD (descarga electrostática). De hecho, la mayoría de los pines de la MCU tienen diodos de sujeción internos hacia el riel positivo y la tierra, excepto el pin de reinicio, que pierde el diodo hacia el riel positivo. Esto se muestra en esta nota de aplicación de Microchip (extractos):


4.9.2. Restablecer protección de clavija

Durante la programación en paralelo, se conecta una señal de 12 V al pin de reinicio. Por lo tanto, no es un diodo de protección interna de Reset a VCC; solo hay uno de GND a Reset. Vea la figura a continuación.

Figura 4-6. Restablecer protección de entrada de pin

ingrese la descripción de la imagen aquí

Para lograr la misma protección en Reset que en otros pines de E/S, se debe conectar un diodo externo desde Reset a VCC. Un diodo de pequeña señal normal servirá. Además, se debe conectar una resistencia pull-up (típica de 10 kΩ) y un condensador de filtro pequeño (4,7 nF) como se muestra en la figura a continuación.

Figura 4-7. Conexión de pin de reinicio recomendada

ingrese la descripción de la imagen aquí

Todo esto, por supuesto, no es necesario si el reinicio está conectado directamente a VCC, pero luego el reinicio externo y la programación en el sistema (ISP) también están deshabilitados.

Si no se requiere una alta protección ESD de Reset, o se logra mediante otros componentes, se puede omitir el diodo. Se siguen recomendando la resistencia y el condensador para un comportamiento de reinicio óptimo.


Esta explicación también está respaldada por otro documento, es decir, AN2519 de Microchip - Consideraciones de diseño de hardware del microcontrolador AVR® (extractos):


3. Conexión del pin RESET en dispositivos AVR

[...]

El diodo de protección ESD no se proporciona internamente desde Restablecer a VCC para permitir HVPP. Si no se usa HVPP, se recomienda agregar un diodo de protección ESD externamente desde Restablecer a VCC. Alternativamente, se puede usar un diodo Zener para limitar el voltaje de reinicio relativo a GND. Se recomienda encarecidamente un diodo Zener en entornos ruidosos. Los componentes deben ubicarse físicamente cerca del pin RESET del dispositivo AVR. En el siguiente diagrama de circuito se muestra un circuito recomendado de una línea de reinicio.

Figura 3-1. Conexión de pin de reinicio recomendada

ingrese la descripción de la imagen aquí


Tenga en cuenta que el valor del condensador (100 nF) y el valor de la resistencia pull-up (10 kΩ) son compatibles con las indicaciones proporcionadas en esas notas de aplicación. Por lo tanto, es posible que el diseñador se haya limitado a seguir esas indicaciones.

Por cierto, el hecho de que mi explicación podría ser el motivo real en la mente del diseñador también está respaldado por lo que encontramos en otra parte del esquema de Arduino UNO (énfasis mío):

ingrese la descripción de la imagen aquí

Como puede ver, también hay un diodo en la misma posición en el pin de reinicio de la MCU ATmega 16U2 (la MCU que actúa como un puente USB a UART). En este caso, sin embargo, no hay condensador para descargar, por lo que la explicación de la protección ESD resulta bastante razonable.

Hay cosas relevantes en el esquema que aún faltan en su imagen. El chip USB puede alternar la línea DTR para restablecer ZU4. Entonces D2 está allí para evitar que la línea RESET obtenga un voltaje demasiado alto como resultado del estado de carga de C5.

¡No quería traer el esquema completo aquí porque no estará claro ya que los elementos serán pequeños para reconocerlos! Es de código abierto y está disponible en línea desde aquí arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf