Register Offset - HP E1328A User Manual

D/a converter module
Hide thumbs Also See for E1328A:
Table of Contents

Advertisement

Register Offset

Computer
HP E1300/01 IBASIC
(Absolute Addressing)
READIO (-9826, Base_addr + offset)
WRITEIO -9826, Base_addr + offset; data
(positive select code = byte read or write
negative select code = word read or write)
(select code 8)
READIO (8, Base_addr + reg number)
WRITEIO 8, Base_addr + reg number; data
VXI:READ? logical_address, offset
External Computer
VXI:WRITE logical_address, offset, data
(over HP-IB to
HP E1300/E1301
Mainframe or
HP E1405/E1406
DIAG:PEEK? Base_addr + offset, width
Command Module)
DIAG:POKE Base_addr + offset, width, data
V/382 Embedded
READIO (-16, Base_addr + offset)
Computer
WRITEIO -16, Base_addr + offset; data
(C-Size system)
(positive select code = byte read or write
negative select code = word read or write)
HP RADI-EPC7
iwpeek((unsigned short *)
Embedded Computer
(base_addr + offset))
with SICL
iwpoke((unsigned short *)
(base_addr + offset),data)
LADDR: HP E1328A logical address = 72
(LADDR * 64)
: Multiply quantity then convert to a hexadecimal number (e.g. (72 * 64)
16
When using DIAG:PEEK? and DIAG:POKE, the width (number of bits) is either 8 or 16.
58
HP E1328A Register-Based Programming
The register offset is the register's location in the block of 64 address bytes
that belong to the module. For example, the module's Status/Control
Register has an offset of 04
the offset is added to the base address to form the register address:
D200
+ 04
16
16
53,760 + 4 = 53,764
Table B-1 shows the general programming method for accessing the
HP E1328A registers using different computers.
Table B-1. Accessing the HP E1328A Registers
Programming Method
. When you write a command to this register,
16
= D204
1FD200
+ 04
16
16
or
2,085,376 + 4 = 2,085,380
Base_addr = 1FC000
or
= 2,080,768 + (LADDR * 64)
offset = register offset (Figure B-2)
Base_addr = LADDR * 256
reg number = register offset (Figure B-2)/2
Module logical address setting (LADDR)
offset = register offset (Figure B-2)
Base_addr = 1FC000
or
= 2,080,768 + (LADDR * 64)
offset = register offset (Figure B-2)
Base_addr = C000
or
= 49,152 + (LADDR * 64)
offset = register offset (Figure B-1)
INST device_name;
device_name = iopen
("vxi, logical address");
base_addr = imap
(device_name, I_MAP_VXIDEV,0,1,NULL);
16
= 1FD204
16
16
Base Address
+ (LADDR * 64)
16
16
+ (LADDR * 64)
16
16
+ (LADDR * 64)
16
16
= 1200
)
16
Appendix B

Advertisement

Table of Contents
loading

Table of Contents