The IEEE 1284 parallel interface standard is the prevalent standard for connecting a computer to a printer or certain other devices over a parallel (eight bits of data at a time) physical and electrical interface . The physical connection is similar to the older Centronics interface, which it continues to support. Whereas the Centronics interface only allowed data to flow in one direction, from computer to peripheral, IEEE 1284 also supports bi-directional data flow.
When the Centronics parallel interface was first developed, the main peripheral was the printer. Since then, portable disk drives, tape drives, and CD-ROM players are among devices that have adopted the parallel interface. These new uses caused manufacturers to look at new ways to make the Centronics parallel interface better. In 1991, Lexmark, IBM, Texas instruments, and others met to discuss a standard that would offer more speed and bi-directional communication. Their effort and the sponsorship of the Institute of Electrical and Electronics Engineers ( IEEE ) resulted in the IEEE 1284 committee. The IEEE 1284 standard was approved for release in March, 1994.
The IEEE 1284 standard specifies five modes of operation, each mode providing data transfer in either the forward direction (computer to peripheral), backward direction (peripheral to computer), or bi-directional (one direction at a time).
- Compatibility mode is the original Centronics parallel interface and intended for use with dot matrix printers and older laser printers. The compatibility mode can be combined with the nibble mode for bi-directional data transfer.
- Nibble mode allows data transfer back to the computer. The nibble mode uses the status lines to send 2 nibble (4-bit units) of data to the computer in two data transfer cycles. This mode is best used with printers.
- Byte mode uses software drivers to disable the drivers that control the data lines in order for data to be sent from the printer to the computer. The data is sent at the same speed as when data is sent from the computer to the printer. One byte of data is transferred instead of the two data cycles required by the nibble mode.
- ECP mode (Enhanced Capability Port mode) is an advanced bi-directional mode for use with printers and scanners. It allows data compression for images, FIFO (first in, first out) for items in a queue , and high-speed, bi-directional communication. Data transfer occurs at two to four megabytes per second. An advanced feature is channel addressing. This is used for multifunction devices such as printer/fax/modem devices. For example, if a printer/fax/modem device needs to print and send data over the modem at the same time, the channel address software driver of the ECP mode assigns a new channel to the modem so that both devices can work simultaneously.
- EPP mode (Enhanced Parallel Port mode) was designed by Intel, Xircom, and Zenith Data Systems to provide a high-performance parallel interface that could also be used with the standard interface. EPP mode was adopted as part of the IEEE 1284 standard. The EPP mode uses data cycles that transfer data between the computer and the peripheral and address cycles that assign address, channel, or command information. This allows data transfer speeds of 500 kilobytes to 2 megabytes per second, depending on the speed of the slowest interface. The EPP mode is bi-directional. It is suited for network adapters, data acquisition, portable hard drives, and other devices that need speed.