Está en la página 1de 13

Puerto serie virtual VSPD y COMPIM de Proteus http://perso.wanadoo.es/pictob/rs232virtual.

htm

DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Puerto serie virtual VSPD y COMPIM de Proteus 1

Índice / Introducción Ampliación de contenidos

Puerto serie virtual VSPD y COMPIM de Proteus


Índice de contenidos
Por terminar

Introducción
El avance de la tecnología informática proporciona cada vez con mas frecuencia herramientas de simulación que agilizan
y simplifican los proyectos electrónicos. Así cuando se desarrolla una aplicación con PIC que hace uso del puerto serie
puede ser interesante utilizar un puerto serie virtual.

Virtual Serial Port Driver (VSPD), de la empresa Eltima www.eltima.com/products/vspdxp, es un software que permite
emular múltiples puertos RS232 (hasta 254 pares), podemos activar 2 puertos virtuales y conectarlos entre si, para hacer
uso individualmente y conectar 2 aplicaciones todo en el mismo ordenador.

Proteus dispone de un componente denominado COMPIM que conecta la simulación con un puerto serie físico. Ahora
bien, mediante un par de puertos serie virtuales podemos conectar una simulación realizada con Proteus a una aplicación
en el mismo PC como si el circuito con PIC fuera real y externo al PC y como si la simulación en Proteus estuviese
conectada a un puerto serie físico..

Configurar VSPD
La versión 6.0 comprobada en Windows XP SP2.
La versión 6.9 comprobada en Windows 7 64bits.

Una vez instalado, podemos iniciarlo desde el menú de Inicio de Windows en Eltima Software / Virtual Serial Port
Driver 6.0 / Configure Virtual Serial Port Driver.

1 de 13 18/05/2012 06:49 p.m.


Puerto serie virtual VSPD y COMPIM de Proteus http://perso.wanadoo.es/pictob/rs232virtual.htm

Para añadir un par de puertos serie virtuales hemos de seguir los siguientes pasos:

Seleccionamos la solapa "Manage ports" de la ventana principal.


En las listas desplegables de First port y Second port seleccionamos el nombre de un par de puertos virtuales, por
ejemplo COM4 y COM5.
Pulsamos el botón "Add pair".
Si todo ha ido bien los nuevos puertos creados aparecerán a la derecha en "Serial Ports Explorer".

Debe quedar así:

En el administrador de dispositivos del sistema (Inicio / Panel de control / Sistema / Hardware / Administrador de

2 de 13 18/05/2012 06:49 p.m.


Puerto serie virtual VSPD y COMPIM de Proteus http://perso.wanadoo.es/pictob/rs232virtual.htm

dispositivos) deben también aparecer:

Con esto es suficiente, aunque existen muchas mas posibilidades, que pueden consultarse en la ayuda del programa (en
inglés). Podemos cerrar la ventana de configuración de VSPD.

Para comprobar su funcionamiento vamos a abrir dos instancias de Hyperterminal, una utilizando COM4 y otra COM5
con la misma configuración del puerto. Las teclas que pulsemos en un terminal aparecerán en el otro:

En Windows XP accedemos a Hyperterminal con el menú Inicio de Windows / Accesorios / Comunicaciones /


Hyperterminal.

En Windows Vista y Windows 7 no se ha incorporado Hyperterminal, pero podemos descargarlo de aquí:


Hyperterminal.rar

Si aparece un cuadro de diálogo que pregunta si establecer Hyperterminal como programa Telnet predeterminado
decir que no.
Si aparece un cuadro de diálogo sobre la ubicación pulsar Cancelar y confirmar la cancelación.

En cualquier caso hay que dar un nombre a la conexión.

3 de 13 18/05/2012 06:49 p.m.


Puerto serie virtual VSPD y COMPIM de Proteus http://perso.wanadoo.es/pictob/rs232virtual.htm

4 de 13 18/05/2012 06:49 p.m.


Puerto serie virtual VSPD y COMPIM de Proteus http://perso.wanadoo.es/pictob/rs232virtual.htm

