Está en la página 1de 23

Ttulo: Compilador C CSS y Simulador PROTEUS para Microcontroladores PIC Autor: Eduardo Garca Breijo 2008

MARCOMBO, EDICIONES TCNICAS 2008 MARCOMBO, S.A. Gran Via de les Corts Catalanes 594 08007 Barcelona (Espaa)

Quedan rigurosamente prohibidas, sin la autorizacin escrita de los titulares del copyright, bajo las sanciones establecidas en las leyes, la reproduccin total o parcial de esta obra por cualquier medio o procedimiento, incluidos la reprografa y el tratamiento informtico, as como la distribucin de ejemplares mediante alquiler o prstamo pblicos.

ISBN: 978-84-267-1495-4

Impreso en D.L.:

iv

1. ISIS de PROTEUS VSM

Captulo 1
ISIS de PROTEUS VSM
1.1 Introduccin
El entorno de diseo electrnico PROTEUS VSM de LABCENTER ELECTRONICS (www.labcenter.co.uk) ofrece la posibilidad de simular cdigo microcontrolador de alto y bajo nivel y, simultneamente, con la simulacin en modo mixto de SPICE. Esto permite el diseo tanto a nivel hardware como software y realizar la simulacin en un mismo y nico entorno. Para ello, se suministran tres potentes subentornos como son el ISIS para el diseo grco, VSM (Virtual System Modelling) para la simulacin y el ARES para el diseo de placas (gura 1).

Figura 1. Entorno de trabajo PROTEUS (fuente: Labcenter Electronics)

Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC

1.2 Captura electrnica: entorno grfico ISIS


ISIS es un potente programa de diseo electrnico que permite realizar esquemas que pueden ser simulados en el entorno VSM o pasados a un circuito impreso ya en el entorno ARES. Posee una muy buena coleccin de libreras de modelos tanto para dibujar, simular o para las placas. Adems, permite la creacin de nuevos componentes, su modelizacin para su simulacin e, incluso, la posibilidad de solicitar al fabricante (Labcenter Electronics) que cree un nuevo modelo. Sin entrar profundamente en como utilizar dicho programa (requerira un libro slo para ello), a continuacin se explican las bases para dibujar cualquier circuito electrnico. El programa ISIS posee un entorno de trabajo (gura 2) formado por distintas barras de herramientas y la ventana de trabajo.

Figura 2 Fi 2. El entorno t d de t trabajo b j d del l programa ISIS

Varios de estos mens tambin se pueden utilizar con la ayuda del botn derecho del ratn. Al pulsarlo en cualquier parte del entorno de trabajo aparece un men contextual donde se pueden ir obteniendo los distintos submens de trabajo (gura3).

1. ISIS de PROTEUS VSM

Figura 3 3. Submens S b d de t trabajo b j del d lb botn t d derecho h d del l ratn t

Para dibujar, lo primero es colocar los distintos componentes en la hoja de trabajo. Para ello, se selecciona el modo componentes (gura 4) y, acto seguido, realizar una pulsacin sobre el botn P de la ventana de componentes y libreras (gura 5).

Fi Figura 4 4. M Modo d componentes t

Fi Figura 5 5. B Boton t pick i k

Tras activar el botn P se abre la ventana para la edicin de componentes (gura 6) donde se puede buscar el componente adecuado y comprobar sus caractersticas. Al localizar el componente adecuado se realiza una doble pulsacin en l, de tal forma que aparezca en la ventana de componentes y libreras (gura 7). Se puede realizar esta accin tantas veces como componentes se quieran incorporar al esquema. Una vez nalizado el proceso se puede cerrar la ventana de edicin de componentes.

Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC

Figura 6 6. Ventana para la edicin de componentes

Figura 7. Los componentes aadidos

Para situar un componente en el esquema tan slo debemos seleccionarlo de la lista. Al hacerlo se puede comprobar su orientacin (tal como se representar en el esquema) en la ventana de edicin (gura 8). Si deseamos modicar la rotacin o la reexin del componente podemos acceder a ello a travs de la barra de herramientas correspondiente (gura 9). Hacindolo de esta forma, todos los componentes de la lista tendrn la misma orientacin (si se desea orientar un nico componente deberemos hacerlo una vez ya situado en el esquema).

1. ISIS de PROTEUS VSM

Figura ra 8 8. Seleccin y orientacin del componente

