Circuito de reinicio de estilo Arduino Uno

0

Recientemente llevé un osciloscopio a un circuito de reinicio en una nueva placa en la que estoy trabajando (derivado de WildFire ). Aquí no hay nada que se rompa, U6 es un Atmel ATMega1284P (VCC = 5V), y U8 es un FTDI FT231X (VCCIO = 3.3V, 5V-tolerante). Las partes relevantes del esquema son:

y

yaquíhayunseguimientodelalcancedeloquesucedecuandoDTRsequedaconelchipFTDI.

La línea azul es DTR, la línea amarilla es RESET (no importa las etiquetas). Cuando DTR baja, me mira desde el alcance, que la señal RESET no llega a GND, alcanzando un mínimo en la cúspide de aproximadamente 1.72V antes de 'descargar' de nuevo a 5V.

La cuestión es que el ATMega1284P ciertamente se está reiniciando según lo previsto, pero me preocupa que no esté alcanzando un voltaje lo suficientemente bajo como para estar en especificaciones para un reinicio. La hoja de datos dice que Vlow para RESET es 0.1 * Vcc, que sería 0.5V @ Vcc = 5V, y estoy por encima de 1V aparentemente.

Entonces, (1) puede explicar por qué RESET no llega a GND, y (2) puede sugerir una solución, sin cambiar el diseño fundamentalmente, que obtendrá RESET para caer por debajo de 0.5V cuando las transiciones DTR de 3.3V a GND? Estoy imaginando que la forma de esta solución es algo así como cambiar R11 a un valor diferente, o cambiar C24 a un valor diferente. O alguna combinación por el momento.

¿O simplemente estoy viendo un artefacto de medición? Realmente no se puede ver detrás de la burbuja del cursor en la traza del alcance, pero cuando las transiciones DTR de GND a 3.3V, parece que RESET muestra una señal inversa, subiendo a aproximadamente 6.48V y luego 'descargando' a 5V. No veo cómo ese es un resultado predicho de los circuitos en juego aquí.

EDIT Escribir una pregunta cuidadosamente hace que te mire a la cara a veces. Es porque DTR está en 3.3V y RESET está en 5V. Por lo tanto, lo máximo que puede hacer el C24 es de 3.3V, lo que deja un residuo de 1.7V.

Entonces, la pregunta actualizada es ¿cómo usted solucionaría esto? Tire del restablecimiento de ATmega1284P hasta 3.3V en lugar de 5V?

    
pregunta vicatcu

1 respuesta

1

Recuerdo tener exactamente el mismo problema en un diseño reciente con el FT231X. Tendré que revisar mañana nuestro problema y solución originales, pero creo que la respuesta es reprogramar el chip ftdi para invertir la función DTR (tal vez, o tal vez necesite usar un pin diferente) y usarlo para abrir un drenaje. FET en la red de reinicio.

EDITAR: Lo siento, he recordado completamente nuestro problema. Fue con el uso de CBUS3 como habilitación de potencia en un FT230X (no en la versión completa de reconocimiento). Aún así, si puedes invertir tu señal, la sugerencia debería funcionar.

Tengo que decir que estoy un poco confundido, sin embargo, la funcionalidad DTR es para el protocolo de enlace RS232 y no puedo ver en la hoja de datos cómo se puede usar para reiniciar.

    
respondido por el SpaceCadet

Lea otras preguntas en las etiquetas