Le damos a aceptar y abrimos otra instancia de Hyperterminal que llamaremos PruebaCOM5, que utilice el puerto
COM5 y con las mismas propiedades dadas a COM4.

Lo que escribamos en PruebaCOM5 se envía a PruebaCOM4 y viceversa. Por defecto no esta activo el "eco" en el
terminal, es decir la información que escribimos no aparece en la pantalla de terminal. Esto es así porque la pantalla de
terminal muestra la información enviada desde el equipo remoto, no la información introducida en el equipo local. Para
poder ver lo que escribimos podemos establecer el eco en los dos terminales en Archivo / Propiedades / Configuración /
Configuración ASCII / Eco de los caracteres escritos localmente.

Pueden guardarse los archivos de sesión y luego volver a utilizarlo (sin tener que configurar de nuevo Hyperterminal) con
Archivo / Guardar como.... Los archivos se guardan con la extensión .ht.

Ver:

C:\Users\p\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accesorios\Comunicaciones\HyperTerminal

Cableado de patillas entre pares virtuales

La solapa "Custom pinout" permite establecer el cableado de líneas de los pares. Existen configuraciones prediseñadas y
además se pueden crear y guardar nuestras propias configuraciones fácilmente.

Preajustes personalizados:

1. Standard - Cableado de las líneas por defecto.


2. Loopback Mode (Modo de bucle invertido) - El objetivo principal de esta configuración es dejar que el software
piense que el handshaking (protocolo de enlace) está disponible, con un módem nulo que no tiene disposiciones al
respecto.
3. Custom - Permite establecer y guardar nuestra propia configuración.

La configuración Standard utiliza un cableado de módem nulo RS232 con protocolo de enlace parcial:

5 de 13 18/05/2012 06:49 p.m.


Puerto serie virtual VSPD y COMPIM de Proteus http://perso.wanadoo.es/pictob/rs232virtual.htm

Conector Conector
Función
1 2
CTS28 +
1 7+8 RTS27
DCD11
2 3 RXD12 TXD23
3 2 TXD13 RXD22
4 6 DTR14 DSR26
5 5 Tierra de señal
6 4 DSR16 DTR24
CTS18 +
7+8 1 RTS17
DCD21

Función: SEÑALconector-patilla

La configuración Loopback Mode utiliza un cableado de módem nulo RS232 con protocolo de enlace de bucle invertido
(loop back handshaking):

Conector Conector
Función
1 2
2 3 RXD12 TXD23
3 2 TXD13 RXD22
5 5 Tierra de señal
DCD11 +
1+4+6 - DTR14
DSR16
DCD21 +
- 1+4+6 DTR24
DSR26
7+8 - RTS17 CTS18
- 7+8 RTS27 CTS28

Función: SEÑALconector-patilla

COMPIM Serial Port Model de Proteus

6 de 13 18/05/2012 06:49 p.m.


Puerto serie virtual VSPD y COMPIM de Proteus http://perso.wanadoo.es/pictob/rs232virtual.htm

Introducción

Tradicionalmente, los sistemas de simulación no han tenido relación directa con el mundo físico que les rodea. Esto
significa que si queríamos simular parte de un sistema mucho más grande que las unidades interconectadas entre sí, había
que crear simulaciones de las otros unidades, o bien crear archivos con datos de prueba.

Las capacidades del Sistema Virtual de Modelización de Proteus VSM (Virtual System Modelling) permite la creación de
modelos que realmente puede interactuar con el mundo físico. Estos modelos se denominan Physical Interface Models o
PIM, para abreviar.

El modelo de COMPIM:

