Hardware pinouts information and cables schemes

ECP Parallel LPT port (IEEE-1284A) pinout

parallel interface

bookmark this page

This file is designed to give a basic overview of the port found in most newer PC computers called ECP Parallel port. ECP = Extended Capabilities port. ECP is an extension of the EPP design.



ECP use protocol with additional hardware to generate hand shaking signals (like EPP) and runs at very much the same speed than the EPP mode, but usually works better due to use of DMA channels and FIFO buffer for the sending and/or receiving of data. Another feature of ECP is a real time data compression. It uses Run Length Encoding (RLE) to achieve data compression ratio's up to 64:1. This comes is useful with devices such as Scanners and Printers where a good part of the data is long strings which are repetitive.

ECP as with EPP is backwards compatible with old style printers and devices, but when advance devices are connected the ECP port can transfer data at higher speeds and with more versatility. By including a complete protocol, every transfer is negotiated by asking the connected device it"s capabilities. This means that when using a printer with ECP capabilities and using compression, the port will automatically transfer the data in the best and fastest possible way.

By using a simple compression called RLE (Run Length Encoding), the ECP port can boost the speed of transmitting data. The RLE scheme is a simple byte level data compression system that will effectively compress long sequences of the same byte by using a two byte code that is transmitted by sending the repeated byte and the number of times it is repeated in the sequence. This method works over repeated byte strings of up to 128 bytes, which means that it allows a maximum compression of 64:1. This method is good for images that often contain long streams of the same bytes, but in regular text output, this method is not very effective.

The ECP port is also designed to accept multiple devices on a single port. To accomplish this task, it uses its own addressing scheme, it sends a channel address command on the parallel port bus (data lines). By doing this the port tells all devices, except the one to witch the stream of data is meant for, to ignore all forthcoming data, until the next channel address command. If no channel address command is sent for a given transfer, it defaults to the address zero. This addressing scheme gives it the possibility to connect up to 128 different devices or channel addresses and used in some combo devices (i.e. printer+scanner+fax).

While Extended Capabilities Printer Ports use exactly the same D25 connector as your SPP, ECP assigns different tasks to each of the pins, just like EPP. This means that there is also a different handshake method when using a ECP interface.

While Extended Capabilities Printer Ports use exactly the same 25 pin D-SUB connector as SPP, ECP assigns different tasks to each of the pins, just like EPP. This means that there is also a different handshake method when using a ECP interface. The ECP is backwards compatible to the SPP and EPP. When operating in SPP mode, the individual lines operate in exactly the same fashion than the SPP (use SPP LPT port pinout). In ECP mode pinout is following:

Pin Name Dir Description
1HostCLK-->Strobe; A low on this line indicates, that there is valid data at the host. When this pin is de-asserted, the +ve clock edge should be used to shift the data into the device.
2data0<->Address, Data or RLE Data Bit 0
3data1<->Address, Data or RLE Data Bit 1
4data2<->Address, Data or RLE Data Bit 2
5data3<->Address, Data or RLE Data Bit 3
6data4<->Address, Data or RLE Data Bit 4
7data5<->Address, Data or RLE Data Bit 5
8data6<->Address, Data or RLE Data Bit 6
9data7<->Address, Data or RLE Data Bit 7
10PeriphCLK<--Acknowledge, A low on this line indicates, that there is valid data at the Device. When this pin is deasserted, the +ve clock edge should be used to shift the data into the Host.
11PeriphAck<--When in reverse direction a HIGH indicates Data, while a LOW indicates a Command Cycle. In forward direction, functions as PeriphAck.
12nAckReverse<--When Low, Device acknowledges Reverse Request.
13X-Flag<--Extensibility Flag
14Host Ack-->When in forward direction a HIGH indicates Data, while a LOW indicates a Command Cycle. In reverse direction, functions as HostAck.
15PeriphRequest<--A LOW set by the device indicates reverse data is available.
16NReverse Request-->A LOW indicates data is in reverse direction.
171284 Active-->A HIGH indicates Host is in 1284 Transfer Mode. Taken low to terminate.
18GND---Signal Ground
19GND---Signal Ground
20GND---Signal Ground
21GND---Signal Ground
22GND---Signal Ground
23GND---Signal Ground
24GND---Signal Ground
25GND---Signal Ground

This file is not intended to be a thorough coverage of the standard. It is for informational purposes only, and is intended to give designers and hobbyists sufficient information to design their own ECP compatible devices.

Signal Descriptions:

nStrobe

This signal is registers data or address into the slave on the assering edge during .

data 0-7

Contains address, data or RLE data. Can be used in both directions.

nAck

Valid data driven by the peripheral when asserted. This signal handshakes with nAutoFd in reverse.

Busy

This signal deasserts to indicate that the peripheral can accept data. In forward direction this handshakes with nStrobe. In the reverse direction this signal indicates that the data is RLE compressed by being low.

