IEEE 1284

from Wikipedia, the free encyclopedia
IEEE 1284 printer cable (type AB)
The LPT (Line Printer Terminal) port on the PC is an IEEE 1284 interface and is marked in light purple according to the ATX standard.

The IEEE -1284 standard defines a parallel interface for the bidirectional transmission of data between PCs and various peripheral devices (printer, fax, scanner, drives, also CNC machines). It was passed in 1994 and officially replaced the widespread Centronics interface from the 1970s, which until then had only been a quasi-standard . The IEEE-1284 standard defines the electrical properties of the interfaces and the hardware protocols to be usedand the associated cables. For the higher-level "software protocols", reference is made to the corresponding substandards. Parts of the substandards concern protocols that are independent of the hardware interface and - in addition to the parallel interface - z. B. also provide USB (TIP / SI).

IEEE 1284 and sub-standards

IEEE 1284
Standard Signaling Method for a Bi-directional Parallel Peripheral Interface for Personal Computers ; was renewed in 2000.
IEEE 1284.1
IEEE Standard for Information Technology -Transport Independent Printer / System Interface (TIP / SI) ; was adopted in 1997 and confirmed in 2003.
IEEE 1284.2
Standard for Test, Measurement and Conformance to IEEE 1284 ; was not adopted.
IEEE 1284.3
Standard for Interface and Protocol Extensions to IEEE Std. 1284-1994 Compliant Peripherals and Host Adapter ; was withdrawn in February 2006.
IEEE 1284.4
IEEE Standard for Data Delivery and Logical Channels for IEEE 1284 Interfaces . Based on the Hewlett-Packard MLC protocol (Multiple Logical Channels); was withdrawn in February 2006.

Interfaces

The standard provides two levels of compatibility for the electrical interfaces of computer (host) and peripheral device (peripheral):

Level 1
Based on the centronics interface that has existed to date with asymmetrical 5-volt TTL modules without a defined output impedance. Only a few limit values ​​are defined. Pull-up resistors are not mandatory.
Level 2
Backward Compatible Improvements: A driver output has an impedance of 45… 55 ohms in order to match the impedance of 62 Ω of the IEEE-1284 cable. The receiver has a pull-up resistance of 1.2 ... 4.7 kΩ in order to be able to work with open collector outputs. The edge steepness of the drivers must be 0.05… 0.4 V / ns, the receivers must have a hysteresis ( Schmitt trigger input) of 0.2… 1.2 volts. As a result of this and the impedance matching , the "Level 2" interfaces are less prone to interference and are suitable for higher speeds and longer cables.

Products with a "Level 1" interface are labeled "IEEE 1284 I", those with a "Level 2" interface are labeled "IEEE 1284 II".

Cable and plug

The IEEE 1284 defines a double-shielded 36-core " twisted pair " cable with 18 core pairs.

plug

Three possible connector types are used:

Type a
The 25-pin D-Sub connector. It was introduced by IBM in 1981 with the PC for reasons of space. Compared to the previously used 36-pin "Centronics plug", the main disadvantage is that there is not a corresponding ground line (twisted pair return) for every signal line.
Type B
The 36-pin "Centronics" connector (official but rarely used name "Micro Ribbon Connector"). Before the introduction of the IBM PC, only this type of connector was used, which was introduced by Amphenol in the 1940s .
Type c
An electrically improved and more compact variant of the Centronics connector, also 36-pin with a "snap lock", also called "Mini Centronics". However, this type has not caught on.
Prescribed assignment of an IEEE 1284 AB cable

Any combination of these connectors is possible, as well as the use of plugs or sockets on the cable. According to IEEE 1284 terminology, for example, an “AB cable” is the classic “IBM printer cable”. An “AC cable” has a 25-pin D-SUB connector on the computer side and the new “Mini Centronics” connector on the printer side. Another (unofficial) notation also differentiates between socket and plug. "M" stands for male (plug) and "F" for female (socket). An "AMAF cable" is therefore an extension cable with a 25-pin D-Sub plug and 25-pin D-Sub socket.

The IEEE 1284 standard specifies the assignment of the different cables. Because it is important to ground the ground wires of the wire pairs on both sides, even with 25-pin plugs, in order to achieve the desired electrical properties.

Cable material

The electrical properties are specified in the IEEE 1284 standard. The (asymmetrically operated) signal wires have an impedance of 62 ohms. Although there is a separate ground return line for each signal, the signal transmission is not symmetrical, although the twisted-pair structure suggests this. The crosstalk between the wire pairs must be less than 10% for the intended use. The signal runtime and runtime differences between the wire pairs are also defined. The double screen consists of copper braiding (min. 85% coverage) plus foil. A cable material that fulfills these properties may bear the imprint "IEEE Std 1284-1994 Compliant".

