Linux-GPIB 4.3.6 Documentation | ||
---|---|---|
<<< Previous | Next >>> |
The meaning and values of the possible GPIB command bytes are as follows:
Table 13. GPIB command bytes
byte value (hexadecimal) | name | description |
---|---|---|
0x1 | GTL | Go to local |
0x4 | SDC | Selected device clear |
0x5 | PPConfig (also 'PPC' on non-powerpc architectures) | Parallel poll configure |
0x8 | GET | Group execute trigger |
0x9 | TCT | Take control |
0x11 | LLO | Local lockout |
0x14 | DCL | Device clear |
0x15 | PPU | Parallel poll unconfigure |
0x18 | SPE | Serial poll enable |
0x19 | SPD | Serial poll disable |
0x1f | CFE | Configure enable |
0x20 to 0x3e | MLA0 to MLA30 | My (primary) listen address 0 to 30 |
0x3f | UNL | Unlisten |
0x40 to 0x5e | MTA0 to MTA30 | My (primary) talk address 0 to 30 |
0x5f | UNT | Untalk |
0x60 to 0x6f | MSA0 to MSA15, also PPE, also CFG1 to CFG15 | When following a primary talk or primary listen address, this is "my secondary address" MSA0 (0x60) to MSA15 (0x6f). When following a PPC "parallel poll configure", this is PPE "parallel poll enable". When following a CFE "configure enable", this is CFG1 (0x61) to CFG15 (0x6f) "configure n meters". For parallel poll enable, the least significant 3 bits of the command byte specify which DIO line the device should use to send its parallel poll response. The fourth least significant bit (0x8) indicates the 'sense' or polarity the device should use when responding. |
0x70 to 0x7e | MSA16 to MSA30, also PPD | When following a talk or listen address, this is 'my secondary address' 16 to 30. When following a parallel poll configure, this is 'parallel poll disable'. |
0x7f | PPD | Parallel poll disable |
Physically, the GPIB bus consists of 8 data lines, 3 handshaking lines, and 5 control lines (and 8 ground lines). Brief descriptions of how they are used follow:
Table 14. GPIB bus lines
bus line | description | pin number |
---|---|---|
DIO1 through DIO8 | Data input/output bits. These 8 lines are used to read and write the 8 bits of a data or command byte that is being sent over the bus. | DIO1 to DIO4 use pins 1 to 4, DIO5 to DIO8 use pins 13 to 16 |
EOI | End-or-identify. This line is asserted with the last byte of data during a write, to indicate the end of the message. It can also be asserted along with the ATN line to conduct a parallel poll. | 5 |
DAV | Data valid. This is a handshaking line, used to signal that the value being sent with DIO1-DIO8 is valid. During transfers the DIO1-DIO8 lines are set, then the DAV line is asserted after a delay called the 'T1 delay'. The T1 delay lets the data lines settle to stable values before they are read. | 6 |
NRFD | Not ready for data. NRFD is a handshaking line asserted by listeners to indicate they are not ready to receive a new data byte. | 7 |
NDAC | Not data accepted. NDAC is a handshaking line asserted by listeners to indicate they have not yet read the byte contained on the DIO lines. | 8 |
IFC | Interface clear. The system controller can assert this line (it should be asserted for at least 100 microseconds) to reset the bus and make itself controller-in-charge. | 9 |
SRQ | Service request. Devices on the bus can assert this line to request service from the controller-in-charge. The controller can then poll the devices until it finds the device requesting service, and perform whatever action is necessary. | 10 |
ATN | Attention. ATN is asserted to indicate that the DIO lines contain a command byte (as opposed to a data byte). Also, it is asserted with EOI when conducting parallel polls. | 11 |
REN | Remote enable. Asserted by the system controller, it enables devices to enter remote mode. When REN is asserted, a device will enter remote mode when it is addressed by the controller. When REN is false, all devices will immediately return to local mode. | 17 |
<<< Previous | Home | Next >>> |
ThreadIbsta | GNU Free Documentation License |