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.
25 pin D-SUB FEMALE connector at the computer
ECP is an extension of the EPP design, since EPP didn"t provide for the
way to carry out each transfer every step of the way, Hewlett-Packard
and Microsoft combined their efforts to pick up where EPP leaves off.
The first version (1.0) was first published in November 1992 and many
new versions have been published since. ECP adds two different modes of
communications. A fast two way mode and another faster two way mode by
using simple RLE compression scheme.
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.
|2||data0||Address, Data or RLE Data Bit 0|
|3||data1||Address, Data or RLE Data Bit 1|
|4||data2||Address, Data or RLE Data Bit 2|
|5||data3||Address, Data or RLE Data Bit 3|
|6||data4||Address, Data or RLE Data Bit 4|
|7||data5||Address, Data or RLE Data Bit 5|
|8||data6||Address, Data or RLE Data Bit 6|
|9||data7||Address, Data or RLE Data Bit 7|
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.
This signal is registers data or address into the slave on the assering edge during .
Contains address, data or RLE data. Can be used in both directions.
Valid data driven by the peripheral when asserted. This signal handshakes with nAutoFd in reverse.
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.
Used to acknowledge a change in the direction of transfer. High=Forward.
Printer is online.
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.
Generates an error interrupt when asserted.
Sets the transfer direction. High=Reverse, Low=Forward.
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:
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|
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.