Cable length

The interface is intended for a cable length of a few meters. While the Centronics cables were typically 2… 3 m (max. 3.6 m) long, up to 7.6 m (max. 9.8 m) are now recommended.

The maximum possible cable length is calculated with the worst-case specifications of the cable and the timing with "Level 2" interface at theoretically about 12 meters. In practice, the manufacturers of printers and computers leave clear safety reserves when it comes to timing . This increases the maximum length. With "Level 1" interfaces, lengths of up to 6 meters should not be exceeded with average cables.

Modes

The modern parallel interface according to IEEE 1284 supports the following modes:

  • Compatibility mode , also known as SPP ( Standard Parallel Port ) - the new definition of the "classic" Centronics interface. Data is only transmitted from the computer to the printer on the actual data lines (so-called forward channel); the printer can only send a response to the computer on the status lines (end of paper, operational readiness, etc.).
  • Byte mode , also called PS / 2 mode, because it was introduced by IBM with the PS / 2 . The eight data lines can now also transmit bidirectionally. What is meant here is the reverse transmission of data from the peripheral device to the computer on the same data lines (so-called "reverse channel"). Both devices can only send alternately (half duplex), not at the same time (full duplex).
  • Nibble mode , called "Bitronics" by Hewlett Packard . As with byte mode, there is also a reverse transmission from the peripheral device to the PC. The data is transferred from the peripheral device to the PC via the "misused" status lines in 4-bit packets ( nibbles ). This operating mode was already possible in practice with many variants of the classic Centronics interface, even if not theoretically intended. It is relatively slow, but still the most "compatible" type of reverse transmission.
  • EPP mode , enhanced parallel port. Bidirectional 8-bit transmission at a relatively high speed. Was developed by Intel and Xircom , but is hardly used today.
  • ECP mode , Extended Capabilities Port. Bidirectional interface with high speed in both directions. Developed by Microsoft and Hewlett-Packard. At that time Microsoft needed a universal solution at short notice to integrate peripheral devices of all kinds in Windows 95; shortly afterwards, however, the newly developed USB took over this role. Hewlett-Packard needed a fast bidirectional interface for the multifunctional devices (printers with built-in scanners and / or fax machines) that were still in development at the time.

The first four modes (variants) were already widespread at the time IEEE 1284 was defined. The ECP variant was about to spread. An essential task of the IEEE 1284 was to avert an impending compatibility crisis and to ensure extensive backward compatibility - e.g. B. by negotiating the common transmission mode between computer and peripheral device.

The IEEE 1284 standard has the following extensions compared to the classic Centronics interface:

  • Bi-directional high-speed interface,
  • For the first time, clear definition of the electrical properties of interface and cable as well as a protocol (IEEE 1284 compliance),
  • Up to 4 megabytes per second bandwidth (ECP theoretically),
  • "Plug & Play" capability,
  • Concatenating (engl. Daisy-chaining ) of up to 64 peripheral devices such. B. a ZIP drive , behind it a scanner and finally a printer; such devices have an input and an output connector.

Compliance

A device can then call itself "IEEE 1284 Std Compliant" if it:

  • has at least one level 1 interface,
  • supports the nibble mode and can identify with it.
  • At least the compatibility mode must be supported for computers.

For the first time in the history of the IEEE, an “IEEE 1284 Std Compliant” seal of approval was introduced. The IEEE 1284.2 substandard responsible for the corresponding methods of "compliance tests" was never adopted. However, the relevant seal of approval is printed on the cable material.

Negotiation (negotiating the modes)

The modes shared by the PC and peripheral device are negotiated. Both devices start in Compatibility Mode. In a communication initiated by the PC in nibble mode, the peripheral device identifies itself with the manufacturer name, device type, controlled modes and other information. The mode to be used is negotiated again before each transmission. If the peripheral device does not respond to queries in "Nibble Mode", the PC assumes that this is an old printer ("Legacy Printer"). Then only printing in compatibility mode is possible.

Extensions to multiple peripheral devices

The Centronics interface and its successors (EPP, ECP) ​​only allow a computer to be connected to a peripheral device. The substandard IEEE 1284.3 should enable expansion to up to 64 peripheral devices. Two methods were envisaged:

  • Daisy Chaining - The peripheral device (e.g. printer) has an input and an output via which it transmits data intended for other devices.
  • Multiplexer - These devices distribute the data to several peripheral devices - functionally identical to the USB hub.

history