Figura 9 9. Barra de rotacin y reflexi reflexin

Ahora slo falta realizar una pulsacin sobre la ventana de trabajo y se colocar el componente. El cursor del ratn se convierte en un lpiz blanco (gura 10). Se pueden colocar varios componentes del mismo tipo simplemente realizando varias pulsaciones. Para terminar de colocar un componente se debe seleccionar otro componente de la lista o pasar a otro modo de trabajo.

Figura i 10. 0 C Cursor en el modo de colocacin i

Es importante activar la herramienta de referencia automtica (Real Time Annotation). De esta forma, los componentes tendrn una referencia distinta y de forma consecutiva; en los circuitos integrados con varios componentes encapsulados tambin se referenciarn segn dicho encapsulado (U1A, U1B, etc.). Esta herramienta se activa o desactiva desde la opcin de men TOOLS Real Time Annotation. Una vez situados los componentes en el rea de trabajo se pueden mover, al pasar por encima del componente el cursor se convierte en una mano (gura 11) y al realizar una pulsacin, el cursor se transforma en una mano con una cruz, indicando que se puede mover el componente (quedan seleccionados al ponerse en rojo) y se puede arrastrar (atencin: si se vuelve a realizar otra pulsacin del botn izquierdo se editan las caractersticas del componente). Tambin se puede cambiar su orientacin utilizando los comandos de rotacin y reexin a travs de una pulsacin del botn derecho del ratn (gura 12) y se pueden eliminar con dos pulsaciones con el botn derecho sobre ellos (o con el botn derecho y el comando Delete Objet).

Figura 11. El cursor en modo de seleccin i y mover

Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC

Figura 12. Men contextual xtual de un componente activado por el botn derecho del ratn

Todas ests acciones se pueden realizar individualmente o de forma colectiva, es decir, se pueden agrupar varios componentes a travs de pulsaciones consecutivas sobre ellos (manteniendo la tecla <Control> pulsada) o dibujando una ventana con el botn izquierdo y arrastrndola sobre los mismos (gura 14).

Figura 13 Fi 13. L Los componentes t en el l rea d de t trabajo b j

Una vez seleccionado el conjunto de componentes (se marcan todos en rojo) debe mos utilizar la herramienta de grupo (gura 15), que tambin aparece tras pulsar el botn derecho. Con esta herramienta se pueden copiar, mover, rotar o eliminar los componentes seleccionados.

1. ISIS de PROTEUS VSM

Figura 14. Seleccin de varios componentes

Figura ura 15 15. La herramienta de grupo

Para unir los componentes con cables hay que situarse en los extremos de los terminales, el cursor se convierte en un lpiz verde (gura 16). Ahora se pueden ejecutar dos acciones o ir marcando el camino hasta el destino con distintas pulsaciones (gura 17) o realizar, directamente, una pulsacin en el destino y dejar que ISIS realice el camino. Para ello, debe estar activada la herramienta TOOLS Wire Autorouter.

Figura ra 16. 16 Inicio de cable

Figura 17. 17 Circuito a mano

Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC

Las uniones entre cables se pueden realizar de forma automtica. Para ello, mientras se traza un camino debemos realizar una pulsacin sobre el cable objeto de la unin elctrica (gura 18). Tambin se pueden realizar de forma manual mediante el modo de unin (gura 19); en este modo tan slo hay que ir haciendo pulsaciones sobre los puntos donde deseamos realizar la unin.

Figura 18. 8 Unin elctrica entre c cables

Figura 19. 9 Modo de u unin

Se puede modicar el trazado de los cables. Para ello, se realiza una pulsacin sobre el cable, en ese instante el cursor se convierte en una doble echa (gura 20) y se puede arrastrar el ratn para modicar el cable.

Figura 20 Fi 20. Mover M los l cables bl

Tambin se pueden utilizar buses para las uniones multicable. Los buses permiten conectar varios terminales entre s utilizando un nico elemento (gura 21); en este caso, el cursor se convierte en un lpiz azul (gura 22). Pero para distinguir los distintos cables que forman parte del bus y distribuirlos en la entrada y en la salida se deben etiquetar mediante labels. En el caso de los cables se indicar una etiqueta nica LCD0, LCD1, etc., y al bus una etiqueta conjunta segn el formato LCD[0..3] que indique el nombre y la cantidad de cables que lo forman.

Figura 21 21. Cableado por bus

