Skip to main content

Single and double handshaking

Short answer

Single handshaking uses one control line, usually a strobe or DAV, to indicate data valid; the receiver reads but no acknowledge is sent. Double handshaking uses DAV and ACK: sender asserts DAV, receiver accepts and asserts ACK, then both deassert in sequence, ensuring reliable transfer between different speeds.

Explain single handshaking and double handshaking technique used in parallel interfacing with a microprocessor.

Handshaking is the exchange of control signals between a sender and a receiver to make sure that data is transferred only when the receiver is ready and has accepted it. It is used where the two devices have different speeds.

Single handshaking

One control line is used. The sender puts data on the data lines and activates a strobe/DAV (data valid) signal. The receiver reads the data when it sees the strobe. The sender does not know whether the data was really accepted, so this is used when the receiver is fast.

Double (full) handshaking

Two control lines are used, DAV/STB from the sender and ACK from the receiver:

  1. Sender places data and activates DAV.
  2. Receiver sees DAV, reads data and activates ACK.
  3. Sender sees ACK, removes DAV (and may change data).
  4. Receiver sees DAV removed and removes ACK.
  5. The cycle is ready for the next byte.
 DATA ====<valid>=====
 DAV  ___|‾‾‾‾‾‾‾|______
 ACK  _______|‾‾‾‾‾‾|___

Double handshaking is reliable for any speed. The 8255 uses it in mode 1 (STB/IBF, OBF/ACK) and mode 2.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Microprocessor chapter 4 questions →