No hay respuesta del microprocesador AVR durante la programación

He estado intentando programar algunos microcontroladores diferentes usando nada más que un cable FTDI 5V TTL y un software escrito por mí mismo para conectar los pines necesarios en los chips. Hasta ahora solo he tenido éxito con mis chips AT89S52 pero tengo un problema similar con el resto. El resto siendo un ATmega8, ATtiny13 e incluso un PIC16F84A.

Ninguno de estos chips parece responder en los pines apropiados (MISO, SDO, etc.) durante la programación. Estos pines parecen estar siempre en un estado de alta impedancia y no se tiran ni ALTO ni BAJO.

He comprobado esto con una simple "sonda lógica" LED, mi Arduino como analizador lógico, osciloscopio. Simplemente no hay respuesta de estos chips. Incluso intenté programar desde Arduino con bocetos simples (SPI o bitbang) con exactamente el mismo efecto.

¿Hay algo que me estoy perdiendo o que obviamente estoy haciendo mal? Para todos los microcontroladores, conecté los pines directamente a los cables del cable FTDI (o pines de Arduino) y, en caso de que se requiera programación HV, utilicé el siguiente circuito (que parece funcionar bien cuando estoy midiendo con mi multímetro) :

esquemático

simular este circuito : esquema creado con CircuitLab

Respuestas (2)

Una posibilidad es que los chips que está tratando de programar estén esperando un oscilador externo en lugar de usar sus osciladores RC internos. Sé que cuando programé por primera vez un AVR, tenía los fusibles mal configurados, por lo que para poder programarlo nuevamente, necesitaba agregar un oscilador externo.

éxito sólo con mis chips AT89S52 [...]

Ese viejo chip tiene Restablecimiento activo alto, lo cual es inusual de otra manera.

ATmega8, ATtiny13 e incluso un PIC16F84A

Estos tienen Restablecimiento activo bajo y probablemente necesiten un circuito de restablecimiento diferente.

Tengo diferentes programas para cada chip, por lo que el nivel de reinicio es apropiado para el tipo de chip. El pin de reinicio se baja donde lo requiere el cable apropiado en el cable FTDI o el pin Arduino