• Project Resources
Situada en la parte superior izquierda. En esta ventana aparecen los recursos del sistema que estamos utilizando. Por defecto nos aparecerán las opciones de configuración de interrupciones (Interrupt Module), puertos I/O (Pin Module) y modo de funcionamiento del sistema (System Module) para la selección de los ajustes de las palabras de configuración y del reloj. Además, en esta ventana se encuentran los botones para generar el código de configuración necesario e incluirlo en nuestro proyecto (Generate) o importar la configuración de nuestro proyecto (Import).
• Device Resources
Situada en la parte central izquierda. En esta ventana aparecen los recursos/periféricos del sistema que tenemos disponibles. Estos recursos los podremos ir añadiendo a los recursos de nuestro proyecto (Project Resources) haciendo doble clic en cada uno de ellos.
• Versions
Situada en la parte inferior izquierda. Nos muestra la versión de MCC que estamos utilizando y nos permite añadir las librerías asociadas a las funcionalidades de los diferentes periféricos.
• Ventanas de configuración
Situadas en la parte central y derecha. Nos permiten seleccionar el modo de funcionamiento del recurso que tengamos marcado en la ventana Project Resources y visualizar qué pines estamos utilizando con cada uno de los recursos en cada momento (Pin Manager: Grid View), las notificaciones o advertencias de MCC respecto a la configuración o los avisos de salida sobre la generación del código de configuración.
La utilización de MCC y la configuración de cada uno de los recursos se irá revisando de forma gradual en los ejemplos que se desarrollarán más adelante. Así, ahora nos quedaremos simplemente con que serán los recursos de la ventana Project Resources los que nos permitan visualizar los módulos con los que vamos a interactuar y los que tengamos que ajustar a través de las ventanas de configuración para generar el código necesario para la inicialización del sistema.
4
HARDWARE COMPATIBLE
El entorno de programación MPLAB® Xpress IDE es compatible con diferentes tipos de hardware, como el debugger/programador PICkit 3 orientado a proyectos con hardware personalizado, las placas de desarrollo con la función de debugger como la Explorer o la Curiosity para sistemas MCU de 16/32 bits y 8 bits respectivamente, y las placas de evaluación de bajo coste (unos 10 €), sin la opción de debugger y orientadas hacia microcontroladores de 8 bits, como la que utilizaremos a lo largo de los ejemplos que aparecen en este libro. Entre estas últimas nos encontramos con diferentes modelos, como la DM164140, que es la que utilizaremos en este libro, pensada para aplicaciones de propósito general; la DM164141, orientada hacia aplicaciones de bajo consumo; la DM164142, que satisface aplicaciones de propósito general con requerimientos más elevados; o la DM164143, pensada para aplicaciones de bajo coste. Las distintas funcionalidades vienen definidas principalmente por el modelo de microcontrolador que lleva integrado cada una de las tarjetas.
4.1 DM164140
La placa de desarrollo DM164140 es una placa de evaluación que, a pesar de no incluir la opción de debugger, nos permitirá desarrollar multitud de aplicaciones. Muchas de estas aplicaciones las podremos probar utilizando los diferentes módulos hardware que integra la misma tarjeta o conectando módulos externos, bien a través de su conector mikroBUS compatible con los módulos click de MikroElektronica®, bien mediante los terminales situados a ambos lados de la tarjeta, que están conectados con los pines del microcontrolador, tal y como se observa en la Figura 4.1.
Figura 4.1 Tarjeta de evaluación DM164140.
A través de los módulos hardware, que incorporan la tarjeta de evaluación, y sus conexiones con el microcontrolador, será posible explorar muchas de las funcionalidades y los modos de funcionamiento de los periféricos. Las conexiones de estos módulos con el microcontrolador se muestran en la Figura 4.2. Entre ellas, podemos observar las conexiones con el conector microBUS , cuatro ledes rojos conectados a los terminales RA0-RA3, un pulsador conectado al terminal RA5, un potenciómetro conectado al terminal RA4, un sensor de temperatura digital (EMC1001) conectado a los terminales RC3/SCL y RC4/SDA del puerto de comunicaciones I2C y las conexiones con el microcontrolador PIC18LF25K50 a través de los terminales RB6/CLK, RB7/DAT y RE2/MCLR (función de programador) y los terminales RC0/TX y RC1/RX (puente para la utilización del puerto de comunicaciones UART), que permitirán la comunicación del microcontrolador con nuestro ordenador mediante la utilización de un emulador de terminal.
Figura 4.2 Conexiones del microcontrolador PIC16F18855 con los módulos hardware.
Tal y como se indicó anteriormente, la tarjeta DM164140 está pensada para el desarrollo de aplicaciones de propósito general. Esta funcionalidad está principalmente dictada por la utilización del microcontrolador PIC16F18855, cuyas características principales y periféricos se describirán en el siguiente apartado. Sin embargo, esta tarjeta no incluye la función de debugger, por lo que no será posible realizar la ejecución de nuestros programas paso a paso para depurar el código y corregir los posibles bugs. A pesar de no contar con la función de debugger, y de forma similar a lo que ocurre con las placas Arduino®, es posible realizar la comunicación entre el microcontrolador y el ordenador utilizando como puente entre ellos el microcontrolador PIC18LF25K50 que se encuentra en la placa, según se muestra en la Figura 4.3. De esta forma, podremos visualizar a través de la pantalla del terminal los mensajes que nos envíe el microcontrolador durante la ejecución del programa y, a través de estos mensajes, podremos obtener la información necesaria para establecer o no la correcta ejecución de este.
Figura 4.3 Conexión entre la placa DM164140 y el ordenador.
Para ello será necesario contar en nuestro ordenador con un emulador de terminal, como Hercules, Teraterm, Coolterm (este último será el que utilicemos en los ejemplos) o cualquier otro similar que nos descarguemos de Internet. Este modo de funcionamiento requiere la instalación de unos drivers adicionales que habiliten este tipo de comunicación a través del puerto USB. La instalación de estos drivers se realiza generalmente de forma automática al conectar el dispositivo, pero hay casos en los que no es así. La solución en estos casos, a pesar de no ser demasiado complicada, no es trivial, por lo que a continuación describiré paso a paso el proceso de instalación manual para aquellos a quienes no se les haya instalado de forma automática.
Instalación de los drivers USB Communication Device Class (CDC drivers)
• Descargaremos los drivers CDC de la página web de Microchip y los extraeremos en una carpeta en nuestro ordenador.
http://ww1.microchip.com/downloads/en/SoftwareLibrary/inf%20-%20Composite%20Device.zip
• Conectaremos la placa DM164140 al ordenador.
• Accederemos al administrador de dispositivos en nuestro ordenador desde el panel de control, o bien haciendo clic con el botón derecho en Equipo y luego en Propiedades.
• En Administrador de dispositivos buscaremos en el desplegable