Keysight Technologies E8481A User Manual
Keysight Technologies E8481A User Manual

Keysight Technologies E8481A User Manual

2-wire 4x32 relay matrix switch module
Table of Contents

Advertisement

Quick Links

Agilent Technologies
E8481A 2-Wire 4x32
Relay Matrix Switch Module
User's Manual
*E8481-90001*
Manual Part Number: E8481-90001
Printed in Malaysia E0912

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the E8481A and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Keysight Technologies E8481A

  • Page 1 Agilent Technologies E8481A 2-Wire 4x32 Relay Matrix Switch Module User’s Manual *E8481-90001* Manual Part Number: E8481-90001 Printed in Malaysia E0912...
  • Page 4: Table Of Contents

    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......................
  • Page 6 SYSTem:CTYPe? ....................86 SYSTem:ERRor? ....................86 SYSTem:VERSion? .................... 87 TRIGger ........................88 TRIGger[:IMMediate] ..................88 TRIGger:SOURce ....................89 TRIGger:SOURce? ..................... 90 SCPI Command Quick Reference ................91 IEEE 488.2 Common Command Reference ............... 93 Appendix A E8481A Specifications ....................95...
  • Page 7 Appendix B Register-Based Programming ..................97 About This Appendix....................97 Register Addressing ....................97 Base Address ....................... 97 Register Offset ....................100 Registers Description ....................101 ID Register ......................102 Device Type Register ..................102 Status/Control Register ..................102 Interrupt Selection Register ................104 Relay Control Registers ..................
  • Page 8: Agilent Technologies Warranty Statement

    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.
  • Page 9: Safety Symbols

    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.
  • Page 10: Declaration Of Conformity

    • 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.
  • Page 11 Notes:...
  • Page 12: Chapter 1 Getting Started

    Chapter contents are: • Agilent E8481A Module Description ....11 • Instrument Definition ......13 •...
  • Page 13: Function Modes

    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.
  • Page 14: Instrument Definition

    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.
  • Page 16: Initial Operation

    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);...
  • Page 18: Configuring The Module

    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: •...
  • Page 19: Setting The Logical Address

    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.
  • Page 20: Setting The Interrupt Priority

    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.
  • Page 21: Installing The Matrix Switch Module In A Mainframe

    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...
  • Page 22: Connecting User Inputs

    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...
  • Page 23: Screw Type Terminal Module

    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...
  • Page 24: Smb Type Terminal Module

    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...
  • Page 25: Wiring A Terminal Module

    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...
  • Page 27: Attaching A Terminal Module To The Matrix Module

    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.
  • Page 28: Using The Matrix 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 •...
  • Page 29: Power-On And Reset Conditions

    *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.
  • Page 30: Example: Identifying Module (C/C++)

    0x%x\n", errStatus); return errStatus;} printf("ID is %s\n", id_string); /* Query the module description */ errStatus = viQueryf(E8481A, "SYST:CDES? 1\n", "%t", m_desp); if (VI_SUCCESS > errStatus) { printf("ERROR: viQueryf() returned 0x%x\n", errStatus); return errStatus;} printf("Module Description is %s\n", m_desp);...
  • Page 31: Setting Module Function Mode

    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>...
  • Page 32: Example: Setting Function Mode (C/C++)

    > 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);...
  • Page 33: Switching Channels

    /* 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).
  • Page 34: Example: Closing Multiple Channels (C/C++)

    0x%x\n", errStatus); return errStatus;} printf("After reset, chan 10002 state is: %s\n", ch_stat); /* Close channel 0002 of card 1*/ errStatus = viPrintf(E8481A, "CLOS (@10002)\n"); if(VI_SUCCESS > errStatus){ printf("ERROR: viPrintf() returned 0x%x\n", errStatus); return errStatus;} /* Query closure state of channel 0002 */ errStatus = viQueryf(E8481A,"ROUT:CLOS? (@10002)\n","%t",ch_stat);...
  • Page 35: Using State Patterns To Switch Channels

    /* Close the module instrument session */ errStatus = viClose (E8481A); if (VI_SUCCESS > errStatus) { printf("ERROR: viClose() returned 0x%x\n", errStatus); return 0;} /* Close the resource manager session */ errStatus = viClose (viRM); if (VI_SUCCESS > errStatus) { printf("ERROR: viClose() returned 0x%x\n", errStatus);...
  • Page 36: Example: Using A State Pattern To Switch Channels (C/C++)

    #define INSTR_ADDR "GPIB0::9::14::INSTR" int main() ViStatus errStatus; /* Status from each VISA call */ ViSession viRM; /* Resource manager session */ ViSession E8481A; /* Module session */ char pstat[256]; /* Channel state in pattern */ char cstat[256]; /* Channel state */ /* Open the default resource manager */ errStatus = viOpenDefaultRM (&viRM);...
  • Page 37 > errStatus){ printf("ERROR: viPrintf() returned 0x%x\n", errStatus); return errStatus;} /* Select pattern 10 on module #1 for storing states*/ errStatus = viPrintf(E8481A, "PATT:NUMB 1, 10\n"); if(VI_SUCCESS > errStatus){ printf("ERROR: viPrintf() returned 0x%x\n", errStatus); return errStatus;} /* Open all channels in pattern 10 */ errStatus = viPrintf(E8481A, "PATT:OPEN (@10000:10331)\n");...
  • Page 38: Scanning Channels

    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);...
  • Page 43: Example: Scanning Channels Using Ttl Trigger

    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);...
  • Page 48: Using The Scan Complete Bit

    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.
  • Page 49: Example: Using The Scan Complete Bit (C/C++)

    (VI_SUCCESS > errStatus) { printf("ERROR: viPrintf() returned 0x%x\n", errStatus); return errStatus;} /* Enable the Scan Complete Bit */ errStatus = viPrintf(E8481A, "STAT:OPER:ENAB 256\n"); if(VI_SUCCESS > errStatus){ printf("ERROR: viPrintf() returned 0x%x\n", errStatus); return errStatus;} /* Set trigger source to IMMediate for internal triggering */ errStatus = viPrintf(E8481A, "TRIG:SOUR IMM\n");...
  • Page 50: Querying The Matrix Module

    > 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);...
  • Page 51: Recalling And Saving States

    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: •...
  • Page 52: Detecting Error Conditions

    <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...
  • Page 54: Chapter 4 Command Reference

    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.
  • Page 56: Linking Commands

    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.
  • Page 57: Abort

    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.
  • Page 58: Arm

    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...
  • Page 59: Arm:count

    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.
  • Page 60: Diagnostic

    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.
  • Page 61: Diagnostic:interrupt[:Line]

    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...
  • Page 62: Diagnostic:test:seeprom

    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>...
  • Page 63: Display

    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.
  • Page 64: Display:monitor[:State]

    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...
  • Page 65: Initiate

    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>...
  • Page 66: Initiate:continuous

    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"...
  • Page 67: Output

    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"...
  • Page 68: Output:ecltrgn[:State]

    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"...
  • Page 69: Output[:External][:State]

    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...
  • Page 70: Output:ttltrgn[:State]

    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...
  • Page 71: [Route:]

    [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>...
  • Page 72: [Route:]Close

    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>...
  • Page 73: [Route:]Function

    [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>...
  • Page 74: [Route:]Open

    [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...
  • Page 75: [Route:]Pattern:activate

    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.
  • Page 76: [Route:]Pattern:activate

    [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...
  • Page 77: [Route:]Pattern:close

    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;...
  • Page 78: [Route:]Pattern:number

    [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>...
  • Page 79: [Route:]Pattern:open

    [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.
  • Page 80: [Route:]Pattern:open

    [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.
  • Page 81: [Route:]Scan

    [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...
  • Page 82: Status

    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...
  • Page 84: Status:operation:condition

    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>...
  • Page 85: Status:operation[:Event]

    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.
  • Page 86: System

    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>...
  • Page 87: System:ctype

    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>...
  • Page 88: System:version

    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.
  • Page 89: Trigger

    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 .
  • Page 90: Trigger:source

    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.
  • Page 91: Trigger:source

    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...
  • Page 92: Scpi Command Quick Reference

    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).
  • Page 94: Ieee 488.2 Common Command Reference

    +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.
  • Page 95 Notes: 94 Command Reference Chapter 4...
  • Page 96: Appendix A E8481A Specifications

    Appendix A E8481A Specifications Table 4-1. E8481A Specifications ITEMS SPECIFICATIONS GENERAL CHARACTERISTICS Module Size/Device Type: C-Size 1-Slot, Register based, A16, slave only, P1 and P2 Connectors Total Channels: Single 4x32 Matrix; or Dual 4x16 matrixes Relays Type: Form-A, Non-latching Reed...
  • Page 97 Table 4-1. E8481A Specifications ITEMS SPECIFICATIONS = 50  AC ISOLATION / PERFORMANCE (4x32 Configuration, Z < (40 C, 65% RH): Closed Channel Capacitance: Hi to Lo: < 160 pF Hi to Chassis: < 160 pF Lo to Chassis: < 550 pF...
  • Page 98: Register-Based Programming

    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...
  • Page 101: Register Offset

    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...
  • Page 102: Registers Description

    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.
  • Page 103: Id Register

    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.
  • Page 105: Interrupt Selection Register

    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...
  • Page 108: Nvram Control Registers

    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)
  • Page 112: Appendix C Error Messages

    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 113 Notes: 112 Error Messages Appendix C...
  • Page 114: Index

    , 15 number , 93 *STB? , 15, 32, 34 closing channels , 93 *TRG Command Format , 93 *TST? , 53 common , 93 *WAI , 53 SCPI , 53 format , 93 Quick Reference Agilent E8481A User’s Manual Index...
  • 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...
  • Page 116 , 13 logical address with SCPI commands , 11 schematic simplified , 95 specification , 28 Module Identification , 49 Querying commands , 14 Multiple-module Switchbox Quick Reference , 93 Common Command , 91 SCPI Command Agilent E8481A User’s Manual Index...
  • Page 117 OUTPut subsystem , 78 , 66 [ROUTe:]PATTern:OPEN OUTPut:ECLTrgn[:STATe] , 79 , 67 [ROUTe:]PATTern:OPEN? OUTPut:ECLTrgn[:STATe]? , 80 , 68 [ROUTe:]SCAN OUTPut:TTLTrgn[:STATe] , 70 – 80 , 69 [ROUTt:] subsystem OUTPut:TTLTrgn[:STATe]? , 67 OUTPut[:EXTernal][:STATe] , 68 OUTPut[:EXTernal][:STATe]? Agilent E8481A User’s Manual Index...
  • Page 118 NVRAM Data Register , 14 single-module , 110 Pattern Recall Register , 15, 32, 34 switching channels , 107 Relay Control Registers , 51 Synchronizing the Instruments , 103 Status/Control Register , 85 – 87 SYSTem subsystem Agilent E8481A User’s Manual Index...
  • Page 119 Notes: Agilent E8481A User’s Manual Index...
  • Page 120 *E8481-90001* Manual Part Number: E8481-90001 Printed in U.S.A. E0912...

Table of Contents