P04 Bootloader Serial.pdf

Laboratorio de Microprocesadores I Docente: Ing. Roger Guachalla Narváez [email protected] PRACTICA 04: Programación m

Views 100 Downloads 0 File size 757KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Laboratorio de Microprocesadores I

Docente: Ing. Roger Guachalla Narváez

[email protected]

PRACTICA 04: Programación mediante Bootloader Serial I.

Objetivos: Conocer la programación mediante el gestor de arranque serial MikroBootloader para el PIC16F877A Realizar la programación del PIC16F877A usando el mikroBootloader serial Conocer el protocolo de grabación serial ICSP

II. Teoría: A. Bootloader Serial A.1 ¿Qué es un gestor de arranque 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

A.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, 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 chip fuera de la placa donde esté montado.

A.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. Otra desventaja es que la configuración del PIC16F877A no se puede modificar.

B. Circuitos Bootloader Serial B.1 Bootloader Serial con módulo conversor USB–Serial

Patillaje del módulo USB-Serial: RST 3V3 5V TXD RXD GND

-

Reset Salida de +3.3V Salida de +5V Salida de Datos (Transmisión) Entrada de Datos (Recepción) Tierra

NO se requiere fuente de alimentación externa ya que se utiliza los +5V provenientes del Puerto USB (con un máximo de corriente de 500 mA). Una vez conectado al USB del ordenador, esperar a que el computador lo reconozca (o instalar los drivers necesarios) y el sistema operativo asignará un número de puerto serial Virtual COM al módulo (en este ejemplo COM6).

B.2 Bootloader Serial con MAX232 (Computador con puerto Serial físico)

Conversor de nivel MAX232 Se utiliza el circuito integrado MAX232 para compatibilizar niveles de voltaje del puerto serial del computador (+12V y -12V) a los niveles que usa el microcontrolador (0V y +5V). Los capacitores C5 y C6 están polarizados inversamente para generar +12 V y -12 V. Los valores de C3, C4, C5 y C6 pueden variar desde 4.7 uF a 47 uF, pero es recomendable que todos tengan el mismos valor.

Se requiere de una fuente de alimentación externa de +5V para alimentar al MAX232 y al PIC16F877A

C. Protocolo ICSP (In-Circuit Serial Programming) ICSP es el protocolo utilizado en los dispositivos PIC de Microchip para programarlos. Es válida para todos los PIC de la gama baja PIC12, los de la gama media PIC16F e incluso para las familias de gama alta PIC18, PIC24 y dsPIC. Cuando se desarrollan sistemas microcontrolados resulta muy ineficiente tener que sacar el PIC de su circuito para reprogramarlo, una y otra vez. Si el proyecto es relativamente largo, esto no solamente consume un tiempo considerable, sino que también disminuye la vida útil del PIC (los pines podrían doblarse y romperse) Este protocolo posibilita la programación PIC sin que sea necesaria la extracción de su circuito de aplicación. Las señales ICSP provistas al PIC para programarlos son las siguientes: VPP: Voltaje de Programación aplicado al pin MCLR/VPP del PIC (+12 volt) VDD: Voltaje de Alimentación provisto al PIC (+5 volt) GND (Ground): Conexión a tierra PGC (Program Clock): Señal de reloj provista al PIC para sincronía PGD (Program Data): Línea serial de datos para escritura, lectura y verificación de la ROM Flash

D. Programador ICSP - PICKIT2

Desarrollado inicialmente por Microchip, ahora es un proyecto libre bajo el nombre PICKIT2 CLONE Grabador universal para microcontroladores PIC: familias PIC10, PIC12, PIC16, PIC18, dsPIC, PIC24 Utiliza protocolo ICSP Conexión al computador a través de puerto USB Software para Windows PICKIT2

E. Grabación INICIAL del software Bootloader en el PIC16F877A Antes de poder utilizar el método de grabación mediante Bootloader, se requiere grabar previamente en el microcontrolador PIC16F877A el software Bootloader. Es decir, se necesita disponer un grabador convencional que utilice el protocolo ICSP como ser el PICKIT2. Para ello se siguen los siguientes pasos 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\P16\P16F887

2. Con dos clicks sobre el ícono, abra el proyecto: boot_loader_887.mbppi

3. Ingrese al menú: Project – Edit Project y cambie el procesador a PIC16F877A, la frecuencia a 4 MHz y el valor de la palabra de configuración a 0x2F01.(Véase práctica P02) 4. Compile el proyecto haciendo click en el ícono ‘Build’

o presionando ‘Ctrl+F9’

5. Grabe el archivo .hex del proyecto en el PIC16F877A usando un grabador convencional como PICKIT2.

F. Uso del software mikroBootloader de MikroBasic 1. Usando el menú ‘Tools – mikroBootloader’ abra el software arrancador mikroBootloader

2. Cambie el tipo de procesador a PIC16

3. Haga click en ‘Change Settings’, configure el puerto con los siguientes parámetros: Port COMx (donde x es el número de Puerto Serial virtual del módulo USB-Serial o el puerto COM1 si el computador dispone de puerto serial físico), Baud rate 9600 baud , Data bits 8, Stop bits 1, Parity Nonte y Flow control None. Luego hacer click en el botón ‘OK’

4. Conecte el circuito hardware del Bootloader Serial al puerto USB (o al puerto COM1 del computador si se dispone de puerto serial físico) y encienda la fuente de alimentación de +5Volt (Si se usa el MAX232) 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 3 segundos y el programa empezará a funcionar.

III. Procedimiento Experimental en Laboratorio  Armar en protoboard el circuito Bootloader Serial del punto B.1 o B.2  Primera Firma: Usando el Bootloader Serial programar en el PIC16F877A el programa de la PRIMERA FIRMA de la práctica P03  Segunda Firma: Usando el Bootloader Serial programar en el PIC16F877A el programa de la SEGUNDA FIRMA de la práctica P03  En ambos casos, armar el circuito en protoboard y demostrar el funcionamiento en hardware del programa

IV.

Informe de laboratorio I. II.

Firmas en la Carátula (0, 1 o 2) que avalen los procedimientos realizados en Laboratorio TRABAJO DE INVESTIGACION : ‘Programador Universal USB PICKIT 2’ Características técnicas Dispositivos soportados Diagrama en Bloques Circuito Esquemático Uso del software PICKIT2 El trabajo de investigación debe incluir: Resumen escrito a mano (de un mínimo de 4 páginas) Fuentes de Información (direcciones web, bibliografía) Copias impresas de las primeras 2 páginas de información adquirida a través de las fuentes

III.

Conclusiones