Originally designed by Centronics as an interface for their own printers, this interface has rapidly developed into a universally accepted standard throughout the printer world. The Centronics interface has been expanded to include bi-directionality as standardized in IEEE1284. This made it possible to connect peripheral devices such as scanners, network adapters for laptops, CD-ROM drives, etc. and to thereby profit from the high transmission speed of parallel data transmission.
Very high transmission speeds are made possible in the Centronics interface by using simultaneous, parallel transmission of 8 bits. Unfortunately, this advantage comes at the expense of the maximum possible cable length. The assymetrical transmission of many signals with very steep edges in a cable also means a significant amount of cross-talk. This problem can be kept to a minimum by using high-quality, twisted-pair cable, whereby each active signal line is connected to a grounded lead in the cable. Practice however has shown that even when using such special cables, reliable transmission cannot be guaranteed under all conditions at cable lengths of over 5m.
In contrast to serial interfaces, parallel data transmission is characterized by sending all 8 bits of a data byte simultaneously as a ground-referenced TTL level ("parallel") over 8 lines. As soon as the sender has issued the data, he generates a short strobe pulse. The receiver acknowledges processing of the data by sending an "Acknowledge" pulse, thereby confirming readiness to receive new data.
In addition to the strobe and acknowledge line, the Centronics interface includes various status lines. The sender is only allowed to send data if the following states exist:
Busy = L: The printer is ready to receive data.
Paper Empty = L: There is paper in the printer.
Select = H: The printer is turned on and selected.
Error = H: There is no error condition in the printer.
Printer control lines
- Autofeed: A Low level on this input causes the printer to automatically generate a line feed following each carriage return command.
- Init: A Low pulse resets the printer to its base state
- Select In: The meaning of this input used to vary among printer manufacturers. In the world of modern, bi-directional printers this line is used to control the data flow direction.
Unfortunately, active support of the status and control lines is not uniformly supported by the manufacturers. Often status lines such as "ERROR" are only hardwired to your enable level. The corresponding device documentation must be referred to on a case-by-case basis.