AVR no puede ingresar al modo de programación

1

Tengo un ATMega88PB en una PCB que no entrará en el modo de programación después de cambiar la configuración del fusible a EXTFSXTAL_16KCK_14CK_0MS. Antes de esto, el AVRISP MkII pudo comunicarse con el microcontrolador (desde entonces he cambiado a un Atmel ICE que todavía no puede comunicarse).

Encasodequehayadudasdequehayacambiadolaconfiguracióndeotrosfusiblesincorrectamente,aquíhayunacapturadepantalladelosfusiblesantesdelaprogramación.

Estomeparececonfusoporqueelosciladorparecefuncionarbien.Sihubieraprogramadoelajustedefusibleincorrecto(porejemplo,extclk),entoncesesperaríaqueelosciladorestédeshabilitadoparaahorrarenergía.Comopuedever,estenoeselcaso,conelosciladorfuncionandoligeramentepordebajode20MHz.

formadeondaXTAL2:

formadeondaXTAL1:

Aquíestáelesquemadelcircuitodeloscilador:

He intentado programar el dispositivo a cada velocidad disponible y aún no he tenido suerte. También intenté alimentar una señal de reloj desde el pin CLK0 de un AVR en funcionamiento sin éxito, y he probado con condensadores de carga de 18pF en lugar del 33pF indicado en el esquema.

¿Qué más puedo hacer para que este microcontrolador vuelva a funcionar?

    
pregunta bhillam

1 respuesta

2

Su registro de fusibles bajos es 0xD7. Eso es igual a 0b1101 0111 en binario.

Mirando la hoja de datos, los 4 bits inferiores son los responsables del reloj. Esto se correlaciona con

CKSEL3 = 0, CKSEL2 = 1, CKSEL1 = 1, CKSEL0 = 1.

En la hoja de datos, esta no es una configuración válida, pero puede establecerse en un cristal de baja frecuencia. Las dos configuraciones válidas similares son 0b0100 y 0b0101, ambas son para un oscilador de baja frecuencia. Intente reemplazar el cristal de 20MHz con un cristal de 32.768kHz.

Una frecuencia esperada y una discrepancia de frecuencia real pueden hacer que el procesador no se inicie.

Si eso no funciona, es posible que tenga que usar la programación paralela para recuperar el chip. La programación paralela no requiere un cristal de trabajo y proporciona un reloj externo.

Aquí hay una captura de pantalla de la hoja de datos.

    
respondido por el vini_i

Lea otras preguntas en las etiquetas