The IEEE 1284 standard defines a parallel port for bidirectional transmission of data between different PCs and peripheral devices ( printers, faxes, scanners, disk drives, and CNC machines). The IEEE 1284 standard was adopted in 1994, sparking officially the widespread Centronics interface from the 1970 years that was just a de facto standard by then. The IEEE 1284 standard defines the electrical characteristics of the interfaces, the protocols to be used in the hardware and the associated cable. For the higher-level " software protocols " refer to the corresponding sub-standards. Parts of sub-standards relate to protocols that are independent of the hardware interface and - in addition to the parallel interface - for example, also provide USB ( TIP / SI).
IEEE 1284 and substandard
The standard provides for the electrical interfaces of the computer (host) and peripheral device (Peripheral ) includes two stages of the compatibility before:
A product with "Level 1 " interface called the " IEEE 1284 I", one with "Level 2 " interface is called the " IEEE 1284 II".
Cables and Connectors
The IEEE 1284 defines a double-shielded 36 -conductor " twisted pair " cable with 18 pairs.
Three possible types of plugs are used:
Any combination of these connectors is possible, as is the use of plugs or connectors on the cable. After IEEE 1284 terminology is for example an " AB cable " the classic " IBM printer cable ". An " AC cable " has the computer end a 25-pin D-SUB connector and the printer side the new "Mini Centronics " connector. Another ( unofficial ) notation differs additionally between jack and plug. This " M" stands for male (plug ) and "F" for female (socket). A " AMAF cable " is thus an extension cable with 25-pin D -sub connector and 25 -pin D -sub connector.
The IEEE 1284 standard is assumed to reflect the assignment of the different cable. Because it is important to ground even with 25-pin connectors, the ground wires of the wire pairs on both sides to achieve the desired electrical properties.
The electrical properties are clearly specified in the standard. The pairs have an impedance of 62 ohms. The crosstalk between wire pairs must be less than 10 %. Similarly, the signal propagation time and run-time differences between pairs are defined. The double screen is made of copper braid ( min. 85 % coverage ) plus film. A cable material which satisfies these properties may bear the imprint " IEEE Std 1284-1994 Compliant ".
The maximum cable length is calculated using the worst-case specifications of the cable and the timing of "Level 2 " interface to theoretically about 12 meters. In practice, the manufacturers of printers and computers leave the timing significant safety reserves. Thus, the maximum length is increased. With "Level 1 " interfaces lengths up to 6 meters in average cables should not be exceeded. There are also special cables, in which a length of 30 meters shall be guaranteed for all versions ( Level 1, Level 2, and all variants of the classical Centronics interface).
The modern parallel port IEEE 1284 supports the following modes:
- Compatibility mode, SPP (Standard Parallel Port) called - the new definition of "classic" Centronics interface. In the actual data lines data is only transferred from the computer to the printer (so-called Forward Channel), only on the status lines (paper end, operational readiness, etc.), the printer can send feedback to the computer.
- Called byte - mode, even PS/2-Modus because he was introduced by IBM with the PS / 2. The 8 data lines can now be transferred bi-directionally. This refers to the reverse transfer of data from the peripheral device to the computer on the same data lines ( so-called "reverse channel "). However, both devices can only send alternately (half duplex ), not simultaneously ( full duplex).
- Nibble mode, Hewlett Packard " Bitronics " called. Even here there is a reverse transfer from the peripheral device to the PC As with byte mode. The data are transmitted from the peripheral device to the PC via the it " abused " status lines in 4- bit packets (nibbles ). This mode of operation was already practically possible with many variants of the classic Centronics interface, although not theoretically provided. It is relatively slow, but still the " most compatible " type of reverse transfer.
- EPP mode, Enhanced Parallel Port. 8-bit bi-directional transmission with a relatively high speed. Developed by Intel and Xircom, but is hardly used today.
- ECP mode, Extended Capabilities Port. Bi-directional interface with a high speed in both directions. Developed by Microsoft and Hewlett -Packard. Microsoft then needed in the short term a universal solution to integrate peripherals of any kind in Windows 95; Shortly afterwards, however, the newly developed USB took over this role. Hewlett -Packard needed a quick bi-directional interface for which are still in development at that time multi-function devices (printers with built-in scanner and / or fax ).
The first four modes ( variants) were already widespread at the time of definition of the IEEE 1284. The ECP variant was faced with the distribution. An essential task of IEEE 1284 was to avert an impending crisis and to ensure broad compatibility backwards compatibility - for example, by negotiating ( Negotiation ) of the common transmission mode between computer and peripheral.
The IEEE 1284 standard has over the classical Centronics interface, the following enhancements:
- Bi-directional high speed interface,
- First clear definition of the electrical properties of interface and cable, and a protocol (IEEE 1284 compliance),
- Up to 4 megabytes per second bandwidth ( ECP theoretically )
- "Plug and play" capability,
- Concatenate (English daisy -chaining ) of up to 64 peripheral devices, such as a ZIP drive, behind a scanner and finally a printer; Such devices have an input and an output connector.
A device may then call " IEEE Std 1284 Compliant " if it:
- Has at least one level 1 interface,
- The nibble mode supported and can be identified by this.
- For computers at least the compatibility mode must be supported.
For the first time in the history of IEEE, a seal was introduced in " IEEE Std 1284 Compliant ". Responsible for appropriate methods of " compliance tests " IEEE 1284.2 - substandard was never adopted. However, the label in question is printed on cable material.
Negotiation (Negotiation of modes)
The PC and peripheral device under common control modes are negotiated. Both devices run in Compatibility Mode. In a release from the PC communications in nibble mode, the peripheral device manufacturer name, device type, dominated modes and other information identified. Before each transmission of the mode to be used is negotiated again. Reacts the peripheral device not to requests in the " nibble mode", so assumes the PC that it ( "Legacy Printer" ) is here to an old printer. Then just print in Compatibility Mode is possible.
Extensions to multiple peripherals
The Centronics interface and also the successor ( EPP, ECP ) it only allow you to connect a computer to a peripheral device. The IEEE 1284.3 substandard should allow for the expansion up to 64 peripherals. Two methods were provided:
- Daisy Chaining - The peripheral device (eg printer ) has one input and one output, which it passes on the specific data to other devices.
- Multiplexers - These devices distribute the data to multiple peripherals - functionally identical to the USB hub.
The Centronics interface originated in the late 1960s at the Wang Laboratories, one of which is shortly after the Centronics printer manufacturer seceded. This interface was easy to implement and easy for computer manufacturer with a low component count. In the speed she was almost equal and the usual smaller applications V.24/RS232 clearly superior to the interfaces used in large applications, much more expensive and very straightforward to install beyond. Therefore, the Centronics interface was implemented quickly by the manufacturers of small computers and fast, so mitzogen become a de facto standard, other printer manufacturers, especially the new entrants to the market Japanese (eg OKI ).
Although Centronics own specifications always laid bare, there was a lack of a binding specification for the computer side. Thus developed very bizarre interpretations of the electrical properties of the protocol and the cable assignment. The early 1980s, it could happen that the printer has been overloaded by the voltages of the interface of the computer.
The IBM PC was built after 1982 for the first time a widely accepted platform which supported the Centronics interface. The protocol is not completely compatible ( BUSY signal was initially ignored) and electrically not very beneficial - slimmed down from the plug itself for reasons of space from 36 to 25 pins - brought the PC version but an essential unification.
The very first generation of parallel IBM interface card for the IBM PC was designed 8-bit bi-directional, but this functionality was already in revisions - probably for reasons of compatibility with the Centronics standard - dropped, the corresponding port bit is only as "reserved" documented and no longer had any function. However, the bi-directionality could be reactivated with a simple hardware patch. Since clone cards held partly to gate-level to the model of IBM, this modification was also transferable to many foreign cards, nevertheless, this possibility was supported by few programs. Only with the introduction of "PS / 2", IBM introduced the 8 -bit Bidirektionalbetrieb again, but this time protected by special, separately addressable PS/2-Konfigurationsregister, so that the mode could not be accidentally activated by the software. In this way, the exchange of data should be permitted between the PC ( the so-called migration kit). The " open-collector " technique used was contrary to the specification of Centronics interface and quickly led to vehement problems with existing printer installations.
In the second half of the 1980s, the need, next to printers to connect other peripherals grew: External disks, CD -ROMs, Streamers, etc. But lacking the interface - SCSI was too costly. In a quick shot Intel, Zenith, Xircom developed and other EPP ( Enhanced Parallel Port) - one bi-directional variant of the Centronics interface at higher speed. It required special hardware. Around the same time Travelling Software and HP methods were developed over the old Centronics interface to read data backward (IEEE 1284 terminology: Reverse Channel). Travelling needed the software for data transfer between laptop and PC, HP for a more comfortable management of its printer and called it " Bitronics ".
1992 Microsoft was looking for a " universal" interface for connecting peripheral devices developed and ECP (Extended Capabilities Port ) - one via EPP going far beyond concept of a bidirectional high-speed interface, which should still be backwards compatible with Centronics.
Technical Description IEEE 1284 interface
- The computer checks on the basis of the busy signal whether the printer is ready.
- If so, it sets the byte to be transmitted to the eight data lines.
- After no less than 750 nanoseconds he activates the Strobe for minimally 750 nanoseconds and a maximum of 500 microseconds.
- The printer must activate the busy signal no later than 500 nanoseconds after the application of the strobe signal. This timing is called "Busy -while- Strobe".
- After disabling the strobe, the computer must keep the data for at least another 750 nanoseconds unchanged.
- If the printer is ready for the next character, it activates the ACK signal for at least 500 nanoseconds ( a maximum of 10 microseconds) and then set back only the busy signal and then the ACK signal. This timing is called "Ack -while- Busy".
This definition eliminates one of the big problems of the Centronics interface, the uncertainty about the right timing. For example, it was unclear whether the activation or deactivation of the strobe the data transfer (and thus the activation of the busy signal ) should trigger. With the second version, it could result in loss of characters. Similarly, it was unclear in which order the Busy and Ack signals should acknowledge the data transfer. There were three variants: "Ack -in- Busy", "Ack -after- Busy" and " Ack -while- Busy". This resulted in a large number of compatibility issues between computers and printers from different manufacturers. Even more confusing was the problem with the BIOS versions of the first IBM PCs: They ignored the busy signal and noticed only the Ack signal - with the result that the first character of a print job could be lost. In Annex C of the IEEE 1284 standard ( informative only ) is this issue discussed extensively.
Technical description Centronics interface
The Centronics interface allows a transmission speed of 150 kilobytes per second ( SPP mode) and a cable length of up to about 3.5 meters. (Up to five meters with high-quality cable, best eight ground lines. ) A standard Centronics connector has 36 pins, of which 17 are used for data and handshake, the others are grounded. 25 -pin D -sub connectors are on the side of the computer instead since the 1980s increasingly used. The first IBM PC that happened as a last resort, since the standard Centronics connector was too big to fit with an RS- 232 socket together on a plug-in card. So then both bushings were replaced by scaled versions; However, these plugs form subsequently developed the quasi standard. On the printer side, however, still used for the 36 -pin connector.
(1): > means from the PC to the device, < means from the device to PC, < > means bidirectional signal line. Data flow direction is negotiated; -: Ground line ( no flow direction)
Data transfer takes place according to the following protocol:
For a functional without differentiated feedback option data transmission in one direction and reaches a stripped-down interface with 8 data lines, Strobe and Ack or Busy. Such mini- Centronics has been widely used in the Commodore 64. This used a proprietary interface for the company's printer, but still offered next to a freely programmable general-purpose interface, the so-called user port. The mini- Centronics offered a way to be able to operate non- Commodore printers even without expensive interface adapter box. Instead handed a ribbon cable with matching plugs, a so-called user port cable. On Userport there were only 10 usable input or output lines so that a full Centronics interface was not possible. However, this only worked with a modified kernel that a converter from the company's own interface to Centronics included (many floppy speeder ) or with programs that explicitly ruled this mode, as there was on the C64 only with GEOS application-independent device drivers.