Es un modelo de interfaz física de un puerto serie. Los datos de entrada serie se almacenan en un buffer y se
presentan al circuito como una señal digital, mientras que los datos digitales serie generados por una CPU o un
modelo UART aparecen en el puerto serie físico del PC.
Puede configurarse la velocidad en baudios y las opciones de handshaking por hardware, software o ambas tanto
del aspecto físico como virtual del dispositivo para que cualquier equipo del mundo real con un puerto serie pueda
interactuar con una simulación de VSM. Por ejemplo, podemos utilizar una simulación VSM para desarrollar un
programa para una CPU o microcontrolador que opere con un modem físico real o con periféricos de un sistema de
automatización de seguridad, domótico o industrial. Alternativamente, un sistema de monitorización funcionando
en un PC puede utilizarse para depurar un diseño simulado funcionando en VSM, para ello puede utilizarse el
mismo PC gracias al uso de pares de puertos serie virtuales, como los que proporciona Virtual Serial Port Driver
antes comentado.
También pueden utilizarse algunas entrada-salidas simples. Las líneas CTS, DSR, DCD y RI del puerto serie físico
pueden actuar como rudimentarias entradas digitales de señales externas, tales como interruptores. Por otro lado
las líneas RTS y DTR del puerto serie físico pueden actuar como salidas rudimentarias. Hemos de tener en cuenta
que estas señales pueden necesitar además de un acondicionamiento para las señales físicas, dependiendo de la
aplicación y el tipo de puerto.

Diseño del dispositivo COMPIM

COMPIM tiene ocho patillas: TXD, RXD, CTS, RTS, DSR, DTR, DCD y RI.

TXD, RTS y DTR son entradas para el COMPIM y se convierten en salidas en el puerto físico.
RXD, CTS, DSR, DCD y RI son salidas para el COMPIM y se convierten en entradas del puerto físico.

Esto significa que el COMPIM representa en el esquema un DCE (Equipo para la Comunicacion de Datos, como por
ejemplo un ratón). Por el contrario, el modelo VTERM (por ser un terminal) está conectado como un DTE (Equipo
Terminal de Datos, por ejemplo un PC). El puerto COM físico en sí mismo es como un cable DTE (TXD es una salida).
Dicho de otra manera, COMPIM representa el conector DB9 hembra en el circuito diseñado en Proteus que por ejemplo
se conectaría al conector macho de un PC a través de un cable null modem.

Para mas información ver la comunicación serie.

Patillaje y señales del conector RS232: Patillaje de COMPIM:

7 de 13 18/05/2012 06:49 p.m.


Puerto serie virtual VSPD y COMPIM de Proteus http://perso.wanadoo.es/pictob/rs232virtual.htm

(Carrier
Detect)
Entrada
(Receive
Data)
1.
Entrada
CD
(Transmit
2.
Data)
RXD
Salida
3.
(Data
TXD
terminal
4.
Ready)
DTR
Salida
5.
(Ground)
GND
(Data Set
6.
Ready)
DSR
Entrada
7.
(Request
RTS
To Send)
8.
Salida
CTS
(Clear To
9. RI
Send)
Entrada
(Ring
Indicator)
Entrada

Cuando se inicia una simulación, los terminales del conector DB-9 dentro del símbolo de dispositivo COMPIM
indicadores a ser. El TXD y RXD terminales indicar la actividad en los correspondientes pines del puerto físico. Los
indicadores de la CTS, RTS, DSR, DTR, DCD y RI mostrar el estado de los pines del puerto físico.

Dos indicadores más cuadrados están presentes, a cada lado de la palabra 'ERROR'. Estos indicadores muestran roja
cuando se comete un error detectados en el puerto sea el virtual o el puerto físico. El indicador más cercano a la bandera
pins un error en el puerto virtual.

El indicador en el DB-9 terminales de banderas que se produjo un error en el puerto físico. Los errores indicados
incluyen el la elaboración y errores de paridad. La ventana de registro de simulación puede dar más información sobre la
naturaleza del error.

Traducción del inglés, por mejorar

El apretón de manos Modos de

Las señales de control de flujo, si está activo, no pasar directamente a través del puerto físico al virtual, o viceversa, en
lugar interactuar con los umbrales de alta y baja en el búfer de datos que se encuentran en COMPIM y el sistema
operativo. Esto significa que aunque el control de flujo puede ser la aceptación o el bloqueo de los datos en uno físico /
puerto virtual, el puerto físico virtual / puede no necesariamente se propagan este estado, a menos que los buffers se
estrecha hasta los topes, o en corriente.

