Puerto COM Virtual (VCP)

Creación de pares de puertos COM virtuales (VCP)

Tutorial en video disponible

Un tutorial en video está disponible haciendo clic en este enlace.


SerialTool - VCP (Puerto COM Virtual)

Las imágenes en esta página pueden diferir de las versiones más recientes de SerialTool.

Gracias a la implementación de un potente controlador de kernel, es posible crear pares de puertos COM virtuales y más: SerialTool ofrece herramientas listas para usar como COM Splitter, COM Sniffer and COM to Network.

Desde la versión 2.2.0, SerialTool ofrece a los usuarios de Windows la posibilidad de crear pares de puertos COM virtuales de forma rápida, flexible y fiable a través de la función de Puerto COM Virtual.

Esta función (con algunas limitaciones en la versión gratuita) es ideal para quienes necesitan experimentar con aplicaciones embebidas o conectar dispositivos antiguos cuyo software ya no se mantiene.

¿Qué es un Puerto COM Virtual en Windows?

Un puerto COM virtual (VCP) es una interfaz de software que emula el comportamiento de un puerto RS-232 tradicional. Permite que las aplicaciones se comuniquen entre sí o con dispositivos simulados sin necesidad de hardware físico. En Windows, estos puertos son reconocidos por el sistema operativo como si fueran puertos COM reales, lo que garantiza la compatibilidad con aplicaciones que requieren comunicación serie.

El puerto COM virtual reproduce una conexión null-modem, que también puede simularse con un cable físico cruzando las líneas TX-RX de un puerto (por ejemplo, COM10) con las de un segundo puerto (por ejemplo, COM11). TX de COM10 se conecta con RX de COM11 y viceversa, permitiendo que los datos se transmitan entre ambos puertos.

Los puertos COM virtuales siempre se crean en pares mediante un controlador de kernel del sistema operativo y están conectados virtualmente entre sí.

Entre sus usos comunes están el radioaficionado, divisores de señales GPS, depuración de sistemas embebidos o prototipos con Arduino. También es útil para software antiguo que sólo funciona con puertos COM fijos o velocidades de transmisión no compatibles.

Ventajas de los Puertos COM Virtuales

Estas son algunas ventajas de los puertos COM virtuales:

  • Desarrollo y prueba: Ideal para desarrolladores que necesitan simular la comunicación serie entre dispositivos.
  • Integración de dispositivos heredados: Permite utilizar software antiguo en hardware moderno sin puertos serie físicos.
  • Comunicación en red: Permite la transmisión de datos serie a través de redes TCP/IP.

Gestión de Puertos COM Virtuales

Gestor de Puertos COM Virtuales

Gestor de Puertos COM Virtuales

Desde el menú Gestor de Puertos COM Virtuales se puede administrar los puertos COM virtuales.

  • Añadir par: Crea un nuevo par de puertos COM virtuales.
  • Eliminar todos los pares: Elimina todos los puertos COM virtuales existentes.
  • Deshabilitar todos los pares y Habilitar todos los pares: (Des)habilita todos los puertos. Los puertos permanecen instalados pero no están disponibles.

Cada par de puertos puede configurarse modificando la conexión lógica de señales usando el botón Cambiar.

Configuración del Puerto COM Virtual

Así es como se ve el menú de configuración del puerto COM virtual:

Configuración del Puerto COM Virtual

Configuración del Puerto COM Virtual

En esta pantalla se puede cambiar el número del puerto COM (por ejemplo, de COM10 a COM21), siempre que el sistema lo permita y no esté ocupado. Véase la documentación oficial de Microsoft.

También se puede modificar el comportamiento lógico de las señales del puerto COM virtual.

La configuración predeterminada emula una conexión null-modem clásica: las señales rojas (DTR, RTS) son salidas, las verdes (DSR, DCD, CTS, RI) son entradas.

Las señales de entrada solo pueden conectarse a una salida, mientras que una salida puede alimentar múltiples entradas.
Las señales de entrada pueden invertirse haciendo doble clic en el campo correspondiente. Un "!" indica que la señal está lógicamente invertida.

Las líneas TX y RX están siempre cruzadas y no son editables.

Más información sobre las señales COM:

DTR – Data Terminal Ready

En una configuración null-modem, DTR se conecta frecuentemente con DCD para simular la detección de portadora.

RTS/CTS – Request To Send / Clear To Send

Este par de señales implementa el control de flujo por hardware:

  • RTS: Enviado por el DTE para solicitar permiso para transmitir.
  • CTS: Enviado por el DCE para autorizar la transmisión.

DCD – Data Carrier Detect

Esta señal indica: "Sí, se ha detectado una conexión activa."
En configuraciones null-modem, DCD suele vincularse a DTR u otras señales.

DSR – Data Set Ready

Es complementario a DTR y confirma que el dispositivo de comunicación está activo.

RI – Ring Indicator

Indica que el teléfono conectado al módem está sonando. Se activa temporalmente (normalmente a -15V) cuando entra una llamada.
En módems reales está vinculado a la línea telefónica, en null-modem generalmente no está conectado.

Para pruebas estándar, se recomienda no modificar la configuración predeterminada de señales a menos que sea absolutamente necesario y se comprendan sus implicaciones.