Virtual serial port

From Wikipedia, the free encyclopedia

The neutrality of this article is disputed.
Please see the discussion on the talk page.
Some information in this article or section is not attributed to sources and may not be reliable.
Please check for inaccuracies, and modify and cite sources as needed.


Virtual serial port is a trade term used by certain vendors of COM port redirector software that emulates a serial port (RS-232, RS-422, and RS-485). Virtual serial ports are created by special software which enables extra serial ports in the operating system without using additional hardware (such as expansion cards, etc.). Unlike a standard physical serial port, a virtual one can be assigned any name (COM255, VSP33, etc.). The number of virtual serial ports that can be created in a system is limited only by its performance capacity. It may require a substantial amount of resources to emulate say 255 serial ports on a slow computer.

A virtual serial port emulates all serial port functionality, including Baud rate, Data bits, Parity bits, Stop bits, etc. Additionally it allows the data flow to be controlled, emulating all signal lines (DTR/DSR/CTS/RTS/DCD/RI) and customizing pinout (only advanced solutions).

Serial port emulation can be useful to allow communication between software or devices which would otherwise require extra physical connections, either to another computer or via a loopback cable, especially when there is a lack of available physical serial ports or they do not meet the current requirements. For instance, virtual serial ports can help you share data between several applications from one GPS device connected to a physical serial port. Another option is to communicate with any other serial devices via internet or LAN as if they are locally connected to the computer (Serial-over-Ethernet technology). You can establish connection between two computers or applications via emulated null-modem link.

Virtual serial ports are available as both commercial products and free software. Products are available for most recent Windows operating systems, including mobile versions.

Contents

[edit] Description

The main idea behind serial port emulation is to supply a PC with extra COM ports which the operating system will interpret as real ones. Full emulation of connection parameters (Baud rate, Data bits, Parity bits, Stop bits) and signal lines (DTR/DSR/CTS/RTS/DCD/RI) ensures that all applications will treat virtual serial ports as physical ports, and wouldn’t see anyudifference between them. Unlike a real port, a virtual serial port can be easily configured in accordance with your requirements to provide a wide spectrum of data transmission modes, so that you can choose the mode suitable for the emulation you need. Usually virtual serial ports are created in pairs, connected by an emulated null-modem link, however virtual serial ports can be used in a number of combinations:

  • To connect two applications to each other and provide data flow between them usually requires two computers or two physical ports on one computer. Virtual serial ports allow you to connect two applications via virtual null-modem link on the same computer without using any real serial ports or additional hardware.
  • Virtual serial ports can be used for testing/debugging different applications or serial port device drivers/emulators (such as modems, fax, GPS etc), which use a serial port and null-modem connection. This technology emulates the connection which makes it possible to transmit data between testing/debugging applications. Namely, if you need to design a driver for serial connection of devices which are still under development, it is really helpful to have an opportunity to emulate such connection.
  • They can also be used to create a null-modem link to another computer or serial port device via the Internet. Virtual serial ports allow communication with a remote serial port via the TCP/IP stack without a real null-modem cable. As a result there are no limitations on the physical location of the two hosts or the length of the null-modem cable.
  • Virtual serial ports make it possible to build up a multi-port serial device server a.k.a. terminal server which handles data from a great number of serial devices located at different places via network through TCP/IP port. So, with this facility you are able to connect a lot of different serial devices located all over the world to one server and handle all incoming data from those devices in one place.
  • Virtual serial port technology lets you send or receive data over a TCP/IP port using any serial communication program. This facility allows creating a full-fledged client-server architecture which provides multiple connections and data sharing possibilities between different applications. Such a connection is the best way to allow use of rare and expensive serial devices by different users simultaneously. For instance, a PC in the USA may receive data from a serially connected instrumentat in Great Britain via a TCP/IP connection.
  • Using serial port emulation you can split a real COM port between a number of virtual serial ports. This makes it possible to supply data from a single serial device to be handled by a number of different applications. Such necessity arises when several applications compete for a single GPS connection and the user must close one program to allow another to access a single GPS device.
  • When there is a lack of physical serial ports you can receive and handle data on your desktop or pocket PC from connected serial devices using null-modem emulation. For instance, virtual serial ports allow transferring data from a serial connected device to a pocket PC which hasn’t any serial ports available, via any type of network.
  • A virtual serial port may have the same name as physical one. This facility allows real serial port overlapping (mapping) and receiving data from a physical port through virtual port. In other words, you can map any serial port or virtual port to any other existing port in your system. In this case applications will work with virtual ports, but, in fact, they will receive data from overlapped real ports.NERD

[edit] Capabilities

