ATmega328p no entrará en el modo de programación

1

simular este circuito : esquema creado usando CircuitLab

Estoy tratando de conectar un ATmega328p y Raspberry Pi juntos, comunicándome a través de SPI. El Pi es Maestro y se usa para programar el ATmega cuando se conecta por primera vez (el ATmega está completamente en blanco).

El ATmega no responderá al comando de modo de programación y no puedo encontrar por qué.

Tengo el Pi a 3.3V y el ATmega a 5V (el diseño no permite que el ATmega se ejecute a 3.3V) con un cristal de 16Mhz. Se conectan a través de una palanca de cambio de nivel txb0104 para las 4 líneas SPI, y una resistencia y transistor pull-up para la línea de reinicio.

Viendo las entradas SPI (+ restablecer) al ATmega con un osciloscopio, tengo Reinicio y SS bajando, y SCK & Reloj MOSI en el comando de modo de programación (AC-53-00-00). Luego no recibo respuesta del MISO, y Pi es solo un intento de enviar el comando del modo de programación nuevamente después de 10 segundos.

He comprobado que las líneas SPI van a los pines correctos, y cualquier distorsión del cambio de nivel parece insignificante. También he usado un Arduino-as-isp para programar un ATmega en blanco en la misma configuración, omitiendo el cambio de nivel para que el Atmega se configure correctamente.

¿Hay algún lugar donde probablemente me esté yendo mal aquí? Lo único en lo que puedo pensar es que mi cambio de nivel no es adecuado.

    
pregunta Snowsheer

2 respuestas

0

¿De qué lado del traductor de voltaje estaba sondeando la señal MISO en busca de una respuesta del Arduino?

De acuerdo con su esquema, tiene el lado de 5V en el puerto A y el lado de 3.3V en el puerto B. De acuerdo con la hoja de datos del TXB0104, esto debería ser al revés (5V en realidad excede la calificación máxima para VCCA) .

enlace (consulte las secciones 6.1 y 8.1)

Esto puede estar causando que la salida del Arduino no pase a través del cambiador de nivel.

    
respondido por el cphels
0

¿Cómo está suministrando el 5V para la atmega, con el RPi? Tuve un problema similar para programar un chip cortex-m0 con una frambuesa.

Resolví mi problema conectando la base de la frambuesa con la base del chip.

Espero que te ayude

    
respondido por el LDelhorno

Lea otras preguntas en las etiquetas