Descargar primer capitulo_libro_compiladorcccs_simulador_proteus
Upcoming SlideShare
Loading in...5
×
 

Descargar primer capitulo_libro_compiladorcccs_simulador_proteus

on

  • 2,073 views

 

Statistics

Views

Total Views
2,073
Views on SlideShare
2,073
Embed Views
0

Actions

Likes
0
Downloads
22
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Descargar primer capitulo_libro_compiladorcccs_simulador_proteus Descargar primer capitulo_libro_compiladorcccs_simulador_proteus Document Transcript

  • Título:Compilador C CSS y Simulador PROTEUS para Microcontroladores PICAutor:© Eduardo García Breijo 2008© MARCOMBO, EDICIONES TÉCNICAS 2008 MARCOMBO, S.A. Gran Via de les Corts Catalanes 594 08007 Barcelona (España)Quedan rigurosamente prohibidas, sin la autorización escrita de los titulares del copyright,bajo las sanciones establecidas en las leyes, la reproducción total o parcial de esta obra porcualquier medio o procedimiento, incluidos la reprografía y el tratamiento informático, así comola distribución de ejemplares mediante alquiler o préstamo públicos.ISBN: 978-84-267-1495-4Impreso enD.L.:iv
  • 1. ISIS de PROTEUS VSM Capítulo 1 ISIS de PROTEUS VSM1.1 IntroducciónEl entorno de diseño electrónico PROTEUS VSM de LABCENTER ELECTRONICS(www.labcenter.co.uk) ofrece la posibilidad de simular código microcontrolador dealto y bajo nivel y, simultáneamente, con la simulación en modo mixto de SPICE.Esto permite el diseño tanto a nivel hardware como software y realizar la simula-ción en un mismo y único entorno. Para ello, se suministran tres potentes subentor-nos como son el ISIS para el diseño gráfico, VSM (Virtual System Modelling) para lasimulación y el ARES para el diseño de placas (figura 1). Figura 1. Entorno de trabajo PROTEUS (fuente: Labcenter Electronics) 1
  • Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC1.2 Captura electrónica: entorno gráfico ISISISIS es un potente programa de diseño electrónico que permite realizar esquemasque pueden ser simulados en el entorno VSM o pasados a un circuito impreso yaen el entorno ARES.Posee una muy buena colección de librerías de modelos tanto para dibujar, simularo para las placas. Además, permite la creación de nuevos componentes, su mode-lización para su simulación e, incluso, la posibilidad de solicitar al fabricante (Lab-center Electronics) que cree un nuevo modelo.Sin entrar profundamente en como utilizar dicho programa (requeriría un librosólo para ello), a continuación se explican las bases para dibujar cualquier circuitoelectrónico. El programa ISIS posee un entorno de trabajo (figura 2) formado pordistintas barras de herramientas y la ventana de trabajo. Fi Figura 2. El entorno d t b j d l programa ISIS 2 t de trabajo delVarios de estos menús también se pueden utilizar con la ayuda del botón derecho delratón. Al pulsarlo en cualquier parte del entorno de trabajo aparece un menú contex-tual donde se pueden ir obteniendo los distintos submenús de trabajo (figura3).2 View slide
  • 1. ISIS de PROTEUS VSM Figura 3 Submenús d t b j del b tó d 3. S b ú de trabajo d l botón derecho d l ratón h del tóPara dibujar, lo primero es colocar los distintos componentes en la hoja de trabajo.Para ello, se selecciona el modo componentes (figura 4) y, acto seguido, realizar unapulsación sobre el botón P de la ventana de componentes y librerías (figura 5). Fi Figura 4 M d componentes 4. Modo t Fi Figura 5 B t 5. Boton “ i k” “pick”Tras activar el botón P se abre la ventana para la edición de componentes (figura 6)donde se puede buscar el componente adecuado y comprobar sus características.Al localizar el componente adecuado se realiza una doble pulsación en él, de talforma que aparezca en la ventana de componentes y librerías (figura 7). Se pue-de realizar esta acción tantas veces como componentes se quieran incorporar alesquema. Una vez finalizado el proceso se puede cerrar la ventana de edición decomponentes. 3 View slide
  • Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC Figura 6. Ventana para la edición de componentes 6 Figura 7. Los componentes añadidos ñPara situar un componente en el esquema tan sólo debemos seleccionarlo de lalista. Al hacerlo se puede comprobar su orientación (tal como se representará en elesquema) en la ventana de edición (figura 8). Si deseamos modificar la rotación ola reflexión del componente podemos acceder a ello a través de la barra de herra-mientas correspondiente (figura 9).Haciéndolo de esta forma, “todos” los componentes de la lista tendrán la mismaorientación (si se desea orientar un único componente deberemos hacerlo una vezya situado en el esquema).4
  • 1. ISIS de PROTEUS VSM Figura 8 Selección y orientación ra 8. Figura 9 Barra de rotación y reflexi 9. reflexión del componenteAhora sólo falta realizar una pulsación sobre la ventana de trabajo y se colocaráel componente. El cursor del ratón se convierte en un lápiz blanco (figura 10). Sepueden colocar varios componentes del mismo tipo simplemente realizando variaspulsaciones. Para terminar de colocar un componente se debe seleccionar otro com-ponente de la lista o pasar a otro modo de trabajo. Figura 10. C i 0 Cursor en el modo de colocación iEs importante activar la herramienta de referencia automática (Real Time Annota-tion). De esta forma, los componentes tendrán una referencia distinta y de formaconsecutiva; en los circuitos integrados con varios componentes encapsulados tam-bién se referenciarán según dicho encapsulado (U1A, U1B, etc.). Esta herramientase activa o desactiva desde la opción de menú TOOLS Real Time Annotation.Una vez situados los componentes en el área de trabajo se pueden mover, al pasarpor encima del componente el cursor se convierte en una mano (figura 11) y al rea-lizar una pulsación, el cursor se transforma en una mano con una cruz, indicandoque se puede mover el componente (quedan seleccionados al ponerse en rojo) y sepuede arrastrar (atención: si se vuelve a realizar otra pulsación del botón izquierdose editan las características del componente). También se puede cambiar su orienta-ción utilizando los comandos de rotación y reflexión a través de una pulsación delbotón derecho del ratón (figura 12) y se pueden eliminar con dos pulsaciones con elbotón derecho sobre ellos (o con el botón derecho y el comando Delete Objet). Figura 11. El cursor en modo de selección y mover ió 5
  • Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC Figura 12. Menú contextual de un componente activado por el botón derecho del ratón xtualTodas estás acciones se pueden realizar individualmente o de forma colectiva, esdecir, se pueden agrupar varios componentes a través de pulsaciones consecutivassobre ellos (manteniendo la tecla <Control> pulsada) o dibujando una ventana conel botón izquierdo y arrastrándola sobre los mismos (figura 14). Fi Figura 13. Los componentes en el á 13 L t l área d t b j de trabajoUna vez seleccionado el conjunto de componentes (se marcan todos en rojo) debemos utilizar la herramienta de grupo (figura 15), que también aparece tras pulsar elbotón derecho. Con esta herramienta se pueden copiar, mover, rotar o eliminar loscomponentes seleccionados.6
  • 1. ISIS de PROTEUS VSM Figura 14. Selección de varios componentes Figura 15 La herramienta de grupo ura 15.Para unir los componentes con cables hay que situarse en los extremos de los termi-nales, el cursor se convierte en un lápiz verde (figura 16). Ahora se pueden ejecutardos acciones o ir marcando el camino hasta el destino con distintas pulsaciones(figura 17) o realizar, directamente, una pulsación en el destino y dejar que ISISrealice el camino. Para ello, debe estar activada la herramienta TOOLS WireAutorouter. Figura 16. Inicio de cable ra 16 Figura 17. Circuito “a mano” 17 7
  • Compilador C CCS y Simulador PROTEUS para Microcontroladores PICLas uniones entre cables se pueden realizar de forma automática. Para ello, mien-tras se traza un camino debemos realizar una pulsación sobre el cable objeto de launión eléctrica (figura 18). También se pueden realizar de forma manual medianteel modo de unión (figura 19); en este modo tan sólo hay que ir haciendo pulsacio-nes sobre los puntos donde deseamos realizar la unión. Figura 18. Unión eléctrica entre c 8 cables Figura 19. Modo de u 9 uniónSe puede modificar el trazado de los cables. Para ello, se realiza una pulsación so-bre el cable, en ese instante el cursor se convierte en una doble flecha (figura 20) yse puede arrastrar el ratón para modificar el cable. Fi Figura 20 Mover los cables 20. M l blTambién se pueden utilizar buses para las uniones multicable. Los buses permitenconectar varios terminales entre sí utilizando un único elemento (figura 21); en estecaso, el cursor se convierte en un lápiz azul (figura 22). Pero para distinguir losdistintos cables que forman parte del bus y distribuirlos en la entrada y en la salidase deben etiquetar mediante labels. En el caso de los cables se indicará una etiquetaúnica LCD0, LCD1, etc., y al bus una etiqueta conjunta según el formato LCD[0..3]que indique el nombre y la cantidad de cables que lo forman. Figura 21. Cableado por bus 218
  • 1. ISIS de PROTEUS VSM Figura 22. Cursor en modo de trazado de busEl etiquetado también permite unir cables virtualmente. Para ello, tan sólo es nece-sario que los dos cables se llamen igual aunque no estén conectados entre sí. Paraetiquetar cables o buses se utiliza el modo label (figura 23). Al activar este modo yrealizar una pulsación sobre un cable o bus se abre una ventana donde podemos in-troducir la etiqueta, además de seleccionar posición, orientación y estilo (figura 24). Figura 23 Modo labe a 23. label Figura 24 Ventana de edición de etiquetas gura 24.Otro modo de unión virtual es a través de terminales. Al activar el modo terminal(figura 25) se pueden seleccionar distintos tipos de terminales, entre ellos el utiliza-do por defecto (default). Al utilizar este terminal en varios componentes y darle elmismo nombre en todos ellos se consigue una unión eléctrica. Fi Figura 25. Modo terminal 25 M d t i l 9
  • Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC Figura 26 Unión eléctrica a través de terminales 26.Mediante este modo también se pueden colocar las masas y alimentaciones delcircuito utilizando las opciones Ground y Power (figura 26). De esta forma se puedefinalizar el circuito (figura 27). Figura 27. Circuito cableado 27Tan sólo queda modificar las características de los componentes que lo requieran,por ejemplo modificando el valor de los componentes pasivos. Para ello, se seleccio-na un componente realizando una pulsación con el botón derecho, aparece el menúcontextual y se selecciona la opción EDIT PROPERTIES; también se puede utilizarel modo edición (figura 28) en el cual tan sólo es necesario hacer una pulsación conel botón izquierdo sobre el componente; en este modo el cursor se convierte en unaflecha (figura 29). Al ejecutar esta acción se abre la ventana de edición donde sepueden cambiar las características de los componentes (figura 30), por ejemplo laresistencia de 10K a 180 ohm. También se puede editar directamente la referencia oel valor de un componente si la pulsación se realiza encima de estos elementos.10
  • 1. ISIS de PROTEUS VSM Figura 28 Modo edic 28. edición Figura 29 C i 29. Cursor en modo edición d di ió Figura 30. Ventana de edición de un componenteCon esto quedaría finalizado el circuito electrónico (figura 31). Pero en el caso delos sistemas basados en un microcontrolador aún quedan por modificar las carac-terísticas del mismo microcontrolador. Figura 31. El esquema completo 11
  • Compilador C CCS y Simulador PROTEUS para Microcontroladores PICEn el caso de los microcontroladores, la ventana de edición aporta mucha infor-mación (figura 32). Tal vez lo más importante es que permite cargar en el microcontrolador el archivo de programa (*.HEX) generado en la compilación; tambiénse puede modificar la frecuencia de reloj (por lo tanto no es necesario el uso decristales externos en la simulación), cambiar la palabra de configuración y otraspropiedades avanzadas. Figura 32. Ventana de edición de un micro 321.3 Depuración de los sistemas basados en PICmicroLa característica más importante del PROTEUS VSM es la capacidad de depurar pro-gramas fuente de distintos lenguajes de programación. Además de aceptar el archivode programación Intel Hex (HEX), también admite ficheros IAR UBROF (D39), Byte-Craft COD (COD), Microchip Compatible COF (COF) y Crownhill Proton Plus (BAS). Alutilizar estos archivos se puede abrir una ventana de código fuente llamada SOURCECODE mediante la cual se puede seguir el programa fuente línea a línea de código.Además permite visualizar elementos internos del PIC como son la memoria deprograma, la memoria de datos RAM o la EEPROM, los registros especiales (FSR)y la pila (Stack).Además, el entorno PROTEUS VSM permite compilar programas fuente en códigoensamblador directamente. Para ello, se utiliza el comando SOURCE (figura 33).12
  • 1. ISIS de PROTEUS VSM Figura 33 Generador de código de ficheros fuent a 33. fuenteEn el caso del compilador CCS C, después de compilar se generan, entre otros, losarchivos *.HEX y *.COF, los cuales se pueden utilizar para trabajar con el entornoPROTEUS VSM. Para ejecutar el programa desde ISIS se debe abrir la ventana deedición del microcontrolador (figura 32) y en el ítem PROGRAM FILE se puedeindicar el fichero de código fuente utilizado.Además, en esta ventana se puede indicar la frecuencia de trabajo con la opciónPROCESSOR CLOCK FREQUENCY (debemos observar que para la simulación noes necesario colocar elementos externos de oscilación en el PIC, tan sólo hacen faltaen caso de realizar la placa). En la opción ADVANCED PROPERTIES podemos ha-bilitar o configurar muchos más elementos: configurar el wacthdog, habilitar avisosde desbordamiento de pila, accesos no correctos a memoria, etc.Una vez cargado el microcontrolador con el programa fuente, se puede proceder ala simulación del circuito empleando la barra de simulación (figura 34). Esta barrase compone de la opción MARCHA, PASO A PASO, PAUSA y PARADA. Figura 34. Barra de simulaciónCon la opción MARCHA la simulación se inicia (el botón se vuelve verde) y fun-ciona en modo continuo. La simulación NO es en tiempo real y dependerá de lacarga 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 simulación) y el tiempo de ejecución; este tiempoindica el tiempo que tardaría, en la realidad, el circuito en realizar un proceso (porejemplo esto implica que, dependiendo de la carga de trabajo de la CPU, un tiempode 1 s en el circuito puede significar varios minutos de simulación). Fi Figura 35 Barra de estado en l simulación 35. B d t d la i l ió 13
  • Compilador C CCS y Simulador PROTEUS para Microcontroladores PICLa opción STOP para totalmente la simulación mientras que PAUSE la para de for-ma momentánea permitiendo hacer uso de las herramientas de depuración.La opción PASO a PASO permite trabajar en tramos de tiempo predefinidos y, ade-más, permite utilizar las herramientas de depuración. Esta opción está ligada ala configuración de la animación (figura 36): SYSTEM SET ANIMATION OP-TIONS SINGLE STEP TIME donde se puede definir el incremento de tiempoque se desea que pase cada vez que se pulsa esta tecla. Figura 36. Set animation optionsEn este cuadro de diálogo también se pueden cambiar los siguientes parámetros: • 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 simulación por cada uno de los frames; lo ideal es que sea el valor inverso del escogido en la opción FRAMES PER SECOND. • ANIMATIONS OPTIONS: permite habilitar la visualización de las sondas de tensión y corriente, mostrar los niveles lógicos en los pines, mostrar el nivel de tensión en los cables mediante colores o mostrar la dirección de la corriente en los cables mediante flechas. • VOLTAGE/CURRENT RANGES: permite determinar el umbral de tensión (±V) y corriente para utilizar en la visualización de las correspondientes ANI- MATIONS OPTIONS.En este punto se puede simular (y animar) un sistema con el PICmicro (figura 37).Lo más interesante de la simulación con microcontroladores es la utilización de lasherramientas de depuración. Es decir, visualizar mediante ventanas las distintaspartes internas del microcontrolador: memoria de programa, memoria de datos,pila, etc. La mayor parte de estas ventanas sólo se pueden visualizar durante unaPAUSA.14
  • 1. ISIS de PROTEUS VSM Fi Figura 37. Una simulación en marcha 37 U i l ió hDesde el menú DEBUG (figura 38) también se puede iniciar la simulación peropensando en la depuración. Con la opción START/RESTAR DEBUGGING se pue-de iniciar la simulación pero haciendo una pausa para ver las distintas ventanasde depuración. También se puede ejecutar el programa directamente con la opciónEXECUTE, EXECUTE WITHOUT BREAKPOINT o EXECUTE FOR SPECIFIEDTIME que permite ejecutar directamente un programa, ejecutarlo sin puntos deruptura (en el caso de tenerlos) y ejecutarlo en un tiempo concreto. Figura 38. El menú DEBUG antes de la simulación 8 simulac 15
  • Compilador C CCS y Simulador PROTEUS para Microcontroladores PICDesde esta ventana también se puede reinicializar la memoria EEPROM del mi-crocontrolador mediante RESET PERSISTENT MODEL DATA. Al producirse unapausa, el menú DEBUG se modifica (figura 39) mostrando las correspondientesherramientas de depuración. Figura 39 El menú DEBUG en una pausa ura 39.Estas herramientas son (figura 40): • SIMULATION LOG: Mensajes resultantes de la simulación. • WATCH WINDOWS: Ventana de visualización de posiciones de memoria. Permite añadir 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 Fi Figura 40. Ventanas d d 40 V t de depuración ióLa ventana WATCH WINDOW es la más versátil puesto que se pueden añadirvariables y modificar su visualización. Al pulsar el botón derecho sobre la ven-tana se abre un menú contextual (figura 41). Con ADD ITEMS (name/address) seañade la variable a visualizar directamente con el nombre predefinido (figura 42) en el PIC o, en el caso de varia- e bles propias del programador, se b pueden visualizar por dirección p (figura 43), donde se le indica el ( nombre, la dirección en hexade- n cimal, el tipo de dato (byte, word, c etc.) y el formato de visualización e (binario, decimal, etc.). El tipo de ( dato y el formato también se pue- d de cambiar desde DATA TYPE y d DISPLAY FORMAT. D F Figura 41. Menú contextual de W WATCH WINDOWS 17
  • Compilador C CCS y Simulador PROTEUS para Microcontroladores PICCon WATCHPOINT CONDITION se pueden habilitar puntos de ruptura median-te condiciones sobre las distintas variables (figura 44); se indica la variable, la más-cara de la condición (NONE, AND, OR, XOR) y el tipo de condición (NONE, ONCHANGE, EQUALS, etc.). Fi Figura 42 Add b Name 42. by N Figura 43 Add by Address 43. Figura 44 Puntos de ruptura 44.Hay una ventana de depuración que sólo se visualiza si se ha incorporado un fi-chero COD o COF al microcontrolador, se trata de la ventana CPU SOURCE CODE(figura 45). Con esta ventana se puede seguir la simulación línea a línea del archivode código fuente.En esta ventana (también en el menú DEBUG) están disponibles unos botones decontrol (figura 46).18
  • 1. ISIS de PROTEUS VSM Figura 45. La ventana CPU Source code 45 Fig ra 46 Los controles para la sim lación Figura 46. simulación• Simulación en modo continuo, no permite ver las ventanas de depu- ración.• Permite ejecutar una instrucción; si es una subrutina o una función la ejecuta directamente.• Permite ejecutar una instrucción; si es una subrutina o una función entra en ella.• Trabaja en modo continuo hasta que encuentra un retorno de cual- quier 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 PICHay una ventana de diagnóstico que facilita la depuración, almacenando los erro-res, mensajes de diagnóstico y avisos producidos durante el proceso de simulación(figura 47). En la barra de estado (zona inferior del área de trabajo) se muestra unaviso (figura 48); con una pulsación en el aviso aparece la ventana de diagnosis. Figura 47. Mensajes de diagnóstico de la simulaciónSe pueden configurar las opciones de esta herramienta desde la opción DEBUGCONFIGURE DISGNOSTIC (figura 49). En la ventana se muestran los componen-tes del esquema susceptibles de un diagnóstico en la simulación y las diferentesposibilidades de diagnóstico y el tiempo de diagnóstico (figura 50). Fi Figura 48. Mensajes de la herramienta de diagnóstico 48 M j d l h i d di ó i Figura 49 La configuración de diagnósti a 49. diagnósticos20
  • 1. ISIS de PROTEUS VSM Figura 50. Opciones de configuración 50Tras la simulación aparecen los diferentes resultados del análisis; en el ítem SOUR-CE aparece indicado el dispositivo fuente del análisis y tras una pulsación se puedeacceder a él (figura 51). Figura 51. Resultado del diagnósticoEl listado de nodos y patillas se pueden encontrar con la ayuda del DESIGN EX-PLORER (a ésta opción podemos acceder a través de distintas opciones: coman-do DESIGN, botón derecho, etc.). En su ventana de trabajo se muestran todos losnodos y patillas que forman el circuito (figura 52). 21
  • Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC Figura 52. La ventana Design Explorer 5222