The Nibble mode is the most common way to get reverse channel data from a printer or peripheral. This mode is usually combined with the Compatibility mode or a proprietary forward channel mode to create a complete bi-directional channel.
All of the standard parallel ports provide 5 lines from the peripheral to the PC to be used for external status indications. Using these lines, a peripheral can send a byte of data (8-bits) by sending 2 nibbles (4-bits) of information to the PC in two data transfer cycles. Unfortunately, since the nACK line is generally used to provide a peripheral interrupt, the bits used to transfer a nibble are not conveniently packed into the byte defined by the Status register. For this reason, the software must read the status byte and then manipulate the bits in order to get a correct byte.
Table 1 identifies the signal names for the Nibble mode. Figure 1 shows the basic data handshake for a nibble mode transfer from the peripheral to the host.
Table 1 -- Nibble Mode Signals
Figure 1 -- Nibble Mode Data Transfer Cycle 1284 Nibble Mode phase transition:
mode, like the Compatible mode, requires that the software drive
the protocol by setting and reading the lines on the parallel port.
Nibble mode is the most software intensive mode for reverse channel
data communication. For this reason, there is a severe limitation
of approximately 50K bytes per second for this type of data transfer.
The major advantage of this combination of modes is the ability
to operate on all PCs that have a parallel port. The performance
limitations incurred by the Nibble mode operation does not have
much visible effect on peripherals that have low reverse channel
requirements, such as printers, but can be nearly intolerable when
used for LAN adapters, disk drives or CD ROM drives.
© 1998-2004 Warp Nine Engineering