Virtual serial port
From Wikipedia, the free encyclopedia
A 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). This port is created by special software products which enable extra serial ports in operation system without additional hardware installation (such as expansion cards, etc.). Unlike the standard physical serial port the virtual one can be assigned any name (COM255, VSP33, etc.) to. It is possible to create unlimited number of virtual serial ports in your PC. The only limitation is the performance capacity of your system, as it may require a substantial amount of resources to emulate say 255 serial ports on slow computers.
Virtual serial port emulates all serial port functionality, including Baud rate, Data bits, Parity bits, Stop bits, etc. Additionally it allows controlling the data flow, emulating all signal lines (DTR/DSR/CTS/RTS/DCD/RI) and customizing pinout (only advanced solutions).
Serial ports emulation can be useful in case 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 serial port. Another option is to communicate with any other serial devices via internet or LAN as if they are locally connected to computer (Serial-over-Ethernet technology). You can establish connection between two computers or applications via emulated null-modem link. Most of the available virtual serial port emulators are compatible with Windows 9x, Windows NT, Windows 2000, Windows ME, Windows 2003, Windows XP and some of them run under Windows CE, Windows Mobile and Pocket PC.
Virtual serial ports are available as both commercial products and free software.
Contents |
[edit] Description
The main idea behind serial port emulation is to supply PC with extra COM ports which the operation 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 port as physical port, and wouldn’t see any difference between them. A virtual serial port unlike a real one can be easily configured in accordance with your requirements providing a wide spectrum of data transmission modes. This aspect endows you with the opportunity to choose the best operation mode for emulated null-modem link. A lot of utilities, which provide serial port emulation, are available nowadays. Usually virtual serial ports are created in pairs. There are several ways how virtual serial ports and their combinations can be used.
- 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 to avoid usage of real serial ports and to connect two applications via virtual null-modem link on the same computer without any 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 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 other computer or serial port device via Internet. Virtual serial ports allow communicating with remote serial port by TCP/IP stack without real null-modem cable. As the result there are no limitations on physical location of two hosts and null-modem cable length.
- Virtual serial ports make it possible to build up 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.
- Thanks to virtual serial ports technology you can 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 connection is the best way to use rare and expensive serial devices by different users simultaneously. For instance, PC in USA may receive all data from a serial connected instrumentation in Great Britain via TCP/IP connection.
- Using serial port emulation you can split the real COM port between a number of virtual serial ports which are exactly the same as real one. This makes it possible to supply data from single serial device to be handled by all kinds of applications. Such necessity arises when several applications compete for a single GPS connection and 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.
- 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.
[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:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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:
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|open-source] 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.
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.