[skip nav] www.ackadia.com
ant worker


» System Architecture: A look at communication ports «

Serial & parallel ports. UART, USB, Firewire & FC-AL

Communication Ports
[Δ]

Communication Ports


Serial Port
A connector on a computer to which you can attach a serial line connected to peripherals which communicate using a serial (bit-stream) protocol. The most common type of serial port is a 25-pin D-type connector carrying RS-232 signals. Smaller connectors (e.g. 9-pin D-type) carrying a subset of RS-232 are often used on personal computers. The serial port is usually connected to an integrated circuit called a UART which handles the conversion between serial and parallel data.

In the days before bit-mapped displays, and today on multi-user systems, the serial port was used to connect one or more terminals (teletypes or VDUs), printers, modems and other serial peripherals. Two computers connected together via their serial ports, possibly via modems, can communicate using a protocol such as UUCP or CU or SLIP.

UART (Universal Asynchronous Receiver/Transmitter) An integrated circuit used for serial communications, containing a transmitter (parallel-to-serial converter) and a receiver (serial-to-parallel converter), each clocked separately.

The parallel side of a UART is usually connected to the bus of a computer. When the computer writes a byte to the UART's transmit data register (TDR), the UART will start to transmit it on the serial line. The UART's status register contains a flag bit which the computer can read to see if the UART is ready to transmit another byte. Another status register bit says whether the UART has received a byte from the serial line, in which case the computer should read it from the receive data register (RDR). If another byte is received before the previous one is read, the UART will signal an "overrun" error via another status bit.

The UART may be set up to interrupt the computer when data is received or when ready to transmit more data. The UART's serial connections usually go via separate line driver and line receiver integrated circuits which provide the power and voltages required to drive the serial line and give some protection against noise on the line.

Data on the serial line is formatted by the UART according to the setting of the UART's control register. This may also determine the transmit and recieve baud rates if the UART contains its own clock circuits or "baud rate generators". If incorrectly formatted data is received the UART may signal a "framing error" or "parity error". Often the clock will run at 16 times the baud rate (bits per second) to allow the receiver to do centre sampling - i.e. to read each bit in the middle of its allotted time period. This makes the UART more tolerant to variations in the clock rate ("jitter") of the incoming data.

An example of a late 1980s UART was the Intel 8450. In the 1990s, newer UARTs were developed with on-chip buffer space for data. This allowed higher transmission speed without data loss and without requiring such frequent attention from the computer. For example, the Intel 16550 has a 16 byte FIFO.

Parallel Port
An interface from a computer system where data is transferred in or out in parallel, that is, on more than one wire. A parallel port carries one bit on each wire thus multiplying the transfer rate obtainable over a single wire. There will usually be some control signals on the port as well to say when data is ready to be sent or received.

The commonest kind of parallel port is a printer port, e.g. a Centronics port which transfers eight bits at a time. Disks are also connected via special parallel ports, e.g. SCSI or IDE.


USB Port (Universal Serial Bus)
USB connections An external peripheral interface standard for communication between a computer and external peripherals over an inexpensive cable using bi-serial transmission. USB is standard on current (1999) Macintosh computers and is promoted by Intel as an option for the IBM PC where it is supported by later versions of Windows 95.

USB works at 12 Mbps with specific consideration for low cost peripherals. It supports up to 127 devices and both isochronous and asynchronous data transfers. Cables can be up to five metres long and it includes built-in power distribution for low power devices. It supports daisy chaining through a tiered star multidrop topology.

Before March 1996 Intel started to integrate the necessary logic into PC chip sets and encourage other manufacturers to do likewise, so widespread availability and support can be expected starting the second half of 1997.

Because its relatively low speed USB is intended to replace existing serial ports, parallel ports, keyboard, and monitor connectors and be used with keyboards, mice, monitors, printers, and possibly some low-speed scanners and removable hard drives. For faster devices existing IDE, SCSI, or emerging FC-AL or FireWire interfaces can be used.

Firewire
USB connections (Or IEEE 1394, formerly FireWire) A 1995 Macintosh/IBM PC serial bus interface standard offering high-speed communications and isochronous real-time data services.

1394 can transfer data between a computer and its peripherals at 100, 200, or 400 Mbps, with a planed increase to 2 Gbps. Cable length is limited to 4.5 m but up to 16 cables can be daisy-chained yielding a total length of 72 m.



It can daisy-chain together up to 63 peripherals in a tree-like structure (as opposed to SCSI's linear structure). It allows peer-to-peer device communication, such as communication between a scanner and a printer, to take place without using system memory or the CPU. It is designed to support plug-and-play and hot swapping. Its 6-wire cable is not only more convenient than the SCSI cables but can supply up to 60 watts of power, allowing low-consumption devices to operate without a separate power cord.

Some expensive camcorders have included this bus since Autumn 1995. It is expected to be used to carry SCSI, with possible application to home automation using repeaters.


SCSI and others : FC-AL (Fibre Channel-Arbitrated Loop)
A fast serial bus interface standard intended to replace SCSI on high-end servers.

FC-AL has a number of advantages over SCSI. It offers higher speed: the base speed is 100 megabytes per second, with 200, 400, and 800 planned. Many devices are dual ported, i.e., can be accessed through two independent ports, which doubles speed and increases fault tolerance. Cables can be as long as 30 m (coaxial) or 10 km (optical). FC-AL enables self-configuring and hot swapping and the maximum number of devices on a single port is 126. Finally, it provides software compatibility with SCSI.

Despite all these features FC-AL is unlikely to appear on desktops anytime soon, partly because its price, partly because typical desktop computers would not take advantage of many of the advanced features. On these systems FireWire has more potential.