COM (hardware interface)
COM (communication port[1]) is the original, yet still common, name of the serial port interface on PC-compatible computers. It can refer not only to physical ports, but also to emulated ports, such as ports created by Bluetooth or USB adapters.
History
Most PC-compatible computers in the 1980s and 1990s had one or two COM ports. As of 2007, most computers shipped with one or no physical COM ports. As of 2014, consumer-grade PC-compatible computers don't include any COM ports, though some of them do still include a COM header on the motherboard.
After the RS-232 COM port was removed from most consumer-grade computers in the 2000s, an external USB-to-UART serial adapter cable was used to compensate for the loss. A major supplier of these chips is FTDI.[2]
I/O addresses
The COM ports are interfaced by an integrated circuit such as 16550 UART. This IC has seven internal 8-bit registers which hold information and configuration data about which data is to be sent or was received, the baud rate, interrupt configuration and more. In the case of COM1, these registers can be accessed by writing to or reading from the I/O addresses 0x3F8 to 0x3FF.
If the CPU, for example, wants to send information out on COM1, it writes to I/O port 0x3F8, as this I/O port is "connected" to the UART IC register which holds the information that is to be sent out.
The COM ports in PC-compatible computers are typically defined as:
- COM1: I/O port 0x3F8, IRQ 4
- COM2: I/O port 0x2F8, IRQ 3
- COM3: I/O port 0x3E8, IRQ 4
- COM4: I/O port 0x2E8, IRQ 3
Uses
- PCI-E card with one 9-pin COM port
- PCI card with two 9-pin COM ports
- ISA card with one 25-pin COM port
References
- "Configuring a communication port". IBM Lotus Domino and Notes Information Center. August 14, 2008. Archived from the original on 17 September 2013.
- Products; FTDI.
Further reading
- Serial Port Complete: COM Ports, USB Virtual COM Ports, and Ports for Embedded Systems; 2nd Edition; Jan Axelson; Lakeview Research; 380 pages; 2007; ISBN 978-1-931-44806-2.
External links
Wikimedia Commons has media related to |
- How to Interface Hardware in COM ports
- Java Simple Serial Connector - library for work with serial ports from Java. Support Windows: Win98-Win8(32-bit and 64-bit), Linux(x86, x86-64, ARM(soft and hard float)), Mac OS X: 10.5-10.8(x86, x86-64, PPC and PPC64), Solaris OS(x86, x86-64).