WARNINGS......................... 8 Declaration of Conformity.................... 9 Chapter 1 Getting Started ......................11 About This Chapter..................... 11 Agilent E8481A Module Description ................. 11 Simplified Schematic ..................11 Function Modes ....................12 Typical Configuration ..................12 Instrument Definition....................13 Programming the Module ................... 13 Specifying SCPI Commands ................
Page 5
Switching Channels ....................32 Example: Closing Multiple Channels (HTBasic) ..........32 Example: Closing Multiple Channels (C/C++) ........... 33 Using State Patterns to Switch Channels..............34 Example: Using a State Pattern to Switch Channels (HTBasic) ......34 Example: Using a State Pattern to Switch Channels (C/C++) ......35 Scanning Channels......................
AGILENT TECHNOLOGIES WARRANTY STATEMENT AGILENT PRODUCT: E8481A 2-wire 4x32 Relay Matrix Switch Module DURATION OF WARRANTY: 3 years 1. Agilent Technologies warrants Agilent hardware, accessories and supplies against defects in materials and workmanship for the period specified above. If Agilent receives notice of such defects during the warranty period, Agilent will, at its option, either repair or replace products which prove to be defective.
Documentation History All Editions and Updates of this manual and their creation date are listed below. The first Edition of the manual is Edition 1. The Edition number increments by 1 whenever the manual is revised. Updates, which are issued between Editions, contain replacement pages to correct or add additional information to the current Edition of the manual.
• Go to http://regulations.corporate.agilent.com/DoC/search.htm. You can then search by product number to find the latest Declaration of Conformity. • Alternately, you can go to the product web page (www.agilent.com/find/E8481A), click on the Document Library tab then scroll down until you find the Declaration of Conformity link.
Figure 1-1. Agilent E8481A Simplified Schematic Function Modes When shipped from the factory, the E8481A is configured as a 4x32 2-wire Matrix Switch module. All columns (00-31) are switched to rows (00-03) of Group A with 50 MHz bandwidth. By disconnecting the rows of the Group A and the Group B with SCPI command ([ROUTe:]FUNCtion), the module can be reconfigured as two independent 4x16 matrixes.
See Appendix B for details on register programming. Specifying SCPI To address specific channels within an E8481A module, you must specify the appropriate SCPI command and matrix channel addresses. Table 1-1 Commands lists the most commonly used commands. Refer to Chapter 4 of this manual for a complete list of SCPI commands used for the matrix switch module.
Page 15
• (@ssrrcc:ssrrcc) for sequential channels • (@ssrrcc:ssrrcc,ssrrcc:ssrrcc) for groups of sequential channels • or any combination of the above. NOTE Only valid channels can be accessed in a channel list or channel range. Channel numbers can be entered in the channel_list in any random order. However, the channel range must be from a lower channel number to a higher channel number.
In the examples, the computer interfaces to the mainframe via GPIB. The GPIB interface select code is 7, the GPIB primary address is 09, and the E8481A module is at logical address 112 (secondary address = 112/8 = 14). Refer to the Agilent E1406A Command Module User’s Guide for more addressing information.
Page 17
= viPrintf(E8481A, "CLOS (@10002)\n"); if(VI_SUCCESS > errStatus){ printf("ERROR: viPrintf() returned 0x%x\n", errStatus); return errStatus;} /* Query state of channel 0002 */ errStatus = viQueryf(E8481A, "ROUT:CLOS? (@10002)\n", "%t",state); if (VI_SUCCESS > errStatus) { printf("ERROR: viQueryf() returned 0x%x\n", errStatus); return errStatus;} printf("Channel State is: %s\n",state);...
Chapter 2 Configuring the Module About This Chapter This chapter shows how to configure the Matrix Switch module for use in a VXIbus mainframe, install it in a mainframe, and connect external wiring to the matrix module. Chapter contents include: •...
Setting the Logical Address The logical address switch (LADDR) factory setting is 112. Valid address values are from 1 to 255. Refer to Figure 2-1 for the address switch position and setting information. NOTE The address switch selected value must be a multiple of 8 if the module is the first module in a switchbox used with a VXIbus command module, and being instructed by SCPI commands.
Setting the Interrupt Priority The E8481A module generates an interrupt after a channel has been closed. These interrupts are sent to, and acknowledgments are received from, the command module (Agilent E1406A) via the VXIbus backplane interrupt lines. For most applications the default interrupt priority line should not have to be changed.
Installing the Matrix Switch Module in a Mainframe The Agilent E8481A may be installed in any slot (except slot 0) in a C-size VXIbus mainframe. Refer to Figure 2-2 to install the module in a mainframe. Figure 2-2. Installing the Matrix Switch Module in a VXIbus Mainframe...
Connectors Pinout Figure 2-3 shows the front panel of the Agilent E8481A and the connectors pinout which mates to the terminal module. Group A ROWA_0H...
Screw Type Figure 2-4 shows the Option 106 screw type terminal module connectors and associated row/column designators. Terminal Module Mating to the J1 and J2 connectors on the front panel of the E8481A COL0 COL2 COL4 COL6 COL9 COL11 COL13 COL15...
This SMB terminal module Module provides a convenient way to connect the field wiring to the matrix switch module via SMB cables. Mating to the J1 and J2 connectors on the front panel of the E8481A ROWA1 ROWA2 ROWB1 ROWB2 ROWA3...
Wiring a Terminal The following illustrations show how to connect field wiring to the screw type or SMB type terminal module, and how to attach the terminal module Module to the relay matrix switch module. Figure 2-6. Wiring a Terminal Module (continued on next page) 24 Configuring the Module Chapter 2...
Page 26
* DO NOT make connections on the RowB_0 through RowB_3 connectors when in 4x32 mode. * To remove the terminal module from the E8481A, use a small screwdriver to release the two Extraction extraction levels and push both Levers...
Attaching a Figure 2-7 shows how to attach a terminal module to the E8481A Relay Matrix Switch module. Terminal Module to the Matrix Module Extend the Extraction Levels on the Extend the Extraction Levels on the Terminal Module. Terminal Module.
Chapter 3 Using the Matrix Module About This Chapter This chapter uses typical examples to show how to use the E8481A Matrix module. Chapter contents are: • Power-On and Reset Conditions ..... 28 •...
*RST (that is, you must specify a new scan list for scanning). Command parameters are set to the default conditions as shown below. Table 3-1. E8481A Default Conditions for Power-on and Reset Parameter Default Description ARM:COUNt Number of scanning cycles is 1.
0;} return VI_SUCCESS; Setting Module Function Mode When shipped from the factory, the E8481A is configured as a 4x32 matrix module. The E8481A matrix module can also be set to function as two independent 4x16 matrixes. Use the command FUNC <card_num>, <mode>...
> errStatus){ printf("ERROR: viPrintf() returned 0x%x\n", errStatus); return errStatus;} /* Query the function mode set for the module */ errStatus = viQueryf(E8481A, "ROUT:FUNC? 1\n", "%t", func); if (VI_SUCCESS > errStatus) { printf("ERROR: viQueryf() returned 0x%x\n", errStatus); return errStatus;} printf("The module is set to function as: %s\n", func);...
/* Close the resource manager session */ errStatus = viClose (viRM); if (VI_SUCCESS > errStatus) { printf("ERROR: viClose() returned 0x%x\n", errStatus); return 0;} return VI_SUCCESS; Switching Channels to close one or more matrix channels, and use CLOSe <channel_list> OPEN <channel_list> to open the channel(s).
0;} return VI_SUCCESS; Scanning Channels For the E8481A Matrix Switch module, scanning channels consists of closing a set of channels, one at a time. You can scan any combination of channels for a single-module or a multiple-module switchbox. Single, multiple, or continuous scanning modes are available.
Page 39
For this example, Row 00 (High and Low) of the E8481A matrix module is connected to the multimeter’s High and Low. The columns 00 through 15 are then scanned and different Device Under Test (DUTs) are switched in for a measurement.
Page 40
= viOpenDefaultRM (&viRM); if(VI_SUCCESS > errStatus){ printf("ERROR: viOpenDefaultRM() returned 0x%x\n", errStatus); return errStatus;} /* Open the matrix module instrument session */ errStatus = viOpen(viRM,INSTR_ADDR, VI_NULL,VI_NULL,&E8481A); if(VI_SUCCESS > errStatus){ printf("ERROR: viOpen() returned 0x%x\n", errStatus); return errStatus;} /* Open the multimeter instrument session */ errStatus = viOpen(viRM,MULTI_ADDR, VI_NULL,VI_NULL,&dmm);...
Page 41
0x%x\n", errStatus); return errStatus;} /* Enable matrix module output pulses on E1406A "Trig Out" port */ /* when a channel is closed */ errStatus = viPrintf(E8481A, "OUTP ON\n"); if(VI_SUCCESS > errStatus){ printf("ERROR: viPrintf() returned 0x%x\n", errStatus); return errStatus;}...
Page 42
/* Display the measurement results */ for (loop=0;loop<16;loop++) { printf ("Reading %d is: %lf\n", loop, readings[loop]); } /* Close the E8481A instrument session */ errStatus = viClose (E8481A); if (VI_SUCCESS > errStatus) { printf("ERROR: viClose() returned 0x%x\n", errStatus);...
Part of VXIbus E8481A E1406A E1412A Matrix Module Command Module Multimeter Module E8481A Opt 105 Terminal Module TTLTrg 0 TTLTrg 1 TTLTrg 0 RowA 0H TTLTrg 1 RowA 0L Figure 3-2. Scanning Using TTL Trigger Bus Lines...
Page 44
These connections indicate how the E1406A firmware operates to accomplish the triggering. For this example, Row 00 (High and Low) of the E8481A matrix module is connected to the multimeter’s High and Low. The columns are then scanned and different DUTS are switched in for a measurement.
Page 45
= viOpenDefaultRM (&viRM); if(VI_SUCCESS > errStatus){ printf("ERROR: viOpenDefaultRM() returned 0x%x\n", errStatus); return errStatus;} /* Open the matrix module instrument session */ errStatus = viOpen(viRM,INSTR_ADDR, VI_NULL,VI_NULL,&E8481A); if(VI_SUCCESS > errStatus){ printf("ERROR: viOpen() returned 0x%x\n", errStatus); return errStatus;} /* Open the multimeter instrument session */ errStatus = viOpen(viRM,MULTI_ADDR, VI_NULL,VI_NULL,&E1412A);...
Page 46
(VI_SUCCESS > errStatus) { printf("ERROR: viPrintf() returned 0x%x\n", errStatus); return errStatus;} /* Set the matrix pulses TTL Trigger line 0 on channel closed */ errStatus = viPrintf(E8481A, "OUTP:TTLT0 ON\n"); if(VI_SUCCESS > errStatus){ printf("ERROR: viPrintf() returned 0x%x\n", errStatus); return errStatus;} /* Set the matrix to be triggered by TTL Trigger line 1 */ errStatus = viPrintf(E8481A, "TRIG:SOUR TTLT1\n");...
Page 47
/* Display measurement results */ for (loop=0;loop<16;loop++) { printf ("Reading %d is: %lf\n", loop, readings[loop]); } /* Close the E8481A instrument session */ errStatus = viClose (E8481A); if (VI_SUCCESS > errStatus) { printf("ERROR: viClose() returned 0x%x\n", errStatus); return 0;} /* Close the multimeter instrument session */ errStatus = viClose (E1412A);...
Using the Scan Complete Bit You can use the Scan Complete bit (bit 8) in the Operation Status Register (in the command module) of a switchbox to determine when a scanning cycle completes (no other bits in the register apply to the switchbox). Bit 8 has a decimal value of 256 and you can read it directly with the command.
> errStatus){ printf("ERROR: viPrintf() returned 0x%x\n", errStatus); return errStatus;} /* Stay in loop until scan complete */ for (; ;){ errStatus = viQueryf(E8481A, "*STB?\n", "%d", &scan); printf("Waiting for scan to complete..."); if (scan&0x80) break;} printf("Scan has completed!"); /* Close the module instrument session */ errStatus = viClose (E8481A);...
Recalling and Saving States The *SAV <numeric_state> command saves the current instrument state. Up to 10 states can be stored by specifying the numeric_state parameter as an integer 0 through 9. The settings saved by this command are as follows: •...
<err_message> is a short description of the error and the maximum string length is 255 characters. Example: Querying The following example program was written in HTBasic programming language. It attempts an illegal channel closure for the E8481A matrix Errors (HTBasic) module, then polls for the error message. 10 DIM Err_num$[256] ! Dimension a string variable.
Page 53
Notes: 52 Using the Matrix Module Chapter 3...
Chapter 4 Command Reference Using This Chapter This chapter describes Standard Commands for Programmable Instruments (SCPI) and summarizes IEEE 488.2 Common (*) commands applicable to the module. See the Agilent E1406A Command Module User’s Manual for additional information on SCPI and common commands. This chapter contains the following sections: •...
Page 55
Abbreviated The command syntax shows most commands as a mixture of upper and lower case letters. The upper case letters indicate the abbreviated spelling for the command. For Commands shorter program lines, send the abbreviated form. For better program readability, you may send the entire command.
Optional Parameters. Parameters shown within square brackets ([ ]) are optional parameters. (Note that the brackets are not part of the command and are not sent to the instrument.) If you do not specify a value for an optional parameter, the instrument uses the default value.
ABORt ABORt command stops a scan in progress when the scan is enabled via the interface, and the trigger source is either TRIGger:SOURce BUS TRIGger:SOURce HOLD Subsystem Syntax ABORt Comments Actions: The command terminates the scan and invalidates the ABORt ABORt current channel list.
subsystem selects the number of scanning cycles (1 to 32,767) for each INITiate command. Subsystem Syntax :COUNt <number> MIN | MAX :COUNt? [<MIN | MAX>] ARM:COUNt allows scanning cycles to occur a multiple of ARM:COUNt <number> MIN | MAX times (1 to 32,767) with one INITiate command when INITiate:CONTinuous OFF | 0...
ARM:COUNt? ARM:COUNt? [<MIN | MAX>] returns the current number of scanning cycles set by The current number of scan cycles is returned when ARM:COUNt. parameter is not specified. With as a parameter, "1" is returned for the parameter; or "32767" is returned for the parameter regardless of the ARM:COUNt value set.
DIAGnostic:INTerrupt[:LINe] <card_number>, <line_number> sets the interrupt line of the specified module. The <card_number> specifies which E8481A in a multiple-module switchbox, is being referred to. The <line_number> can be 1 through 7 corresponding to VXI backplane interrupt lines 1 through 7.
1, 2, 3, 4, 5, 6, 7 which corresponds to the module’s interrupt lines 1-7. The returned value being 0 indicates that the module’s interrupt is disabled. The <card_number> specifies which E8481A in a multiple-module switchbox is being referred to. Parameters Name...
DIAGnostic:TEST:SEEProm? DIAGnostic:TEST:SEEProm? <card_number> checks the integrity (checksum) of the serial EEPROM on the module. Return value of "0" if no error. Otherwise, return value of "-1". Parameters Name Type Range of Values Default value <card_number> numeric 1 - 99 Comments Related Commands: SYST:CTYPE? <card_number>...
DISPlay DISPlay subsystem monitors the channel state of the selected module in a switchbox. This subsystem operates with an Agilent E1406A command module when a display terminal is connected. With an RS-232 terminal connected to the E1406A command module’s RS-232 port, these commands control the display on the terminal, and would in most cases be typed directly from the terminal keyboard.
DISPlay:MONitor:CARD to select the module. Monitor Mode for the E8481A: When monitoring mode is turned on, the hexadecimal numbers (sixteen 16-bits) representing all channel states will be displayed at the bottom of the terminal. These numbers correspond to the contents of...
INITiate INITiate command subsystem selects continuous scanning cycles and starts the scanning cycle. Subsystem Syntax INITiate :CONTinuous <mode> :CONTinuous? [:IMMediate] INITiate:CONTinuous enables or disables continuous scanning cycles for INITiate:CONTinuous <mode> the matrix. Parameters Name Type Range of Values Default Value <mode>...
INITiate:CONTinuous? INITiate:CONTinuous? queries the scanning state. With continuous scanning enabled, the command returns "1" ( ). With continuous scanning disabled, the command returns "0" ( Example Querying Continuous Scanning State INIT:CONT ON ! Enable continuous scanning. INIT:CONT? ! Query continuous scanning state. It returns "1"...
OUTPut OUTPut command subsystem selects the source of the output trigger generated when a channel is closed during a scan. The selected output can be enabled, disabled, or queried. The three available outputs are ECLTrg, TTLTrg trigger buses, and the "Trig Out"...
Related Commands: [ROUTe:]SCAN, TRIGger:SOURce, OUTPut:ECLTrgn[:STATe]? *RST Condition: (disabled) OUTPut:ECLTrgn[:STATe] OFF Example Enabling ECL Trigger Bus Line 0 OUTP:ECLT0:STAT 1 ! Enable ECL Trigger bus line 0 to output pulse after each scanned channel is closed. OUTPut:ECLTrgn[:STATe]? OUTPut:ECLTrgn[:STATe]? queries the state of the specified ECL Trigger bus line. The command returns "1"...
One Output Selected at a Time: Only one output ( ECLTrg TTLTrgn EXTernal can be enabled at one time. Enabling a different output source will automatically disable the active output. For example, if TTLTrg1 is the active output and TTLTrg4 is enabled, will become disabled and will become the active...
One Output Selected at a Time: Only one output (ECLTrgn, TTLTrgn EXTernal can be enabled at one time. Enabling a different output source will automatically disable the active output. For example, if TTLTrg1 is the active output and TTLTrg4 is enabled, will become disabled and will become the active TTLTrg1...
[ROUTe:] [ROUTe:] command subsystem controls switching and scanning operations for the matrix switch modules in a switchbox. It is also used to control the 8 kB NVRAM on the PC board of the module where up to 511 state patterns can be stored. Subsystem Syntax [ROUTe:] CLOSe <channel_list>...
Related Commands: [ROUTe:]OPEN, [ROUTe:]CLOSe? *RST Condition: All channels are open. Example Closing Multiple Channels This example closes channels 10101 and 10201 of a single-module switchbox. CLOS (@10101,10201) ! Close relays on row 01, column 01 and row 02, column 01 of the module. [ROUTe:]CLOSe? [ROUTe:]CLOSe? <channel_list>...
[ROUTe:]FUNCtion [ROUTe:]FUNCtion <card_num>, <mode> configures the specified module either as a 4x32 matrix or as two independent 4x16 matrixes. The E8481A module is configured as a 4x32 matrix module at the factory. Parameters Name Type Range of Values Default Value <card_num>...
[ROUTe:]OPEN [ROUTe:]OPEN <channel_list> opens the channels specified in the channel_list. The channel_list is in the form of (@ssrrcc), where ss = card number (01-99), rr = matrix row number, and cc = matrix column number. Parameters Name Type Range of Values Items numeric 01 - 99...
NOTE A maximum of 128 channels can be queried at one time. Therefore, if you want to query more than 128 channels, you must enter the query data in two separate commands. Example Querying Channel Open States This example opens channels 10101 and 10201 of a single-module switchbox and queries channel 10201 state.
[ROUTe:]PATTern:ACTivate? [ROUTe:]PATTern:ACTivate? <card_num> returns the pattern number set by the command. The returned value should be between 0 and 510. See PATTern:ACTivate Page 107 of this manual for more details on the pattern structure in the NVRAM of the module. Parameters Name Type...
Comments Specifying channels to be stored as open state in NVRAM pattern: -- Use for a single channel; PATT:CLOSe (@ssrrcc) -- Use multiple channels; PATT:CLOSe (@ssrrcc,ssrrcc,...) for -- Use PATT:CLOSe (@ssrrcc:ssrrcc) for sequential channels; -- Use PATT:CLOSe (@ssrrcc:ssrrcc;ssrrcc:ssrrcc) for groups of sequential channels;...
[ROUTe:]PATTern:NUMBer [ROUTe:]PATTern:NUMBer <card_num>, <pattern_num> selects a state pattern in the module’s NVRAM to store the channels state. See Page 107 of this manual for more details on the pattern structure in the module’s NVRAM. Parameters Name Type Range of Values Default value <card_num>...
[ROUTe:]PATTern:OPEN [ROUTe:]PATTern:OPEN <channel_list> is used to set the specified channel(s) to the open state in the state pattern of the module’s NVRAM. Before setting, you must use PATT:NUMB command to select a pattern number (0-510). This command does not really open the specified channel relays. To operate channel relays with the stored state pattern, use PATT:ACT command.
[ROUTe:]PATTern:OPEN? [ROUTe:]PATTern:OPEN? <channel_list> returns the state of the specified channel(s) stored in the state pattern of the module’s NVRAM. You must use PATT:NUMB command to select a pattern to be queried first. The command returns "1" if the channel state in the NVRAM pattern is open or returns "0" if closed. If a list of channels is queried, a comma delineated list of 0 or 1 values is returned in the same order of the channel list.
[ROUTe:]SCAN [ROUTe:]SCAN <channel_list> defines the channels to be scanned. The channel_list is in the form of (@ssrrcc), where ss = card number (01-99), rr = matrix row number, and cc = matrix column number. Parameters Name Type Range of Values Items numeric 01 - 99...
STATus STATus subsystem reports the bit values of the Operation Status Register. It also allows you to unmask the bits you want reported from the Standard Event Register and to read the summary bits from the Status Byte Register. Subsystem Syntax STATus :OPERation :CONDition?
Page 83
Figure 4-1. E8481A Status System Register Diagram 82 Command Reference Chapter 4...
STATus:OPERation:CONDition? STATus:OPERation:CONDition? returns the state of the Condition Register in the Operation Status Group. The state represents conditions which are part of the instrument’s operation. The module’s driver does not set bit 8 in this register (see STATus:OPERation[:EVENt]? STATus:OPERation:ENABle sets an enable mask to allow events STATus:OPERation:ENABle <unmask>...
STATus:OPERation[:EVENt]? STATus:OPERation[:EVENt]? returns which bits in the Event Register (Operation Status Group) are set. The Event Register indicates when there has been a time-related instrument event. Comments Setting Bit 8 of the Operation Status Register: Bit 8 (scan complete) is set to "1" after a scanning cycle completes.
SYSTem SYSTem subsystem returns the error numbers and error messages in the error queue of a matrix module. It can also return the types and descriptions of modules in a switchbox. Subsystem Syntax SYSTem :CDEScription? <card_number> :CPON <card_number> | ALL :CTYPe? <card_number>...
Default Value <card_number> numeric 1 - 99 Comments Agilent E8481A Module Model Number: Sending this command returns: HEWLETT-PACKARD,E8481A,<10-digit number>,A.11.01 where the <10-digit number> is the module’s serial number and A.11.01 is an example of the module revision code number. NOTE The <10-digit number>...
Maximum Error Numbers/Messages in the Error Queue: The queue holds a maximum of 30 error numbers/messages for each switchbox. If the queue overflows, the last error number/message in the queue is replaced by: -350, "Too many errors" The least recent (oldest) error numbers/messages remain in the queue and the most recent are discarded.
TRIGger TRIGger subsystem controls the triggering operation of the matrix switch modules in a switchbox. Subsystem Syntax TRIGger [:IMMediate] :SOURce <source> :SOURce? TRIGger[:IMMediate] causes a trigger event to occur when the defined trigger TRIGger[:IMMediate] source is TRIGger:SOURce BUS TRIGger:SOURce HOLD .
TRIGger:SOURce TRIGger:SOURce <source> specifies the trigger source to advance the channel list during scanning. Parameters Name Type Parameter Description discrete *TRG or GET or TRIGger[:IMMediate] command ECLTrgn numeric ECL Trigger bus line 0 - 1 EXTernal discrete "Trig In" port HOLD discrete Hold Triggering until receiving *TRG command.
When Trigger Source is HOLD: You can use TRIGger[:IMMediate] command advance the scan when is selected. TRIGger:SOURce HOLD "Trig Out" Port Shared by Switchboxes: See the “OUTPut” on page 66 for more information. Related Commands: ABORt, [ROUTe:]SCAN, OUTPut *RST Condition: TRIGger:SOURce IMMediate Example Scanning Using External Triggers...
SCPI Command Quick Reference The following table summarizes the SCPI commands for the E8481A Module. Command Description ABORt ABORt Abort a scan in progress. :COUNt <number> | MIN | MAX Multiple scans per INIT command. :COUNt? [MIN | MAX] Query number of scans.
Page 93
Command Description TRIGger [:IMMediate] Causes a trigger to occur. :SOURce BUS Trigger source is *TRG. :SOURce EXTernal Trigger source is "Trig In" port on the E1406A. :SOURce HOLD Hold off triggering. :SOURce IMMediate Trigger source is the internal triggers. :SOURce TTLTrgn Trigger is the VXIbus TTL trigger bus line n (0-7).
+cc03 for incorrect ID information read back from the module's ID register. +cc05 for hardware and firmware have different values. Possibly a hardware fault or an outside entity is register programming the E8481A. +cc10 if an interrupt was expected but not received.
Register-Based Programming About This Appendix The Agilent E8481A 4x32 2-wire Matrix Switch module is a register-based product which does not support the VXIbus word serial protocol. When a SCPI command is sent to the matrix, the instrument driver resident in the Agilent E1406A command module parses the command and programs the matrix at the register level.
Page 99
A16 Address Space When the E1406A command module is not part of your VXIbus system Outside the Command (Figure B-1), the module’s base address is computed as: Module C000 + (LADDR * 40 - or (decimal) 49,152 + (LADDR * 64) where C000 (49,152) is the starting location of the VXI A16 addresses, LADDR is the module’s logical address, and 64 (40...
Page 100
A16 Address Space When the A16 address space is inside the Agilent E1406A command Inside the Command module (Figure B-2), the module’s base address is computed as: Module or Mainframe 1FC000 + (LADDR * 40 - or (decimal) 2,080,768 + (LADDR * 64) where 1FC000 (2,080,768) is the starting location of the register addresses, LADDR is the module’s logical address, and 64 (40...
Register Offset The register offset is the register’s location in the block of 64 address bytes. For example, the module’s Status/Control Register has an offset of 04 When you write a command to this register, the offset is added to the base address to form the register address: DC00 + 04...
Registers Description The E8481A Matrix Switch module contains 23 registers as shown in Table B-1. You can write to the writable (W) registers and read from the readable (R) registers. This section contains a description of the registers followed by a bit map of the registers in sequential address order.
Manufacturer ID - returns FFFF in Agilent Technologies A16 only register-based card Device Type The Device Type Register is at offset address 02 . Reading the register returns 02D1 indicating that the device is an E8481A module. Register base + 02 Write Read 02D1...
Page 104
• Busy (bit 7) - Used to inform the user of a busy condition. "0" indicates that the module is busy, and "1" indicates that the module is not busy. Each relay requires about 1 ms execution time during which time the module is busy.
Interrupt Selection The Interrupt Selection Register is at offset address 0C . It is used to set the interrupt level of the module and inform the user of the current interrupt Register level of the module. base + 0C Write Interrupt Level Read Interrupt Level...
Page 106
Relay Control Register for Channels 0000 - 0007 (base + 10 base + 10 Write CH0007 CH0006 CH0005 CH0004 CH0000 CH0001 CH0002 CH0003 Read Relay Control Register for Channels 0008 - 0015 (base + 12 base + 12 Write CH0015 CH0014 CH0013 CH0012...
Page 107
Relay Control Register for Channels 0308 - 0315 (base + 1E base + 1E Write CH0315 CH0314 CH0313 CH0312 CH0311 CH0310 CH0309 CH0308 Read Relay Control Register for Channels 0016 - 0023 (base + 20 base + 20 Write CH0023 CH0022 CH0021 CH0020...
Relay Control Register for Channels 0316 - 0323 (base + 2C base + 2C Write CH0323 CH0322 CH0321 CH0320 CH0316 CH0317 CH0318 CH0319 Read Relay Control Register for Channels 0324 - 0331 (base + 2E base + 2E Write CH0331 CH0330 CH0329 CH0328...
Page 109
Table B-2. Patterns Address in NVRAM Addresses in NVRAM Description 0000 - 000F For storing Pattern 0 data. 0010 - 001F For storing Pattern 1 data. 1FE0 - 1FEF For storing Pattern 510 data. 1FF0 - 1FFE Reserved 1FFF For storing the module configuration mode: 4x 32 matrix or two independent 4x16 matrixes.
Page 110
There are three registers used to access the 8 kB NVRAM. They are: • NVRAM Address Register (base + 38 • NVRAM Data Register (base + 3A • Pattern Recall Register (base + 3C NVRAM Address The NVRAM Address Register is at offset address 38 .
Page 111
Pattern Recall Register The Pattern Recall Register is at offset address 3C . Writing to this register is used to specify a pattern number to be recalled. The valid value is between 0 and 510. This register can also be read back. base + Write Pattern Number (0 - 510)
Appendix C Error Messages Table C-1 lists the error messages associated with the E8481A Matrix Switch module when programmed with SCPI commands. See the appropriate mainframe manual for a complete list of error messages. Table C-1. Error Messages Number Error Message...
Page 115
, 30 setting module function mode , 67 Trig Out port , 51 synchronizing instruments , 68 TTL Trigger Bus Line , 27 system configuration , 47 using scan complete bit , 34 using state pattern Agilent E8481A User’s Manual Index...
Need help?
Do you have a question about the E8481A and is the answer not in the manual?
Questions and answers