Dicho de otra manera, si está habilitado o Intercambio de hardware físico o virtual, el pin de entrada de la RTS COMPIM
dejará de tener ningún efecto directo sobre la línea RTS del puerto COM. Este comportamiento es correcto y por diseño.

Buffering

El modelo de COMPIM proporciona amortiguación para los datos entrantes y salientes. Además de abarcar la situación

8 de 13 18/05/2012 06:49 p.m.


Puerto serie virtual VSPD y COMPIM de Proteus http://perso.wanadoo.es/pictob/rs232virtual.htm

en la que el VSM simulación de no mantener con el tiempo real, la memoria intermedia de entrada de obras, incluso
cuando la simulación está en pausa. Esta característica se puede ser muy útil, ya que las herramientas de depuración
VSM puede ser utilizado para un solo paso de la transformación de los datos mucho después de la dispositivo de
hardware físico conectado al puerto COM realmente transmitida.

El búfer de salida es más importante donde la velocidad de transmisión en el circuito virtual supera al que se utiliza para
comunicarse con el el dispositivo físico.

Virtual Stop Bits a 2

flow por defecto a no

Propiedades

El modelo de COMPIM apoya las siguientes propiedades:

Nombre de la propiedad Default Descripción


Físico P_PORT puerto COM1 Especifica el dispositivo de serie físico del modelo consiste en conectarse.
Física Baud Rate P_BAUDRATE 9600 especifica la velocidad en baudios del puerto físico debe ser fijado en. Los límites
para

Estos son los 50-1000000 baudios, aunque el hardware puede poner límites adicionales a los valores permitidos.

Bits de datos físicos P_DATABITS 8 Especifica el número de bits de datos utilizadas en el puerto físico. 7 y 8 de datos de
bits están actualmente soportados.

Físico paridad P_PARITY NINGUNA Especifica la paridad utilizada en el puerto físico. Esto no puede ser, par, impar,
MARK y espacio.

9 de 13 18/05/2012 06:49 p.m.


Puerto serie virtual VSPD y COMPIM de Proteus http://perso.wanadoo.es/pictob/rs232virtual.htm

Físico Stop Bits P_STOPBITS 1 Especifica el número de bits de parada utilizado en el puerto físico. 1 y 2, parada bits
están actualmente soportados.

Física XON / XOFF control de flujo P_SOFTFLOW 0 Especifica si XON / OFF control de flujo se va a utilizar en la
física puerto serie.

Física RTS / CTS de control de flujo P_HARDFLOW 0 Especifica si el hardware RTS / CTS de control de flujo apretón
de manos se va a utilizar en el puerto serie físico.
Física P_XONCHAR carácter XON 17 Especifica el carácter XON utilizado en la interfaz física.
Física P_XOFFCHAR carácter XOFF 19 Especifica el carácter XOFF utilizados en la interfaz física.
Virtual V_BAUDRATE 9600 Baud Rate Especifica la velocidad en baudios del puerto virtual. Los límites de este valor se
50-1000000 baudios.
Virtual Data Bits V_DATABITS 8 Especifica el número de bits de datos en el puerto virtual. 7 y 8 bits de datos son
actualmente soportados.
La paridad virtual V_PARITY NINGUNA Especifica la paridad utilizada en el puerto serie virtual. Este valor no puede
ser, ODD, INCLUSO, Mark y SPACE.
Virtual Stop Bits V_STOPBITS 1 Especifica el número de bits de parada en el puerto serie virtual. 1 y 2, parada bits están
actualmente soportados.
Virtual XON / XOFF control de flujo V_SOFTSLOW 0 Especifica si XON / XOFF control de flujo se utiliza en la serie
virtual puerto.
Virtual RTS / CTS de control de flujo V_HARDFLOW 0 Especifica que el hardware RTS / CTS apretón de manos se va a
utilizar en el puerto virtual.
Virtual XON carácter V_XONCHAR 17 Especifica el carácter XON utiliza la interfaz virtual.
Virtual V_XOFFCHAR carácter XOFF 19 Especifica el carácter XOFF utilizados en la interfaz virtual,
Tamaño de búfer de datos de entrada INPUT_BUFFER_SIZE 65536 Indica el límite superior para el tamaño de la
entrada en serie de amortiguamiento, de la interfaz física a la interfaz virtual, en bytes. El mínimo es 1, el máximo de
4.194.304.
Tamaño de búfer de datos de salida OUTPUT_BUFFER_SIZE 65536 Indica el límite superior para el tamaño de la salida
serial de amortiguamiento, desde la interfaz virtual a la interfaz física, en bytes. El mínimo es 1, el máximo de 4.194.304.

