Model 6517B Electrometer Reference Manual Appendix D: IEEE-488 bus overview
6517B-901-01 Rev. C / August 2015 D-5
Handshake lines
The bus handshake lines operate in an interlocked sequence. This method ensures reliable data
transmission regardless of the transfer rate. Generally, data transfer occurs at a rate determined by
the slowest active device on the bus.
One of the three handshake lines is controlled by the source (the talker sending information), while
the remaining two lines are controlled by accepting devices (the listener or listeners receiving the
information). The three handshake lines are:
DAV (data valid): The source controls the state of the DAV line, which indicates whether data bus
information is valid for any listening lines.
NRFD (not ready for data): The acceptor controls the state of NRFD. It is used to signal to the
transmitting device to pause the byte transfer sequence until the accepting device is ready.
NDAC (not data accepted): NDAC is also controlled by the accepting device. The state of NDAC tells the
source whether or not the device has accepted the data byte.
The complete handshake sequence for one data byte is shown in the below figure. Once data is
placed on the data lines, the source checks to see that NRFD is high, indicating that all active devices
are ready. At the same time, NDAC should be low from the previous byte transfer. If these conditions
are not met, the source must wait until NDAC and NRFD have the correct status. If the source is a
controller, NRFD and NDAC must be stable for at least 100nsec after ATN is set true. Because of the
possibility of a bus interruption, many controllers have time-out routines that display messages if case
the transfer sequence stops for any reason.
Once all NDAC and NRFD are properly set, the source sets DAV low, signaling to accepting devices
that the byte on the data lines is now valid. NRFD then goes low, and NDAC goes high once all devices
have accepted the data. Each device releases NDAC at its own rate, but NDAC is not released to go
high until all devices have accepted the data byte.
The sequence just described is used to transfer both data, talk and listen addresses, as well as
multiline commands. The state of the ATN line determines whether the data bus contains data,
addresses, or commands (as described in the following paragraph).
Figure 143: IEEE-488 handshake