Iniciación a la programación de los PIC32

 

logo PIC32Con este artículo empezamos con una serie de ejemplos dedicada a la programación de los PICs de la gama alta de Microchip, los de 32 bits. Primeramente voy a describir las diferentes herramientas que necesitaremos para empezar a experimentar con estos dispositivos, que empezaron su andadura a finales del 2007 y que a pesar de que ya hay abundante documentación y ejemplos en ingles, la información en Español es escasa por no decir nula.

 

 

Hardware necesario

Microchip ha desarrollado dos tipos de kit básicos de aprendizaje para el desarrollo con estos dispositivos:

 

  • La placa de desarrollo Explorer 16:

 

Plataforma Explorer 16

 

Como se ve en la figura de arriba, además de la placa se necesitan los módulos que incluyen los Microcontroladores que pueden ser de 16 ó 32 bits. Y tendremos que tener también el programador/depurador: ICD2, ICD3 ó el MPLAB REAL ICE.

 

  • La plataforma Starter Kit

 

Plataforma Starter Kit

 

A medida que microchip a ido mejorando las funcionalidades de estos PIC ha ido sacando nuevos kit para esta placa de desarrollo, actualmente disponemos de los siguientes: DM320001, DM320003, DM320004. Esta última incluye un PIC de la familia PIC32MX7 con 128 kbytes de memoria RAM, conectividad Ethernet de 10/100 Mbit/s, dos controladores CAN 2.0b, USB Host, Device y OTG, 6 puertos UART, 5 puertos I2C , 4 SPI y 16 canales de DMA.

 

Estos tres kit tienen muy limitado su comunicación con el exterior, solo disponen de tres leds y tres pulsadores conectados de manera fija al puerto D. Para mejorar esto se incluye como opcional (yo diría imprescindible) una placa de expansión la DM320002:

 

Placa de expansión

 

Para ello el Starter Kit dispone de un conector en la parte de atrás que permite su conexión con la placa de expansión:

 

Conector Starter Kit

 

Y que nos permite tener acceso a todos los pines del Microcontrolador. En la figura de abajo se muestra el Starter Kit ensamblado en la placa de expansión.

 

Starter kit con placa de expansión

 

¿la cuestión es que kit elegir?

La placa de desarrollo Explorer 16 ó Starter Kit. Cualquiera de ellas sirve para empezar a programar estos dispositivos, sin embargo personalmente he preferido el Starter Kit + la placa de expansión. Este kit permite programar y depurar nuestro programa directamente desde el MPLAB, sin necesidad de ningún programador adicional, para ello el kit incluye el PIC18LF4550, que sirve para controlar la comunicación USB entre el MPLAB y el PIC 32, además si tenemos la placa de expansión nuestro kit de aprendizaje se convierte fácilmente en una placa para desarrollar prototipos ya que podemos conectar cualquier placa que desarrollemos nosotros mismos directamente a los pines del PIC, como veremos más adelante en el ejemplo que vamos hacer.

Software necesario

  • MPLAB: El famoso IDE de desarrollo de Microchip que ha utilizado desde siempre para facilitar la edición y depuración de  programas en los PIC de todas sus familias. Aunque no es software libre es gratis y se puede descargar desde la página de Microchip desde aquí
  • Compilador: los PIC32 son totalmente diferentes en arquitectura a sus sucesores, en este caso Microchip en vez de desarrollar su propio núcleo de microprocesador a adquirido el MIPS32 M4K, el cual ha mejorado y adaptado a los puertos y periféricos que disponen todos los PIC. El MIPS32 está pensado para ser programado en C, aunque es posible programar un PIC32 en ensamblador y Microchip incluye algunos ejemplos de como hacerlo, es mucho más difícil que hacerlo con uno de 8 bits.  Compiladores de C disponibles para estos PICs tenemos el MPLAB C32 compiler de Microchip que dispone de una versión de estudiante cuya única limitación es que como máximo permite generar 64 KB de código compilado,  HI-TECH (Recientemente adquirido por Microchip) que también dispone de una versión Lite, De momento CCS no dispone de ninguna versión de compilador que soporte estos dispositivos, es lógico pensar que tarde o temprano se actualice si no quiere quedarse atrás con respecto a otros compiladores. Puede que mucha gente piense que para las aplicaciones que hace con microcontroladores no necesitará nunca un microcontrolador de 32 bits y que con los que hay de 8 y 16 bits les llega mas que sobrado, sin embargo puede que al final esta tecnología se abarate y acabe por imponerse y tengamos que utilizar un PIC32, aunque solo sea para hacer parpadear un led (esto son solo suposiciones mías), pero sin duda es algo a tener en cuenta a la hora de decidirse a aprender a programar estos dispositivos.