The Centronics interface was created at the end of the 1960s at Wang Laboratories , from which the printer manufacturer Centronics split off shortly afterwards. This interface was simple and easy to implement for computer manufacturers with few components. In terms of speed, it was almost on a par with the much more expensive interfaces used in large applications and clearly superior to the V.24 / RS232 common in smaller applications and, moreover, very easy to install. That is why the Centronics interface was implemented quickly by the manufacturers of smaller computers and quickly became a de facto standard, so that other printer manufacturers also followed suit, in particular the Japanese (e.g. OKI ) emerging on the market .

Although Centronics always disclosed its own specifications, there was no binding specification for the computer side. So very bizarre interpretations of the electrical properties, the protocol and the cable assignment developed. At the beginning of the 1980s it could happen that the printer was overloaded by the voltages at the computer interface.

After 1982, the IBM PC was the first widely accepted platform that supported the Centronics interface. Not entirely compatible in the protocol (the BUSY signal was initially ignored) and not very advantageous electrically - the connector was cut from 36 to 25 pins for reasons of space - but the PC version brought a significant standardization.

The very first generation of parallel IBM interface cards for the IBM PC was designed to be 8-bit bidirectional, but this functionality was already dropped during revisions - probably for reasons of compatibility with the Centronics standard - the associated port bit was only "reserved" documented and had no function. However, the bidirectionality could be reactivated with a simple hardware patch. Since clone cards partly followed the IBM model down to the gate level, this modification could also be transferred to many third-party cards, although this option was only supported by a few programs. It was only with the introduction of " PS / 2 " that IBM reintroduced 8-bit bidirectional operation, but this time protected by special, separately addressable PS / 2 configuration registers, so that the mode could not be accidentally activated by the software. In this way, the exchange of data between PCs should be allowed (so-called migration kit). The "open collector technology" used was contrary to the specification of the Centronics interface and quickly led to serious problems with existing printer installations.

In the second half of the 1980s, the need to connect other peripheral devices in addition to printers grew: external drives, CD-ROMs, streamers, etc. There was no interface for this - SCSI was too complex. In a snap, Intel, Zenith , Xircom and others developed EPP ( Enhanced Parallel Port ) - a bidirectional variant of the Centronics interface with higher speed. It required special hardware. At around the same time, Traveling Software and HP had developed methods of reading data backwards via the old Centronics interface (IEEE 1284 terminology: Reverse Channel). Traveling software needed this for data transfer between notebook and PC, HP for a more comfortable management of its printers and called it "Bitronics".

In 1992 Microsoft was looking for a "universal" interface for connecting peripheral devices and developed ECP ( Extended Capabilities Port ) - a concept of a bidirectional high-speed interface that went far beyond EPP and which should still be backwards compatible with Centronics.

Technical description IEEE 1284 interface

