Agilent Technologies E1442-90003 Switch User Manual


 
90 Register-Based Programming Appendix B
Register-Based Programming the E1442A
The E1442A Form C Switch Module is a register-based slave device. There
are 64 independent switches on the card which are controlled using the
Switch Control Registers. There are four register types on this module:
Identifies Hewlett-Packard as the manufacturer and the card is an
A16 register-based device.
Device Type Register - Identifies card as an E1442A.
Status/Control Register - When read from, it is used to return
device-specific status information. When written to, it is used to
set control bits.
Switch Enable Registers - These four registers control the state of
the Form C switches on the module (e.g., close or open the
switch).
Reading or Writing
to E1442A
Registers
To read or write to specific registers you must address a particular register
within a module. The registers within a module are located using a fixed
offset. The module address is based on the modules logical address. There
are two basic ways of accessing registers.
One method uses the logical address directly to access a particular card
using VXI:READ and VXI:WRITE commands through a command module.
The other method can be used with an embedded controller that locates A16
data space within its memory map. The memory mapping allows registers to
be directly read or written with moves to/from memory. The factory setting of
the logical address switch is 120 (78
16
). This value is used in the following
examples.
Register Access
with Logical
Address (Command
Module)
When using the E1406 Command Module to access registers via VXI:READ
and VXI:WRITE commands, the logical address is used to determine which
VXI module is being accessed. See the E1406 Command Module
documentation for use of the VXI:READ and VXI:WRITE commands and
other related commands.
The following commands are sent to the E1406 Command Module via the
GPIB. The example below shows a portion of a BASIC program. The
controller could either be external or embedded in the VXI mainframe. This
example shows the Status/Control Register being accessed.
2873879;,:5,7(+))))
Writes FFFF hex to Control
Register
2873879;,5($'
Reads from Status Register
(17(56WDWXV