Serial port emulation provides a variety of additional settings which suit different purposes. Thus, virtual serial port enables flexible adjusting of various serial connection parameters. The following ones are among them:

  • Baud rate determines a number of times that line changes its state per second, i.e. data transfer speed between applications which use virtual serial port connection. With baud rate changing it is possible to customize the speed of emulated null-modem link.
  • Possibility to set the number of transferring data bits which comprise all useful information. This facility permits to choose from 5, 6, 7 or 8 bits to be transmitted in one character frame. Thus, data bit body assigns amount of effective information per one signal.
  • The parity bit is an option that is used as a simple method of error checking. With changing a parity bit you define verification types that indicate various communication errors. Parity bit can be either odd or even. However it may be disabled and parity checking wouldn’t apply at all.
  • Stop bits show that the signal is passed and the line is free. Stop bits parameter can be set to 1, 1.5 or 2 bits.
  • Flow control allows controlling the data rate and other properties of the physical or virtual interface as well as shows the status of application or device that receives data.
  • Serial port emulation makes it possible to customize the hardware pinout for male and female interfaces of virtually connected devices. This facility lets you experiment with different connection patterns and select convenient pinout configuration.

For example, if the highest speed and greater data density are required for transmission, choose maximum baud rate, then get rid of the parity bit and reduce the stop bits to one. These manipulations maximize amount of useful data to be transmitted per signal and consequently provide maximum transmission speed.

[edit] Advantages

This part describes the main benefits of virtual serial port technology. First of all, applications that use virtual serial port don’t differentiate from physical serial port. From the user perspective this difference is considerable and allows virtual serial ports usage for wide spectrum of different purposes. Thus, serial port emulation provides you with the following advantages:

  1. Speed: in comparison with physical port virtual one has a higher data transfer speed. So, it is possible to transfer the same amount of data much faster. Also users are able to set the speed for emulated null-modem connection, as baud rate is usually fully emulated.
  2. Reliability: data transfer via emulated null-modem link is much safer because the probability of errors occurrence while transferring is minuscule. Devices are unable to induce noise on emulated null-modem line. With such a way, signal is protected from any pickup noise. Virtual serial port cannot disappear in the system unless you intentionally remove it.
  3. Flexibility: you may customize all serial port parameters for emulated null-modem link. Such ability provides users with comprehensive settings that help adjusting the way the data is transmitted over the null-modem line.
  4. Save resources: it offers the opportunity to avoid physical serial port usage. In cases when there is a lack of physical serial ports or they are not available, it is possible to emulate serial port. This enables applications to handle data from serial connected device over any kind of network.
  5. Splitting, multiplying, and redirecting serial port data: it is possible to share data from one serial device among several applications. If several applications require communication with one serial device simultaneously it is possible to split data into several virtual serial ports.
  6. Additional features: such as customizing pinouts - edit hardware ports' implementation in emulated entities. Such option lets you use different applications and emulate serial ports for devices with uncommon pinout configuration.

[edit] Software vendors

There are several software developers who deliver serial port emulation solutions to the market, either as commercial offerings or freely as open source software. Most popular companies and a short description of the offered products are listed below. You may get information about virtual serial ports technology, products descriptions and acquire needed software at the following links:

Franson GpsGate Uses virtual serial port to share one GPS between several GPS applications running at the same time. Supports Windows and Pocket PC. http://gpsgate.com

Pearson Computing Virtual Serial Cable - http://www.pearsoncomputing.net/freeware.php

The Virtual Serial Cable is free for Amateur Radio operators and supports Windows 95, 98, 98SE, and ME.

GPL Null-modem emulator - http://sourceforge.net/projects/com0com

com0com The Null-modem emulator (com0com) is a free OSS kernel-mode virtual serial port driver for Windows. You can create an unlimited number of virtual COM port pairs and use any pair to connect one COM port based application to another.

Eltima Software - http://www.eltima.com/

Virtual Serial Port Driver XP – creates the number of virtual serial ports which are virtually connected to each other in your system. You can transfer files or any other data between applications using virtual serial ports as if they are real serial ports. One of the interest features it provides is the ability to customize pinout for virtual ports. VSPD XP is compatible with Windows 98, Windows Me, Windows NT 4.x, Windows 2000, Windows XP, Windows 2003 and Windows XP 64-bit Edition.
Virtual Serial Port ActiveX Control – allows developing virtual serial ports in your own applications using any Integrated Development Environments that support Windows ActiveX component technology. VSPD AX is compatible with Windows 98, Windows Me, Windows NT 4.x, Windows 2000, Windows XP, Windows 2003 and Windows XP 64-bit Edition.
Serial Splitter is an advanced application which lets you splitting serial ports into multiple virtual and real serial ports, as well as joining multiple serial ports into one. Another feature is many-to-many ports splitting/redirection. It is compatible with Windows NT 4.x, Windows 2000, Windows XP, Windows 2003, and Windows XP 64-bit Edition.
Virtual Serial Port Driver Mobile Phone Edition – creates up to 20 virtual serial ports in Windows Mobile system.
At the developer’s site you may find all versions of these utilities developed for Pocket PC OS and Windows CE.

PC Micro - http://pcmicro.com

