Sei sulla pagina 1di 15

Puerto serie virtual VSPD y COMPIM de Proteus

http://perso.wanadoo.es/pictob/rs232virtual.htm

DISPOSITIVOS LGICOS MICROPROGRAMABLES ndice / Introduccin

Puerto serie virtual VSPD y COMPIM de Proteus Ampliacin de contenidos

Puerto serie virtual VSPD y COMPIM de Proteus


ndice de contenidos
Por terminar

Introduccin
El avance de la tecnologa informtica proporciona cada vez con mas frecuencia herramientas de simulacin que agilizan y simplifican los proyectos electrnicos. As cuando se desarrolla una aplicacin 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 mltiples 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 simulacin con un puerto serie fsico. Ahora bien, mediante un par de puertos serie virtuales podemos conectar una simulacin realizada con Proteus a una aplicacin en el mismo PC como si el circuito con PIC fuera real y externo al PC y como si la simulacin en Proteus estuviese conectada a un puerto serie fsico..

Configurar VSPD
La versin 6.0 comprobada en Windows XP SP2. La versin 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 15

28/07/2013 22:25

Puerto serie virtual VSPD y COMPIM de Proteus

http://perso.wanadoo.es/pictob/rs232virtual.htm

Para aadir 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 botn "Add pair". Si todo ha ido bien los nuevos puertos creados aparecern a la derecha en "Serial Ports Explorer". Debe quedar as:

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

2 de 15

28/07/2013 22:25

Puerto serie virtual VSPD y COMPIM de Proteus

http://perso.wanadoo.es/pictob/rs232virtual.htm

Administrador de dispositivos) deben tambin aparecer:

Con esto es suficiente, aunque existen muchas mas posibilidades, que pueden consultarse en la ayuda del programa (en ingls). Podemos cerrar la ventana de configuracin de VSPD. Para comprobar su funcionamiento vamos a abrir dos instancias de Hyperterminal, una utilizando COM4 y otra COM5 con la misma configuracin del puerto. Las teclas que pulsemos en un terminal aparecern 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 dilogo que pregunta si establecer Hyperterminal como programa Telnet predeterminado decir que no. Si aparece un cuadro de dilogo sobre la ubicacin pulsar Cancelar y confirmar la cancelacin. En cualquier caso hay que dar un nombre a la conexin.

3 de 15

28/07/2013 22:25

Puerto serie virtual VSPD y COMPIM de Proteus

http://perso.wanadoo.es/pictob/rs232virtual.htm

4 de 15

28/07/2013 22:25

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 enva a PruebaCOM4 y viceversa. Por defecto no esta activo el "eco" en el terminal, es decir la informacin que escribimos no aparece en la pantalla de terminal. Esto es as porque la pantalla de terminal muestra la informacin enviada desde el equipo remoto, no la informacin introducida en el equipo local. Para poder ver lo que escribimos podemos establecer el eco en los dos terminales en Archivo / Propiedades / Configuracin / Configuracin ASCII / Eco de los caracteres escritos localmente.

Pueden guardarse los archivos de sesin y luego volver a utilizarlo (sin tener que configurar de nuevo Hyperterminal) con Archivo / Guardar como.... Los archivos se guardan con la extensin .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 lneas de los pares. Existen configuraciones prediseadas y adems se pueden crear y guardar nuestras propias configuraciones fcilmente. Preajustes personalizados: 1. Standard - Cableado de las lneas por defecto. 2. Loopback Mode (Modo de bucle invertido) - El objetivo principal de esta configuracin es dejar que el software piense que el handshaking (protocolo de enlace) est disponible, con un mdem nulo que no tiene disposiciones al respecto.
5 de 15 28/07/2013 22:25

Puerto serie virtual VSPD y COMPIM de Proteus

http://perso.wanadoo.es/pictob/rs232virtual.htm

3. Custom - Permite establecer y guardar nuestra propia configuracin. La configuracin Standard utiliza un cableado de mdem nulo RS232 con protocolo de enlace parcial:

