Agilent Technologies E1465A Automobile Parts User Manual


 
84 Register-Based Programming Appendix B
The Base Address When reading or writing to a switch register, a hexadecimal or decimal
register address is specified. This address consists of a base address plus
a register offset. The base address used in register-based programming
depends on whether the A16 address space is outside or inside the
E1406 Command Module.
Figure B-1 shows the register address location within A16 as it might be
mapped by an embedded controller. Figure B-2 shows the location of A16
address space in the E1406 Command Module.
A16 Address Space
Outside the Command
Module
When the E1406 Command Module is not part of your VXIbus system (see
Figure B-1), the switch’s base address is computed as:
Command Module Address + C000
16
+ (LADDR * 64)
16
or
Command Module Address + 49,152 + (LADDR * 64)
where C000
16
(49,152) is the starting location of the register addresses,
LADDR is the matrix module’s logical address, and 64 is the number of
address bytes per VXI device. For example, the matrix module’s factory-set
logical address is 120 (78
16
). If this address is not changed, the switch will
have a base address of:
C000
16
+ (120 * 64)
16
= C000
16
+ 1E00
16
= DE00
16
or
49,152 + (120 * 64) = 49,152 + 7680 = 56,832
A16 Address Space
Inside the Command
Module or Mainframe
When the A16 address space is inside the E1406 Command Module
(see Figure B-2), the matrix module’s base address is computed as:
1FC000
16
+ (LADDR * 64)
16
or
2,080,768 + (LADDR * 64)
where 1FC000
16
(2,080,768) is the starting location of the VXI A16
addresses, LADDR is the matrix module’s logical address, and 64 is the
number of address bytes per register-based device. Again, the matrix
module’s factory-set logical address is 120. If this address is not changed,
the switch module will have a base address of:
1FC000
16
+ (120 * 64)
16
= 1FC000
16
+ 1E00
16
= 1FDE00
16
or
2,080,768 + (120 * 64) = 2,080,768 + 7680 = 2,088,448
Register Offset The register offset is the register’s location in the block of 64 address bytes.
For example, the matrix module’s Status Register has an offset of 04
16
.
When you write a command to this register, the offset is added to the base
address to form the register address:
1FDE00
16
+ 04
16
= 1FDE04
16
or
2,088,448 + 4 = 2,088,452