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 0416. 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:

D20016 + 0416 = D20416

53,760 + 4 = 53,764

In the command module:

1FD20016 + 0416 = 1FD20416 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

VXI:READ? logical_address, offset

logical_address = LADDR

VXI:WRITE logical_address, offset, data

offset = register number

(over HP-IB to

 

Base_addr = 1FC00016 + (LADDR16 * 4016)

E1405/E1406

DIAG:PEEK? Base_addr + offset, width

Command Module)

DIAG:POKE Base_addr + offset, width, data

or

 

(width must be either 8 or 16)

= 2,080,768 + (LADDR * 64)

 

 

offset = register number

 

 

 

 

READIO (-18, Base_addr + offset)

Base_addr = C00016 + (LADDR16 * 4016)

V/382 Embedded

WRITEIO (-18, Base_addr + offset; data)

or

Computer

(positive select code = byte read or write

= 49,152 + (LADDR * 64)

 

 

 

negative select code = word read or write)

offset = register number

 

 

 

SICL

iwpoke(Base_addr + offset,data)

imap(id,I_MAP_VXIDEV,0,0,NULL)

 

iwpeek(Base_addr + offset)

 

 

 

 

LADDR = HP E1418A Logical Address = 72 = 4816

118 HP E1418A Register-Based Programming

Appendix B

Page 118
Image 118
HP E1418A manual Outside the command module