Programación de ATMega16L a través de la interfaz ISP

Lo siento si la pregunta parece tonta, pero realmente necesito la orientación de un experto. Mi pregunta es la siguiente: ¿Cuáles son los pines necesarios para programar un chip ATMega16 sobre la interfaz ISP? Compré una placa de destino ATMega16L de fabricación local. Tengo la intención de utilizar un programador AVR estándar USBASP (diseño Fischl). Desafortunadamente, los encabezados de ISP en ambos dispositivos son diferentes. Estoy realmente confundido sobre qué pines conectar y cuáles no. Mi programador AVR no tiene salida Vcc, mientras que el encabezado ISP de la placa de destino tiene un pin marcado como Vcc. ¿Necesito alimentar mi placa de destino con mi programador mientras escribo en el chip, o la alimentación de CC de mi placa de destino sería suficiente?

El encabezado ISP de mi placa Target tiene los siguientes pines: 1. Vcc (+5V) 2. Gnd 3. MOSI 4. RxD 5. MISO 6. TxD 7. SCK 8. Sin conexión 9. SS 10. RST

Encabezado ISP del programador AVR: 1. MOSI 2. N/C 3. RST 4. SCK 5. MISO 6. N/C 7. N/C 8. N/C 9. Gnd 10. Gnd

Si solo se utilizan los pines MOSI, MISO, RST, SCK y Gnd del programador AVR, ¿dónde conecto los pines Vcc, TxD, RxD, SS del encabezado ISP de destino? Estoy dispuesto a hacer algunas conexiones cruzadas entre el programador y los encabezados ISP de la placa de destino. ¡Por favor ayuda!

Respuestas (2)

Para la programación de ISP solo necesita MISO, MOSI, SCK, RESET y GND.
La conexión Vcc es opcional, si el programador puede suministrar Vcc, entonces puede alimentar la placa desde el programador.
Tenga en cuenta que los dos Vcc nunca deben conectarse si ambos están activos porque creará un cortocircuito. Cuando encienda la placa desde el programador, asegúrese de desenchufar la fuente de alimentación de la placa.

¿Dónde conecto los pines TxD, RxD, SS del encabezado ISP de destino?

No hay necesidad de estos en modo ISP y normalmente no son parte del conector ISP

ingrese la descripción de la imagen aquí

Tenga en cuenta que algunos programadores


Estoy agregando el esquema de conexión que se debe seguir para las líneas de ISP.

Los pines involucrados son:

  • MISO: Amo en Esclavo fuera
  • MOSI: Maestro de salida Esclavo de entrada
  • SCK: Reloj
  • RST: Restablecer
  • TIERRA: Tierra
  • VCC: Fuente de alimentación (opcional, si se usa, la fuente de alimentación de la placa debe desconectarse. También asegúrese de que los niveles de voltaje coincidan, 5v o 3.3v)

ingrese la descripción de la imagen aquí

Las líneas MISO/MOSI no deben conectarse de forma cruzada. MISO es una entrada para maestro y una salida para esclavo y MOSI es una salida para maestro y una entrada para esclavo, por lo que MISO se conecta a MISO y MOSI a MOSI.

Creo (puede alguien más confirmarlo) que algunos ISP requieren la conexión VCC para detectar 5V frente a 3.3V. El mío es el "Pololu USB AVR Programmer v2.1", y el LED correcto no comenzó a parpadear hasta que conecté VCC (avrdude también fallaba al intentar escribir en flash). El AVR en sí se alimenta a través de dos baterías de 1,5 V en todo momento (mientras se programa y se ejecuta).

Los pines requeridos para programar un AVR son:

Programmer Target
MOSI-------MISO
MISO-------MOSI
SCK--------SCK
RESET------RESET
GND--------GND

Con este cableado, debe alimentar el dispositivo de destino desde su propia fuente de alimentación. Verifique que el programador y el dispositivo de destino tengan alimentación de 5V. Si el dispositivo de destino recibe alimentación de un voltaje diferente, probablemente necesite algunos convertidores de nivel adicionales.

Para la programación en serie en circuito, no se requieren otras conexiones.

  • MOSI = Maestro de salida Esclavo de entrada
  • MISO = Master In Slave Out

Entonces MOSI se conecta a MISO, sin necesidad de una cruz adicional.

¡Gracias por la respuesta! Pero aquí hay una pequeña preocupación. ¿Necesito cruzar los pines MISO y MOSI del objetivo y el programador? ¡En muchos tutoriales en línea, he visto que están conectados directamente! El esquema provisto por mi programador avr también muestra conexiones directas.
Actualicé mi respuesta.
Eso tiene sentido, pero de nuevo, echa un vistazo a esto: avrfreaks.net/…
Cambie los dos si no funciona para verificar. ¿Qué dice el manual que viene con el programador?
MISO es Maser In Slave Out y MOSI es Master Out Slave In. No hay motivo para cruzar MISO y MOSI porque MISO es una entrada para el maestro y una salida para el esclavo y MOSI es una salida para el maestro y una entrada para el esclavo. MISO se conecta a MISO y MOSI a MOSI.
El esquema del manual del programador dice: MISO - MISO y MOSI - MOSI. ¡Probaré ambas configuraciones y te responderé muy pronto! ¿Cambia la función de la placa de destino como maestra o esclava durante la operación de escritura? ¿O siempre se comporta como un esclavo? Lo siento, ¡soy muy nuevo en AVR arena! :)
El programador @VinitShandilya es el maestro y AVR el esclavo. No cruce la conexión, conéctela como se muestra en la hoja de datos.