Documente Academic
Documente Profesional
Documente Cultură
http://perso.wanadoo.es/pictob/rs232virtual.htm
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
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:
2 de 15
28/07/2013 22:25
http://perso.wanadoo.es/pictob/rs232virtual.htm
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
http://perso.wanadoo.es/pictob/rs232virtual.htm
4 de 15
28/07/2013 22:25
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
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
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
http://perso.wanadoo.es/pictob/rs232virtual.htm
7+8 -
1+4+6 7+8
Funcin: SEALconector-patilla
7 de 15
28/07/2013 22:25
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.
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
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
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
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.
11 de 15
28/07/2013 22:25
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
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":
13 de 15
28/07/2013 22:25
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
http://perso.wanadoo.es/pictob/rs232virtual.htm
Mejora
15 de 15
28/07/2013 22:25