Después de programar un microcontrolador ATmega a través de la interfaz ISP (SPI) y cambiar los bits de fusibles relacionados con el reloj , me gustaría volver a programarlo. ¿Tendré que conectarlo a un reloj externo ahora para hacerlo, o siempre podré programarlo cronometrando solo a través de la línea SCLK de SPI, sin reloj externo (como en la imagen a continuación)?
(en la imagen de abajo, el programador es una Raspberry Pi)
Hmh, encontré una respuesta a otra pregunta similar :
No necesita ningún circuito de cristal para programar un AVR en blanco fuera de la línea (ya que salen del oscilador interno), pero si intenta reprogramar un chip que está fusionado para un cristal externo, necesitará un cristal comparable y cargue capacitores en el circuito (a menos que use un modo de programación de alto voltaje).
así que por ahora entiendo que la respuesta es que no puedo usar el circuito simple anterior después de cambiar los bits del fusible, tengo que extenderlo con un reloj que coincida con la configuración de los bits del fusible.
Depende de en qué establezca los bits de fusible de la fuente del reloj. La configuración predeterminada suele funcionar con un oscilador interno de 8 MHz dividido en 1 MHz; otras configuraciones incluyen un reloj externo (normalmente en el pin XTAL1) y varios modos de cristal (con un resonador de cristal en XTAL1 y XTAL2). En cada uno de estos modos, se admiten velocidades de reloj hasta CC, por lo que el chip se congelará efectivamente si no recibe una entrada de reloj. Sin embargo, en el modo de oscilador, XTAL2 es esencialmente una amplificación invertida de la entrada XTAL1 solo para hacer que el resonador oscile y, por lo tanto, podría simplemente alimentar un reloj en XTAL1 en todos los casos. Simplemente se ignorará si se utiliza el oscilador interno.
Las dos combinaciones que causan problemas son:
Rdo
Yann Vernier