Conector Conector 1 2 1 2 3 4 5 6 7+8 7+8 3 2 6 5 4 1 RTS27 RXD12 TXD13 DTR14 DSR16 RTS17

Funcin CTS28 + DCD11 TXD23 RXD22 DSR26 DTR24 CTS18 + DCD21

Tierra de seal

Funcin: SEALconector-patilla

La configuracin Loopback Mode utiliza un cableado de mdem nulo RS232 con protocolo de enlace de bucle invertido (loop back handshaking):

6 de 15

28/07/2013 22:25

Puerto serie virtual VSPD y COMPIM de Proteus

http://perso.wanadoo.es/pictob/rs232virtual.htm

Conector Conector 1 2 2 3 5 1+4+6 3 2 5 RXD12 TXD13

Funcin TXD23 RXD22 DCD11 + DSR16 DCD21 + DSR26 CTS18 CTS28

Tierra de seal DTR14 DTR24 RTS17 RTS27

7+8 -

1+4+6 7+8

Funcin: SEALconector-patilla

COMPIM Serial Port Model de Proteus


Introduccin
Tradicionalmente, los sistemas de simulacin no han tenido relacin directa con el mundo fsico que les rodea. Esto significa que si queramos simular parte de un sistema mucho ms grande que las unidades interconectadas entre s, haba que crear simulaciones de las otros unidades, o bien crear archivos con datos de prueba. Las capacidades del Sistema Virtual de Modelizacin de Proteus VSM (Virtual System Modelling) permite la creacin de modelos que realmente puede interactuar con el mundo fsico. Estos modelos se denominan Physical Interface Models o PIM, para abreviar. El modelo de COMPIM: Es un modelo de interfaz fsica de un puerto serie. Los datos de entrada serie se almacenan en un buffer y se presentan al circuito como una seal digital, mientras que los datos digitales serie generados por una CPU o un modelo UART aparecen en el puerto serie fsico del PC. Puede configurarse la velocidad en baudios y las opciones de handshaking por hardware, software o ambas tanto del aspecto fsico como virtual del dispositivo para que cualquier equipo del mundo real con un puerto serie pueda interactuar con una simulacin de VSM. Por ejemplo, podemos utilizar una simulacin VSM para desarrollar un programa para una CPU o microcontrolador que opere con un modem fsico real o con perifricos de un sistema de automatizacin de seguridad, domtico o industrial. Alternativamente, un sistema de monitorizacin funcionando en un PC puede utilizarse para depurar un diseo 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.

7 de 15

28/07/2013 22:25

Puerto serie virtual VSPD y COMPIM de Proteus

http://perso.wanadoo.es/pictob/rs232virtual.htm

Tambin pueden utilizarse algunas entrada-salidas simples. Las lneas CTS, DSR, DCD y RI del puerto serie fsico pueden actuar como rudimentarias entradas digitales de seales externas, tales como interruptores. Por otro lado las lneas RTS y DTR del puerto serie fsico pueden actuar como salidas rudimentarias. Hemos de tener en cuenta que estas seales pueden necesitar adems de un acondicionamiento para las seales fsicas, dependiendo de la aplicacin y el tipo de puerto.

Diseo 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 fsico. RXD, CTS, DSR, DCD y RI son salidas para el COMPIM y se convierten en entradas del puerto fsico. Esto significa que el COMPIM representa en el esquema un DCE (Equipo para la Comunicacion de Datos, como por ejemplo un ratn). 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 fsico 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 diseado en Proteus que por ejemplo se conectara al conector macho de un PC a travs de un cable null modem. Para mas informacin ver la comunicacin serie. Patillaje y seales del conector RS232: (Carrier Detect) Entrada (Receive Data) Entrada (Transmit Data) Salida (Data terminal Ready) Salida (Ground) (Data Set Ready) Entrada (Request To Send) Salida (Clear To Send) Entrada (Ring Indicator) Entrada Patillaje de COMPIM:

