User`s manual
80 16-Channel Relay Multiplexer Registers Appendix B
Embedded Computer
Programming
(C-Size Systems)
If the relay multiplexer is part of a C-Size VXI system, the fastest throughput
is achieved using an embedded computer. The embedded computer allows
you to access the registers from the VXIbus backplane, and thus, there is no
parsing of SCPI command headers.
IBASIC Programming When the relay multiplexer is programmed using the E1300/E1301
Mainframe's Instrument BASIC (IBASIC), two methods of accessing the
registers are through absolute addressing or using select code 8.
Absolute Addressing
and Select Code 8
Absolute addressing is faster than select code 8 since the complete register
address (including the A16 starting location 1FC000
16
) is specified. When
select code 8 is used, the IBASIC processor must calculate the complete
register address based on the logical address specified (Table B-1).
The Register Offset and
Register Number
Depending on whether absolute addressing or select code 8 is used, either a
register offset or register number is specified as part of the register address.
Absolute addressing specifies a register offset, which is the register's
location in the block of 64 address bytes. For example, the multiplexer's
Channel Register has an offset of 08
16
. When you write a command to this
register, the offset is added to the base address to form the register address
(using a logical address of 80):
register address = base address + register offset
= 1FC000
16
+ (80 * 64)
16
+ 08
16
= 1FC000
16
+ 1400
16
+08
16
= 1FD408
16
or
= 2,080,768 + (80 * 64) + 8
= 2,080,768 + 5120 + 8 = 2,085,896
Using select code 8 requires that you specify a register number. The
register number is the register offset/2. Referring to Figure B-1, the Channel
Register with an offset of 08, is register number 4.
External Computer
Programming
When the multiplexer is programmed by an external computer through the
E1300/E1301 Mainframe or E1405/E1406 Command Module, the registers
are accessed using
DIAG:PEEK? and DIAG:POKE, or VXI:READ? and
VXI:WRITE
.
DIAG:PEEK?/DIAG:POKE and VXI:READ?/VXI:WRITE
Throughput speed using DIAG:PEEK? and DIAG:POKE is faster than
VXI:READ?
and VXI:WRITE because the complete register address
(including the A16 starting location 1FC000
16
) is specified. VXI:READ?
and
VXI:WRITE specify the device logical address and register offset only.
Thus, the E1300/E1406 processor must calculate the complete register
address which decreases throughput speed.
IBASIC programming using absolute addressing or select code 8 is faster
than either
DIAG:PEEK? and DIAG:POKE or VXI:READ? and VXI:WRITE
because the registers are accessed from the VXIbus backplane rather than
from the GPIB. Also,
READIO and WRITEIO are not parsed.