— 148 —
4.2.3 Negotiation
Overview
Usually, the printer is started in Compatibility mode, which corresponds to the Centronics interface phase.
When the host intends to switch to the Nibble or Byte mode, it sends a request and negotiates with the
printer. A general flow of negotiations is given below.
(1) The host sets the IEEE 1284 Active signal to High. In response, the printer moves into the Negotiation
phase.
(2) The printer replies whether it can execute the mode requested by the host.
(3) The interface terminates the Negotiation phase and moves into the communication phase.
Negotiation Procedure
The negotiations proceed as follows:
(1) In IEEE 1284 communication mode, the host and printer are in Compatibility mode by default. They
remain in Compatibility mode as long as the host recognizes the connected device as an IEEE 1284
compatible device.
(2) To start negotiations, the host sets the communication mode request bit on the data path. (Event 0)
(3) The host sets IEEE 1284 Active (nSelectln) to High, and HostBusy (nAutoFd) to Low. (Event 1)
(4) The printer responds by setting PtrClk (nAck) to Low, nDataAvail (nFault) to High, Xflag (Select) to High,
and AckDatReq (PError) to High. (Event 2)
(5) The host sets HostClk (nStrobe) to Low. In response, the printer latches the data of the communication
mode request bit. (Event 3)
(6) The host sets HostClk (nStrobe) and HostBusy (nAutoFd) to High. (Event 4)
(7) If the printer has communication data to send to the host, it sets AckDataReq (PError) to Low, nDataAvail
(nFault) to Low, and Xflag (Select) to the value corresponding to the communication mode. (Event 5)
Xflag: Nibble Mode: Low
Byte Mode: High
(8) The printer sets PtrClk (nAck) to High to indicate that it is ready to read status lines. (Event 6)
(9) If the printer has communication data to send to the host, the host moves into the Host Busy Available
phase or Termination phase, and then returns to the Compatibility mode.
(10) If the printer has no communication data to send to the host, the host moves into the Host Busy Data Not
Available phase or Termination phase, and then returns to the Compatibility mode.
(11) If the printer cannot support the communication mode requested by the host, it sets Xflag (Select) as
follows:
When Nibble mode is requested: High
When Byte mode is requested: Low