Notas adicionales

Un problema conocido con Windows 95/98/ME comportamiento de puerto de serie de la API causas funcionamiento
incorrecto indicador de llamada. Esto parece manifestarse como indicador de llamada de la línea de cómo realizar una
transición de bajo a alto, pero nunca realizar el alta a la transición bajo, por consiguiente, la línea de RI se atasca alta
hasta que se detiene la simulación.

No importa lo que los valores de INPUT_BUFFER_SIZE y OUTPUT_BUFFER_SIZE el sistema operativo y hardware


lleva a cabo algunas amortiguación limitada.

Limitaciones en la forma en que el puerto serie de la API de Win32 informes de un salto de línea significa que la
condición COMPIM ha de suponer el final de un salto de línea por otra actividad que ocurre en el puerto serie físico.
Esto significa que un salto de línea de condición puede seguir ser activos en el puerto virtual una vez que la condición ha
sido retirado del puerto físico.
Los indicadores en el dispositivo COMPIM tratan de reflejar el estado del puerto físico, sin embargo, el sistema operativo
y el hardware de almacenamiento en búfer antes de realizar alguna COMPIM.DLL tiene la oportunidad de examinar los
datos, lo que significa la mención podrá posiblemente lag el verdadero estado del puerto físico.

Pruebas de VSPD con Proteus


Empezaremos basándonos con el "Ejemplo 1. Enviar un mensaje ASCII del PIC al PC".

Primero debemos configurar VSPD tal y como se ha indicado mas arriba.

Luego montamos este esquema básico en Proteus. El componente COMPIM se introduce igual que cualquier otro,

10 de 13 18/05/2012 06:49 p.m.


Puerto serie virtual VSPD y COMPIM de Proteus http://perso.wanadoo.es/pictob/rs232virtual.htm

abriendo las librerías en Component Mode :

Nótese que en el esquema se conecta la salida RA0 a la patilla 3, TXD del conector, mientras que en el "Ejemplo 1.
Enviar un mensaje ASCII del PIC al PC" la conexión se hace en la patilla 2 del conector puesto que se utiliza un
conector hembra y un cable no cruzado macho-hembra (como una especie de extensión del puerto del PC). Aquí, dado
que VSPD crea pares de cables hembra-hembra se utiliza el pin 3 del conector DB9.

11 de 13 18/05/2012 06:49 p.m.


Puerto serie virtual VSPD y COMPIM de Proteus http://perso.wanadoo.es/pictob/rs232virtual.htm

Carga del programa .HEX del PIC en Proteus. El programa es el mismo que el del "Ejemplo 1. Enviar un mensaje ASCII
del PIC al PC":

La configuración de COMPIM debe ser:

12 de 13 18/05/2012 06:49 p.m.


Puerto serie virtual VSPD y COMPIM de Proteus http://perso.wanadoo.es/pictob/rs232virtual.htm

Configuración de hyperterminal de Windows. Elegimos el puerto 5 y nos aseguramos de que se utilizan unos parámetros
del puerto compatibles con la establecida en el PIC.

Prueba en simulación:

Mejora

13 de 13 18/05/2012 06:49 p.m.

También podría gustarte