1. CD 2. RXD 3. TXD 4. DTR 5. GND 6. DSR 7. RTS 8. CTS 9. RI

Cuando se inicia una simulacin, los terminales del conector DB-9 dentro del smbolo de dispositivo COMPIM indicadores a ser. El TXD y RXD terminales indicar la actividad en los correspondientes pines del puerto fsico. Los indicadores de la CTS, RTS, DSR, DTR, DCD y RI mostrar el estado de los pines del
8 de 15 28/07/2013 22:25

Puerto serie virtual VSPD y COMPIM de Proteus

http://perso.wanadoo.es/pictob/rs232virtual.htm

puerto fsico. Dos indicadores ms cuadrados estn 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 fsico. El indicador ms 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 fsico. Los errores indicados incluyen el la elaboracin y errores de paridad. La ventana de registro de simulacin puede dar ms informacin sobre la naturaleza del error. Traduccin del ingls, por mejorar El apretn de manos Modos de Las seales de control de flujo, si est activo, no pasar directamente a travs del puerto fsico al virtual, o viceversa, en lugar interactuar con los umbrales de alta y baja en el bfer de datos que se encuentran en COMPIM y el sistema operativo. Esto significa que aunque el control de flujo puede ser la aceptacin o el bloqueo de los datos en uno fsico / puerto virtual, el puerto fsico 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 fsico o virtual, el pin de entrada de la RTS COMPIM dejar de tener ningn efecto directo sobre la lnea RTS del puerto COM. Este comportamiento es correcto y por diseo. Buffering El modelo de COMPIM proporciona amortiguacin para los datos entrantes y salientes. Adems de abarcar la situacin en la que el VSM simulacin de no mantener con el tiempo real, la memoria intermedia de entrada de obras, incluso cuando la simulacin est en pausa. Esta caracterstica se puede ser muy til, ya que las herramientas de depuracin VSM puede ser utilizado para un solo paso de la transformacin de los datos mucho despus de la dispositivo de hardware fsico conectado al puerto COM realmente transmitida. El bfer de salida es ms importante donde la velocidad de transmisin en el circuito virtual supera al que se utiliza para comunicarse con el el dispositivo fsico.

9 de 15

28/07/2013 22:25

Puerto serie virtual VSPD y COMPIM de Proteus

http://perso.wanadoo.es/pictob/rs232virtual.htm

Virtual Stop Bits a 2 flow por defecto a no Propiedades El modelo de COMPIM apoya las siguientes propiedades: Nombre de la propiedad Default Descripcin Fsico P_PORT puerto COM1 Especifica el dispositivo de serie fsico del modelo consiste en conectarse. Fsica Baud Rate P_BAUDRATE 9600 especifica la velocidad en baudios del puerto fsico debe ser fijado en. Los lmites para Estos son los 50-1000000 baudios, aunque el hardware puede poner lmites adicionales a los valores permitidos.

Bits de datos fsicos P_DATABITS 8 Especifica el nmero de bits de datos utilizadas en el puerto fsico. 7 y 8 de datos de bits estn actualmente soportados. Fsico paridad P_PARITY NINGUNA Especifica la paridad utilizada en el puerto fsico. Esto no puede ser, par, impar, MARK y espacio. Fsico Stop Bits P_STOPBITS 1 Especifica el nmero de bits de parada utilizado en el puerto fsico. 1 y 2, parada bits estn actualmente soportados. Fsica XON / XOFF control de flujo P_SOFTFLOW 0 Especifica si XON / OFF control de flujo se va a

10 de 15

28/07/2013 22:25

Puerto serie virtual VSPD y COMPIM de Proteus

http://perso.wanadoo.es/pictob/rs232virtual.htm