1. ISIS de PROTEUS VSM

Figura 22. Cursor en modo de trazado de bus

El etiquetado tambin permite unir cables virtualmente. Para ello, tan slo es necesario que los dos cables se llamen igual aunque no estn conectados entre s. Para etiquetar cables o buses se utiliza el modo label (gura 23). Al activar este modo y realizar una pulsacin sobre un cable o bus se abre una ventana donde podemos introducir la etiqueta, adems de seleccionar posicin, orientacin y estilo (gura 24).

Figura a 23 23. Modo labe label

Figura gura 24 24. Ventana de edicin de etiquetas

Otro modo de unin virtual es a travs de terminales. Al activar el modo terminal (gura 25) se pueden seleccionar distintos tipos de terminales, entre ellos el utilizado por defecto (default). Al utilizar este terminal en varios componentes y darle el mismo nombre en todos ellos se consigue una unin elctrica.

Figura 25 Fi 25. M Modo d t terminal i l

Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC

Figura 26 26. Unin elctrica a travs de terminales

Mediante este modo tambin se pueden colocar las masas y alimentaciones del circuito utilizando las opciones Ground y Power (gura 26). De esta forma se puede nalizar el circuito (gura 27).

Figura 27 27. Circuito cableado

Tan slo queda modicar las caractersticas de los componentes que lo requieran, por ejemplo modicando el valor de los componentes pasivos. Para ello, se selecciona un componente realizando una pulsacin con el botn derecho, aparece el men contextual y se selecciona la opcin EDIT PROPERTIES; tambin se puede utilizar el modo edicin (gura 28) en el cual tan slo es necesario hacer una pulsacin con el botn izquierdo sobre el componente; en este modo el cursor se convierte en una echa (gura 29). Al ejecutar esta accin se abre la ventana de edicin donde se pueden cambiar las caractersticas de los componentes (gura 30), por ejemplo la resistencia de 10K a 180 ohm. Tambin se puede editar directamente la referencia o el valor de un componente si la pulsacin se realiza encima de estos elementos.

10

1. ISIS de PROTEUS VSM

Figura 28 28. Modo edic edicin

Figura i 29 29. C Cursor en modo d edicin di i

Figura 30. Ventana de edicin de un componente

Con esto quedara nalizado el circuito electrnico (gura 31). Pero en el caso de los sistemas basados en un microcontrolador an quedan por modicar las caractersticas del mismo microcontrolador.

Figura 31. El esquema completo

11

Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC

En el caso de los microcontroladores, la ventana de edicin aporta mucha informacin (gura 32). Tal vez lo ms importante es que permite cargar en el micro controlador el archivo de programa (*.HEX) generado en la compilacin; tambin se puede modicar la frecuencia de reloj (por lo tanto no es necesario el uso de cristales externos en la simulacin), cambiar la palabra de conguracin y otras propiedades avanzadas.

Figura 32 32. Ventana de edicin de un micro

1.3 Depuracin de los sistemas basados en PICmicro


La caracterstica ms importante del PROTEUS VSM es la capacidad de depurar programas fuente de distintos lenguajes de programacin. Adems de aceptar el archivo de programacin Intel Hex (HEX), tambin admite cheros IAR UBROF (D39), ByteCraft COD (COD), Microchip Compatible COF (COF) y Crownhill Proton Plus (BAS). Al utilizar estos archivos se puede abrir una ventana de cdigo fuente llamada SOURCE CODE mediante la cual se puede seguir el programa fuente lnea a lnea de cdigo. Adems permite visualizar elementos internos del PIC como son la memoria de programa, la memoria de datos RAM o la EEPROM, los registros especiales (FSR) y la pila (Stack). Adems, el entorno PROTEUS VSM permite compilar programas fuente en cdigo ensamblador directamente. Para ello, se utiliza el comando SOURCE (gura 33).

12

1. ISIS de PROTEUS VSM

Figura a 33 33. Generador de cdigo de ficheros fuent fuente

