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 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.
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:
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
Also the cable characteristics are defined:
Note: Direction is Computer relative Device.