Sie sind auf Seite 1von 7

Laboratorio de Microprocesadores I

Docente: Ing. Roger Guachalla Narvez

xoroger@yahoo.es

PRACTICA 04: Programacin mediante Bootloader Serial


I.

Objetivos:
Conocer la programacin mediante el gestor de arranque serial MikroBootloader para el PIC16F877A
Realizar la programacin del PIC16F877A usando el mikroBootloader serial
Conocer el protocolo de grabacin serial ICSP

II. Teora:
A. Bootloader Serial
A.1 Qu es un gestor de arranque BootLoader?
Un Bootloader es un pequeo programa residente en la memoria Flash de un microcontrolador que se ejecuta
despus de cada reinicio y que a su vez escucha por el puerto UART para la recepcin de bytes de cdigo de
programa mandados tpicamente desde una PC. Si el bootloader detecta la recepcin 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 utilizndose 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 econmica 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 ningn 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 fcil 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 configuracin del PIC16F877A no se puede modificar.

B. Circuitos Bootloader Serial


B.1 Bootloader Serial con mdulo conversor USBSerial

Patillaje del mdulo USB-Serial:


RST
3V3
5V
TXD
RXD
GND

Reset
Salida de +3.3V
Salida de +5V
Salida de Datos (Transmisin)
Entrada de Datos (Recepcin)
Tierra

NO se requiere fuente de alimentacin externa ya que se utiliza los +5V provenientes del Puerto
USB (con un mximo 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 nmero de puerto serial Virtual COM al mdulo (en este
ejemplo COM6).

B.2 Bootloader Serial con MAX232 (Computador con puerto Serial fsico)

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 estn 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 alimentacin 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 vlida 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 tambin disminuye la vida til del PIC (los pines podran doblarse y romperse)
Este protocolo posibilita la programacin PIC sin que sea necesaria la extraccin de su circuito de aplicacin.
Las seales ICSP provistas al PIC para programarlos son las siguientes:
VPP: Voltaje de Programacin aplicado al pin MCLR/VPP del PIC (+12 volt)
VDD: Voltaje de Alimentacin provisto al PIC (+5 volt)
GND (Ground): Conexin a tierra
PGC (Program Clock): Seal de reloj provista al PIC para sincrona
PGD (Program Data): Lnea serial de datos para escritura, lectura y verificacin 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
Conexin al computador a travs de puerto USB
Software para Windows PICKIT2

E. Grabacin INICIAL del software Bootloader en el PIC16F877A


Antes de poder utilizar el mtodo de grabacin 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 configuracin a 0x2F01.(Vase prctica 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 parmetros: Port COMx (donde x es
el nmero de Puerto Serial virtual del mdulo USB-Serial o el puerto COM1 si el computador dispone de
puerto serial fsico), Baud rate 9600 baud , Data bits 8, Stop bits 1, Parity Nonte y Flow control None.
Luego hacer click en el botn OK

4. Conecte el circuito hardware del Bootloader Serial al puerto USB (o al puerto COM1 del computador si se
dispone de puerto serial fsico) y encienda la fuente de alimentacin de +5Volt (Si se usa el MAX232)
5. Haga click en el botn Connect y luego presione el pulsador Reset en el circuito hardware del
Bootloader Serial. La ventana indicar que se ha realizado la conexin (Connected)

6. Haga click en el botn 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 botn Begin uploading y se iniciar la grabacin en el microcontrolador. Posteriormente


aparecer una ventana indicando el xito de la grabacin ( 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 prctica P03
Segunda Firma:
Usando el Bootloader Serial programar en el PIC16F877A el programa de
la SEGUNDA FIRMA de la prctica 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 Cartula (0, 1 o 2) que avalen los procedimientos realizados en Laboratorio


TRABAJO DE INVESTIGACION :
Programador Universal USB PICKIT 2
Caractersticas tcnicas
Dispositivos soportados
Diagrama en Bloques
Circuito Esquemtico
Uso del software PICKIT2
El trabajo de investigacin debe incluir:
Resumen escrito a mano (de un mnimo de 4 pginas)
Fuentes de Informacin (direcciones web, bibliografa)
Copias impresas de las primeras 2 pginas de informacin adquirida a travs de las
fuentes

III.

Conclusiones

Das könnte Ihnen auch gefallen