¿Cómo funciona la función de reinicio automático de Arumino Deumilanove?

8

Me gustaría escuchar algunas explicaciones sobre cómo Arduino Duemilanove restablece el ATMega328P a través del USB a través del transceptor FTDI FT232R.

Sé que implica que el IDE juegue algunos juegos con la señal de protocolo de enlace serial DTR. Después de ver los esquemas, lo que realmente me interesa es saber cómo funciona el circuito:

        100nF           10kOhm
DTR -----||------+------^v^v^----- VCC
                 |
                 +--/RESET

La resistencia de 10k es el levantamiento habitual en la línea de reinicio. Entonces, ¿qué hace el condensador en este circuito?

Como una nota al margen, usé esto como una excusa para tratar de aprender / usar LTSPICE, por lo que no soy un profesional en esta herramienta. Lo modelé en LTSPICE de la siguiente manera, pero me parece que la señal / RESET simplemente coincide exactamente con la señal DTR, lo que realmente no tiene sentido para mí. Modelé la señal DTR como una fuente de voltaje de pulso, tal vez sea el modelo incorrecto. ¿Es la naturaleza del controlador DTR del FTDI (por ejemplo, es un colector abierto) o los elementos internos del pin / RESET en la MCU que no están presentes en el circuito que dibujé lo que hace que todo esto se junte eléctricamente?

También,aquíhayalgunosdelosenlacesrelevantesahojasdedatosyesquemasparareferencia.

pregunta vicatcu

1 respuesta

6

IIRC la tapa está conectada a / RTS no DTR.

Cuando / RTS es alto, hay 0 V a través de la tapa. Cuando / RTS baja la tapa No se puede cambiar el voltaje instantáneamente, por lo que la línea de restablecimiento se apaga. La tapa se carga a través de la resistencia de 10K. Una vez que la línea de reinicio está arriba el umbral de reinicio comienza el programa uC.

@LouisDavis hace referencia a esta página , que dice

  

El ATmega168 se reinicia pulsando su pin de reinicio a GND. ... al establecer la línea DTR en LOW ... el pin de reinicio se succiona a LOW hasta que el capacitor se carga a través de la resistencia de subida interna y R1, que restablece el chip.

Simulado:

Auto-Reset
VDTR    1 0 PWL(0 5 0.5m 5 0.000500004 0 1m 0)
Vcc 3 0 5
C1  1 2 100n
R1  3 2 10k
.control
delete all
tran 10n 5m
plot v(1) v(2)
.endc
.END

V (1) es DTR o /RTS y V (2) es /RESET

    
respondido por el jluciani

Lea otras preguntas en las etiquetas