Docente: Ing. Roger Guachalla Guachalla Narváez Narváez Diseño con microcontroladores microcontroladores PIC18F en lenguajes MikroC y MikroBasic Docente:
[email protected]
Arranca cador dor Se Seria riall mikro mikroBoo Bootl tload oader er PRACT PRACTICA ICA 04: 04: Arran I. Obje Objeti tivo vos: s:
Configuración del PIC18F4550 en los compiladores MikroC y MikroBasic Armar en protoboard el Arrancador Serial mikroBootloader Utilizar la herramienta incorporada en MikroBasic y MikroC MikroC mikroBootloader para grabar en la memoria memoria flash ROM del PIC18F4550
II. Teoría: A. Configuración del PIC18F4550 PIC18F4550 en los compiladores MikroC y MikroBasic MikroBasic
Los bits de configuración están distribuidos entre 14 Registros de Configuración mapeados a partir de la dirección de memoria 300000h
En los compiladores MikroBasic y MikroC la configuración configuración se realiza accediendo al menú: Pro Projec jectt – Edit Edit Project Project..
En el recuadro ‘Configuration Registers’ observamos los valores configurados (en hexadecimal) para cada registro:
A continuación, se indicarán indicarán los valores recomendados recomendados de los bits de configuración configuración para realizar las prácticas prácticas de laboratorio. Para una explicación detallada de cada uno de los bits de configuración refiérase al inciso ‘L. Bits de configuración del PIC18F4550’ de la guía de Laboratorio: ‘PRACTICA 03: Leds que parpadean con PIC18F4550’ Tómese en cuenta que para la mayoría de las prácticas de laboratorio (excepto para la práctica con el puerto USB), estos valores se mantendrán constantes. (Los valores valores asumen un cristal externo de 4 MHz conectado a OSC1 y OSC2)
Tabla de valores para los bits de configuración recomendados
Una vez configuración los bits, grabar dicha configuración cómo un esquema presionando el boto ‘Save Scheme’ dentro de la ventana ‘Edit Pr oject’ de los compiladores MikroBasic o MikroC. De esta manera al iniciar un nuevo proyecto bastará con cargar el esquema de configuración.
B. Arrancador serial mikroBootloader B.1 ¿Qué es un BootLoader? Un Bootloader es un pequeño programa residente en la memoria Flash de un microcontrolador que se ejecuta después de cada reinicio y que a su vez escucha por el puerto UART para la recepción de bytes de código de programa mandados típicamente desde una PC. Si el bootloader detecta la recepción de un nuevo programa, recibe estos bytes y los almacena en la memoria de programa de usuario en el microcontrolador, de otro modo, rescinde el uso del procesador y pasa el control a un otro programa que haya sido grabado con anterioridad
B.2 Ventajas de utilizar un BootLoader Los BootLoaders llevan ya tiempo utilizándose en el mundo de los Microcontroladores y su uso ha sido fundamental en el éxito de muchos proyectos populares como: Arduino, Pinguino, Netduino, etc. Estos proyectos basan su éxito en facilitar al usuario una plataforma económica con la que empezar a programar los Microcontroladores y para ello es fundamental el abaratar costes, como el no tener que utilizar un programador externo para cargar las aplicaciones de usuario. Estas placas de desarrollo vienen ya con el Bootloader cargado en la memoria flash del PIC, por lo que no se necesita de ningún Hardware adicional para empezar a programar el Microcontrolador insertado en la placa de desarrollo. Pero esta no es la única ventaja de utilizar un BootLoader, otra ventaja la tenemos en que podemos actualizar el programa de usuario cargado en el Microcontrolador de manera fácil y sin necesidad de sacar el Micro fuera de la placa donde esté montado.
B.3 Inconvenientes El inconveniente principal e inevitable de utilizar un BootLoader es el gasto de memoria ROM que implica el tenerlo cargado en la memoria del PIC de forma permanente.
B.4 Diagrama Esquemático del Bootloader Serial
B.5 Grabación INICIAL del software Bootloader en el PIC18F4550 usando un grabador convencional PICKIT2 1. Ingrese al folder de ejemplos donde se instaló el MikroBasic for PIC: C:\Archivos de Programa\Mikroelektronika\mikroBasic PRO for PIC\Examples\Other\Bootloader\P18\32K
2. Con dos clicks sobre el ícono, abra el proyecto: boot_test.mbppi
3. Haga click en la pestaña ‘Project Settings’ y cambie el procesador a PIC18F4550 y la frecuencia a 4 MHz
4. Compile el proyecto haciendo click en el ícono ‘Build’
o presionando ‘Ctrl+F9’
5. Grabe el archivo .hex del proyecto usando un grabador convencional como el PICKIT2
B.6 Uso del mikroBootloader con el PIC18F4550 pre-grabado con el bootloader 1. Usando el menú ‘Tools – mikroBootloader’ abra el software arrancador
2. Cambie el tipo de procesador a PIC18
3. Haga click en ‘Change Setting’, configure el COM1 con una velocidad de 9600 baud y haga click en ‘OK’
4. Conecte el circuito hardware del Bootloader Serial al COM1 (Puerto Serial) del computador y encienda la fuente de alimentación de +5Volt 5. Haga click en el botón ‘Connect’ y luego presione el pulsador ‘Reset’ en el circuito hardware del Bootloader Serial. La ventana indicará que se ha realizado la conexión (‘Connected’)
6. Haga click en el botón ‘Browse for HEX’ y seleccione el archivo .hex que desea grabar en el microcontrolador. La ventana indicará que se ha cargado el archivo .hex
7. Haga click en el botón ‘Begin uploading’ y se iniciará la grabación en el microcontrolador. Posteriormente aparecerá una ventana indicando el éxito de la grabación ( ‘Success’) . Presione el pulsador ‘Reset’ en el circuito hardware del Bootloader Serial. Espere algunos segundos y el programa empezará a funcionar.
III. Procedimiento Experimental en Laboratorio 1) Usando el programador PICKIT2 grabar el software Bootloader en el PIC18F4550 2) Armar en protoboard el circuito hardware del Bootloader Serial 3) Primera Firma: Grabar y probar el funcionamiento del programa ‘Leds que parpadean’ de la práctica anterior (PRACTICA 03: ‘Leds que parpadean’ con PIC18F4550) 4) Modificar la configuración del microcontrolador para operar con el oscilador interno a 8 MHz. Grabar y probar el funcionamiento del programa 5) Segunda Firma: Grabar y probar el funcionamiento del programa en Assembler PIC18F descrito en el numeral III de la sección ‘P. Informe’ de la práctica anterior
IV. Informe de laboratorio 1) Realizar un RESUMEN (a mano) de por lo menos 4 páginas acerca de la tarjeta de desarrollo ARDUINO 2) Realizar un RESUMEN (a mano) de por lo menos 4 páginas acerca de bootloaders que utilizan diferentes puertos o canales de comunicación: Puerto Paralelo, USB, I2C, SPI y CAN 3) Para los programas realizados en los puntos ‘3.’ y ‘5.’ del anterior numeral ‘III. Procedimiento Experimental en Laboratorio’, imprimir la siguiente información:
4) Conclusiones
Firma de Validación del Auxiliar de Docencia Enunciado del Programa Diagrama de Flujo Código Fuente MikroBasic o MikroC Esquemático en ISIS-Proteus