COM (hardware interface): Difference between revisions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
imported>Kvng
m unpiped links using script
 
imported>Kvng
I/O addresses: convert list to table
 
Line 9: Line 9:
By 2007, most computers shipped with only one or no physical COM ports. Today, few consumer-grade PC-compatible computers include COM ports,<ref>{{cite web |url=https://www.computerhope.com/jargon/s/seriport.htm |title=Serial port |access-date=2020-09-14}}</ref> though some of them do still include a COM [[Pin header|header]] on the motherboard.<ref>{{cite web |url=https://www.pcworld.com/article/254998/motherboard_port_guide_solving_your_connector_mystery.html |title=Motherboard Port Guide: Solving Your Connector Mystery |access-date=2020-09-14}}</ref>
By 2007, most computers shipped with only one or no physical COM ports. Today, few consumer-grade PC-compatible computers include COM ports,<ref>{{cite web |url=https://www.computerhope.com/jargon/s/seriport.htm |title=Serial port |access-date=2020-09-14}}</ref> though some of them do still include a COM [[Pin header|header]] on the motherboard.<ref>{{cite web |url=https://www.pcworld.com/article/254998/motherboard_port_guide_solving_your_connector_mystery.html |title=Motherboard Port Guide: Solving Your Connector Mystery |access-date=2020-09-14}}</ref>


After the RS-232 COM port was removed from most consumer-grade computers, an external USB-to-UART serial adapter cable was used to compensate for the loss. A major supplier of these chips is [[FTDI]].{{cn|date=September 2020}}
After the RS-232 COM port was removed from most consumer-grade computers, various adapters from various remaining interfaces such as [[PCI Express]] and [[USB]] can be used to install a COM port. A major supplier chips for external USB-to-UART serial adapter cables is [[FTDI]].{{cn|date=September 2020}}


==I/O addresses==
==I/O addresses==
Line 16: Line 16:
If the CPU, for example, wants to send information out on COM1, it writes to [[I/O port]] {{mono|0x3F8}}, as this I/O port is "connected" to the UART IC register which holds the information that is to be sent out.
If the CPU, for example, wants to send information out on COM1, it writes to [[I/O port]] {{mono|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:<ref>{{Cite web |title=22.2.3. Resources Required by Serial Ports - PC Hardware in a Nutshell, 3rd Edition [Book] |url=https://www.oreilly.com/library/view/pc-hardware-in/059600513X/ch22s02s03.html |access-date=2024-10-15 |website=www.oreilly.com |language=en}}</ref>
{| class="wikitable"
*'''COM1''': [[I/O port]] {{mono|0x3F8-0x3FF}}, [[Interrupt request|IRQ]] 4
|+ Typical COM port allocations in PC-compatible computers<ref>{{Cite web |title=22.2.3. Resources Required by Serial Ports - PC Hardware in a Nutshell, 3rd Edition [Book] |url=https://www.oreilly.com/library/view/pc-hardware-in/059600513X/ch22s02s03.html |access-date=2024-10-15 |website=www.oreilly.com |language=en}}</ref>
*'''COM2''': I/O port {{mono|0x2F8-0x2FF}}, IRQ 3
|-
*'''COM3''': I/O port {{mono|0x3E8-0x3EF}}, IRQ 4
! Designation !! [[I/O port]] !! [[Interrupt request|IRQ]]
*'''COM4''': I/O port {{mono|0x2E8-0x2EF}}, IRQ 3
|-
| COM1 || {{mono|0x3F8-0x3FF}} || 4
|-
| COM2 || {{mono|0x2F8-0x2FF}} || 3
|-
| COM3 || {{mono|0x3E8-0x3EF}} || 4
|-
| COM4 || {{mono|0x2E8-0x2EF}} || 3
|}


==Implementations==
==Implementations==

Latest revision as of 13:04, 6 August 2025

Template:Short description

File:Serial plug1.jpg
COM port (DE-9 connector).

COM (communication port)[1][2] 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

The name for the COM port started with the original IBM PC. IBM had called the four well-defined communication RS-232 ports the "COM" ports, starting from COM1 through COM4. In BASICA and PC DOS you can open these ports as "COM1:" through "COM4:", and all PC compatibles using MS-DOS used the same denotation.Script error: No such module "Unsubst". Most PC-compatible computers in the 1980s and 1990s had one or two COM ports.

By 2007, most computers shipped with only one or no physical COM ports. Today, few consumer-grade PC-compatible computers include COM ports,[3] though some of them do still include a COM header on the motherboard.[4]

After the RS-232 COM port was removed from most consumer-grade computers, various adapters from various remaining interfaces such as PCI Express and USB can be used to install a COM port. A major supplier chips for external USB-to-UART serial adapter cables is FTDI.Script error: No such module "Unsubst".

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 Template:Mono to Template:Mono.

If the CPU, for example, wants to send information out on COM1, it writes to I/O port Template:Mono, as this I/O port is "connected" to the UART IC register which holds the information that is to be sent out.

Typical COM port allocations in PC-compatible computers[5]
Designation I/O port IRQ
COM1 Template:Mono 4
COM2 Template:Mono 3
COM3 Template:Mono 4
COM4 Template:Mono 3

Implementations

See also

References

Template:Reflist

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; Template:ISBN.

External links

Template:Commons category multi

  1. Script error: No such module "citation/CS1".
  2. Script error: No such module "citation/CS1".
  3. Script error: No such module "citation/CS1".
  4. Script error: No such module "citation/CS1".
  5. Script error: No such module "citation/CS1".