What do you mean by asynchronous data transfer? Explain strobe control and handshaking mechanism.
What do you mean by asynchronous data transfer? Explain strobe control and handshaking mechanism.
Quick answer
When two units use their own independent clocks, data moves between them by asynchronous transfer. The sender must show that the data is valid, and the receiver must show that it has taken it. The two methods are strobe control and handshaking.
Strobe control
A single control line, the strobe, tells when to transfer. In source-initiated strobe, the source puts data on the bus and then activates the strobe. The destination latches the data on the strobe. The source then removes the strobe and the data.
In destination-initiated strobe, the destination activates the strobe to ask for data. The source puts data on the bus. The destination latches it and removes the strobe, and the source removes the data.
Data ----<====valid====>----
Strobe ______|‾‾‾‾‾‾‾‾‾|______
The weakness is the lack of acknowledgement. The source does not know that the destination received the data, and the destination does not know that the data is really valid.
Handshaking
Handshaking uses two lines, one in each direction, so that every action gets a reply.
In source-initiated handshaking, the lines are data valid and data accepted. The sequence is:
- The source puts data on the bus and enables data valid.
- The destination takes the data and enables data accepted.
- The source disables data valid and removes the data.
- The destination disables data accepted. The system is ready for the next word.
In destination-initiated handshaking, the lines are ready for data and data valid. The destination first enables ready for data. The source places data and enables data valid. The destination latches the data and disables ready for data. Finally, the source disables data valid.
Comparison
| Point | Strobe | Handshaking |
|---|---|---|
| Control lines | One | Two |
| Reply from the other unit | None | Yes |
| Reliability | Lower | Higher |
| Speed difference handled | Poorly | Well |
A time-out circuit is often added with handshaking, to flag an error if a unit does not reply. Handshaking is used in most real interfaces, because it works safely for units of any speed.
Short on time? The 1, 5 and 10 mark versions of this answer, flashcards and practice sets come with a program pass.
Up nextExplain the various modes of data transfer and discuss direct memory access mode in detail