An easy way to describe an HP-IL system is to simply look at a typical configuration.
Figure 1-6 shows an HP-IL system comprised of a Controller and two other devices: a printer and a magnetic tape drive. Since HP-IL is a serial communications interface, information travels one bit at a time over the two-wire cable connecting devices and Controllers. All devices communicate by sending messages over this two-wire loop. Each message is comprised of 11 bits as shown in Figure 1-7.
To ensure that devices and Controllers speak the same language, Hewlett-Packard has defined a message structure; that is, a common set of messages that all HP-IL devices must understand. These messages define the way a device must operate if it wishes to send information out over the loop.
Messages originating at a Controller or device circulate around the loop to each device in turn, finally arriving back at the source. This is illustrated in Figure 1-8.
HP-IL systems can be comprised of three types of devices: Talkers, Listeners, and Controllers. Talkers are devices that send data over the interface loop. Listeners are devices that receive data from a Talker or commands from a Controller. The role Talker or Listener is assigned to a device by a Controller.
Controllers are in charge of all loop operations. They are typically responsible for assigning addresses to devices, assigning device roles, servicing device requests, and initiating the transfer of data from Talker to Listener(s).
Now that you know a little about what HP-IL is, here is an explanation of some of its capabilities.
HP-IL will support a maximum of 31 devices on a single loop using the standard method of addressing (a topic which will be covered later in the book). An extended form of addressing (involving the issuance of a two-byte address) allows the HP-IL interface to support up to 960 devices.
The rate at which data may be transferred over the loop interface is theoretically limited to 20K (20,000) bytes per second. Using equipment currently available (at the time of this printing), speeds of about 2K bytes per second are achievable. This translates to about half of a page of text (on an 8 1/2" X 11 " piece of paper) per second.
HP-IL transmissions are implemented in hardware using the three-level code shown in Figure 1-9. A logic one is represented by a high pulse of 1.5 volts followed by a low pulse of -1.5 volts. A logic zero is represented by a pulse of -1.5 volts followed by a high pulse of + 1. 5 volts . A level of 0 volts is used to represent the "quiescent condition" (no line activity).
The transmission line is electrically isolated from the device by means of a pulse transformer which acts both as a level translator and as a means of isolating the transmission line from device logic levels. Drivers and receivers are specified as two-wire balanced-pair devices. An electrical diagram of an HP-IL transmission line is shown in Figure 1-10.
The HP-IL specification allows for a maximum distance of up to 10 meters between devices using simple two-wire cable. Distances of up to 100 meters are allowed when using shielded, twisted-pair cable.
In addition to the basic list of HP-IL features, a number of additional functions have been defined. These functions allow devices to go to a power-down (or standby) mode and to wake up on command from a Controller.
The power-down mode of operation allows a Loop Controller to place all devices into a state where power requirements are minimal (a feature very important for battery-powered systems). If the Controller has the capability to institute real-time wake-up calls, it can wake up all devices on the loop to make measurements periodically or perform control functions. Once these functions or measurements are completed, the Controller can put the system back to sleep.
Device Triggering is a function which lets a Controller initiate an action at a remote device. For example, a signal from a Controller to trigger a measurement reading at an appropriate time could be used in a laboratory system to make a series of readings at predefined intervals.
HP-IL Controllers have the capability to initialize devices on the loop and to assign addresses to devices (a feature called AutoAddressing). In this way devices may be added to the loop without concern for addresssing details (such as setting address switches).