Está en la página 1de 6

UPEA – AUTOMATIZACIÓN Y CONTROL M.Sc. GREGORIO MAMANI M.

UNIVERSIDAD PÚBLICA DE EL ALTO


INGENIERÍA DE SISTEMAS
AUTOMATIZACIÓN Y CONTROL LABORATORIO No. 2-1

GRABACION DEL CODIGO DE PROGRAMA


1. OBJETIVO
✓ Conocer el protocolo ICSP para grabar en la memoria ROM Flash del PIC18F4550
✓ Entender el significado de los Bits de Configuración y su uso en la grabación del PIC18F4550
✓ Armar circuito en protoboard, arrancador Bootloader (Gestor de arranque)
✓ Mostrar en simulación Virtual y también en Hardware su funcionamiento.

2. EQUIPOS Y MATERIALES
✓ PC equipado con MikroC Pro for PIC v.7.6.0 y Proteus última versión
✓ Guía de laboratorio y manual de Microcontrolador Pic18F4550
✓ Microcontrolador Pic18F4550
✓ Protoboard
✓ Otros

3. MARCO TEÓRICO
Los microcontroladores son circuitos integrados programables que contienen todos los elementos necesarios
para desarrollar y controlar una tarea determinada. La cantidad de componentes que se integran a los
microcontroladores depende del diseño de los fabricantes, sin embargo, los elementos básicos suelen ser:
memoria RAM, memoria de programa, convertidor A/D, oscilador, puerto de comunicación, etc. Esto le ha
brindado una gran versatilidad a este tipo de dispositivos y hoy en día su utilización se ha incrementado
enormemente en el mundo.

3.1. PROGRAMACIÓN DE PIC


✓ Memoria de programa 32KBytes de 0000H hasta 7FFFH
✓ memoria de datos 2KBytes

1
UPEA – AUTOMATIZACIÓN Y CONTROL M.Sc. GREGORIO MAMANI M.

3.2. PROTOCOLO ICSP CON PROGRAMADOR

✓ 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, DCPIC y otros
✓ Cuando se desarrollan sistemas con microcontroladores 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 ROM Flash

3.3. BITS DE CONFIGURACIÓN DEL PIC18F4550


Los bits de configuración pueden programarse (leerse como ‘0’) o no programarse (leerse como ‘1’) para
seleccionar varias configuraciones del dispositivo. Estos bits están mapeados en la posición de memoria del
programa 300000h. El usuario observará que la dirección 300000h está más allá de memoria del programa de
usuario. De hecho, pertenece a memoria de la configuración (300000h a 3FFFFFh), la cuál puede alcanzarse
solamente usando la lectura y escritura de tablas. La programación de los registros de configuración se hace
de manera similar a la programación de la memoria flash. El bit WR del registro EECON1 comienza una
escritura auto-temporizada en el registro de configuración. En modo de operación normal, una instrucción
TBLWT, con el TBLPTR señalando al registro de configuración, selecciona la dirección y los datos para
escribir el registro de configuración. Al activar el bit WR comienza una “escritura larga” en el registro de
configuración. En los registros de configuración se escribe un byte a la vez. Al escribir o borrar una célula de
configuración, una instrucción TBLWT puede escribir un ‘1’ o un ‘0’ en la célula.

2
UPEA – AUTOMATIZACIÓN Y CONTROL M.Sc. GREGORIO MAMANI M.

3.4. BOOTLOADER
0 X 0000
PROGRAMA
PRINCIPAL

MEMORIA 32KB ROM


RESET
BOOTLOADER

FLASH
NO
DATOS
USB?

SI
AUTO
PROGRAMACION
0 X 7FFF

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. 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

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. 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 costos, 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 microcontrolador, por lo que no se necesita de ningún Hardware adicional para empezar a programar el
dispositivo insertado en la placa de desarrollo.
Pero esta no es la única ventaja de utilizar un BootLoader, otra es que se puede 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.

INCONVENIENTES
El inconveniente principal e inevitable de utilizar un Bootloader es el espacio de memoria ROM que implica
el tenerlo cargado en la memoria del microcontrolador de forma permanente.
Se debe tomar en cuenta que cada Bootloader está configurado para un modelo del microcontrolador en
particular. Es decir, no se puede usar el mismo Bootloader para modelos distintos incluso si son de la misma
familia.
Otra desventaja es la imposibilidad de configurar al microcontrolador de manera distinta a la que posee el
Bootloader. Esto puede limitar la optimación de los recursos que posee el PIC18F4550

3
UPEA – AUTOMATIZACIÓN Y CONTROL M.Sc. GREGORIO MAMANI M.

CABLE USB TIPO A Y B

✓ Se requiere un Cable USB y un Conector USB tipo B


✓ Para evitar posibles daños por corto circuito al puerto USB del computador. Primero verificar,
con un multímetro, la polaridad de la alimentación de +5V. Realizar esta tarea conectando solo
el cable USB y medir en los pins VCC y GND del conector USB tipo B que irá al protoboard.

PIN SIGNAL COLOR DESCRIPTION


1 VCC + 5V
2 D+ DATA +
3 D- DATA -
4 GND GROUND

3.5. USO DEL USB HID MIKROBOOTLOADER CON EL PIC18F4550


1) Para abrir el software USB HID mikroBootloader, seleccione del menú ‘Tools – USB HID Bootloader’
2) Conectar el Circuito Mínimo Bootloader USB (Hardware) al computador PC
3) Hacer click en el botón reset de circuito mínimo Bootloader:

4) Paso 1: Wait for USB link, El software auto detectará el Dispositivo: PIC18F4550 y el tipo de
microcontrolador PIC18
5) Paso 2: Connect to MCU, En la ventana ‘History Window’ aparecerá el mensaje ‘Connected’ indicando
que se realizó una conexión exitosa

4
UPEA – AUTOMATIZACIÓN Y CONTROL M.Sc. GREGORIO MAMANI M.

6) Paso 3: Choose HEX file, Ubicar el archivo .hex del programa a grabar en el microcontrolador
7) Paso 4: Start bootloader, El software grabará el programa en el microcontrolador.
8) La ventana emergente indica que la grabación ha sido exitosa y para que el programa se ejecute se debe
esperar unos segundos para que el Bootloader termine y de paso al programa de aplicación.

4. PRE INFORME
4.1. Objetivos de laboratorio.
4.2. Modos de Programación de Microcontrolador Pic18F4550
5.1. Armar el circuito Bootloader en protoboard

5. PROCEDIMIENTO
5.1. Armar el circuito Bootloader en protoboard que se utilizara en todos los proyectos usando el USB
mikroBootloader. Por primera vez en el microcontrolador Pic18F4550 se debe grabar con un
programador el software Bootloader. El archivo a grabar es el siguiente:
USB_Boot_P18F4550_4MHz_xtal_48MHz_USB.hex
- Armar el circuito de Bootloader en Protoboard
- Usando el Bootloader USB, programar en el microcontrolador PIC18F4550 con programa .Hex LED
INTERMITENTE (prueba) y demostrar su funcionamiento en hardware
- Simulación Virtual del circuito de Bootloader en PC

5
UPEA – AUTOMATIZACIÓN Y CONTROL M.Sc. GREGORIO MAMANI M.

6. CUESTIONARIO
6.1. Características de Bootloader
6.2. Diagrama de Bloques de Programador Universal

También podría gustarte