Programador ICSP con ARDUINO

Construcción de un programador serie (ICSP) utilizando Arduino. Si no disponemos de un programador, esta es la solución más barata. Sin embargo, tanto el código de Arduino como el software de programación, son específicos para programar el micro-controlador AT89S51/AT89S52… y no sirven para programar cualquier otro modelo.

AT89S52
AT89S52

FICHEROS

En la página del autor del proyecto: TIKTAK’S PROJECTS , encontrarás además de la información de este proyecto, el link de acceso directo a la descarga de los archivos que necesitas. El fichero que debes cargar a tu Arduino para que funcione como programador, y el programa que necesitarás para exportar el archivo hexadecimal (firmware) hacia el micro-controlador AT89S51/AT89S52.

3 de Marzo de 2020

Miguel Berezosky me informa en un comentario que los archivos no los puede descargar. Como el autor de este proyecto parece que los ha eliminado en su alojamiento DropBox, los he subido a mi cuenta para que los podáis descargar:

Arduino_ICSP.rar

INFORMACIÓN

He creído conveniente incorporar esta información en el blog, con el fin de ampliar un poco más los detalles de funcionamiento de este programador, y también porque en este canal tenéis otros proyectos en los que se utiliza el mismo tipo de micro-controlador. Si eres aficionado a la electrónica y no dispones de un programador, este montaje te podría ser de mucha utilidad.

Montaje ICSP
Montaje ICSP

Si quieres fabricarte un programador ICSP (In-Circuit Serial Programming) , solo necesitarás una placa de Arduino -no importa el modelo- y montar el circuito que se muestra a continuación:

Esquema ICSP
Esquema ICSP

El ejemplo siguiente muestra cómo puedes programar un circuito, en el que ya existe una entrada para su programación en serie:

  • ISP (In-system programming) 
  • ICSP (In-Circuit Serial Programming)
Programador ICSP
Programador ICSP

INCONVENIENTES

Existen algunas limitaciones y desventajas si comparamos este programador con otro de tipo convencional. La primera y más importante, es que el software NO permite verificar la integridad de lo que se ha grabado. Si existiera algún error durante la escritura, el software no lo detectaría. En estos casos, lo normal es que el dispositivo programado no llegara a funcionar, pero dependiendo del tipo de error, podría funcionar de manera defectuosa.

La segunda no es tan importante, pero ha tardado 4 minutos en programar los 6.813 bytes del fichero con el que he realizado las pruebas. Con un programador convencional  el proceso completo: borrado, escritura y comprobación, se realiza en algo menos de 13 segundos.