PError

Used to acknowledge a change in the direction of transfer. High=Forward.

Select

Printer is online.

nAutoFd

Requests a byte of data from the peripheral when asserted, handshaking with nAck in the reverse direction. In the forward direction this signal indicates whether the data lines contain ECP address or data.

nFault

Generates an error interrupt when asserted.

nInit

Sets the transfer direction. High=Reverse, Low=Forward.

nSelectIn

Low in ECP mode.

The IEEE 1284 standard was approved in march 1994 as the Standard Signaling Method for a Bidirectional Parallel Peripheral Interface for Personal Computers. And is the first approved standard for parallel transmission on PCs. The idea was to create a standard that was backward compatible with the old Centronics standard. With the new standard higher speeds and greater distances are possible plus there is the capability also sending to the host (bidirectional).

The maximum speed that is allow over the new parallel bus is 2 MBps (16 Mbps). The cable length is determend by the mode that is used. Within the IEEE 1284 there are 5 different modes defined:

Compatibility mode
This one is compatible with all previous version of the parallel port. Data rates are possible up to 150 bytes per second @ 6 meter (20 ft) with an AB-cable or up to 150 kbps @ 10 meter (32.8 ft) with a CC-cable.

Nibble mode
This is a uni-directional interface. Only data transfers from periperal to host are possible. Data is send from the e.g. printer to the PC in a nibbles (4 bits). Combined with the Compatibility mode this is what Hewlett Packard calls "Bi-tronics".
For the Nibble-mode speeds of up to 50 kbps @ 6 meter (20 t) are possible. With a CC-cable this can be increased to up to 150 kbps @ 10 meter (32.6 ft).

Byte mode
Byte mode makes it possible to send data from the peripheral to the host in bytes (8 bits). Combined with the Compatibility mode you have a "Bidirectional port".
Speeds are possible up to 500 kbps @ 10 meter (32.8 ft) when CC-cables are used.

EPP mode
This is a mode in which data can be transfered from host to peripheral or vice versa, but not at the same time, so this is a half-duplex connection (mostly used by CD-ROMs, tape-drives, harddisks).
Speeds can range from 500 kbps to up to 2 Mbps @ 6 meter (20 ft) or 10 meter (32.8 ft) when CC-cables are used.

ECP mode
This is a mode in which data can be transfered from host to peripheral or vice versa, but not at the same time, so this is a half-duplex connection (mostly used by printers and scanners).
Speeds can range from 500 kbps to up to 1 Mbps @ 6 meter (20 ft) or 10 meter (32.8 ft) when CC-cables are used.

Every device can only be in one mode at a time. So the IEEE 1284 workgroup invented a way of determining which mode should be used with which device, that is called Negotiation. The Negotiation part doesn"t affect older devices, but IEEE 1284 compliant devices can tell the host what they are and which mode to use.

Cables and Connectors
The IEEE defined three types of connectors and six types of cables. The type A connector is the parallel port connector (Sub-D25) found on most computers. The type B connector is what is usually called the Centronics connector. And there is a new connector that is called MDR36 and which is called type C. The pinning for the Centronics and Sub-D25 is not changed.

AMAM

Type A male to type A male

AMAF

Type A male to type A female

AB

Type A male to type B

AC

Type A male to type C

BC

Type B male to type C

CC

Type C male to type C

Also the cable characteristics are defined:
The cable shield must be connected to the connector back shell using a 360� concentric method
The shield must be minimal 85 % optical braid coverage over foil
The maximum crosstalk is not greater then 10 %
All signals are send over a twisted pair with their signal ground return
Each pair must have an impedance of 62 � 6 ohms @ 4 to 16 MHz

Note: Direction is Computer relative Device.


This information should be correct, but may be not. Please, help us to improve this document!
Is this document CORRECT or INCORRECT? Your opinion will be used to establish document status (showed at the bottom).
Related Links:
Pinouts.ru > Parallel interfaces pinouts listing >  Pinout of ECP Parallel LPT port (IEEE-1284A) and layout of 25 pin D-SUB female connector and 25 pin D-SUB male connector
Document status: correct
Source(s) of this and additional information: "Interfacing the Extended Capabilities Parallel Port (ECP)" and other sources 2 reports
Last updated at Sun Jun 25 2006. Submit additions or corrections for this document. Is this document correct or incorrect? What is your opinion?
[Discuss at the forum] [Back to index] [SUBMIT new pinout]
This page contain parts under Copyright © 2000-2007 by pinouts.ru team.
No any portion of this webpage may be reproduced in any form without visible direct link to this page provided. Webmaster permission required in any other cases.
Efforts have been made to ensure this page is correct, but it is the responsibility of the user to verify the data is correct for their application.
29566 hits since March 4, 2005