Technical Information Chapter 3
GPIB-BUF User Manual 3-6 © National Instruments Corp.
The GPIB-BUF SRQ-on-empty feature and serial poll status byte are useful
for several reasons.
• A remote Controller is able to tell when a data transfer to a plotter or
printer is completely finished.
• A ready indicator is provided to a remote GPIB Controller signaling
that the GPIB-BUF has been powered on, has successfully completed
its self-test, and is ready to accept data.
• A means is provided by which very large files can be transferred
without depleting the bandwidth of the GPIB Talker and the GPIB bus.
The following paragraphs explain how this last point can be beneficial:
Suppose that you need to send a file to a plotter via the GPIB-BUF and the
file is larger than the available memory in the GPIB-BUF. Since the plotter
is a slow data acceptor and you are sending a large file, the GPIB-BUF
buffer will most likely become full. If this happens, the GPIB bus as well
as the GPIB Talker will bottleneck to the same speed as the plotter.
To avoid this problem, the SRQ-on-empty function can be enabled and the
GPIB Talker/Controller can send data amounts up to, but not exceeding the
GPIB-BUF buffer size. The Controller can then unaddress the GPIB-BUF
and allow other devices to use the GPIB while the GPIB-BUF is spooling
the file to the target device. The Controller also is now free to perform
other work while the file is being spooled. When the GPIB-BUF has
emptied its internal data buffer, it then requests service using SRQ* to
indicate that it is ready for additional data. The Controller can then
re-address the GPIB-BUF to listen and continue sending the rest of the file
in the above manner until all the data has been transferred.
Since the GPIB-BUF is a fully transparent, self-contained unit, the amount
of data buffering can also be increased by chaining multiple GPIB-BUF
units together.
Another means by which a Controller can determine if a device requires
service is by a parallel poll. During a parallel poll, each responding device
indicates its need for service by returning a status bit via one of the GPIB
data lines. GPIB data line assignments, as well as the level (high or low) of
the GPIB line, depend on the last parallel poll configuration command sent
to the device.