Microcontroladores Microchip -PROYECTO DOMOTICA3XNCreado, redactado, corregido, probado por: Mauricio A3XN <>---}-o------------------> 08-04-2015 Versión 4.5
-PARTE 1EXCLUSIVAMENTE PARA WINDOWS 7 SP1 X86/X86_64 (RECOMENDADO CUANDO NO SE CUENTA CON EL PIC KIT 3). 2
Instalación de MPLAB IDE (Integrated Development Environment) Ejecutar instalador de MPLAB IDE 8.92, seleccionar Custom (si se cambia ruta default, ajustar a la nueva ruta para C18 y MLA) y posteriormente, palomear las opciones necesarias. Se sugiere quitar de la configuración recomendada: Microchip Device Support (de 32 bits), MPASM Suite y DsPIC. 3
Nota: Si usa la versión de 64 bits de Windows 7 SP1, instalar los drivers USB de 64 bits. 4
Instalación de MPLAB C18 Para C18 3.47 Lite basta con dar algunos clics a las preguntas de las ventanas. Nota: Si se cambio la ruta de instalación de MPLAB (por default C:\Program Files\Microchip) ajustar la nueva ruta para C18 y MLA. Pantallas de MPLAB C18 para Windows 5
6
Instalación de Microchip Libraries for Applications (MLA) Este software es opcional pues esta pensado para desarrolladores más experimentados, contiene librerías extras con ejemplos. Al ejecutarlo por primera vez se verifica si Java reside en la PC por lo que antes de continuar agregue al equipo el programa Java Run Enviroment para 32 bits (en caso de tener arquitectura de 64 bits, el JRE de 64 bits no es reconocido por lo que si se tiene Windows 7 SP1 x86_64 se debe tener ambas versiones de java). Caso 1: Optar desde el principio por instalar la penúltima versión disponible de nombre Microchip Libraries for Applications 2013-06-15 (mínimo palomear PIC18F Starter Kit 1 y USB Demo Projects) que contiene la aplicación PDFSUSB (PICDEM FS USB Demo Tool 1.0) con la cual se puede cargar directamente los programás hechos desde MPLAB IDE hacia el PIC (Peripheral Interface Controller) sin necesitar comprar el programador PIC Kit 3 de Microchip. Nota: Si se cambio la ruta de instalación de MPLAB (por default C:\Program Files\Microchip) ajustar la nueva ruta para MLA. Pantallas de MPLAB MLA para Windows 7
8
Caso 2: Microchip Libraries for Applications 2013-12-20 fue la ultima versión disponible y trae ejemplos actuales; se recomienda mínimo palomear File I/O Demo projects y USB Demo Projects. Nota: Si se cambio la ruta de instalación de MPLAB (por default C:\Program Files\Microchip) ajustar la nueva ruta para MLA. MUY IMPORTANTE: Microchip Libraries for Applications 2013-12-20 dejo de incluir la aplicación PDFSUSB (PICDEM FS USB Demo Tool 1.0) por lo que su uso/instalación del MLA es opcional pero si se desea/ocupa agregar el software PDFSUSB es posible instalarlo por separado (ver Solo PDFUSB ) para así contar con ambos (MLA 2013-12-20 y PDFSUSB). Pantallas de MPLAB MLA para Windows 9
10
Instalación de PDFUSB (OPCIONAL) Si unicamente se quiere cargar programás hacia el PIC es recomendable instalar el programa Microchip MCHPFSUSB 2.2 Installer que es muy liviano e ideal para equipos más viejos o con poco espacio en el disco duro pero SI SE OPTO POR MLA NO USAR ESTA APLICACION DE PDFUSB ya que es la misma aplicación (a menos que no se haya seleccionado al momento de la instalación del MLA las opciones PIC18F Starter Kit 1 y USB Demo Projects o si se uso una versión que no contiene dichas herramienta). Con esto se pueden agregar los programás realizados (C o ASM desde el MPLAB IDE) cuando se desee y como ventaja adicional permite reusar el PIC varias veces antes de borrar (borrado completo) toda la información almacenada dentro del PIC (por ejemplo cuando comienza a fallar o se vuelve lento) además de que es más fácil instalar este software en otra maquina (si se tiene que viajar) en lugar de todo el conjunto de programás de la suite de Microchip para unicamente cargar programás al PIC. Sin duda la ventaja principal es que no se requiere comprar el PIC Kit 3 para cargar programás o el firmware (ver Carga de firmware ) o borrar el PIC, etc. Pantallas de PICDEM FS USB (PDF USB) para Windows 11
Compilación de código fuente ASM Para colocar un programa hacia el PIC se debe haber compilado antes. Para el caso de ASM (ensamblador) seguir estos sencillos pasos: 1.- Abrir el programa MPLAB IDE 8.92. 2.- Seleccionar la opción: Project ---> Project Wizard... 3.- A la pantalla de bienvenida hay que darle Siguiente. 4.- Seleccionar en Device el modelo del PIC a usar (en en este caso PIC18F4550). 5.- En la opción de Active Tool Suite seleccionar Microchip MPASM Toolsuite y donde dice Toolsuite Contents verificar que este seleccionado MPASM Assembler (mpasmwin.exe) v5.51 y por último checar en Location que la ruta si sea la que le corresponde a mpasmwin.exe. Nota: Cuando no encuentra algo de lo anterior aparece como aviso una x por opción fallida, corregir las opciones o no se podrá realizar ninguna compilación. 6.- En Create New Project File colocar el nombre y ruta de donde se crearan los archivos de MPLAB. 7.- En Add >> colocar la ruta del archivo fuente de ASM (si se tiene creado uno previamente es mejor pues se ahorran muchos pasos) de lo contrario solo dar Siguiente para escribirlo o copiarlo manualmente al terminar el proceso de configuración básica (hay que dar New File para agregar la hoja de escritura en blanco, escribir el programa, guardarlo con su nombre y extensión asm y de todas maneras se debe agregar la ruta del archivo fuente salvado anteriormente en la ventanita del área de trabajo de nombre Project-Display Preferences justo dando clic derecho del mouse en Source Files para que aparezca la palabra Add Files... ). 8.- En el Summary (o resumen) solo darle a Finalizar 9.- Ya que se tenga el programa listo para compilar, seleccionar: Project ---> Build All Nota: Si el código no contiene errores hará la compilación y si es la primera vez que se usa dicho código, se pregunta si el código sera Absolute o Relocatable, resumiendo... Absolute es donde se coloquen los registros siempre estarán en la misma dirección/lugar. Relocatable los registros se colocan en direcciones al azar. Opcionalmente se puede ver el comportamiento del programa ejecutándolo en simulación, para lo cual primero abrir el MPLAB SIM: Debugger ---> Select Tool ---> 3 MPLAB SIM Luego presionar alguno de los botones para seguir la flecha verde de la izquierda (recomiendo primero presionar Animate y rápidamente Halt, por último para ir linea a línea en el desplazamiento de la pantalla, dar clic al botón ( Step Out solo si se tarda en salir la fecha verde) Step Into. 12
C Para colocar un programa hacia el PIC se debe haber compilado antes. Para el caso de C (lenguaje C) seguir estos sencillos pasos: 1.- Abrir el programa MPLAB IDE 8.92. 2.- Seleccionar la opción: Project ---> Project Wizard... 3.- A la pantalla de bienvenida hay que darle Siguiente. 4.- Seleccionar en Device el modelo del PIC a usar (en en este caso PIC18F4550). 5.- En la opción de Active Tool Suite seleccionar Microchip C18 Toolsuite y donde dice Toolsuite Contents verificar que este seleccionado MPLAB C18 C Compiler (mcc18.exe) v3.47 y por último checar en Location que la ruta si sea la que le corresponde a mcc18.exe. Nota: Cuando no encuentra algo de lo anterior aparece como aviso una x por opción fallida, corregir las opciones o no se podrá realizar ninguna compilación. 6.- En Create New Project File colocar el nombre y ruta de donde se crearan los archivos de MPLAB. 7.- En Add >> colocar la ruta del archivo fuente de C (si se tiene creado uno previamente es mejor pues se ahorran muchos pasos) de lo contrario solo dar Siguiente para escribirlo o copiarlo manualmente al terminar el proceso de configuración básica (hay que dar New File para agregar la hoja de escritura en blanco, escribir el programa, guardarlo con su nombre y extensión c y de todas maneras se debe agregar la ruta del archivo fuente salvado anteriormente en la ventanita del área de trabajo de nombre Project-Display Preferences justo dando clic derecho del mouse en Source Files para que aparezca la palabra Add Files... ). 8.- En el Summary (o resumen) solo darle a Finalizar 9.- Ya que se tenga el programa listo para compilar, seleccionar: Project ---> Build All Nota: Si el código no contiene errores hará la compilación y si es la primera vez que se usa dicho código, se pregunta si el código sera Absolute o Relocatable, resumiendo... Absolute es donde se coloquen los registros siempre estarán en la misma dirección/lugar. Relocatable los registros se colocan en direcciones al azar. Opcionalmente se puede ver el comportamiento del programa ejecutándolo en simulación, para lo cual primero abrir el MPLAB SIM: Debugger ---> Select Tool ---> 3 MPLAB SIM Luego presionar alguno de los botones para seguir la flecha verde de la izquierda (recomiendo primero presionar Animate y rápidamente Halt, por último para ir línea a línea en el desplazamiento de la pantalla, dar clic al botón ( Step Out solo si se tarda en salir la fecha verde) Step Into. 13
Pines del PIC Kit 3 y Target A continuación, se procede a la carga el firmware (un bloque de instrucciones de máquina para propósitos específicos requeridos por el PIC) con un programador de PICs (en este caso el PIC Kit 3 programmer/debugger de la marca Microchip) hacia el Target que no es más que la tableta con el PIC (Peripheral Interface Controller). A partir de esta sección, se tomara como sinónimos a las palabras: Target, diseño casero y entrenador. La configuración de pines del Target es: 14
15
Reconocimiento de PIC KIT 3 Conectar el programador de PICs a un puerto USB (Universal Serial Bus) de la computadora para que el sistema operativo lo reconozca (e instale por primera vez) al principio el LED de status esta en color rojo, luego cambia a verde. Nota: Una vez que sea reconocido, cuando se vuelva a utilizar, pasara el LED de status del rojo al verde (muy rápido e imperceptible) y luego a apagado. 16
Conexión con el Target Unir al PIC Kit 3 el entrenador casero (este ultimo sin energizar) el orden de los pines vistos desde un dispositivo respecto al otro, son reflejos (similar a ver en un espejo). 17
El pin 6 (referente a PGM) no es necesario en la conexión (más datos en el documento: PICkit 3 Programmer/Debugger User's Guide, páginas 18, 22, 24 y 27) puesto que el PIC18F4550 cuenta con un número mayor de 20 pines además no requiere In-circuit debug Headers (ICD Headers) pero con la aclaración, de que tampoco afecta su uso (MPLAB IDE se encarga de decidir según el ejemplar de PIC reconocido). Nota: Tener extremo cuidado en la conexión de los pines (ver numeración de pines del Target y PIC Kit 3 así como su señalización) o se dañara al PIC dejándolo inservible obligándose a colocar uno nuevo (MPLAB IDE tiene una protección que consiste en un mensaje de error en la falta de concordancia y afortunadamente solo permite realizar borrar PIC). 18
Carga de firmware (requerido por el PIC) y programás Hay dos maneras: grabar al mismo tiempo tanto al programa producido desde el MPLAB IDE como al firmware (método 1) o unicamente el firmware (método 2) para posteriormente, agregar el programa realizado desde el MPLAB IDE usando el software PICDEM FS USB cuando se desee (reusable varias veces antes de borrar completamente toda la información almacenada dentro del PIC). Actualizaciones del PIC KIT 3: - En el método 1 o en el 2, es pertinente estar conectado a Internet (al menos una vez) por si existe una actualización mejor al de los archivos del MPLAB (es un archivo *.jam). - Si se usa solo los softwares MPLAB, C18 y MLA más recientes (aunque no del día actual) seguramente vienen las ultimás actualizaciones estables para el PIC KIT 3 sin la necesidad de contar con una conexión a Internet (al abrir el MPLAB, seleccionar el PIC y el PIC KIT 3 se preguntara si se desea actualizar, solo aceptar la pregunta). Pantallas de MPLAB IDE para Windows 19
Método 1 Directo y sin requerir de drivers para el PIC en el equipo de computo. a).- Abrir el programa del usuario (hecho con MPLAB IDE, ver sección Compilación de código fuente ) seleccionar la configuración de bits necesaria (de lo contrario no se permite programar al microcontrolador) desde: Configure ---> Configuration Bits Por comodidad y rapidez, conviene agregar directamente al código fuente del programa, las instrucciones validas (C18 o ASM dependiendo del lenguaje de programación usado) justo después de las lineas de comentarios que hacen referencia al título del programa. Para cualquier duda ver PIC18 CONFIGURATION SETTINGS ADDENDUM, página 203-207. 20
Hay un apartado explicativo sobre la omisión de la instrucción DEBUG y el valor de la configuración del mismo (dentro del código fuente) en condiciones normales (más información en el documento: PICkit 3 Programmer/Debugger User's Guide, página 34). b).- Desde la ventana izquierda del área de trabajo y donde se ubica el texto Linker script, agregar la ruta del linker: Unidad:\ Archivos de programa\microchip\mplabc18\v3.47\bin\lkr\18f4550_g.lkr Nota: Si actualizo C18 o MLA (o ambos) eliminar la dirección errónea del linker y agregar la nueva del archivo que corresponda. Después compilar el programa realizado con la intensión de corregir las rutas de los ejecutables que no sean validas y así se pueda programar al PIC (de lo contrario aunque el proceso de carga sea correcto, a la salida no habrá ninguna respuesta del hardware por falta del linker actualizado). c).- Escoger el modelo de PIC que corresponda al utilizado por el Target, en: Configure ---> Select Device ---> Device ---> PIC18F4550 21
d).- Seleccionar el programador desde: Programmer ---> Select Programmer ---> 4 PICKit3 En ese instante si se tiene conexión a Internet (no es obligatorio para los pasos siguientes) aparece un aviso (actualiza al PIC Kit 3 desde la página oficial) al terminar (o si no se cuenta con Internet) continua la prueba de conexión física del Target (hasta ese momento sin energía). En los documentos oficiales sugieren el uso independiente de la alimentación de los dispositivos. 22
e).- Alimentar el Target, palomeando la casilla de la ventana: Programmer ---> Settings ---> Power ---> Power Target circuit from PICkit 3 Nota: Aunque se puede dejar en 5 volts, el valor adecuado es de 4.75 volts así que preferentemente optar por ese rango. Enseguida, aparecerá una ventana de aviso sobre el riesgo de no seleccionar el valor de voltaje adecuado de momento hacer caso omiso al letrero, el PIC Kit 3 alimentara al diseño casero; con lo que sera posible realizar alguna de las opciones básicas. 23
f).- Seleccionar (en este orden) las siguientes opciones: Programmer ---> Erase Flash device Programmer ---> Blank Check all Programmer ---> Program Programmer ---> Verify Un instante después, se ejecuta el programa (desarrollado en MPLAB IDE) desde el propio Target. 24
Quitar el PIC KIT 3. g).- Desactivar la energía (que provee al diseño casero) presionando el icono correspondiente (figura 1) o donde se realizo la alimentación del Target (figura 2, dudas ver inciso e). Finalmente, descartar al PIC Kit 3 haciendo: Programmer ---> Select Programmer ---> None h).- Quitar del conector de pines al Target y luego jalar el cable USB del PIC Kit 3 que esta en el puerto de la PC. La ventaja de este método es la carga directa tanto del programa como del firmware (un plus es el reconocimiento del equipo de computo por lo que no hay que instalar el controlador del PIC) la desventaja es el requerir al PIC Kit 3 siempre que se va a cargar un programa nuevo. 25
Método 2 Únicamente firmware, requiere programa y controladores para equipo de cómputo. a).- Abrir el MPLAB IDE (véase: PICDEM FS USB DEMONSTRATION BOARD USER S GUIDE, página 34) y seleccionar la aplicación de fabrica desde: File ---> Import unidad:\microchip_solutions_v2013-06-15\usb\precompiled demos\factory HEX Files for Microchip USB Demo Boards\picdemfsusb.hex Nota: Si se opto por el programa liviano (el software Microchip MCHPFSUSB 2.2 Installer que trae el PICDEM FS USB Demo Tool v 1.0 en lugar de usar el MLA, la ruta es: unidad:\microchip Solutions\USB Precompiled demos\factory HEX Files for Microchip USB Demo Boards\picdemfsusb.hex b).- Escoger el modelo de PIC que corresponda al utilizado por el Target, en: Configure ---> Select Device ---> Device ---> PIC18F4550 c).- Seleccionar el programador desde: Programmer ---> Select Programmer ---> 4 PICKit3 En ese instante si se tiene conexión a Internet (no es obligatorio para los pasos siguientes) aparece un aviso (actualiza al PIC Kit 3 desde la página oficial) al terminar (o si no se cuenta con Internet) continua la prueba de conexión física del Target (hasta ese momento sin energía). En los documentos oficiales sugieren el uso independiente de la alimentación de los dispositivos. 26
d).- Alimentar el Target, palomeando la casilla de la ventana: Programmer ---> Settings ---> Power ---> Power Target circuit from PICkit 3 Nota: Aunque se puede dejar en 5 volts, el valor adecuado es de 4.75 volts así que preferentemente optar por ese rango. Enseguida, aparecerá una ventana de aviso sobre el riesgo de no seleccionar el valor de voltaje adecuado de momento hacer caso omiso al letrero, el PIC Kit 3 alimentara al diseño casero; con lo que sera posible realizar alguna de las opciones básicas. 27
e).- Seleccionar (en este orden) las siguientes opciones: Programmer ---> Erase Flash device Programmer ---> Blank Check all Programmer ---> Program Programmer ---> Verify Nota: Como no se cargo ningún programa (desarrollado en MPLAB IDE) por el momento el Target quedara sin efecto (hasta que se le cargue un programa de ASM o C). 28
Quitar el PIC KIT 3. f).- Desactivar la energía (que provee al diseño casero) presionando el icono correspondiente (figura 1) o donde se realizo la alimentación del Target (figura 2, dudas ver inciso d). Finalmente, descartar al PIC Kit 3 haciendo: Programmer ---> Select Programmer ---> None g).- Quitar del conector de pines al Target y luego jalar el cable USB del PIC Kit 3 que esta en el puerto de la PC. Instalación de controlador para reconocimiento del PIC en el equipo de computo... h).- Colocar el cable USB al Target en su puerto USB e insertar el otro lado del mismo al puerto de la computadora, para que comience el proceso de reconocimiento del entrenador casero (como un dispositivo nuevo). Enseguida, pulsar un momento los dos botones del Target y dejar presionado hasta terminar el que corresponde a RB4 (ubicado en el del lado contrario al LED de encendido) mientras se suelta el otro. Como aún no será reconocido, ir a: Menu Inicio ---> Panel de control ---> Sistema ---> Administrador de dispositivos ---> Otros dispositivos Colocar puntero del mouse sobre el dispositivo desconocido y escoger Propiedades, seleccionar: Actualizar controlador ---> Buscar el software de controlador en este equipo ---> Buscar el software de controlador en esta ubicación y avanzar hasta la carpeta: unidad:\microchip_solutions_v2013-06-15\usb\tools\mchpusb Custom Driver\MCHPUSB Driver\Release Nota: Si se opto por el programa liviano (el software Microchip MCHPFSUSB 2.2 Installer que trae el PICDEM FS USB Demo Tool v 1.0 en lugar de usar MLA, solo buscar la ruta adecuada del controlador. 29
Finalmente, esperar hasta terminar el proceso de instalación y después de comprobar que aparece listado el Target como Microchip Custom USB Device, SOLTAR EL BOTÓN QUE AÚN SE ESTA PRESIONANDO (el que corresponde a RB4). Pantallas de Windows A partir de que el microcontrolador cuente con el firmware de fabrica además de ser reconocido por el sistema operativo Windows 7 SP1 (X86 o X86_64), no será necesario repetir todos los pasos anteriores (incisos a hasta h ) por lo que cada vez que se quiera colocar un nuevo programa (ASM o C) al Target, ir directamente al paso i (esto hasta que se considere necesario o empiece a fallar el PIC por el uso constante de carga de nuevos programás y falta de limpieza de sus memorias internas). Carga de programás (código fuente). i).- Abrir el acceso directo a PDFSUSB, presionar y mantener el botón de RB4 (de la tarjeta entrenadora) luego tocar el otro push button, un segundo más tarde, soltar este último y a continuación, también el que corresponde a RB4 (se oirá un sonido en la PC). En la ventana de la aplicación, aparecerá el dispositivo en: Bootload Mode ---> Select PICDEM FS USB Board---> PICDEM FS USB 0 (Boot). 30
MUY IMPORTANTE!! Antes de hacer este paso cuidar que ningún puerto o pin del PIC que no sean los correspondientes a alimentación (VDD es voltaje y VSS es tierra) se encuentren energizados (por ejemplo, caso cuando se tiene un diseño armado en un protoboard). j).- Activar el botón con la etiqueta Load HEX File, buscar el programa realizado en MPLAB IDE (antes de hacer cualquier cosa, cerciorarse que las rutas del linker y ejecutables del programa de ASM o C sean validas y que este recién compilado dicho programa) y por ultimo, presionar Program Device (al final saldrá un pequeño resumen). Nota: Ver sección Compilación de código fuente. 31
Presionar una o dos veces (según se requiera) el botón del lado del LED, al hacer esto desaparece leyenda referente al diseño casero y además se logra: - correr el programa (ASM o C) cargado. - desconectar el cable USB sin problemás. Más información sobre el tema en: PICDEM FS USB DEMONSTRATION BOARD USER S GUIDE, páginas 22-28. La ventaja del segundo método, consiste en el reuso de carga de programás sin tener a la mano el PIC Kit 3, las desventajas son una mayor cantidad de pasos en la configuración y reconocimiento (unicamente en la primera parte de la instalación) y los cambios en los vectores (reset, interrupción de alta y baja prioridad) por lo que además se requiere el remapeo de vectores (cambiar los números por los que corresponden). 32
-PARTE 2PARA WINDOWS 7 SP1 X86/X86_64 Y LINUX MANDRIVA 2011.0 POWER PACK (RECOMENDADO CUANDO SE CUENTA CON EL PIC KIT 3). 33
Instalación de MPLAB X IDE (Integrated Development Environment) Actualmente MPLAB IDE 8.92 (aún útil para cargar firmware sin el PIC Kit 3) esta descontinuado por lo que se debe migrar hacia el MPLABX IDE 2.2.6, una gran noticia es que hay para Linux o Windows. Ejecutar el instalador del MPLAB X IDE (en Linux hay que dar permisos de ejecución) y contestar algunas sencillas preguntas. Una vez iniciado el instalador se verifica si Java reside en la PC por lo que antes de continuar agregue al equipo el programa Java Run Enviroment para 32 bits (en caso de disponer de un sistema operativo con arquitectura de 64 bits, JRE de 64 bits no es reconocido por lo que se debe contar con ambas versiones de java: 32 bits y 64 bits). Pantallas de MPLAB X IDE para Linux 34
35
Pantallas de MPLAB X IDE para Windows 36
MPLAB IPE 2.26 es una herramienta que viene en el MPLAB X IDE (se asemeja un poco al descontinuado PDFUSB 1.0 pero con la gran diferencia de que este forzosamente requiere el PIC Kit 3) pero se debe seleccionar en uno de los pasos de la instalación, este software se enfoca en la producción másiva de carga de programás hacia el PIC (agiliza la carga de programás previamente compilados usando un ambiente más liviano). Esta aplicación es totalmente opcional (se puede despalomear sin remordimientos). El beneficio es que si se tiene un programa compilado y no se desea realizar el proceso de carga de un programa desde el MPLAB X IDE para posteriormente colocarlo en algún PIC (abrir programa, seleccionar linker y herramienta de hardware, recompilar, etc.) esta es una buena alternativa para agilizar los pasos. Basta con modificar algunas opciones (según intereses) e importar el programa en *.hex para posteriormente cargarlo al PIC. Pantalla de MPLAB IPE 2.26 para Windows 37
Instalación de MPLAB XC8 C Al igual que el programa base, XC8 C 1.33 sustituye al C18 3.47 de MPLAB IDE 8.92, ahora XC8 C es la librería de C para PICs de rango medio. Igualmente basta con correr el instalador (en Linux hay que otorgar permisos de ejecución) y dar algunos clics a las preguntas de las ventanas. Nota: Si se cambio la ruta de instalación de MPLAB X IDE (por default esta en /opt/microchip en Linux y en C:\Program Files\Microchip en Windows) se debe ajustar la nueva dirección para XC8 y MLA. Pantallas de MPLAB XC8 C para Linux 38
39
40
Instalación de Microchip Libraries for Applications (MLA) Este software es opcional pues esta pensado para desarrolladores más experimentados, contiene librerías extras con ejemplos. Al ejecutarlo por primera vez se verifica si Java reside en la PC por lo que antes de continuar agregue al equipo el programa Java Run Enviroment para 32 bits (en caso de tener arquitectura de 64 bits, el JRE de 64 bits no es reconocido por lo que si se tiene Windows 7 SP1 x86_64 se debe tener ambas versiones de java). Pantallas de MPLAB MLA para Linux 41
Pantallas de MPLAB MLA para Windows 42
43
Compilación de código fuente en MPLAB X IDE ASM (Código absoluto desde cero) Para colocar un programa hacia el PIC se debe haber compilado antes. Para el caso de ASM (ensamblador) seguir estos sencillos pasos: 1.- Abrir el programa MPLAB X IDE 2.26. 2.- Seleccionar la opción: File ---> New Project... Standalone Project y dar clic a "Next >". 3.- En "Family:" selecciono "Advanced 8-bit MCUs (PIC 18)" y en "Device:" selecciono PIC18F4550, después escoger "Next >". 4.- Ahora en Select Tool (para este caso) usare el simulador (cuando se vaya a cargar al PIC Kit 3, se puede cambiar) así que seleccionar "Simulator" y dar "Next >". 5.- En la pantalla de Select Compiler escojo mpasm 5.59, continuar con "Next >". 6.- Dar el nombre del proyecto y la ruta donde se guardaran los archivos fuente dar "Finish". 7.- En el área de trabajo agregar el código *.asm (o empezar a programar a mano si aún no se ha hecho el código) para lo cual desde el menú izquierdo de la pantalla hacer clic derecho del mouse sobre "Source Files" y escoger "Add Existing Item..." enseguida buscar el archivo *.asm, cuando se agregue dar doble clic para mostrarlo en pantalla. 8.- Para terminar, en la misma sección hacer clic derecho del mouse sobre "Linker Files" y seleccionar "Add Existing Item..." enseguida buscar archivo *.LKR Nota: Ruta default en Windows: "C:\Program Files\Microchip\MPLABX\mpasmx\LKR" Ruta default en Linux: "/opt/microchip/mplabx/mpasmx/lkr"). ES más FÁCIL COPIAR EL LINKER (para cada proyecto nuevo) en la carpeta donde reside el código ASM (para no buscar toda la ruta hacia el *.lkr). En este momento es posible realizar la ejecución del programa PERO NO APARECEN LAS VARIABLES ABSOLUTAS en las herramientas, la solución es: 1.- EN CADA PROYECTO NUEVO (que no se haya creado previamente en el descontinuado MPLAB IDE 8.92) ir a: File ---> Project Properties (nombre_proyecto). 2.- En la liga mpasm (Global Options) y del lado derecho, palomear la opción "Build in absolute mode". Con esto las herramientas "Variables", "Watches", etc. mostraran los valores de las variables absolutas de interés. 44
MUY IMPORTANTE!!. Se puede optar porque siempre el código sea absoluto para lo cual ir a: Tools ---> Options ---> Embedded ---> Project Options ---> File Path Mode: y seleccionar Always Absolute. Pantallas de MPLAB X IDE para Windows 9.- Ya que se tenga el programa listo para compilar, seleccionar: Debug ---> Debug Main Project 45
C (Código absoluto desde cero) Para colocar un programa hacia el PIC se debe haber compilado antes. Para el caso de C (lenguaje C) seguir estos sencillos pasos: 1.- Abrir el programa MPLAB X IDE 2.26. 2.- Seleccionar la opción: File ---> New Project... Standalone Project y dar clic a "Next >". 3.- En "Family:" selecciono "Advanced 8-bit MCUs (PIC 18)" y en "Device:" selecciono PIC18F4550, después escoger "Next >". 4.- Ahora en Select Tool (para este caso) usare el simulador (cuando se vaya a cargar al PIC Kit 3, se puede cambiar) así que seleccionar "Simulator" y dar "Next >". 5.- En la pantalla de Select Compiler escojo XC8 1.33, continuar con "Next >". 6.- Dar el nombre del proyecto y la ruta donde se guardaran los archivos fuente dar "Finish". 7.- En el área de trabajo agregar el código *.c (o empezar a programar a mano si aún no se ha hecho el código) para lo cual desde el menú izquierdo de la pantalla hacer clic derecho del mouse sobre "Source Files" y escoger "Add Existing Item..." enseguida buscar el archivo *.c, cuando se agregue dar doble clic para mostrarlo en pantalla. 8.- Para terminar, en la misma sección hacer clic derecho del mouse sobre "Linker Files" y seleccionar "Add Existing Item..." enseguida buscar archivo *.LKR Nota: Ruta default en Windows: "C:\Program Files\Microchip\MPLABX\mpasmx\LKR" Ruta default en Linux: "/opt/microchip/mplabx/mpasmx/lkr"). ES más FÁCIL COPIAR EL LINKER (para cada proyecto nuevo) en la carpeta donde reside el código C (para no buscar toda la ruta hacia el *.lkr). En este momento es posible realizar la ejecución del programa PERO NO APARECEN LAS VARIABLES ABSOLUTAS en las herramientas, la solución es: 1.- EN CADA PROYECTO NUEVO (que no se haya creado previamente en el descontinuado MPLAB IDE 8.92) ir a: File ---> Project Properties (nombre_proyecto). 2.- En la liga mpasm (Global Options) y del lado derecho, palomear la opción "Build in absolute mode". Con esto las herramientas "Variables", "Watches", etc. mostraran los valores de las variables absolutas de interés. 46
MUY IMPORTANTE!!. Se puede optar porque siempre el código sea absoluto para lo cual ir a: Tools ---> Options ---> Embedded ---> Project Options ---> File Path Mode: y seleccionar Always Absolute. Pantallas de MPLAB X IDE para Windows 9.- Ya que se tenga el programa listo para compilar, seleccionar: Debug ---> Debug Main Project 47
ASM o C (Código Absoluto creado con MPLAB IDE 8.92) Para colocar un programa hacia el PIC se debe haber compilado antes. Para el caso de ASM (ensamblador) o C (lenguaje C) seguir estos sencillos pasos: 1.- Abrir el programa MPLAB X IDE 2.26. 2.- Seleccionar la opción: File ---> New Project... ---> Existing MPLAB IDE v8 Project y dar clic a "Next >". 3.- En Project File Name selecciono "Browse..." y localizo el archivo *.mcp, cuando se agregue dar clic a "Next >". 4.- En "Family:" selecciono "Advanced 8-bit MCUs (PIC 18)" y en "Device:" selecciono PIC18F4550, después escoger "Next >". 5.- Ahora en Select Tool (para este caso) usare el simulador (cuando se vaya a cargar al PIC Kit 3, se puede cambiar) así que seleccionar "Simulator" y nuevamente dar "Next >". 6.- En Select compiler, escoger el adecuado según el código fuente, usar mpasm 5.59 para ASM (ensamblador) o XC8 1.33 para C (lenguaje C) y nuevamente dar "Next >". 6.- Lo siguiente es dar nombre del proyecto y la ruta donde se guardaran los archivos, NOTAR QUE ESOS CAMPOS YA ESTAN LLENOS, solamente dar "Next >". 7.- Por último sale una pantalla de resumen, dar "Finish". 8.- En el área de trabajo no necesito agregar el código (*.asm o *.c) basta con dar doble clic para mostrarlo en la pantalla. 9.- Para terminar, en la misma sección hacer clic derecho del mouse sobre "Linker Files" y seleccionar "Add Existing Item..." enseguida buscar archivo *.LKR Nota: Ruta default en Windows: "C:\Program Files\Microchip\MPLABX\mpasmx\LKR" Ruta default en Linux: "/opt/microchip/mplabx/mpasmx/lkr"). ES más FÁCIL COPIAR EL LINKER (para cada proyecto nuevo) en la carpeta donde reside el código ASM o C (para no buscar toda la ruta hacia el *.lkr). En este momento es posible realizar la ejecución del programa Y SI APARECEN LAS VARIABLES ABSOLUTAS. 48
Pines del PIC Kit 3 y Target A continuación, se procede a la carga el firmware (un bloque de instrucciones de máquina para propósitos específicos requeridos por el PIC) con un programador de PICs (en este caso el PIC Kit 3 programmer/debugger de la marca Microchip) hacia el Target que no es más que la tableta con el PIC (Peripheral Interface Controller). A partir de esta sección, se tomara como sinónimos a las palabras: Target, diseño casero y entrenador. Nota: Para la carga del firmware hacia el Target (ver PARTE 1: Método 2 Únicamente firmware, requiere programa y controladores para equipo de cómputo). La configuración de pines del Target es: 49
50
Reconocimiento de PIC KIT 3 Conectar el programador de PICs a un puerto USB (Universal Serial Bus) de la computadora para que el sistema operativo lo reconozca (e instale por primera vez) al principio el LED de status esta en color rojo, luego cambia a verde. Nota: Una vez que sea reconocido, cuando se vuelva a utilizar, pasara el LED de status del rojo al verde (muy rápido e imperceptible) y luego a apagado. 51
Conexión con el Target Unir al PIC Kit 3 el entrenador casero (este último sin energizar) el orden de los pines vistos desde un dispositivo respecto al otro, son reflejos (similar a ver en un espejo). 52
El pin 6 (referente a PGM) no es necesario en la conexión (más datos en el documento: PICkit 3 Programmer/Debugger User's Guide, páginas 18, 22, 24 y 27) puesto que el PIC18F4550 cuenta con un número mayor de 20 pines además no requiere In-circuit debug Headers (ICD Headers) pero con la aclaración, de que tampoco afecta su uso (MPLAB IDE se encarga de decidir según el ejemplar de PIC reconocido). Nota: Tener extremo cuidado en la conexión de los pines (ver numeración de pines del Target y PIC Kit 3 así como su señalización) o se dañara al PIC dejándolo inservible obligándose a colocar uno nuevo (MPLAB tiene una protección que consiste en un mensaje de error en la falta de concordancia y afortunadamente solo permite realizar borrar PIC). SE CONSIDERA QUE EL Target CUENTA CON EL FIRMWARE PRECARGADO. 53
Cargar al PIC Método 1 Directo y sin requerir de drivers para el PIC en el equipo de cómputo. a).- Abrir el programa del usuario (hecho con MPLAB X IDE, ver sección Compilación de código fuente en MPLAB X IDE ) seleccionar la configuración de bits necesaria (de lo contrario no se permite programar al microcontrolador) desde: Windows ---> PIC Memory Views ---> Configuration Bits Por comodidad y rapidez, conviene agregar directamente al código fuente del programa, las instrucciones validas (C18 o ASM dependiendo del lenguaje de programación usado) justo después de las lineas de comentarios que hacen referencia al título del programa. Para cualquier duda ver PIC18 CONFIGURATION SETTINGS ADDENDUM, página 203-207. Hay un apartado explicativo sobre la omisión de la instrucción DEBUG y el valor de la configuración del mismo (dentro del código fuente) en condiciones normales (más información en el documento: PICkit 3 Programmer/Debugger User's Guide, página 34). 54
b).- Si previamente se compilo el código fuente en el MPLAB X IDE o se creará el proyecto (en este caso seleccionar PICkit3 en la ventana de la sección "Select Tool" en lugar de Simulator sin embargo no es relevante pues se puede modificar posteriormente) cambiar la herramienta de simulación Simulator por PICkit3 desde: Run ---> Set Project Configuration ---> Customize... ---> Conf:[Default] ---> Hardware Tool: selecciono PICkit3 (debe aparecer abajo el número de serie del PIC Kit 3). y le doy "OK". Nota: Antes debe conectarse el PICKit3 al puerto USB de la computadora. c).- Alimentar al Target haciendo: Run ---> Set Project Configuration ---> Customize... ---> Conf:[Default] ---> PICKit3 ---> Option Categories ---> Power y palomear "power Target circuit from PICkit3" además en "Voltage level" seleccionar valor de "4.75 volts". d).- Enseguida se pueden hacer dos cosas: ejecutar el programa sin observarlo detenidamente o ejecutar el programa paso a paso. Para ejecutar el programa sin observarlo detenidamente: Al escoger la opción Run ---> Run Main Project aparecerá una ventana de aviso, solo ignorarla dando clic al botón "OK". 55
Si es la primera vez que se usa el PIC Kit 3, se verifica si hay actualización para este equipo (si es afirmativo, la instalará) luego si todo esta bien, en la pestaña de "PICkit3" aparecerán avisos varios (firmware del PIC Kit 3, detección, borrado y programación del Target, etc.) después el programa se ejecutará directamente en el Target (en caso de algún error como una unión defectuosa entre equipos, etc. marca error). Nota: Usando Run ---> Run Main Project, no se puede detener el programa por lo que para desconectar el PIC Kit 3 y el Target hacer... Quitar el PIC KIT 3. Seleccionar: Run ---> Set Project Configuration ---> Customize... ---> Conf:[Default] ---> PICKit3 ---> Option Categories ---> Power y ahí quitar la opción de "power Target circuit from PICkit3". Presionar el icono "Hold in reset". 56
Nota: Inmediatamente aparecerá una ventana de aviso, solo ignorarla dando clic al botón "OK". Desconectar del conector de pines al Target y luego jalar el cable USB del PIC Kit 3 que esta conectado a la PC. Para ejecutar el programa paso a paso: Al escoger la opción Debug ---> Debug Main Project aparecerá una ventana de aviso, solo ignorarla dando clic al botón "OK". Si es la primera vez que se usa el PIC Kit 3, se verifica si hay actualización para el equipo (si es afirmativo, la instalará) luego si todo esta bien, en la pestaña de "PICkit3" aparecerán avisos varios (firmware del PIC Kit 3, detección, borrado y programación del Target, etc.) luego el programa se ejecutará directamente en el Target (en caso de algún error como una unión defectuosa entre equipos, etc. marca error). 57
Quitar el PIC KIT 3. Para detener la ejecución: Debug ---> Finish Debugger Session Posteriormente ir a: Run ---> Set Project Configuration ---> Customize... ---> Conf:[Default] ---> PICKit3 ---> Option Categories ---> Power y ahí quitar la opción de "power Target circuit from PICkit3". 58
PROYECTO DOMOTICA3XN Creado, redactado, corregido, probado por: Mauricio A3XN <>---}-o------------------> 08-04-2015 Versión 4.5 59