Timing in compliance mode (print)

  • The computer uses the busy signal to check whether the printer is ready (ready: busy = "low").
  • If so, it places the byte to be transmitted on the eight data lines.
  • After 0.75 µs at the earliest, the computer now brings nStrobe to “low” for 0.75… 500 µs.
  • The printer reports 0… 0.5 … 10 µs after nStrobe = “low” that it is “Busy”, i. H. is busy ( busy = "high"). This timing is called “busy-while-strobe”.
  • After nStrobe is "high" again, the computer must keep the data unchanged for at least 0.75 µs.
  • The printer signals with nAck = "low" (0.5 ... 10 µs) that it is ready for the next character, and then sets the busy signal back to "low" after 0 ... 2.5 µs ("Ack- in-busy “timing).

This definition eliminates one of the major problems with the Centronics interface, the lack of clarity about timing. For example, it was unclear whether the activation or deactivation of the strobe should trigger the data transfer (and thus the activation of the busy signal). With the second variant, characters could be lost. It was also unclear in which order the busy and ack signals should acknowledge the data transfer.
There were three variants:

"Ack-in-Busy" (see above)
"Ack-after-Busy": nAck is only given after Busy is "low" again
“Ack-while-Busy”: nAck remains “low”, while Busy is already “low” again.

This resulted in a large number of compatibility problems between computers and printers from different manufacturers. The problem with the BIOS versions of the first IBM PCs became even more confusing: They ignored the Busy signal and only paid attention to the Ack signal - with the result that the first character of a print job could be lost. This problem is explained in detail in Annex C of the IEEE 1284 standard, which is only informative.

Technical description of the Centronics interface

A Centronics connector with a 2.2 mm pitch, IEEE type B
Centronics socket with 1.27 mm pitch, IEEE type C.
Centronics plug with 1.27 mm pitch, IEEE type C.
Centronics connector

The Centronics interface enables a maximum transmission speed of 150 kB per second (SPP mode) and a maximum cable length of around 3.5 meters. (Up to five meters with high-quality cable, ideally with eight ground lines.) A standard Centronics connector has 36 pins, 17 of which are used for data and handshaking , the others are grounded . On the computer side, instead, 25-pin D-Sub connectors have been increasingly used since the 1980s . With the first IBM PC , this was a stopgap solution, as the standard Centronics socket was too large to fit together with an RS-232 socket on a plug-in card . So then both sockets were replaced by smaller versions; however, this connector shape subsequently developed into a quasi-standard. On the printer side, however, the 36-pin connector is still used today.

Pin assignments

Pin assignment of the original parallel port on the PC
Pin code Surname Direction (1) function
1 STROBE > Strobe, indicates valid data
2 D0 > Data bit 0
3 D1 > Data bit 1
4th D2 > Data bit 2
5 D3 > Data bit 3
6th D4 > Data bit 4
7th D5 > Data bit 5
8th D6 > Data bit 6
9 D7 > Data bit 7
10 ACK < Acknowledge, display by the printer that the data has been received
11 BUSY < Busy, indicates that the printer is ready to accept data
12 PE < Paper end
13 SEL < Select, shows printer status (online or offline)
14th AUTOFD > Autofeed, causes a line break (LF) after a carriage return (CR)
15th ERROR < Error
16 INIT > Printer reset
17th SELIN > Select In, tells the printer that it has been addressed
18th GND - Signal ground
19th GND - Signal ground
20th GND - Signal ground
21st GND - Signal ground
22nd GND - Signal ground
23 GND - Signal ground
24 GND - Signal ground
25th GND - Signal ground
Pin assignment of the ECP port
Pin code Surname Direction (1) function
1 STROBE > Strobe
2 data0 <> Address, Data or RLE Data Bit 0
3 data1 <> Address, Data or RLE Data Bit 1
4th data2 <> Address, Data or RLE Data Bit 2
5 data3 <> Address, Data or RLE Data Bit 3
6th data4 <> Address, Data or RLE Data Bit 4
7th data5 <> Address, Data or RLE Data Bit 5
8th data6 <> Address, Data or RLE Data Bit 6
9 data7 <> Address, Data or RLE Data Bit 7
10 ACK < Acknowledge
11 BUSY < Busy
12 PError < Paper end
13 Select < Select
14th AutoFd > Auto feed
15th Fault < Error
16 Init > Initialize
17th SelectIn > Select In
18th GND - Signal ground
19th GND - Signal ground
20th GND - Signal ground
21st GND - Signal ground
22nd GND - Signal ground
23 GND - Signal ground
24 GND - Signal ground
25th GND - Signal ground

(1) : > means from PC to device, < means from device to PC, <> means bidirectional signal line. Data flow direction is negotiated; - : Ground line (without data flow direction)

The data transfer takes place according to the following protocol:

  1. The transmitter uses the busy line to check whether the receiver is ready. If so, the data byte is placed on the data lines.
  2. By activating the strobe signal (at least 1 to max. 50 microseconds), the recipient is informed of the validity of the data byte.
  3. By activating Busy , the receiver signals that it is busy processing the data.
  4. Successful reception and processing of the data byte is confirmed by the end device with the acknowledge signal.

A slimmed-down interface with 8 data lines, strobe and ack or busy is sufficient for data transmission in one direction that does not have a differentiated feedback option. Such a mini-centronics was often used in the Commodore 64 . This used a proprietary interface for the company's own printer, but also offered a freely programmable multi-purpose interface, the so-called user port . The Mini-Centronics offered the possibility to operate non- Commodore printers without an expensive interface adapter box. Instead, a ribbon cable with matching plugs, a so-called user port cable, was sufficient. There were only 10 usable input and output lines at the user port, so that a full Centronics interface was not possible. However, this only worked with a modified kernel that contained a converter from the in-house interface to Centronics (many floppy speeders) or with programs that explicitly mastered this operating mode, since the C64 only came with application-independent device drivers with GEOS .

Web links

Individual evidence

  1. ^ B. Buchanan: The Handbook of Data Communications and Networks , Volume 1, Volume 2, Springer Science & Business Media 2010, 1998 pages, page 400
  2. http://www.interfacebus.com/Design_Connector_1284.html Larry Davis: IEEE-1284 Bus Standard Signaling Method for a Bi-Directional Parallel Peripheral Interface for Personal Computers , accessed April 1, 2019
  3. ^ Jan Axelson: Parallel Port Complete , page 204