A GPIB interface has 16 signal lines, including data, handshake, and control lines.
The GPIB interface has eight data lines. These lines, designated DIO1 through DIO8, can carry command messages or data messages.
Data sent over these lines can be either 8-bit ASCII or binary data.
When command information is sent over the data lines, only seven of the eight lines are used. The eighth line can be used for parity checking. Command information can be talker or listener addresses, or universal address or unaddress commands. For more information on the types of commands that can be sent across the GPIB interface, see GPIB Commands.
The three handshake lines provide asynchronous messaging and error checking. The handshake lines are:
DAV (Data Valid)—Indicates that the data currently being sent on the data lines is valid and can be accepted by the listeners.
NRFD (Not Ready for Data)—Indicates that listeners are not ready to receive data.
NDAC (Not Data Accepted)—Indicates that listeners have not yet accepted the current data byte.
Because the three-line handshake configuration provides for asynchronous messaging, devices with different I/O speeds can be connected to a GPIB interface.
Control Lines
The five GPIB control lines are:
ATN (Attention)—When the controller asserts ATN to be true, any data to be sent over the eight data lines is interpreted as bus commands. When ATN is false, information sent over the data lines is interpreted as ASCII or binary data.
EOI (End or Identify)—When EOI is asserted on the last byte of a data message, all listeners are notified that the data has ended. When ATN is set to true, EOI can be used for parallel polling.
IFC (Interface Clear)—When the system controller asserts IFC true, all devices on the bus are returned to an idle state. The bus is initialized, and the system controller becomes the Controller-In-Charge.
REN (Remote Enable)—When the system controller asserts REN true, devices on the interface can operate in remote mode.
SRQ (Service Request)—SRQ can be asserted by any device on the system to request service. After a device requests service, the system controller can poll the device with serial or parallel polling (see Polling.)