Skip to main content

Strobe versus handshake protocol

Short answer

In strobe protocol, the master sends data and a single strobe pulse; the slave must read within a fixed time, with no acknowledgment, making it simple but less reliable. Handshake protocol uses separate request and acknowledge lines, allowing the master to wait for the slave's acknowledgment, ensuring reliable transfer regardless of device speed, at the cost of added complexity.

What are the differences between strobe and handshake protocol?

PointStrobe protocolHandshake protocol
PrincipleThe master sends data and a strobe pulse; the slave must read the data within a fixed timeThe master and slave exchange request and acknowledge signals before and after the transfer
Control linesOne strobe (or enable) lineTwo lines: Req and Ack
AcknowledgeNone; the master does not know whether the data was receivedThe slave acknowledges that it received the data
Speed matchingMaster assumes the slave is fast enough; the slave must be as fast as the strobeWorks with devices of any speed; the master waits for Ack
ReliabilityLower (data can be lost if the slave is slow)High
ComplexitySimple, minimal hardwareMore complex (extra line, state logic)
Typical useSynchronous transfers to fast devices (memory read/write)Printer (Centronics), asynchronous parallel I/O

In a strobe transfer, the master puts the address/data on the bus, activates the strobe for a fixed time, and removes it. In a handshake, the master asserts Req with the data, the slave latches it and asserts Ack, the master removes Req, and the slave removes Ack.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Embedded System chapter 5 questions →