USBasp
shadow

Con este programador libre podemos cargar nuestros programas en un microcontrolador de la casa AVR, es pequeño, sencillo, funcional y LIBRE.

Veamos alguna más de sus caracteristicas

  • Soporta las interfaces de programación SPI y TPI. Con SPI podemos programar todos los megaAVR y muchos de los tinyAVR. Para aquellos tinyAVR que no soportan interfaz SPI utilizaremos la TPI.
  • Utiliza la librería V-USB de Christian Starkjohann para gestionar la comunicación USB por software,esto elimina la necesidad de un microconotrolador con USB nativo. El firmware está escrito y compilado para el ATmega8 y ATmega88 pero podría adaptarse para cualquier AVR con memoria y pines suficientes.
  • Tiene una velocidad de programación de 5Kb/s
  • Tiene dos jumpers para configurarlo, uno para la alimentación Vcc y otro para reducir la velocidad de programación.
  • Compatible con AVRDUDE

Esquema

Vamos a analizar un poco el circuito:

El microcontrolador
microcontrolador

Empezaremos por el elemento más voluminoso del esquema, cómo ya hemos comentado se trata de un ATmega8, ATmega88 u otro chip que reuna las caracteristicas de memoria y pines de estos dos, siempre y cuando adaptemos el código.

Este microcontrolador se encargará de gestionar la comunicación por USB entre el programador y el ordenador. Para realizar esto necesita tener cargado un pequeño programa, que podeis descargar desde aquí.

Jumpers

En total el USBasp cuenta con tres jumpers,veamos sus funciones:

  • SLOW SCK: Se utiliza para reducir la velocidad de programación. Con el cerrado obligamos al programador a trabajar más despacio. Si estamos teniendo problemas a la hora de programar un chip reducir la velocidad puede ser la solución.
  • Jumper
  • Self Programming: Se utiliza para actualizar el firmware, pero la primera vez necesaremos otro programador para grabarlo en el chip.
  • Supply Target: Se utiliza para seleccionar si queremos alimentar el programador desde el USB o desde una fuente externa. Es importante tener cuidado con él, si estamos alimentando el circuito de forma externa y este jumper esta puesto PODRIAMOS DAñAR EL USB.
Leds

Los dos leds nos aportan información sobre el estado del programador. El led verde se enciende cuando lo conectamos al PC, el rojo cuando esta haciendo tareas de grabación

El conector SPI

El conector SPI es la salida que ofrece nuestro programador para grabar el micro que queramos. Más adelante veremos que se puede uar un zocalo para programar lo que queramos y despues sacarlo de ahí para colocarlo en su ubicación definitiva

Los conectores SPI son especialmente útiles si queremos grabar un micro SMD (de montaje en superficie, es decir, directamente soldado a la PCB). Ya que nos permite volcar en él nuestro programa una vez esta todo el circuito montado.

Vamos a ver los pines que nos ofrece el conector SPI:

SPI

Estos son los pines:

  • MOSI: Cuando funciona como Maestro es la salida de datos, cuando actua de esclavo, es la entrada.
  • NC: No se usa.
  • RESET: Se asegura de resetear el el procesador que vamos a programar antes de comenzar el grabado.
  • SCK: Señarl de reloj
  • MISO: Cuando funciona como Maestro, es la entrada de datos, cuando actua cómo esclavo, es la salida
  • Vcc: Alimentación
  • GND: Alimentación
  • GND: Alimentación
  • GND: Alimentación
  • GND: Alimentación
Usando un zocalo
Zocalo ZIF

Si vamos a programar muchos procesadores o si estos son de tipo DIP (los que necesitan que la placa este perforada para colocarse) y no vamos a realizar muchos cambios en el programa, puede interesarnos utilizar un zocalo externo al programador para realizar la tarea.

Lo ideal es utilizar un zocalo ZIF, ya que evita que el chip pueda dañarse al colocarlo o sacarlo y facilita enormemente esta tarea.

Lo más sencillo es colocarlo en una PCB a parte del programador y conectarlos mediante el SPI. De esta forma cuando nos interese programar así, lo conectaremos y cuando no conectaremos directamente el programador a donde necesitemos.

Otra opción, más barata, es conectar en una protoboard el cable con los pines correspondientes del chip a programar.

Galería de Fotos

Al ser Hardware libre, muchos usuarios han creado sus propias versiones, aquí mostramos algunas de ellas.

skybot v2 skybot v2 skybot v2
skybot v2 skybot v2 skybot v2

nota: La versión que explicamos arriba es la oficial y esta de sobra probado su funcionamiento por muchos usuarios, no pudiendo garantizar lo mismo para los derivados de los ususarios.

Descargas
placa skymega placa skymega placa skymega
Esquema,firmware y drivers Firmware Esquema