Nuestros mejores programadores agotaron sus provisiones de café, en su búsqueda diariamente por la resolución, hasta que Israel encontró la respuesta en Bitbucket por lo tanto en este momento la compartimos aquí.
Solución:
Primero, en la hoja de datos de ATtiny25/45/85, página 161, sugirió que hay una resistencia pull-up interna entre 30 kΩ y 60 kΩ en el pin RESET. Significa que la MCU casi siempre funcionará para un proyecto de pasatiempo. Sin embargo, si el requisito es alta confiabilidad,
Necesito asegurarme de que mi ATtiny no se reinicie inesperadamente.
Luego, debe considerar EMI / RFI y ESD externos. Recomiendo leer AVR040: Consideraciones de diseño de EMC.
Finalmente, debe tenerse en cuenta que el reinicio inesperado es inevitable para cualquier MCU que se enfrente a un entorno hostil a largo plazo, a veces incluso debe activarlo deliberadamente (por ejemplo, a través de un temporizador de vigilancia) para evitar daños por un programa fuera de control. Por un lado, debe tomar medidas de precaución en su circuito para defenderse de reinicios espurios y ESD; por otro lado, debe hacer que su programa sea lo suficientemente robusto como para manejar reinicios inesperados.
El pin de reinicio se levanta internamente y se filtra por fallas, por lo que no necesita una resistencia.
Puede dejar el pin desconectado (sin rastro, ya que un rastro puede captar ruido) y se necesitaría un ruido bastante fuerte para que el chip se reinicie inesperadamente, probablemente lo suficiente como para que sucedan otras cosas malas primero.
Si realmente nunca desea que el chip se reinicie, puede configurar el RSTDISBL
(restablecer deshabilitar) fusible después de programar su firmware. Una vez que se configura este fusible, el pin de reinicio se convierte en un pin IO y no reiniciará el chip incluso si está conectado a tierra.
Tenga en cuenta que después de desactivar el pin de reinicio con RSRDISBL
es más difícil reprogramar el chip ya que es posible que deba usar la programación de alto voltaje (según el ATTINY que esté usando).
No creo que haya una razón técnica por la que no pueda conectar su pin de reinicio directamente a +V, siempre que ya esté programado y nunca haya querido modificar ese programa. Hasta donde yo sé, no hay ninguna función de attiny que requiera que el pin de reinicio se baje (por ejemplo, el temporizador de vigilancia no intenta bajar la línea de reinicio).
Habiendo dicho eso, no hay realmente una buena razón por la que desee tener la línea conectada directamente, y hay bastantes en las que no desearía que se conectara directamente (como programación, reinicio manual, etc.).
El attiny tiene un pull-up interno a VCC, pero es bastante débil (~100k iirc), por lo que las condiciones ambientales podrían provocar un reinicio espontáneo. Si le preocupa esto, debe usar una resistencia pull-up externa. Significa usar un componente adicional, pero es más seguro, especialmente si su pin de reinicio está enrutado a un conector de programación.
Sección de Reseñas y Valoraciones
Agradecemos que desees añadir valor a nuestra información dando tu veteranía en las acotaciones.