La suite PROTEUS incluye la herramienta VSM
(Virtual System Modelling), un completo simulador para
esquemas electrónicos que contienen microprocesador.
VSM combina la simulación de circuitos electrónicos
según el estándar SPICE, con modelos de animación
de los componentes electrónicos y los microprocesadores
que conforman el circuito.
De esta forma es posible, por primera vez, desarrollar
y probar un diseño antes de que el prototipo físico sea
construído.
VSM permite interactuar con nuestro diseño
utilizando elementos gráficos animados realizando
funciones de indicadores (LEDs, displays LCD, etc)
y de actuadores (pulsadores, interruptores, etc).
La simulación se realiza en tiempo real o en algo
que se puede considerar prácticamente como
tiempo real. Ordenadores personales
basados en un Pentium III a 300MHz
son capaces de simular un sistema básico con un
microprocesador 8051 funcionando a una velocidad
de reloj de 12MHz.
VSM incorpora las herramientas de
depuración más usuales como puntos de ruptura de
la ejecución del programa (breakpoints), ejecución
paso a paso y visualización del estado de variables,
tanto si el programa se ha escrito en ensamblador
como si se ha utilizado un lenguaje de alto nivel.
VSM permite la utilización de modelos
animados creados por terceras partes, incluídos
aquellos que puedan ser realizados por el propio
usuario. Muchos de estos modelos animados pueden
ser realizados sin necesidad de escribir ninguna
límea de código.
Una herramienta auxiliar totalmente documentada
está a disposición de los desarrolladores para
escribir sus propios modelos enpaquetados en
forma de librerías estándar de Windows DLLs.
Estos modelos pueden incluir sólo el comportamiento
electrónico o combinar ambos, el comportamiento
electrónico y el comportamiento gráfico. De esta
manera, prácticamente cualquier periférico
específico de nuestra aplicación puede ser
simulado.
VSM utiliza otra de las herramientas que forman
la suite PROTEUS para la realización de los
esquemas eléctricos que sirven de base para la simulación.
ISIS es un producto de gran estabilidad, presente
desde hace muchos años en el mercado, que combina su
enorme facilidad de uso con una gran potencia. Puede
encontrar información detallada de ISIS pulsando
sobre el siguiente enlace:
Obtener más información sobre ISIS.
El corazón de VSM es ProSPICE, un producto
de gran estabilidad que combina un núcleo de simulación
analógica usando el estándar SPICE3f5 con un simulador
digital dirigido por eventos. Puede
encontrar información detallada de ProSPICE pulsando
sobre el siguiente enlace:
Obtener más información sobre ProSPICE.
La característica más sorprendente e importante de VSM
es su capacidad de simular el software que se ejecuta en
el microcontrolador y su interacción con cualquier
componente electrónico digital o analógico conectado a él.
El proceso no puede ser más sencillo. Se sitúa el
microcontralador que deseamos emular en nuestro esquema
electrónico junto al resto de los componentes que
forman nuestro diseño. Seleccionamos el fichero en
código máquina que contiene el programa que deseamos
ejecutar en el micro, exáctamente el mismo que
cargaríamos en el chip real.
Si el programa escribe en uno de los puertos del micro, los niveles lógicos en los circuitos cambian de acuerdo con ello. Y si los circuitos provocan el cambio en el estado de alguno de los pines del microprocesador, entoncés estos se visualizarán en pantalla de acuerdo al programa ejecutado. Exactamente como en la vida real.
Los modelos de CPU utilizados por VSM emulan
completamente los puertos de entrada y salida, las
interrupciones, los temporizadores, los puertos
USART y cualquier otro periférico presente en cada
uno de los microprocesadores soportados. A diferencia
de un simulador de software más sencillo, la
interacción de todos estos periféricos con los
circuitos externos se realiza completamente utilizando
modelos de ondas.
VSM puede simular esquemas electrónicos que
contengan más de un microprocesador. Simplemente
se colocan los microprocesadores en el esquema y
se cablean entre sí o con el resto de la circutería.
VSM es una herramienta única por su capacidad de ejecutar simulaciones cercanas al tiempo real de sistemas completos basados en microprocesadores. Sin embargo, su potencia real se descubre al realizar simulaciones en el modo de ejecución del programa paso a paso. Es entonces cuando se comprueba que VSM trabaja justo igual que su depurador de software preferido. Y además, con VSM disfrutará en cada paso de la posibilidad de ver los efectos que se han producido en el conjunto del diseño electrónico, incluyendo todos los componentes electrónicos externos al microprocesador.
VSM realiza esta tarea de diferentes maneras
según la familia de microprocesadores emulada y las
herramientas propias que se esten utilizando.
En el siguiente apartado podrá encontrar información
detallada de los compiladores de terceras partes
soportados por VSM.
Todos los modelos de microprocesadores suministrados
con VSM son capaces de ejecutar los ficheros
binarios (en formatos Motorola Hex o Intel) generados
por su propio ensamblador o compilador. No obstante,
las capacidades de depuración disponibles son limitadas
puesto que el modelo del microprocesador no tiene
forma de relacionar el código máquina resultante con
las fuentes originales del programa.
Afortunadamente, la mayoría de los compiladores generan
ficheros de datos con códigos para la depuración que
contienen información extra usada por los depuradores
y otro tipo de herramientas. VSM es capaz de
cargar los ficheros de depuración producidos por los
compiladores de terceras partes pudiendo, de esta
forma, las facilidades de depuración de los lenguajes
de alto nivel: visualizar y saltar de una parte a
otra del código fuente, visualizar los contenidos de
las variables utilizadas por el programa en cada paso,
etc.
Para el desarrollo con microprocesadores AVR y ARM se
recomienda el uso de los ficheros de depuración con
formato ELF/DWARF que genera su propio compilador. De
todas formas también los ficheros de formato COFF son
soportados.
Para el desarrollo con microprocesadores PIC se
recomienda el uso de la herramienta de desarrollo
Proton (leguaje BASIC) o los ficheros COFF generados
por su propio entorno de desarrollo (MPLAB). La mayoría
de los compiladores para PIC (incluído el propio MPLAB)
en el futuro introducirán soporte para ficheros de
depuracion con formato ELF/DWARF, que ya es soportado
por los modelos PIC de VSM en la actualidad.
Para los desarrollos con microprocesadores 8051 se
recomienda la utilización de los ficheros OMF51 o
los ficheros de depuración de formato UBROF.
Nosotros estamos seguros de que PROTEUS es la
herramienta con más potencia presente hoy día
en el mercado. Sin embargo, con frecuencia, es
complicado comparar unas herramientas con otras y
ver cuales son las capacidades reales que ofrecen
unas y otras.
Con objeto de facilitar la tarea, en el sitio web
de Proteus en inglés se puede consultar una
extensa comparativa entre las principales herramientas
presentes en el mercado.
Consultar la comparativa en inglés.