El objetivo de esta práctica es que el
estudiante se familiarice con el microcontrolador y las herramientas
necesarias para su programación, así como con su configuración. Es
como escribir el primer programa de computadora que muestra por la
consola de salida el clásico mensaje “hola mundo”, en vez de
este mensaje, se prende un led, el cual se ha conectado a la patita
14 (RA4).
Equipo
- Computadora personal
-
Fuente de poder de laboratorio
-
Programador ICD3, PICkit3 o similar
Material
Cantidad Descripción
1 Capacitor 10 microfaradios de
tantalio, puede usarse un electrolítico, pero no se recomienda
1 Resistencia de 10kΩ
1 Resistencia de 1kΩ
1 Diodo Emisor de luz (Led)
1 Tablilla para prototipo (Protoboard)
Armar el sistema mínimo según la fig
1.1.
Fig 1.1 Circuito que muestra al
microcontrolador PIC32MX220F032B con los componentes mínimos
necesarios para su funcionamiento. Observar que se ha conectado la
alimentación del ADC (patitas 27 y 28), si no se hace esta conexión
el ICD3 no identifica al microcontrolador. No se tiene un cristal
debido a que se va a usar un reloj interno. El capacitor de 10
microfaradios es para un regulador interno del microcontrolador.
Ya que se tiene armado el hardware del
sistema, es momento de escribir el programa.
Creación del programa
Usando cualquier editor de texto o el
editor que trae incorporado MPLAB X, se escribe el siguiente
programa, se elimina cualquier otro programa que tenga el proyecto y
se agrega este. En el resto de prácticas, se usará esta misma
estrategia, usar el mismo proyecto y solo cambiar de programa y
agregarle los componentes necesarios al sistema mínimo.
Fig.
1.2 Programa
para la práctica 1
Se
compila el proyecto y si no hay errores, se puede proceder a
“programar” el microcontrolador, para ello se usará el ICD3.
El
ICD3 se conecta al puerto usb de la PC. Para conectarlo al
microcontrolador se hace uso de un conector especial que en seguida
se describe. Este programador dispone de una entrada (zócalo) para
un conector tipo telefónico de 6 entradas. De las seis conexiones
solo se usan 5, las cuales se describen en la figura 1.3
Fig. 1.3 Conexiones del ICD3. Para
simplificar el diagrama se omiten las otras conexiones del sistema
mínimo.
Las entradas para el PGC y PGD pueden
estar asociadas a diferentes patitas, dependiendo del
microcontrolador de que se trate. En este caso se tienen tres juegos
de estas entradas, en este manual se usarán las que están en las
patitas 22 y 21.
Cuando EL ICD3 está conectado al
circuito, solo PGC y PGD están en uso y no están disponibles los
otros módulos que comparten esas patitas. Cuando se desconecta
vuelven a estar disponibles las e/s en esas patitas de los otros
módulos.
Programando el microcontrolador con
el ICD3
Para realizar la programación del
microcontrolador,
asegurarse que todo está correctamente conectado y presionar el ícono.
De esta manera el programa se baja al microcontrolador.
asegurarse que todo está correctamente conectado y presionar el ícono.
De esta manera el programa se baja al microcontrolador.
Si no se presenta ningún error, el
MPLAB X, en la ventana de salida mostrará un mensaje indicando que
la operación fue exitosa e inmediatamente el microcontrolador
empezará a ejecutar el programa, es decir encenderá el led.
Configuración del
microcontrolador(bits de configuración)
Estos microcontroladores usan una
arquitectura Harvard modificada, en la memoria FLASH se guarda el
programa y en la memoria RAM se acomodan los datos. De esta manera
cuando el microcontrolador se desconecta de la energía, el programa
no se pierde, solamente se pierden los datos de la RAM.
En la memoria FLASH, además del
programa, también se guardan los bits de configuración. Cada
microcontrolador puede tener diferentes opciones de configuración.
La información de todas las opciones de configuración para este
microcontrolador se pueden ver en un documento html localizado en el
directorio donde se tiene instalado el compilador XC32, en el caso de
la instalación en la que se basa este manual, este archivo se
encentra en :
“file:///opt/microchip/xc32/v2.15/docs/config_docs/32mx220f032b.html”
En el directorio
/opt/microchip/xc32/v2.15/docs/config_docs/ se encuentran los
archivos html de todos los microcontroladores PIC32. La carpeta
v2.15 corresponde a la versión del compilador xc32. Entonces si
alguien instala una versión diferente, pues esta carpeta tendrá
como nombre esa versión que se instaló. Además en linux la carpeta
microchip se pone en la carpeta /opt, en otros sistemas operativos
se instala en carpetas con otros nombres.
Los bits de configuración usan la
directiva #pragma config en seguida el nombre de los bits que se van
a configurar y el valor que tendrán. Por ejemplo “#pragma config
JTAGEN = OFF ” Deshabilita el puerto de depuración JTAG
Descripción del programa (ver
fig 1.2)
Cuando el microcontrolador ya tiene
cargado el programa, cada vez que se energiza, primero pasa por un
proceso de “reset”, donde el CPU y todos los módulos de
que dispone se inicializan, después de este proceso se ejecuta el
programa cargado. El programa de esta práctica solamente enciende
un led conectado a la patita 12 a través de una resistencia de 1k.
El programa finaliza en la llave de
cierre del cuerpo de la función main(). A diferencia de otros
compiladores, en el XC32, no se regresa hasta el proceso de “reset”,
el compilador inserta un ciclo infinito después de la llave final
de cierre.
En seguida se describen cada una de las
líneas de código del programa de esta práctica:
Línea
1:
Se
incluye el archivo de cabecera para el pic32. Es un mismo archivo
para toda la familia PIC32.
Línea 2
Comienza la configuración del
microcontrolador(Bits de configuración) Estos microcontroladores
disponen de un puerto de programación formado por dos entradas; la
entrada PGED recibe los datos y la entrada PGEC recibe los pulsos de
reloj. A estas entradas se conectan los programadores ICD3 y PICkit3.
Para facilitar la disponibilidad de diferentes módulos cuando se
realiza la programación y la depuración, se tienen tres juegos de
conexión o canales para este puerto. En esta y el resto de prácticas
se usará el juego(canal) formado por las entradas PGED2 y PGEC2.
Las cuales se configuran en la línea 2.
Línea 4
Se deshabilita el puerto JTAG, este
puerto se puede usar para conectar emuladores como el MPLAB REAL ICE.
Línea 5
Deshabilita el oscilador secundario.
Esta familia dispone varios osciladores, más adelante se comentan
algunas de sus propiedades.
Línea 8-9
Se configura el oscilador. Mas adelante
se trata este tema.
Línea 11
Comienza la función principal
Línea 12
Se configura el puerto RA4 como salida
Línea 13
Se pone un uno lógico en el “latch”
del puerto RA4
Fin
de la práctica 1.
Bibliografía:
MPLAB®
ICD 3 In-Circuit Debugger User’s Guide For MPLAB X IDE 2014



No hay comentarios.:
Publicar un comentario