¿Cómo escribe un programador ISP AVR en un microcontrolador AVR?

Puede encontrar la respuesta detallada a su pregunta en esta nota de la aplicación.

AVR910: Programación en el sistema

Sin embargo, aquí hay un resumen.

El programador en el sistema es una interfaz de seis cables: MISO, MOSI, SCK, RESET, VCC, GND. De estos, MISO, MOSI y SCK pertenecen al SPI del microcontrolador. Cuando se reinicia el microcontrolador, es decir, el pin de reinicio se mantiene bajo, se habilita el SPI del AVR. Esto continuamente busca un “comando de habilitación de programación” de cuatro bytes. Una vez que se recibe esto, el microcontrolador entra en modo de programación. En el modo de programación, es posible leer / escribir en la memoria byte a byte utilizando comandos de lectura / escritura de cuatro bytes a través de SPI. El programador actúa como el nodo maestro. Básicamente, el programador es un dispositivo que extrae el pin RESET en un Atmega bajo y luego envía varios comandos de cuatro bytes a través de SPI. Es el circuito incorporado de Atmega que hace el trabajo pesado.

Bootloader es un fragmento de código que se ejecuta en Atmega. Está personalizado y puede usar cualquier periférico de comunicación para recibir el archivo hexadecimal. Por ejemplo, el V-USB de Obdev utiliza una implementación de software de USB para recibir el archivo hexadecimal.

Descargadores como AVR ISP básicamente solo envían datos (ese es su programa) al microcontrolador. Ahora, el microcontrolador necesita saber cómo manejar dichos datos. Esto se logra al tener una lógica de hardware dedicada que comprende cómo se estructuran dichos datos. Esto es lo que se llama programación ISP en el microcontrolador AVR.
Descargar usando un gestor de arranque significa que ya hay un programa dentro del microcontrolador que maneja sus datos. La descarga con el gestor de arranque es más flexible y admite cualquier protocolo y medio de transporte que se te ocurra. Sin embargo, para un chip recién salido del horno, la única forma de programarlo es a través del descargador de ISP.
Algunas compañías pueden grabar su propio gestor de arranque en el chip que venden.
La programación usando el gestor de arranque tiene una desventaja. El primero está en algún chip (AVR) que accidentalmente puede sobrescribir su propio gestor de arranque. Si lo hubiera hecho, debe descargar el gestor de arranque utilizando el método ISP. El segundo es que el cargador de arranque necesita el procesador para ejecutarse. Si el procesador no se está ejecutando (por ejemplo, proporcione un reloj inadecuado para el gestor de arranque), entonces no puede utilizar el método del gestor de arranque.

  1. Conecte el pin correspondiente (MISO, MOSI, SCK, RST) del ISP con el pin correspondiente de la MCU de destino.
  2. Suministre Vcc y GND. Asegúrese de que todos los pines Vcc y GND (si hay más de uno) estén en corto respectivamente.
  3. Si la MCU de destino está configurada en el modo Reloj externo / cristal, entonces debe colocar un cristal (generalmente 12-16Mhz) entre el pin XTAL1 y XTAL2

4.Para la serie AT89S, conéctese como se muestra a continuación.

ISP conector lk que …

Existe un protocolo de conversación entre el AVR y el programador ISP. Atmel creó el AVR de una manera que sabe cómo hablar con el programador y comprender sus comandos. Algunos comandos solo leen cosas, otros le indican al AVR que escriba un byte de datos en una determinada dirección de la memoria flash. Es una forma muy ordenada de hacerlo, ya que no necesita ningún voltaje especial, solo use el voltaje operativo AVR estándar, 5V, 3.3V, y así sucesivamente. Los programadores de ISP reales se pueden comprar en eBay por menos de $ 3, se llaman programadores de USBSASP.

escribe código en forma hexadecimal al controlador … hay seis pines que se conectan al controlador mosi, miso, sck, reset.vcc, gnd … ..