How Parallel Ports Work

The parallel port is the interface most used for printers. They are also used to connect a PC to scanners, CD-writers, external hard drives, Zip removable drives, network adapters, and tape backup drives.Parallel port basicsIBM originally developed parallel ports to connect PCs to Centronics printers.

By Marshall Brain January 15, 2002

The parallel port is the interface most used for printers. They are also used to connect a PC to scanners, CD-writers, external hard drives, Zip removable drives, network adapters, and tape backup drives.

Parallel port basics

IBM originally developed parallel ports to connect PCs to Centronics printers. However, it decided not to use the same port interface on the computer that Centronics used on the printer. Instead, IBM engineers coupled a 25-pin connector with a 36-pin connector creating a special cable. Other printer manufacturers adopted the Centronics interface, making this strange hybrid cable an unlikely de facto standard.

When a PC sends data to a printer or other device using a parallel port, it sends one byte (eight bits) of data at a time. The standard parallel port is capable of sending 50-100 kbytes of data per second.

The following list explains what each pin does when used with a printer.

Pin 1 carries the strobe signal. It maintains a logic high (5V or binary 1), but drops to a logic low (0V or binary 0) when the computer sends a byte of data. This high-to-low logic transition tells the printer that data is being sent.

Pins 2-9 carry data.

Pin 10 sends the acknowledge signal from the printer to the computer. Like pin 1, it maintains a logic high and drops to a logic low to let the computer know that the data was received.

If the printer is busy, it drives pin 11 high. It goes low to let the computer know it is ready to receive more data.

The printer lets the computer know if it is out of paper by driving pin 12 high.

As long as pin 13 is high, the computer knows that the device is online.

The computer sends an autofeed signal to the printer through pin 14 using a logic high.

If the printer has problems, it puts a logic low on pin 15 to let the computer know that there is an error.

When a new print job is ready, the computer drives pin 16 low to initialize the printer.

Pin 17 is used by the computer to remotely take the printer offline. This is accomplished by maintaining a logic low on this line as long as you want the printer offline.

Pins 18-25 are grounds used as a reference signal for the logic low levels.

A handshaking signal is also sent with each byte so the printer can latch the byte.

SPP/EPP/ECP

The original specification for parallel ports was unidirectional, meaning that data traveled in only one direction for each pin. With the introduction of the PS/2 in 1987, IBM offered a new bidirectional parallel port design. This mode is commonly known as standard parallel port (SPP) and has completely replaced the original design. Bidirectional communication allows each device to receive data as well as transmit it. Many devices use the eight pins (2-9) originally designated for data. Using these eight pins limits communication to half-duplex, meaning that information can travel in only one direction at a time. But pins 18-25, originally used as grounds, can be used as data pins also, allowing full-duplex (both directions at the same time) communication.

Intel, Xircom, and Zenith created the enhanced parallel port (EPP) in 1991. EPP allows much more data (500 kbytes-2 Mbytes) to be transferred each second. It was targeted specifically towards non-printer devices — particularly storage devices that needed a high transfer rate.

Microsoft and Hewlett Packard jointly announced a specification called extended capabilities port (ECP) in 1992. While EPP was geared towards other devices, ECP was designed to provide improved speed and functionality for printers.

In 1994, the IEEE 1284 standard was released. It included the two specifications for parallel port devices — EPP and ECP. In order for them to work, both the operating system and the device must support the required specification. This is seldom a problem since most computers sold today support SPP, ECP, and EPP, and will detect which mode should be used, depending on the attached device.