Quark XXVII .::. Montando el BUS Pirate 3.8 del Free PCB Drawer

En esta entrada ya comenté como los amables chicos de Dangerous Prototypes me habían suministrado una plaquita para montar un BUS Pirate versión 3.8.

Por fin he encontrado un ratillo libre y me he puesto a montarla. Lo primero es hacer recapitulación de los componentes necesarios, no sea que nos falte alguno:

Componentes preparados.

Componentes preparados.

A base de soldadura en pasta y aire caliente, tras un rato de entretenimiento obtenemos esto:

(Shhhhhhhhsss,

(Shhhhhhhh, no se lo comentéis a nadie: C11 está colocado al revés.)

Una vez que el BUS Pirate tiene todos sus componentes adecuadamente soldados en su lugar, sigue siendo un peso muerto. Tiene cuerpo, pero no alma. Éste es el software que, desde el PIC, lo controlará.

El alma del BUS Pirate tiene dos componentes, el primero es el bootloader, que nos permitirá actualizar el segundo componente, el firmware, de una forma sencilla. Para instalarlo en el microcontrolador, que ahora mismo está sin programar, necesitamos un dispositivo adecuado: un programador de PICs. En mi caso utilizaré uno de los que comercializa Microchip, un PICKit3.

Para grabar el PIC del BP necesitamos conectar éste al PICKit3 tal que así:

Conectando el ICSP de forma provisional.

Conectando el ICSP de forma provisional.

Lo más elegante hubiera sido soldar el conector adecuado en los orificios dispuestos para ello, pero es un conector que no se necesita utilizar más que en una ocasión, así que nos lo ahorramos.

El software de programación que utilizaré con el PICKit3 es el suministrado con el entorno de grabación gratuito de Microchip, MPLAB X, llamado IPE.

IPE. El entorno de grabación gratuito de Michochip para sus dispositivos.

IPE. El entorno de grabación gratuito de Microchip para sus dispositivos.

Como vamos a alimentar el BUS Pirate con el PICKit3, necesitamos utilizar IPE en modo avanzado. Para ello pulsamos en Settings -> Advanced Mode:

Pasamos a IPE en modo avanzado.

Pasamos a IPE en modo avanzado.

La interfaz del programa cambia y tenemos acceso a más funciones para controlar el programador.

Una de esas funciones es el control de la alimentación del dispositivo a programar. La encontramos en la sección Power, donde debemos asegurarnos que VDD está a 3.25 y Power Target Circuit from Tool está seleccionado:

Activamos la alimentación a través del PICKit3.

Activamos la alimentación a través del PICKit3.

El LED de PWR del BP se encenderá:

El PICKit3 alimentando el BP.

El PICKit3 alimentando el BP.

Ahora ya podemos conectarnos con el BUS Pirate. Vamos a la sección Operate y seleccionamos nuestro microcontrolador en el apartado Devices. Tenemos un PIC24FJ64GA002. Pulsamos Connect y el PICKit3 alimentará y comenzará la comunicación. Si todo ha ido bien, en la ventana Output debe aparecer el mensaje Target detected. Si no es así debemos comprobar la conexión entre el PICKit3 y la placa del BUS Pirate, así como que hemos elegido el microcontrolador adecuado en el programador.

Conectando con el micro del BUS Pirate.

Conectando con el micro del BUS Pirate.

Ahora hay que seleccionar el fichero que queremos grabar en el PIC, en este caso el correspondiente al bootloader. En Dangerous Prototypes tienes disponible un archivo ZIP con las últimas versiones del software del BUS Pirate, que puedes bajarte desde AQUÍ. Una vez descomprimido, podemos elegir el fichero adecuado desde IPE pulsando en Source -> Browse:

Elección del Bootloader adecuado.

Elección del Bootloader adecuado.

Selecciono BPv3 ya que tengo un BP versión 3, y lo abro. IPE reconoce el archivo como válido y lo carga adecuadamente:

IPE preparado.

IPE preparado.

Con todo listo, pulsamos en Program y en unos poco segundos el PIC del BUS Pirate tendrá grabado el bootloader:

¡Programado!

¡Programado!

Ya podemos cerrar IPE y desconectar el PICKit3 de la placa del BP, ya que no lo necesitaremos más.

En este momento el BUS Pirate está medio vivo, no tiene el software que lo convierte en un verdadero BUS Pirate cargado pero sí tiene instalado el bootloader que nos permitirá de forma muy sencilla cargar en él el firmware, por primera vez en unos momentos, y cada vez que sea necesario cuando aparezcan nuevas actualizaciones.

Para poder cargar el firmware necesitamos un programilla, ds30, que viene incluido en el archivo comprimido que hemos descargado antes desde Dangerous Prototypes. Para que este programa conecte con el BP necesitamos poner éste en modo bootloader. Nada más sencillo, ponemos un puente en la placa del BUS Pirate entre PGC y PGD y lo conectamos al PC con un cable USB. Deben de encenderse los LEDs de PWR, por la alimentación, y el de MODE, al estar en modo bootloader:

Bootloader activado: se enciende el LED de MODE.

Bootloader activado: se enciende el LED de MODE.

Uno de los parámetros que debemos indicar cuando utilicemos ds30 es el puerto serie en el cual tenemos conectado el BP.

El BUS Pirate se conecta a través del puerto USB al PC, pero lo hace a través del integrado que lo acompaña en la placa, el FT232, que se identifica a sí mismo a través del puerto USB como un adaptador RS232. Para poder conectarnos a él necesitamos configurarlo, y ésto se hace a través de Panel de Control -> Administrador de Dispositivos (en Windows):

El puerto que buscamos es: USB Serial Port.

El puerto que buscamos es: USB Serial Port.

Allí buscamos los puertos COM y nos aparecerá nuestro FT232 como USB Serial Port. Anotamos su número de puerto, 13 en mi caso, y abrimos sus propiedades, cambiando la velocidad de conexión a 115200 baudios:

Lo configuramos.

Lo configuramos.

Ya podemos abrir ds30, donde seleccionaremos el puerto que hemos anotado antes y configuraremos la misma velocidad:

Configurando ds30.

Configurando ds30.

Pulsamos en Check for bl y ds30 encontrará nuestro BUS Pirate.

Ahora hemos de cargar el firmware adecuado en ds30. Para ello pulsamos los tres puntitos a la derecha de Hex-file y navegaremos hasta el archivo descomprimido de Dangerous Prototypes:

Firmware adecuado.

Firmware adecuado.

BPv3-firmware-v6.1.hex es el que nos interesa.

ds30 dispuesto para la programación.

ds30 dispuesto para la programación.

Y pasamos a programar: pulsamos Download:

Pulsamos "Download"...

Pulsamos “Download”…

Y comienza la programación:

El Bootloader acepta y carga el Firmware en el PIC.

El Bootloader acepta y carga el Firmware en el PIC.

¡Hecho! Download finished nos confirma que todo ha ido bien:

Terminado correctamente. Nuestro BUS Pirate está listo para su utilización.

Terminado correctamente. Nuestro BUS Pirate está listo para su utilización.

Podemos cerrar la aplicación y desconectar el BP del puerto USB. Recuerda eliminar el puente entre PGC y PGD para que la próxima vez que se conecte no entre en modo bootloader.

Ya tenemos nuestro flamante BUS Pirate preparado y actualizado a la última versión disponible.

Comprobemos que funciona adecuadamente, entonces. Para ello arrancamos nuestro programa de terminal favorito y lo configuramos con los mismos valores de siempre:

  • COM13 (en mi caso)
  • 115200 baudios
  • 8 bits de datos
  • Sin paridad
  • 1 bit de parada

Abrimos la conexión en el terminal y conectamos el BUS Pirate al puerto USB:

HiZ> El BP nos saluda: ¡ESTÁ VIVO!

HiZ>
El BP nos saluda: ¡ESTÁ VIVO!

HiZ>

El BUS Pirate ha hablado.

¡Está vivo!

2 pensamientos en “Quark XXVII .::. Montando el BUS Pirate 3.8 del Free PCB Drawer

  1. Pingback: Quark XXLIV .::. Montando el USB IR Toy v3 del Free PCB Drawer | ELEKTROQUARK

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.