Nota: Buscando en Internet encontré byvac un interprete en basic para PIC32.

 

El compilador que voy a utilizar en este primer ejemplo y en posteriores será el C32 de Microchip.

Comenzando la instalación del Software

El kit de desarrollo Starter Kit incluye: la placa, el software, el cable USB de conexión con el ordenador y el código fuente de varios ejemplos, es decir, todo preparado para que en menos de media hora hayamos compilado y probado nuestro primer ejemplo.

 

Kit completo starter kit

 

La instalación del software es de lo más sencillo, al estilo windows: siguiente-> siguiente y FIN.

 

Instalación Starter kit (1)

 

Pulsamos sobre instalación desde el CD y el asistente nos indica las aplicaciones que se van a instalar, según se muestra en la figura de abajo se instalará en nuestro ordenador: el IDE MPLAB, el compilador C32 (versión de evaluación) y los proyectos de ejemplo.

 

Instalación Starter Kit (2)

 

Crear nuestro primer proyecto

Vamos a ver paso a paso como crear nuestro primer proyecto para PIC32, como compilarlo con el compilador C32 y ejecutarlo en la placa Starter Kit.

 

1.  Abrimos el MPLAB y seleccionamos Project --> Project Wizard...

Proyecto 1

 

2.  Pulsamos siguiente para iniciar la creación del proyecto con el asistente.

 

Proyecto 2

 

3.  En la siguiente ventana seleccionamos el tipo de PIC

 

Proyecto 3

 

4.  Seleccionamos el compilador C32

 

Proyecto 4

 

5.  Le damos el nombre a nuestro proyecto y lo guardamos en el directorio que queramos.

 

Proyecto 5

 

6.  Añadimos los archivos existentes a nuestro proyecto. Como vamos a crear un proyecto desde cero, no añadimos ninguno y   pulsamos sobre siguiente:

 

Proyecto 6

 

7.  Pulsamos en finalizar para que el MPLAB nos genere los archivos de nuestro proyecto

 

Proyecto 8

 

8.  Ahora viene el paso más difícil, escribir el código fuente de nuestro primer programa para el PIC32. Podría haber elegido uno de los que trae Microchip en los ejemplos del kit. Pero teniendo en cuenta que sigue abierto el curso de programación PIC en C con el compilador CCS y que no lo voy a dejar a medio, lo que voy hacer es adaptar los ejemplos que vayamos realizando en el tutorial de CCS a este compilador. Esta claro que no nos servirán las funciones pre-construidas que incorpora CCS, pero estamos trabajando en C un lenguaje de alto nivel, veremos que todo lo que cumpla con el estándar es aplicable a este compilador también.

 

Quizás la mayoría asocie las aplicaciones con PIC32 con aplicaciones avanzadas que utilizan la pila de comunicación TCP/IP ó un ejemplo que incluya la comunicación con un puerto USB 2.0. Sin duda con este tipo de aplicaciones es donde sacaremos el mayor partido a estos microcontroladores, pero este va ha ser un tutorial que va a empezar desde cero con este tipo de PIC, al estilo del curso de programación en C con CCS, por lo que sus ejemplos trataran de como ir poco a poco utilizando los recursos de este PIC: Puertos de E/S, timers, convertidores A/D, ejemplos con teclados, LCD, etc. Recursos que son comunes a los PIC de categorías inferiores, pero que son imprescindible conocer también en este tipo de PIC. Así que como primer ejemplo vamos a empezar con uno que ya teníamos hecho, la secuencia de luces utilizando operadores matemáticos

 

© 2007-2017 AquiHayapuntes.com