En el caso del compilador CCS C, despus de compilar se generan, entre otros, los archivos *.HEX y *.COF, los cuales se pueden utilizar para trabajar con el entorno PROTEUS VSM. Para ejecutar el programa desde ISIS se debe abrir la ventana de edicin del microcontrolador (gura 32) y en el tem PROGRAM FILE se puede indicar el chero de cdigo fuente utilizado. Adems, en esta ventana se puede indicar la frecuencia de trabajo con la opcin PROCESSOR CLOCK FREQUENCY (debemos observar que para la simulacin no es necesario colocar elementos externos de oscilacin en el PIC, tan slo hacen falta en caso de realizar la placa). En la opcin ADVANCED PROPERTIES podemos habilitar o congurar muchos ms elementos: congurar el wacthdog, habilitar avisos de desbordamiento de pila, accesos no correctos a memoria, etc. Una vez cargado el microcontrolador con el programa fuente, se puede proceder a la simulacin del circuito empleando la barra de simulacin (gura 34). Esta barra se compone de la opcin MARCHA, PASO A PASO, PAUSA y PARADA.

Figura 34. Barra de simulacin

Con la opcin MARCHA la simulacin se inicia (el botn se vuelve verde) y funciona en modo continuo. La simulacin NO es en tiempo real y depender de la carga de trabajo del PC. En la barra de estado se indica la carga de la CPU del PC (a mayor carga menos real ser la simulacin) y el tiempo de ejecucin; este tiempo indica el tiempo que tardara, en la realidad, el circuito en realizar un proceso (por ejemplo esto implica que, dependiendo de la carga de trabajo de la CPU, un tiempo de 1 s en el circuito puede signicar varios minutos de simulacin).

Figura 35 Fi 35. Barra B de d estado t d en l la simulacin i l i

13

Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC

La opcin STOP para totalmente la simulacin mientras que PAUSE la para de forma momentnea permitiendo hacer uso de las herramientas de depuracin. La opcin PASO a PASO permite trabajar en tramos de tiempo predenidos y, adems, permite utilizar las herramientas de depuracin. Esta opcin est ligada a la conguracin de la animacin (gura 36): SYSTEM SET ANIMATION OPTIONS SINGLE STEP TIME donde se puede denir el incremento de tiempo que se desea que pase cada vez que se pulsa esta tecla.

Figura 36. Set animation options

En este cuadro de dilogo tambin se pueden cambiar los siguientes parmetros: FRAMES PER SECOND: numero de veces que la pantalla de ISIS se refresca en un segundo (por defecto 20). TIMESTEP PER FRAME: indica el tiempo de simulacin por cada uno de los frames; lo ideal es que sea el valor inverso del escogido en la opcin FRAMES PER SECOND. ANIMATIONS OPTIONS: permite habilitar la visualizacin de las sondas de tensin y corriente, mostrar los niveles lgicos en los pines, mostrar el nivel de tensin en los cables mediante colores o mostrar la direccin de la corriente en los cables mediante echas. VOLTAGE/CURRENT RANGES: permite determinar el umbral de tensin (V) y corriente para utilizar en la visualizacin de las correspondientes ANIMATIONS OPTIONS. En este punto se puede simular (y animar) un sistema con el PICmicro (gura 37). Lo ms interesante de la simulacin con microcontroladores es la utilizacin de las herramientas de depuracin. Es decir, visualizar mediante ventanas las distintas partes internas del microcontrolador: memoria de programa, memoria de datos, pila, etc. La mayor parte de estas ventanas slo se pueden visualizar durante una PAUSA.

14

1. ISIS de PROTEUS VSM

Figura 37 Fi 37. U Una simulacin i l i en marcha h

Desde el men DEBUG (gura 38) tambin se puede iniciar la simulacin pero pensando en la depuracin. Con la opcin START/RESTAR DEBUGGING se puede iniciar la simulacin pero haciendo una pausa para ver las distintas ventanas de depuracin. Tambin se puede ejecutar el programa directamente con la opcin EXECUTE, EXECUTE WITHOUT BREAKPOINT o EXECUTE FOR SPECIFIED TIME que permite ejecutar directamente un programa, ejecutarlo sin puntos de ruptura (en el caso de tenerlos) y ejecutarlo en un tiempo concreto.

Figura 38. 8 El men DEBUG antes de la simulacin simulac

15

Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC

Desde esta ventana tambin se puede reinicializar la memoria EEPROM del microcontrolador mediante RESET PERSISTENT MODEL DATA. Al producirse una pausa, el men DEBUG se modica (gura 39) mostrando las correspondientes herramientas de depuracin.

Figura ura 39 39. El men DEBUG en una pausa

