user manual

Register Offset The register offset is the register’s location in the block of 64 bytes that
belong to the module. For example, the module’s Status/Control 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:
register_address = base_address + register _offset
Outside the command module:
D200
16
+ 04
16
= D204
16
53,760 + 4 = 53,764
In the command module:
1FD200
16
+ 04
16
= 1FD204
16
2,085,376 + 4 = 2,085,380
Table B-1 shows some general programming methods for accessing the
HP E1418A registers using different computers.
Table B-1. Register Access
System Typical Commands Base Address
External Computer
(over HP-IB to
E1405/E1406
Command Module)
VXI:READ? logical_address, offset
VXI:WRITE logical_address, offset, data
DIAG:PEEK? Base_addr + offset, width
DIAG:POKE Base_addr + offset, width, data
(width must be either 8 or 16)
logical_address = LADDR
offset = register number
Base_addr = 1FC000
16
+ (LADDR
16
* 40
16
)
or
= 2,080,768 + (LADDR * 64)
offset = register number
V/382 Embedded
Computer
READIO (-18, Base_addr + offset)
WRITEIO (-18, Base_addr + offset; data)
(positive select code = byte read or write
negative select code = word read or write)
Base_addr = C000
16
+ (LADDR
16
* 40
16
)
or
= 49,152 + (LADDR * 64)
offset = register number
SICL iwpoke(Base_addr + offset,data)
iwpeek(Base_addr + offset)
imap(id,I_MAP_VXIDEV,0,0,NULL)
LADDR = HP E1418A Logical Address = 72 = 48
16
118 HP E1418A Register-Based Programming Appendix B