7 – USB CDC

MPLAB X IDE - XC8 Compiler

PIC18F4550 / PIC18F45K50

Introducción

En esta práctica se implementa una comunicación USB configurada como CDC (Comunications Devices Class) emulando un puerto serial UART, mediante comandos se controla un LED y se obtiene una lectura del estado lógico del push button integrado llamado BOOT.

Descripción

En esta práctica se realiza la conexión con el puerto USB (Universal Serial Bus) configurado en clase CDC (Comunications Devices Class) emulando un puerto serial, el cual envía indicaciones para el encendido y apagado de un LED, también pregunta el estado de un push button usando el módulo X-TRAINER con el PIC18F4550/PIC18F45K50. Para encender el LED se envía el número 1, si se desea apagar se envía el número 0. Para recibir el estado del push button “BOOT”, se envía el signo “?”, si está presionado recibe el número 0, en caso contrario se recibe el número 1.

Materiales:

1 x Tarjeta X-TRAINER. Manuales | Comprar

1 x Módulo programador XCU o XCU Lite. Manuales | Comprar

1 x Cable micro USB.

Software:

Windows 7 o posterior.

MPLAB X IDE. Descarga

Compilador XC8. Descarga

Software Hercules Descarga

X-TRAINER Suite v1.0 Descarga

MPLAB Code Configurator. (Solo para PIC18F45K50)

Procedimiento

  1. En el apartado de “Diagrama esquemático” selecciona el modelo de tu tarjeta, realiza las conexiones que se muestran en la imagen y conéctala a la computadora.

Las conexiones mostradas en los diagramas esquemáticos son las mismas ya sea que la tarjeta X-TRAINER posea el PIC18F4550 o el PIC18F45K50.

  1. Instala las librerías de Microchip necesarias para esta práctica, en el siguiente link encontrarás un manual de instalación.

  2. Ejecuta MPLAB X IDE y crea un nuevo proyecto con el código fuente que se encuentra en el apartado "Código".

  3. Ejecuta MPLAB X IDE, abre el proyecto “picdem_fs_usb.x” que se encuentra en la ruta donde se instalaron las librerías del paso 2, en este caso la ruta es:

C:\microchip\mla\v2018_11_26\apps\usb\device\cdc_basic\firmware. Imagen de referencia

  1. Sustituye todo el código que se encuentra en el archivo main por el que obtuviste en el paso 3. Imagen de referencia.

  2. Realiza los siguientes pasos para configurar el bootloader y poder programar la tarjeta X-TRAINER:

  • Da clic en File y Project Properties.

  • Selecciona Building, marca la casilla Insert unprotected checksum in user ID memory y da clic en Apply.

  • Selecciona XC8 Linker, despliega el apartado Option categories: y selecciona Memory model. En la sección de ROM ranges escribe 2000-7f00 y da clic en Apply.

  • Despliega nuevamente el apartado Option categories: y selecciona Additional options. En la sección de Codeoffset escribe 2000, da clic en Apply y por último da clic en OK.

  1. Una vez realizadas las configuraciones del bootloader compila el proyecto.

Para compilar el proyecto dirígete a la barra de herramientas superior y da clic en el icono señalado.

  1. Abre el Software X-TRAINER Suite v1.0 en el apartado PIC18F4550/45K50, selecciona el archivo .hex generado al compilar el proyecto y programa la tarjeta.

Si tienes dudas de cómo realizar los pasos anteriores puedes encontrar un manual del Software X-TRAINER Suite v1.0. a través del siguiente link.

  1. Al terminar de programar, la tarjeta X-TRAINER se reiniciará automáticamente y se ejecutará el programa de esta práctica.

  2. En el Software Hercules, abre el apartado “Serial” para lograr la comunicación con el módulo convertidor USB a Serial UART y envía los caracteres de esta práctica. En el siguiente link encontrarás una imagen de referencia del envío de comandos a través del software Hercules.

Nota: En caso de poseer un microcontrolador PIC18F45550 con un cristal de 4 MHz es necesario cambiar los fuses del microcontrolador. Abre el archivo “system.c” ubicado en la carpeta “Source files” (Imagen de referencia) y cambia la línea de código como se muestra en la siguiente Imagen.

Diagrama esquemático

Código

Enlace para acceder al código completo URL

Descargas

Última actualización