utilizar en la fsica puerto serie. Fsica RTS / CTS de control de flujo P_HARDFLOW 0 Especifica si el hardware RTS / CTS de control de flujo apretn de manos se va a utilizar en el puerto serie fsico. Fsica P_XONCHAR carcter XON 17 Especifica el carcter XON utilizado en la interfaz fsica. Fsica P_XOFFCHAR carcter XOFF 19 Especifica el carcter XOFF utilizados en la interfaz fsica. Virtual V_BAUDRATE 9600 Baud Rate Especifica la velocidad en baudios del puerto virtual. Los lmites de este valor se 50-1000000 baudios. Virtual Data Bits V_DATABITS 8 Especifica el nmero 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 nmero de bits de parada en el puerto serie virtual. 1 y 2, parada bits estn 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 apretn de manos se va a utilizar en el puerto virtual. Virtual XON carcter V_XONCHAR 17 Especifica el carcter XON utiliza la interfaz virtual. Virtual V_XOFFCHAR carcter XOFF 19 Especifica el carcter XOFF utilizados en la interfaz virtual, Tamao de bfer de datos de entrada INPUT_BUFFER_SIZE 65536 Indica el lmite superior para el tamao de la entrada en serie de amortiguamiento, de la interfaz fsica a la interfaz virtual, en bytes. El mnimo es 1, el mximo de 4.194.304. Tamao de bfer de datos de salida OUTPUT_BUFFER_SIZE 65536 Indica el lmite superior para el tamao de la salida serial de amortiguamiento, desde la interfaz virtual a la interfaz fsica, en bytes. El mnimo es 1, el mximo 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 lnea de cmo realizar una transicin de bajo a alto, pero nunca realizar el alta a la transicin bajo, por consiguiente, la lnea de RI se atasca alta hasta que se detiene la simulacin. No importa lo que los valores de INPUT_BUFFER_SIZE y OUTPUT_BUFFER_SIZE el sistema operativo y hardware lleva a cabo algunas amortiguacin limitada. Limitaciones en la forma en que el puerto serie de la API de Win32 informes de un salto de lnea significa que la condicin COMPIM ha de suponer el final de un salto de lnea por otra actividad que ocurre en el puerto serie fsico. Esto significa que un salto de lnea de condicin puede seguir ser activos en el puerto virtual una vez que la condicin ha sido retirado del puerto fsico. Los indicadores en el dispositivo COMPIM tratan de reflejar el estado del puerto fsico, sin embargo, el sistema operativo y el hardware de almacenamiento en bfer antes de realizar alguna COMPIM.DLL tiene la oportunidad de examinar los datos, lo que significa la mencin podr posiblemente lag el verdadero estado del puerto fsico.

Pruebas de VSPD con Proteus


Empezaremos basndonos con el "Ejemplo 1. Enviar un mensaje ASCII del PIC al PC". Primero debemos configurar VSPD tal y como se ha indicado mas arriba.

11 de 15

28/07/2013 22:25

Puerto serie virtual VSPD y COMPIM de Proteus

http://perso.wanadoo.es/pictob/rs232virtual.htm

Luego montamos este esquema bsico en Proteus. El componente COMPIM se introduce igual que cualquier otro, abriendo las libreras en Component Mode :

Ntese 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 conexin 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 extensin del puerto del PC). Aqu, dado que VSPD crea pares de cables hembra-hembra se utiliza el pin 3 del conector DB9.

12 de 15

28/07/2013 22:25

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 configuracin de COMPIM debe ser:

13 de 15

28/07/2013 22:25

Puerto serie virtual VSPD y COMPIM de Proteus

http://perso.wanadoo.es/pictob/rs232virtual.htm

Configuracin de hyperterminal de Windows. Elegimos el puerto 5 y nos aseguramos de que se utilizan unos parmetros del puerto compatibles con la establecida en el PIC.

Prueba en simulacin:

14 de 15

28/07/2013 22:25

Puerto serie virtual VSPD y COMPIM de Proteus

http://perso.wanadoo.es/pictob/rs232virtual.htm

Mejora

15 de 15

28/07/2013 22:25