¿Hay algún problema o inconveniente con la retención? RESET baja en ATMEL ATMEGA328P hasta el resto de las autocomprobaciones de la placa?

3

Me gustaría mantener un cajero automático ATMega328P en reinicio durante aproximadamente 4 segundos, mientras que el resto de la placa se comprueba automáticamente al iniciarse. ¿Esta bien? ¿Hay algún problema que haría que mantener el RESET bajo durante este período prolongado de tiempo sea algo malo? Alternativamente, podría apagar la alimentación, pero sería mucho más fácil mantener el restablecimiento bajo, ya que eso se puede hacer con una puerta lógica.

    
pregunta Eraticus

3 respuestas

3

nRESET solo tiene un ancho mínimo mínimo especificado; se puede mantener bajo durante más tiempo que eso, y de manera rutinaria es durante el ISP. Los puertos de salida están desactivados, pero los pines utilizados para ISP (MOSI, MISO, SCLK y XTAL1) permanecen activos para la programación del dispositivo y, por lo tanto, deben activarse por separado si el diseño así lo requiere.

También tenga en cuenta que nRESET puede alcanzar hasta 12V si se permite o requiere la programación en paralelo, y cualquier compuerta tendrá que adaptarse a eso, así como a los otros pines utilizados para la programación en paralelo.

    
respondido por el Ignacio Vazquez-Abrams
2

Manteniendo el Pin de Reinicio bajo pone el ATmega en un modo de programación de bajo voltaje. Que utiliza los mismos pines que la interfaz SPI, y es básicamente SPI. Entonces, si su placa está cambiando los pines MOSI o MISO, y / o el SCK, existe una pequeña posibilidad de corrupción.

    
respondido por el Passerby
1

Como en la mayoría de las hojas de datos del microcontrolador, solo se menciona el tiempo de restablecimiento mínimo (2.5uS para esa parte) y no hay máximo. La hoja de datos no menciona explícitamente los tiempos de reinicio largos, pero no puedo pensar en ningún problema posible. Los programadores de dispositivos a menudo mantienen el dispositivo en restablecimiento durante un tiempo prolongado durante y después de la programación.

Habiendo dicho eso, normalmente solo usaría una línea de E / S para pausar el inicio del firmware hasta que el resto del sistema esté listo a menos que tenga otras razones para generar un reinicio por separado, como una fuente de alimentación que aumenta lentamente.

    
respondido por el PeterJ

Lea otras preguntas en las etiquetas