Estas herramientas son (gura 40): SIMULATION LOG: Mensajes resultantes de la simulacin. WATCH WINDOWS: Ventana de visualizacin de posiciones de memoria. Permite aadir la que el usuario desea ver. PIC CPU REGISTERS: Muestra los registros FSR del PIC. PIC CPU DATA MEMORY: Muestra la memoria de datos (RAM). PIC CPU EPROM MEMORY: Muestra la memoria de datos (EPROM). PIC CPU PROGRAM MEMORY: Muestra la memoria de programa. PIC CPU STACK: Muestra la pila.

16

1. ISIS de PROTEUS VSM

Figura 40 Fi 40. V Ventanas t d de d depuracin i

La ventana WATCH WINDOW es la ms verstil puesto que se pueden aadir variables y modicar su visualizacin. Al pulsar el botn derecho sobre la ventana se abre un men contextual (gura 41). Con ADD ITEMS (name/address) se aade la variable a visualizar directamente con el nombre predenido (gura 42) en e el PIC o, en el caso de variables b propias del programador, se pueden p visualizar por direccin (gura 43), donde se le indica el nombre, n la direccin en hexadecimal, c el tipo de dato (byte, word, etc.) e y el formato de visualizacin (binario, ( decimal, etc.). El tipo de dato d y el formato tambin se puede d cambiar desde DATA TYPE y D DISPLAY FORMAT.

F Figura 41. Men contextual de WATCH WINDOWS W

17

Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC

Con WATCHPOINT CONDITION se pueden habilitar puntos de ruptura mediante condiciones sobre las distintas variables (gura 44); se indica la variable, la mscara de la condicin (NONE, AND, OR, XOR) y el tipo de condicin (NONE, ON CHANGE, EQUALS, etc.).

Figura 42 Fi 42. Add b by Name N

Figura 43 43. Add by Address

Figura 44 44. Puntos de ruptura

Hay una ventana de depuracin que slo se visualiza si se ha incorporado un chero COD o COF al microcontrolador, se trata de la ventana CPU SOURCE CODE (gura 45). Con esta ventana se puede seguir la simulacin lnea a lnea del archivo de cdigo fuente. En esta ventana (tambin en el men DEBUG) estn disponibles unos botones de control (gura 46).

18

1. ISIS de PROTEUS VSM

Figura 45 45. La ventana CPU Source code

Figura 46. Los controles para la sim simulacin Fig ra 46 lacin

Simulacin en modo continuo, no permite ver las ventanas de depuracin. Permite ejecutar una instruccin; si es una subrutina o una funcin la ejecuta directamente. Permite ejecutar una instruccin; si es una subrutina o una funcin entra en ella. Trabaja en modo continuo hasta que encuentra un retorno de cualquier subrutina. Trabaja en modo continuo hasta que se encuentra con un punto de ruptura. Habilita o deshabilita los puntos de ruptura.

19

Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC

Hay una ventana de diagnstico que facilita la depuracin, almacenando los errores, mensajes de diagnstico y avisos producidos durante el proceso de simulacin (gura 47). En la barra de estado (zona inferior del rea de trabajo) se muestra un aviso (gura 48); con una pulsacin en el aviso aparece la ventana de diagnosis.

Figura 47. Mensajes de diagnstico de la simulacin

Se pueden congurar las opciones de esta herramienta desde la opcin DEBUG CONFIGURE DISGNOSTIC (gura 49). En la ventana se muestran los componentes del esquema susceptibles de un diagnstico en la simulacin y las diferentes posibilidades de diagnstico y el tiempo de diagnstico (gura 50).

Figura 48 Fi 48. M Mensajes j de d la l herramienta h i de d diagnstico di i

Figura a 49 49. La configuracin de diagnsti diagnsticos

20

1. ISIS de PROTEUS VSM

Figura 50 50. Opciones de configuracin

Tras la simulacin aparecen los diferentes resultados del anlisis; en el tem SOURCE aparece indicado el dispositivo fuente del anlisis y tras una pulsacin se puede acceder a l (gura 51).

Figura 51. Resultado del diagnstico

El listado de nodos y patillas se pueden encontrar con la ayuda del DESIGN EXPLORER (a sta opcin podemos acceder a travs de distintas opciones: comando DESIGN, botn derecho, etc.). En su ventana de trabajo se muestran todos los nodos y patillas que forman el circuito (gura 52).

21

Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC

Figura 52 52. La ventana Design Explorer

22

También podría gustarte