«

»

Mar 11

Utilizar un clon de Pickit2 como programador AVR y no morir en el intento.

Aunque lo mío siempre ha sido la programación de los microcontroladores de Microchip, últimamente he tenido algún encuentro con Arduino y con los micros de Atmega. Arduino lleva precargado un bootloader y además hay programadores para AVR bastante baratos, pero navegando por internet encontré algo de información acerca de como utilizar un programador para PIC muy extendido, el pickit2, como programador AVR y he decidido recoger en esta entrada mi experiencia con el tema.

Yo tengo un clon de pickit2 que se llama icp02, tiene 6 pines para la programación (RST,Vdd,GND,PGD,PGC y AUX). El programador está basado en un PIC18F2550 y lleva un bootloader que permite cargar diferentes versiones del firmware fácilmente desde el software original de microchip.

Hay dos formas de “emular” un programador AVR con el pickit2:

  • PK2AVRISP – La menos invasiva consiste utilizar un emulador de puertos serie y un programa que convierte las secuencias de programación del AVR en comandos del pickit2. No hay que cargar ningún firmware nuevo, ni modificar para nada el pickit2, sólo instalar software y pelearse con él hasta que funcione. (Fuente (en inglés): http://dangerousprototypes.com/2010/04/07/program-your-avr-with-pickit2/)
  • PKAVRISP_MKII – Modificar el firmware del pickit2 para que el ordenador lo vea como un programador AVRISP MKII. Cuidado porque puede que no vuelvas a tener un pickit 2, si no eres capaz de volver a cargar el firmware original. (Fuente (en ruso): http://kazus.ru/forums/showthread.php?t=97703)

Antes de continuar señalaré un par de cosas:

  • Necesitamos un pickit2 con las 6 líneas de control cableadas. Si tienes sólo 5 posiblemente podrías modificar el circuito para añadir la línea AUX directamente con un cable desde la pata 6 del 18F2550.
  • Si tu pickit2 tiene un botón, puedes poner el programador en modo bootloader y restaurar el firmware de microchip en cualquier momento, por lo que la segunda opción no tiene demasiado riesgo, en caso contrario (como me ocurría a mí) puedes dejar el programador en un estado inutilizable, sin poder cargar el firmware antiguo.

Diré que yo me decanté por la opción de modificar el firmware, pero después de hacerlo me di cuenta de que no había vuelta atrás, por lo menos en mi programador. Buscando un poco descubrí que el problema no era muy grave, ya que el bootloader del 18F2550 se puede lanzar pulsando el botón de arranque del pickit2 original durante el reinicio del procesador y luego usar el software de microchip pickit2 para restaurar el firmware con la opción “Download pickit2 operating system”. Aunque como yo no tenía botón tuve que hacerme uno.

Vamos pues al lío modificando primero el programador original para poner un botón donde no lo había.

Nos vale el esquema de un clon del pickit2 para hacernos una idea:

Esquema pickit2

(Fuente: http://www.inventable.eu/2013/03/27/062-programador-de-pics/)

El pulsador está conectado a la pata 26 del micro, con una resistencia de pullup de 10k, y vemos otra cosa por si no tienes la versión de 6 hilos del programador, la señal AUX se podría sacar de la pata 6.

Yo tengo AUX, así que simplemente he abierto el termorretráctil que protege la placa y he soldado la resistencia de pullup y el pulsador.

Modificación

El pulsador iría soldado entre la pata 26 y 0 voltios.

pickit2 con botón

Para probarlo, pulsamos el botón y a la vez enchufamos al USB, si todo va bien el led de funcionamiento que normalmente está fijo se pondrá a parpadear. Podemos asegurarnos mejor siguiendo los pasos que hay al final del artículo para restaurar el firmware original.

Ahora descargamos la versión más nueva del firmware de emulación (2.3) desde aquí PKAVRISP_MKII. Si no va el enlace busca en el foro ruso (http://kazus.ru/forums/showthread.php?t=97703&page=31) o en la página http://elena-march.narod.ru/

Es importante utilizar la versión 2.3 , ya que la anterior no funciona bien con el AVR Studio 6.2.

Ahora descomprimimos el fichero PKAVRISP_MKII_v2-3_test.hex y desde el software de PICKIT2 lo cargamos utilizando la opción del menú de actualizar el sistema operativo. Al terminar  nos dará un error, ya que pierde la comunicación con el programador, pero ahora será el AVR Studio el que nos detecte correctamente el programador como un AVRISP MKII.

AVR Studiomega328p

Sólo queda conectar los pines del programador de la siguiente manera:

PICKit-2
PICkit-2 AVRISP-mkII
1 Vpp/MCLR RESET
2 Vdd_TGT VTARGET
3 GND GND
4 ICSPDAT/PGD MISO
5 ICSPCLK/PGC SCK/CLOCK
6 AUX MOSI/DATA

 

Para volver a tener un pickit2:

  • Desenchufamos el USB
  • Pulsamos el botón
  • Enchufamos el USB y esperamos a que el led parpadeé
  • Arrancamos el software de PICKIT2 que nos dirá que no tenemos el sistema operativo cargado. Nos metemos en el menú “Download pickit2 Operating System” y buscamos el fichero PK2V023200.hex que normalmente estará en la carpeta “C:\Program Files (x86)\Microchip\PICkit 2 v2”

Eso es todo. A disfrutar del nuevo programador.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies