puerto serie virtual vspd y compim de proteus

Upload: juantrake

Post on 28-Oct-2015

380 views

Category:

Documents


3 download

TRANSCRIPT

  • DISPOSITIVOS LGICOSMICROPROGRAMABLES

    Puerto serie virtual VSPD y COMPIM deProteus

    1

    ndice / Introduccin 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 simulacinque agilizan y simplifican los proyectos electrnicos. As cuando se desarrolla una aplicacin con PIC quehace 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 softwareque permite emular mltiples puertos RS232 (hasta 254 pares), podemos activar 2 puertos virtuales yconectarlos 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 seriefsico. Ahora bien, mediante un par de puertos serie virtuales podemos conectar una simulacin realizada conProteus a una aplicacin en el mismo PC como si el circuito con PIC fuera real y externo al PC y como si lasimulacin 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 / VirtualSerial Port Driver 6.0 / Configure Virtual Serial Port Driver.

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

    1 de 15 28/07/2013 22:25

  • 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 puertosvirtuales, 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 /

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

    2 de 15 28/07/2013 22:25

  • Administrador de dispositivos) deben tambin aparecer:

    Con esto es suficiente, aunque existen muchas mas posibilidades, que pueden consultarse en la ayuda delprograma (en ingls). Podemos cerrar la ventana de configuracin de VSPD.

    Para comprobar su funcionamiento vamos a abrir dos instancias de Hyperterminal, una utilizando COM4 yotra COM5 con la misma configuracin del puerto. Las teclas que pulsemos en un terminal aparecern en elotro:

    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 Telnetpredeterminado 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.

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

    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

  • Le damos a aceptar y abrimos otra instancia de Hyperterminal que llamaremos PruebaCOM5, que utilice elpuerto 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 asporque la pantalla de terminal muestra la informacin enviada desde el equipo remoto, no la informacinintroducida en el equipo local. Para poder ver lo que escribimos podemos establecer el eco en los dosterminales en Archivo / Propiedades / Configuracin / Configuracin ASCII / Eco de los caracteres escritoslocalmente.

    Pueden guardarse los archivos de sesin y luego volver a utilizarlo (sin tener que configurar de nuevoHyperterminal) 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 configuracionesprediseadas y adems se pueden crear y guardar nuestras propias configuraciones fcilmente.

    Preajustes personalizados:

    Standard - Cableado de las lneas por defecto.1.Loopback Mode (Modo de bucle invertido) - El objetivo principal de esta configuracin es dejar que elsoftware piense que el handshaking (protocolo de enlace) est disponible, con un mdem nulo que notiene disposiciones al respecto.

    2.

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

    5 de 15 28/07/2013 22:25

  • Custom - Permite establecer y guardar nuestra propia configuracin.3.

    La configuracin Standard utiliza un cableado de mdem nulo RS232 con protocolo de enlace parcial:

    Conector1

    Conector2

    Funcin

    1 7 + 8 RTS27CTS

    28 +

    DCD11

    2 3 RXD12 TXD23

    3 2 TXD13 RXD22

    4 6 DTR14 DSR26

    5 5 Tierra de seal

    6 4 DSR16 DTR24

    7 + 8 1 RTS17CTS

    18 +

    DCD21

    Funcin: SEALconector-patilla

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

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

    6 de 15 28/07/2013 22:25

  • Conector1

    Conector2

    Funcin

    2 3 RXD12 TXD23

    3 2 TXD13 RXD22

    5 5 Tierra de seal

    1 + 4 + 6 - DTR14DCD

    11 +

    DSR16

    - 1 + 4 + 6 DTR24DCD

    21 +

    DSR26

    7 + 8 - RTS17 CTS18

    - 7 + 8 RTS27 CTS28

    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 lesrodea. Esto significa que si queramos simular parte de un sistema mucho ms grande que las unidadesinterconectadas entre s, haba que crear simulaciones de las otros unidades, o bien crear archivos con datosde prueba.

    Las capacidades del Sistema Virtual de Modelizacin de Proteus VSM (Virtual System Modelling) permite lacreacin de modelos que realmente puede interactuar con el mundo fsico. Estos modelos se denominanPhysical 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 buffery se presentan al circuito como una seal digital, mientras que los datos digitales serie generados poruna 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 oambas tanto del aspecto fsico como virtual del dispositivo para que cualquier equipo del mundo realcon un puerto serie pueda interactuar con una simulacin de VSM. Por ejemplo, podemos utilizar unasimulacin VSM para desarrollar un programa para una CPU o microcontrolador que opere con unmodem fsico real o con perifricos de un sistema de automatizacin de seguridad, domtico oindustrial. Alternativamente, un sistema de monitorizacin funcionando en un PC puede utilizarse paradepurar un diseo simulado funcionando en VSM, para ello puede utilizarse el mismo PC gracias al usode pares de puertos serie virtuales, como los que proporciona Virtual Serial Port Driver antescomentado.

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

    7 de 15 28/07/2013 22:25

  • Tambin pueden utilizarse algunas entrada-salidas simples. Las lneas CTS, DSR, DCD y RI del puertoserie fsico pueden actuar como rudimentarias entradas digitales de seales externas, tales comointerruptores. Por otro lado las lneas RTS y DTR del puerto serie fsico pueden actuar como salidasrudimentarias. Hemos de tener en cuenta que estas seales pueden necesitar adems de unacondicionamiento 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 comoun DTE (Equipo Terminal de Datos, por ejemplo un PC). El puerto COM fsico en s mismo es como un cableDTE (TXD es una salida). Dicho de otra manera, COMPIM representa el conector DB9 hembra en el circuitodiseado en Proteus que por ejemplo se conectara al conector macho de un PC a travs de un cable nullmodem.

    Para mas informacin ver la comunicacin serie.

    Patillaje y seales del conector RS232: Patillaje de COMPIM:

    1.CD2.RXD3.TXD4.DTR5.GND6.DSR7.RTS8.CTS9. RI

    (CarrierDetect)Entrada(ReceiveData)Entrada(TransmitData)Salida(DataterminalReady)Salida(Ground)(Data SetReady)Entrada(RequestTo Send)Salida(Clear ToSend)Entrada(RingIndicator)Entrada

    Cuando se inicia una simulacin, los terminales del conector DB-9 dentro del smbolo de dispositivoCOMPIM indicadores a ser. El TXD y RXD terminales indicar la actividad en los correspondientes pines delpuerto fsico. Los indicadores de la CTS, RTS, DSR, DTR, DCD y RI mostrar el estado de los pines del

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

    8 de 15 28/07/2013 22:25

  • puerto fsico.

    Dos indicadores ms cuadrados estn presentes, a cada lado de la palabra 'ERROR'. Estos indicadoresmuestran roja cuando se comete un error detectados en el puerto sea el virtual o el puerto fsico. El indicadorms 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 erroresindicados incluyen el la elaboracin y errores de paridad. La ventana de registro de simulacin puede dar msinformacin 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, oviceversa, en lugar interactuar con los umbrales de alta y baja en el bfer de datos que se encuentran enCOMPIM y el sistema operativo. Esto significa que aunque el control de flujo puede ser la aceptacin o elbloqueo de los datos en uno fsico / puerto virtual, el puerto fsico virtual / puede no necesariamente sepropagan 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 laRTS COMPIM dejar de tener ningn efecto directo sobre la lnea RTS del puerto COM. Estecomportamiento es correcto y por diseo.

    Buffering

    El modelo de COMPIM proporciona amortiguacin para los datos entrantes y salientes. Adems de abarcar lasituacin en la que el VSM simulacin de no mantener con el tiempo real, la memoria intermedia de entradade obras, incluso cuando la simulacin est en pausa. Esta caracterstica se puede ser muy til, ya que lasherramientas de depuracin VSM puede ser utilizado para un solo paso de la transformacin de los datosmucho 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 seutiliza para comunicarse con el el dispositivo fsico.

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

    9 de 15 28/07/2013 22:25

  • Virtual Stop Bits a 2

    flow por defecto a no

    Propiedades

    El modelo de COMPIM apoya las siguientes propiedades:

    Nombre de la propiedad Default DescripcinFsico 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 valorespermitidos.

    Bits de datos fsicos P_DATABITS 8 Especifica el nmero de bits de datos utilizadas en el puerto fsico. 7 y 8de 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

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

    10 de 15 28/07/2013 22:25

  • utilizar en la fsica puerto serie.

    Fsica RTS / CTS de control de flujo P_HARDFLOW 0 Especifica si el hardware RTS / CTS de control deflujo 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 deeste 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 dedatos son actualmente soportados.La paridad virtual V_PARITY NINGUNA Especifica la paridad utilizada en el puerto serie virtual. Este valorno 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 utilizaen la serie virtual puerto.Virtual RTS / CTS de control de flujo V_HARDFLOW 0 Especifica que el hardware RTS / CTS apretn demanos 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 tamaode 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 tamaode la salida serial de amortiguamiento, desde la interfaz virtual a la interfaz fsica, en bytes. El mnimo es 1, elmximo de 4.194.304.

    Notas adicionales

    Un problema conocido con Windows 95/98/ME comportamiento de puerto de serie de la API causasfuncionamiento incorrecto indicador de llamada. Esto parece manifestarse como indicador de llamada de lalnea de cmo realizar una transicin de bajo a alto, pero nunca realizar el alta a la transicin bajo, porconsiguiente, 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 yhardware 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 significaque la condicin COMPIM ha de suponer el final de un salto de lnea por otra actividad que ocurre en elpuerto serie fsico. Esto significa que un salto de lnea de condicin puede seguir ser activos en el puertovirtual 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, elsistema operativo y el hardware de almacenamiento en bfer antes de realizar alguna COMPIM.DLL tiene laoportunidad de examinar los datos, lo que significa la mencin podr posiblemente lag el verdadero estadodel 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.

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

    11 de 15 28/07/2013 22:25

  • Luego montamos este esquema bsico en Proteus. El componente COMPIM se introduce igual que cualquierotro, 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 puestoque se utiliza un conector hembra y un cable no cruzado macho-hembra (como una especie de extensin delpuerto del PC). Aqu, dado que VSPD crea pares de cables hembra-hembra se utiliza el pin 3 del conectorDB9.

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

    12 de 15 28/07/2013 22:25

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

    La configuracin de COMPIM debe ser:

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

    13 de 15 28/07/2013 22:25

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

    Prueba en simulacin:

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

    14 de 15 28/07/2013 22:25

  • Mejora

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

    15 de 15 28/07/2013 22:25