Microcontroladores PIC – Curso de aplicación de microprocesadores 1
Hola nuevamente a Artes Electrónicas Pachani, donde voy mostrando mis experiencias con el microcontrolador PIC18F4550, hoy aprenderemos como instalar un bootloader para poder cargar y aprender a programar en lenguaje ensamblador.
.
Definiendo de una manera sencilla podemos decir que: 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 USB para la recepción de bytes de código de programa mandados típicamente desde una PC.
Que es un BOOTLOADER?
Definiendo de una manera sencilla podemos decir que: 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 USB para la recepción de bytes de código de programa mandados típicamente desde una PC.
La anterior imagen define de manera sencilla desde la perspectiva del diagrama de flujo como debe de ser el Bootloader.
Para empezar podemos decir que los Bootloaders llevan ya un tiempo utilizándose en los dispositivos microcontroladores y su uso ha sido fundamental en el éxito de muchas tarjetas de desarrollo como por ejemplo Arduino.
Un punto a destacar sobre el éxito de los mismos se centra en facilitar al usuario una plataforma económica con la que empezar a programar los Firmware de los microcontroladores y para ello es fundamental reducir costos, como el no tener que utilizar un programador externo para cargar las aplicaciones de usuario.
La ventaja de utilizar un Bootloader es que se puede grabar el programa de usuario de manera fácil y sin necesidad de sacar el dispositivo fuera de la placa donde esté montado. Adicionalmente, el software Bootloader ya está configurado para un funcionamiento ‘normal’ del microcontrolador y esto hace que sea innecesario realizar la programación de los Bits de Configuración.
Desventajas de utilizar un Bootloader
Un inconveniente principal e inevitable de utilizar un Bootloader es el espacio de memoria Flash ROM (alrededor de 2kbyte) que implica tenerlo cargado en la memoria del microcontrolador de forma permanente. Pero aun asi el microcontrolador PIC18F4550 posee 32kbyte de programa,
Un punto a tomar en cuenta importante es que cada Bootloader está configurado para un modelo específico de microcontrolador, en este caso el PIC18F4550. Es decir, no se puede usar el mismo programa Bootloader para modelos distintos de microcontroladores PIC, incluso si son de la misma familia.
Ahora otro detalle aunque depende del tipo de aplicación es el momento cuando conectamos el circuito a una fuente de alimentación el programa del usuario no correrá inmediatamente porque se debe esperar 3 segundos hasta que el Bootloader deje de funcionar y de paso al programa del usuario.
En gran medida la siguiente desventaja que tenemos con el Bootloader la imposibilidad de configurar al microcontrolador de manera distinta a la que se diseno el Bootloader en un principio. Ya que esto limita la optimación de los recursos que posee el PIC18F4550 asi como algunas configuraciones para ciertas aplicaciones.
Circuito Mínimo Bootloader USB con el PIC18F4550
Para todos los proyectos, usando el USB mikroBootloader, el circuito a armar es el siguiente:
A partir de el circuito armar una placa de de desarrollo similar o mejor a la siguiente:
Preparación del cable USB
a) Tomar un cable USB de 4 hilos y cortar un extremo. Los cables USB que se usan para
transferencia de archivos tienen cuatro hilos mientras que los que se usan solo para cargar
dispositivos solo cuentan con dos.
b) Soldar cuatro cables de conexión a protoboard respetando el código de colores y aislando cada
cable con cinta adhesiva
- Rojo: + 5 Volt
- Negro: Gnd
- Blanco: D -
- Verde: D +
c) IMPORTANTE: Para evitar posibles daños por corto circuito al puerto USB del computador,
verificar con un multímetro, la polaridad de la alimentación de +5V. Realizar esta tarea
conectando solo el cable USB al computador y midiendo el voltaje entre los pines VCC y GND.
d) La alimentación de +5 Volts para el circuito vendrá del mismo puerto USB.
El puerto USB provee hasta 500 mA de corriente lo que es más que suficiente para alimentar leds,
displays, etc. Solo cuando se requiera mayor corriente, como en el caso de motores, se usará una
fuente externa.
Uso del USB HID mikroBootloader con el PIC18F4550
a) Abrir el software USB HID mikroBootloader
b) Conectar el Circuito Mínimo Bootloader USB al computador personal
Un minitutorial rapido debemos de seguir las siguientes instrucciones para cargar los hex (firmware) de nuestros proyectos de la siguiente manera:
Paso1: Wait for USB link
.
El software auto detectará el Dispositivo (Device: PIC18F4550) y el tipo de microcontrolador (MCU Type: PIC18).
Paso 2: Connect to MCU
En la ventana ‘History Window’ aparecerá el mensaje ‘Connected’ indicando que se realizó una Conexión exitosa.
Paso 3: Browse for HEX
Ubicar el archivo .hex del programa a grabar en el microcontrolador . Aca se nos aparecera una ventana de busqueda donde iremos a seleccionar nuestro proyector a cargar a nuestro microcontrolador.
Paso 4: Start bootloader
El software grabará el programa en el microcontrolador. Este proceso se muestra en la barra de progreso ‘Bootloading progress bar’.
c) La ventana emergente indica que la grabación ha sido exitosa y para que el programa se ejecute se debe hacer Reset en el circuito y esperar tres segundos para que el bootloader termine y de paso al programa de aplicación.
d) Comprobar el funcionamiento del programa en nuestra placa de desarrollo.
Algunas observaciones
Tenemos que tener en mente lo siguientes:
1).- La facilidad de poder cargar nuestros firmware a nuestros microcontroladores de manera inmediata sin necesidad de un programador dedicado .
2).- Una placa de desarrollo similar a arduino con algunas modificaciones nuestras para poder trabajar con placas o módulos que nos ayuden a mejorar nuestras practicas.
Vídeo resumen de todo lo avanzado hasta el momento:
Al final
Todo el material que aquí se encuentra es de mi autoría, ademas de una recopilación de información de Internet de recursos que se pueden descargar como libros en pdf los cuales son usados como referencia para los ejercicios y los ejemplos. Cualquier consulta la puedes realizar en la parte de comentarios.
Bibliografia:
1.- Juan Ricardo Clavijo Mendoza, Diseño y simulación de sistemas microcontrolados en lenguaje C; Publicado el año 2011;[Fecha de consulta 19 de mayo de 2020].
2.-Juan Ricardo Penagos Plazas; Cómo programar en lenguaje C los microcontroladores PIC16F88, 16F628A y 16F877A; Publicado el año 2010; [Fecha de consulta 19 de mayo de 2020].
3.- Eduardo Garcia Breijio; Compilador C CCS y simulador PROTEUS para microcontroladores PIC; Publicado el año 2008; [Fecha de consulta 19 de mayo de 2020].
Software utilizados:
1.- MikroC_PRO_PIC_2016_Build.6.6.3 descargado de la pagina oficial de Microchip.
2.- Proteus v 8.2 , simulado en linuxMint 19,4 por medio del programa Wine. Pero en versiones soporta todas las versiones Guindows.
3.- Editor de texto libre, se puede descargar de Internet, es un editor GNU Linux.
4.- OpenProg , programador de microcontroladores PIC-AVR.
Hardware utilizados:
1.- Placa de Programación basado en los esquemas de OpenProg.
2.- Placa entrenadora desarrollado en base al microcontrolador Pic 18F4550.
3.- Placas modulo de leds , botoneras e interruptores.
1.- Juan Ricardo Clavijo Mendoza, Diseño y simulación de sistemas microcontrolados en lenguaje C; Publicado el año 2011;[Fecha de consulta 19 de mayo de 2020].
2.-Juan Ricardo Penagos Plazas; Cómo programar en lenguaje C los microcontroladores PIC16F88, 16F628A y 16F877A; Publicado el año 2010; [Fecha de consulta 19 de mayo de 2020].
3.- Eduardo Garcia Breijio; Compilador C CCS y simulador PROTEUS para microcontroladores PIC; Publicado el año 2008; [Fecha de consulta 19 de mayo de 2020].
Software utilizados:
1.- MikroC_PRO_PIC_2016_Build.6.6.3 descargado de la pagina oficial de Microchip.
2.- Proteus v 8.2 , simulado en linuxMint 19,4 por medio del programa Wine. Pero en versiones soporta todas las versiones Guindows.
3.- Editor de texto libre, se puede descargar de Internet, es un editor GNU Linux.
4.- OpenProg , programador de microcontroladores PIC-AVR.
Hardware utilizados:
1.- Placa de Programación basado en los esquemas de OpenProg.
2.- Placa entrenadora desarrollado en base al microcontrolador Pic 18F4550.
3.- Placas modulo de leds , botoneras e interruptores.



No hay comentarios.:
Publicar un comentario
Hola, con tu comentario puedes aportar para mejorar la calidad de mi trabajo