NetSerial Universal COM Port Redirector creates Virtual COM ports for either serial or modem based applications to be redirected to remote serial servers, modem servers, or any other TCP/IP based PC or device on any network (including the Internet). Compatible with nearly all brands of TCP based serial servers and modem servers. Optionally creates Virtual Modems, allowing PC modem applications be able to "Dial" an IP address as if it was a phone number, or to answer an incoming call on a TCP port. Supports both Outbound and Inbound connections, and includes full support for the RFC-2217 COM Port Control protocol. Includes SSL/TLS encryption allowing secure communications with SSL/TLS enabled remote servers or clients. For Windows Vista/XP/2003/2000/NT4.
NetDialOut COM Port Redirector creates virtual COM ports for Cisco Access Servers and Gateways, including the AS5200, AS5300, AS5400, and AS5800 series. NetDialOut also works with all other advanced modem servers (which support the RFC-2217 COM Port Control protocol). NetDialOut includes SSL/TLS encryption allowing secure communications with SSL/TLS enabled modem servers. For Windows Vista/XP/2003/2000/NT4.
NetModem PC Modem Server turns a Windows PC into an advanced Modem Pooling Server, allowing physical modems and other serial devices to be shared by unlimited network users. Supports Active Directory user authentication, RFC-2217, and SSL/TLS Data Encryption. NetModem includes free client software, which creates Virtual COM ports that can redirect to the next available modem on the NetModem Server PC. For Windows XP/2003/2000/NT4.
ModemServe PC Modem Server turns a Windows PC into a Modem Pooling Server, allowing physical modems and other serial devices to be shared by unlimited network users. Supports RFC-2217 Com Port Control, and includes free Virtual COM port client software. For Windows Vista/XP/2003/2000/NT4.

Tactical Software - http://tacticalsoftware.com

Serial/IP COM Port Redirector creates virtual COM ports for serial applications to use networked serial servers. Compatible with a wide range of TCP/IP-based serial servers, the Serial/IP Redirector supports advanced protocols and offers highly configurable virtual COM ports. Optional SSL encryption lets the Serial/IP Redirector securely communicate with SSL-enabled serial servers located on untrusted networks. For Windows XP/2003/2000/NT4/9x including x64 systems.
DialOut/EZ COM Port Redirector creates virtual COM ports for modem applications to use networked modem servers. Exclusively recommended by Cisco Systems for use with Cisco Access Servers and Universal Gateways, the DialOut/EZ Redirector is compatible with a wide range of TCP/IP-based modem servers that provide access to modems via Telnet or raw TCP connections. Optional SSL encryption lets the DialOut/EZ Redirector securely communicate with SSL-enabled modem servers located on untrusted networks ­ including the Internet. For Windows XP/2003/2000/NT4/9x including x64 systems.
COM/IP COM Port Redirector creates virtual COM ports and software modems for modem applications to use TCP/IP networks (including the Internet) instead of modem hardware and telephone connections. The COM/IP Redirector can originate or answer TCP connections with any other device, including computers running another copy of the COM/IP Redirector or serial servers. With optional encryption features, the COM/IP Redirector can be used with other SSL-enabled endpoints over untrusted networks, including the Internet. For Windows XP/2003/2000/NT4/9x including x64 systems.
TacServe COM Port Server software allows a Windows-based computer to become a modem pool or serial server that shares its local modem or serial devices with computers running COM port redirectors. TacServe includes the DialOut/EZ or Serial/IP TacServe Edition Redirector. For Windows XP/2003/2000/NT4 including x64 systems.
TTYredirector software allows Linux-based applications to use networked serial servers and dial-out modem pools. For Linux x86, including Red Hat Enterprise Linux, Fedora Core, SUSE and Debian.


FabulaTech, Inc. - http://www.fabulatech.com/

Virtual Serial Port Kit (Win and Win CE) – Create virtual serial ports and connect each pair of them via virtual null-modem cable.
Network Serial Port Kit – Share any serial port devices or create virtual null-modem cables over the TCP/IP network or Internet.
Serial Port Splitter – Share dataflow of one serial port between several applications or join dataflow of several serial port devices to one application.
Serial Port Redirector – Redirect serial data from Virtual Serial Port to TCP/IP network.
Virtual Serial Port Control – Create and control virtual serial ports to which any serial communications software can connect to.

HWgroup - http://www.hw-group.com

HW Virtual Serial Port – tool, which adds a virtual COM port to the system as for instance COM5 and all the data from this port are re-directed to the other HW device.

AGGsoftware - http://www.virtual-null-modem.com

Virtual Null Modem - utility, which purpose is to emulate one or more RS232 serial ports connected via virtual null-modem cable. VNM is compatible with Windows XP SP2.

Tibbo technology - http://www.tibbo.com

Virtual Serial Port Driver (VSPD) turns serial ports of Tibbo Device Servers into remote COM ports of your PC run under Windows.

Labtam - http://www.labtam-inc.com

DuplexDr Version 1.3: Virtual Serial Port Pairs Utility - create a pair of virtual serial ports (VSP pair) "virtually connected to each other" in your system (virtually identical to an RS-232 port). Microsoft Windows

Franson Serial Tools - http://www.franson.biz

SerialTools 2.0 - create a "virtual" serial port which other applications can connect to. SerialTools does not support the scenario of multiple applications connecting to one virtual port. For Windows and Pocket PC.

Taltech - http://www.taltech.com

TCP-Com can be used to solve a wide variety of device interfacing and RS232 or TCP/IP communications problems with a support for creating Virtual COM ports.