Contents HP E1418A 8/16-Ch D/A Converter User Manual Warranty . . . . . . . . . . WARNINGS . . . . . . . . Safety Symbols . . . . . . Declaration of Conformity . Reader Comment Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Example . APPLy Output . . . . . . . . Error Checking . . . . . . . . I/O Error Checking . . . SCPI Error Checking . . SOURce Output . . . . . . . Setting the Output Mode . . . Controlling the Output Relay Triggering . . . . . . . . . . Using *OPC? . . . . . . . . Combining Output Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SOURcen:CURRent[:LEVel][:IMMediate][:AMPLitude] SOURcen:CURRent[:LEVel][:IMMediate][:AMPLitude]? SOURcen:CURRent[:LEVel]:TRIGgered[:AMPLitude] . SOURcen:CURRent[:LEVel]:TRIGgered[:AMPLitude]? . SOURcen:FUNCtion:MODE . . . . . . . . . . . . . . . . SOURcen:FUNCtion:MODE? . . . . . . . . . . . . . . . SOURcen:VOLTage[:LEVel][:IMMediate][:AMPLitude] SOURcen:VOLTage[:LEVel][:IMMediate][:AMPLitude]? SOURcen:VOLTage[:LEVel]:TRIGgered[:AMPLitude] . SOURcen:VOLTage[:LEVel]:TRIGgered[:AMPLitude]? . STATus . . . . .
Reset and Registers . . . . . . . . . . . . . . . . Register Maps . . . . . . . . . . . . . . . . . . . A16/A24 REGISTERS . . . . . . . . . . . . . A24 REGISTERS . . . . . . . . . . . . . . . Register Descriptions . . . . . . . . . . . . . . . Manufacturer ID Register . . . . . . . . . . . Logical Address Register . . . . . . . . . . . Device Type Register . . . . . . . . . . . . . VXI Status/Control Register . . . . . . . . . VXI Offset Register . . . . . . . . . . . . . . Calibration Control Register . .
Making Connections . . . . . . Adjustment Procedure . . . . . Preparation . . . . . . . . Voltage Adjustment . . . . Current Adjustment . . . . Storing the Adjustments . Return the Module to Use Example Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Notes 6 HP E1418A 8/16-Ch D/A Converter User Manual Contents
Certification Hewlett-Packard Company certifies that this product met its published specifications at the time of shipment from the factory. HewlettPackard further certifies that its calibration measurements are traceable to the United States National Institute of Standards and Technology (formerly National Bureau of Standards), to the extent allowed by that organization’s calibration facility, and to the calibration facilities of other International Standards Organization members.
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. Whenever a new Edition is created, it will contain all of the Update information for the previous Edition.
Declaration of Conformity according to ISO/IEC Guide 22 and EN 45014 Manufacturer’s Name: Hewlett-Packard Company Loveland Manufacturing Center Manufacturer’s Address: 815 14th Street S.W. Loveland, Colorado 80537 declares, that the product: Product Name: 8/16-Channel D/A Converter Module Model Number: HP E1418A Product Options: All conforms to the following Product Specifications: Safety: IEC 1010-1 (1990) Incl. Amend 1 (1992)/EN61010-1 (1993) CSA C22.2 #1010.
Notes 10 HP E1418A User’s Manual
Please fold and tape for mailing Reader Comment Sheet HP E1418A User’s Manual Edition 2 You can help us improve our manuals by sharing your comments and suggestions. In appreciation of your time, we will enter you in a quarterly drawing for a Hewlett-Packard Palmtop Personal Computer (U.S. government employees cannot participate in the drawing).
HP E1418A User’s Manual
Chapter 1 Module Setup and Installation Using This Chapter This chapter provides general module information and tasks you must perform to install and prepare your module. A procedure to verify your installation is also given. The chapter is divided into the following sections: • • • • • • • • • • • • • • Module Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Front Panel Connectors . . . . . . . .
Each output channel is individually configurable to be either an isolated output or a non-isolated output. Channel configuration to isolated or non-isolated is made by individual plug-on modules for each channel. Figure 1-1 shows the module. Figure 1-1.
Ordering Options The HP E1418A may be ordered from Hewlett-Packard in a variety of configurations.
Functional Description The HP E1418A provides great flexibility in configuration. This functional description will help you become familiar with the various configurations and how the module is structured. A functional block diagram is shown in Figure 1-2. Figure 1-2. A Functional Block Diagram * Each channel MUST have either an isolated or non-isolated plug-on module installed. Channels may be configured using any combination of Isolated and Non-Isolated plug-on modules.
As shown, there are four major assemblies that make up an HP E1418A: – Channels 1 through 8 main board and VXIbus backplane circuitry. – Channels 9 through 16 expansion board. – Isolated or Non-isolated plug-on modules. – Terminal Module. Channels 1–8 main board and VXIbus backplane circuitry. This assembly contains all the VXIbus interface and decoding circuitry. Isolated and Non-Isolated plug-on modules for channels 1–8 connect to this assembly.
Front Panel Connectors Figure 1-3 shows the connections at the front panel connectors of the main module. Figure 1-3.
Setting the Logical Address Switch Figure 1-4 shows the logical address switch location and setting. The logical address switch factory setting is 72. Valid addresses range from 1 to 255. When used with an HP Command Module the factory set address of decimal 72 results in a module address of 9 (72 divided by 8). The module address is used as a secondary address when using HP-IB and a Command Module.
Module Installation To install the module: 1. Verify the position of the CAL Store Enable Jumper for your application. The Jumper, as shipped, is in the CAL position. In this position, a calibration may be performed and the results stored in non-volatile memory. In the Secured position, a calibration may be performed, but may NOT be stored in non-volatile memory. This jumper is described in more detail on page 156. 2. Verify or set the logical address switch as shown in Figure 1-4. 3.
To Remove a Module: To remove a module from a mainframe: 1. Remove any terminal modules. 2. Loosen the top and bottom screws securing the module in the mainframe. 3. Move the extraction levers away from each other. As the levers are moved, the module will detach from the backplane connectors. 4. Slide the module out. Note Chapter 1 The extraction levers will not seat and unseat the backplane connectors on older HP VXIbus mainframes and non-HP mainframes.
Terminal Modules Four terminal modules are available for the HP E1418A; a screw-type, a crimp-and-insert type, a ribbon cable type, and an empty terminal housing (without a PC board or connectors). Screw-Type Terminal Module (Standard) The standard terminal module uses screw-type terminals to make connections. Figure 1-6 may be photocopied and used for wiring layout. Figure 1-6.
Wiring the Terminal Module Figure 1-7 shows how to open and wire the HP E1418A terminal module. Figure 1-7.
Figure 1-7.
Attaching the Terminal Module Figure 1-8 shows how to attach the HP E1418A terminal module. Figure 1-8.
Removing the Terminal Module Figure 1-9 shows how to remove the HP E1418A terminal module. Figure 1-9.
Terminal Module Options Besides the standard screw-type terminal module, the HP E1418A can be ordered with the following two options. One option (A3E) provides crimp-and-insert connectors and terminal housing. The other option (A3H) provides a ribbon cable connector and terminal housing. Option A3E Note HP E1418A Option A3E can be ordered if a crimp-and-insert terminal module is desired.
Crimp-and-Insert Terminal Module Accessories Single-Conductor and Contact The following accessories are necessary for use with crimp-and-insert Option A3E: A crimp-and-insert contact is crimped onto one end of a wire. The other end is not terminated. Order HP 91510A. Shielded-Twisted-Pair and Contacts A crimp-and-insert contact is crimped onto each conductor at one end of a shielded-twisted-pair cable. The other end is not terminated. Order HP 91511A.
Extra Crimp-and-Insert Connectors Option A3H Note The crimp-and-insert connector is normally supplied with Option A3E. Contact Hewlett-Packard if additional connectors are needed. Order HP 91484B. The Ribbon Cable Connector Terminal Option provides a terminal housing and ribbon cable connectors. The connectors are designed to be used with 64-pin 0.05 inch center ribbon cables (not provided). Use Figure 1-12 to make the connections.
Terminal Module Connectors Figure 1-12 shows the connections at the terminal module connectors. Figure 1-12.
Configuring the Terminal Module The screw-type terminal module contains jumpers that control how the HP E1418A operates. The jumpers are shipped in a separate bag with the terminal module. The HP E1418A will operate without any jumpers installed. You can, however, store the jumpers on the terminal module for later reconfiguration. Figure 1-13 shows the jumper locations and example settings. There are two jumpers for each channel; a P/J jumper and a V/I jumper. The two jumpers work together. Figure 1-13.
Options A3E and A3H Terminals The P/J jumper connection for each channel is named CH X PRGM JMPR in the connection diagram on page 30. With no connection to this pin, the module will operate in the Program Selectable mode. Shorting this pin to GND will set the Jumper Selectable mode for channel X. When CH X PRGM JMPR is shorted to GND, the CH X MODE JMPR pin (corresponding to the V/I Jumper) sets the output mode for channel X. If the pin is open, voltage output mode is selected.
Terminal Module Connections Each channel has four output lines; HI, LO, HS (Hi Sense), and LS (Low Sense). When using a channel in the voltage output mode, you can use the sense lines to increase accuracy or to compensate for long lead lengths. The sense leads are not used in the current output mode. Voltage and Current Output Connections Note Figure 1-14 shows connections for three types of output.
Combining Channels Channels in Series You can combine channels in series to obtain higher output voltages or in parallel to obtain higher output currents. • All channels connected in series MUST be configured as isolated channels (with isolated plug-on modules installed). • Up to 3 channels may be combined, but the output voltage MUST NOT exceed 42 Vdc/42 Vpeak. Channels in Parallel • Channels may be either Isolated or Non-Isolated. • Up to 16 channels may be combined.
Connecting an External Trigger Source An external trigger input is provided on the terminal module. Use the external trigger to externally synchronize multiple outputs or multiple instruments. The External Trigger uses TTL levels. The trigger occurs when the EXT TRIGn connection is pulled low for at least 1 µS. Typical connections to the external trigger is shown in Figure 1-16. Figure 1-16.
Using the CAL Output Terminals The CAL Output Terminals provide one set of connections that can be used to calibrate the output on all 16 channels. Calibration and adjustment procedures are described in Appendix D beginning on page 154. The CAL output terminals are available on the terminal module. There are four lines; HI, LO, HS (Hi Sense), and LS (Low Sense). Typical CAL output terminal connections are shown in Figure 1-17. Figure 1-17.
Initial Operation This section provides a programming example to help verify correct module installation and operation. Additional programming examples and procedures are given in the next chapter. The examples shown here use HP BASIC and SCPI (Standard Commands for Programmable Instruments). The example assumes a factory set logical address of 72 for the HP E1418A module and uses an HP Command Module for command interpretation. Examples in ANSI C are given in the next chapter.
Module Identification This example can be used to verify that the logical address has been correctly set, that the module is correctly installed, and that the module is communicating with the command module. The terminal module does not need to be installed for this example to work. This example queries the module for the identification string.
Chapter 2 Programming Examples Using This Chapter This chapter provides examples and descriptions of the most common operations using the HP E1418A. Use this chapter to gain an overview of how to program the module, and to obtain programming hints. The examples shown in this chapter are in ANSI C and use SCPI commands to control the module. The SCPI commands are described in detail in Chapter 3 of this manual. SCPI usage conventions and syntax rules are described beginning on page 60.
Hewlett-Packard VTL function calls and data types typically begin with the lower case letters vi. Output and enter are performed with functions named viPrintf and viScanf. Both these functions require a session (a VTL defined I/O function) to uniquely identify the device being controlled. In the examples, the session has been named dac. Querying Module Identification and Configuration This example will query the module for the identification string and determine the module configuration.
The DIAG:CONF? query returns six integers. The six integers returned contain the module configuration and have the following meaning.
Configuration Example The following program segment demonstrates how to read the module identification string and the configuration. The configuration integers are bit manipulated using the C operator for bit shifting result = result <<1 (a one bit shift to the left).
/* Decode the second integer */ result = config [1]; /* Terminal Module */ if (result > 0) { printf (“Module does NOT have a terminal module installed\n”); } else { printf (“Module has a screw-type terminal module installed\n”); } /* Decode the third integer */ result=config[2]; /* Isolated or non-isolated outputs */ if (num_chan < 9) result = result << 8; /* strip upper 8 bits */ for (i=num_chan;i>0;i – –) { if (result >= 0x8000) { printf (“Channel %d is configured for non-isolated output\n”,i); } else { p
/* Decode the fifth integer */ result=config[4]; /* Channel relay open or closed */ if (num_chan < 9) result = result << 8; /* strip upper 8 bits */ for (i=num_chan;i>0;i – –) { if (result >= 0x8000) { printf (“Channel %d output is disabled\n”,i); } else { printf(“Channel %d output is enabled\n”,i); } result = result << 1; } /* Decode the sixth integer */ result=config[5]; /* P/J Jumper position */ if (num_chan < 9) result = result << 8; /* strip upper 8 bits */ for (i=num_chan;i>0;i – –) { if (result >= 0x
APPLy Output The APPLyn subsystem commands provide the easiest method to output voltages or currents. /* Set channel 1 for 5.0 Volt output */ APPLy1:VOLTage 5.000 /* Channel is set to voltage output and 5.000 V applied */ /* Set channel 8 for 10 mA output */ APPLy8:CURRent 0.0100 /* Channel is set to current output and 10 mA applied */ The APPLyn subsystem outputs the voltage or current specified on the channel specified immediately. The output relay for that channel is closed.
The output can also be disabled before changing the mode or output value. Use the OUTPutn commands to disable the output. /* Set channel 1 for 5.0 Volt output */ APPLy1:VOLTage 5.000 /* Disable the output */ OUTPut1 OFF /* Channel 1 output relay is opened */ /* Now, enable the output */ OUTPut1 ON /* Channel 1 is set to voltage output and 5.000 V applied */ /* Disable the output */ OUTPut1 OFF /* Now set channel 1 for 20 mA current output */ APPLy1:CURRent .
Error Checking To develop programs you will need to create one or more error checking routines. For example, you will need routines to check for errors in the following operations: – I/O operations to the VXIbus, and – SCPI commands to the module. I/O Error Checking I/O error checking is specific to the type of I/O library you are using to communicate with the VXIbus. In this manual and on the CD, the HP VISA Transition Library is used.
SCPI error checking is illustrated in the following program example. The SCPI error routine is named sys_error. Errors found are reported to the standard output device.
• • • /*** SCPI Error check ***/ void sys_err(ViSession resource) { char buf [1024] = {0}; int err_no; err = viPrintf (resource, “SYST:ERR?\n”); /* query error queue */ if (err < VI_SUCCESS) err_handler(resource,err); err = viScanf (resource,"%d%t",&err_no,&buf); /* get error number and string */ if (err < VI_SUCCESS) err_handler(resource,err); while (err_no != 0) { printf (“\nCommand Error: %d,%s\n”,err_no,buf); err = viPrintf (resource, “SYST:ERR?\n”); /* query error queue */ if (err < VI_SUCCESS) err_han
SOURce Output Setting an output on a channel is a three step process: – Set the channel mode (voltage or current) – Set the channel output value (volts or amps) – Enable the output (close the channel output relay) As described previously, a single APPLyn command performs all three of these actions. In some cases you may need more control of each step in the output process. The following commands perform the same action as a single APPLyn command.
Like the APPLyn commands, you can change the output value by sending additional SOURcen commands. Changing the output value with the SOURcen commands does not open the output relay. /* Set channel 1 voltage mode */ SOURce1:FUNCtion:MODE VOLTage /* Set channel 1 voltage output */ SOURce1:VOLTage 5.000 /* Turn on the output */ OUTPut1 ON /* Channel 1 output is enabled */ /* Send a new output voltage */ SOURce1:VOLTage 15.000 Changing the output mode with the SOURcen commands opens the output relay.
Setting the Output Mode The output mode can be set using commands in the SOURce subsystem. SOURcen:FUNCtion:MODE VOLTage SOURcen:FUNCtion:MODE CURRent The mode can also be set on the terminal module with the P/J jumpers and V/I jumpers (see page 31). If the mode is set to Jumper selectable with the P/J jumper on the terminal module, the mode cannot be changed with the SCPI commands and the output mode is set by the V/I jumper (also on the terminal module, see page 31).
Controlling the Output Relay There are three programming methods to enable the output of a channel (close the output relay). • The APPLyn:VOLTage or APPLyn:CURRent command both program an output value and close the output relay on a single channel. • The OUTPutn:STATe ON command closes the output relay for a single channel. The last programmed mode and output value remains in effect. • The DIAGnostic:OUTPut:ALL:STATe ON command closes all output relays.
Triggering To synchronize outputs to external events, backplane events, or software events use the TRIGger subsystem commands. Triggering an output from the module involves four steps: 1. 2. 3. 4. Set the trigger source. Set one or more channels for triggered output. Put the trigger system in the wait-for-trigger state. Send the trigger event. The TRIGger:SOURce
INITiate /* Send the trigger event */ TRIGger:IMMediate /* Channels 1 and 2 output the programmed voltages */ Note that the channels must be set for triggered output (using the SOURce subsystem) before the trigger system is changed to the wait-for-trigger state (using the INITiate command).
Using *OPC? As shown, the examples have made no attempt to coordinate the program execution with the HP E1418A module. In some cases, you may need to pause program execution until the module has completed executing the commands. The IEEE-488 common command *OPC? can be used to keep the program and the module synchronized. The *OPC? query returns a 1 when all programmed operations are complete. The program can wait for the response before executing additional statements.
Combining Output Channels As described on page 34, multiple outputs may be combined to obtain higher voltage or current outputs. A triggered output is recommended for combined channels. The general sequence used to control combined channels is: 1. 2. 3. 4. Set the trigger source. Close the output relays. Set the desired output on all combined channels. Trigger the output. For example, when three current channels are combined in parallel as shown on page 34, the following commands can be used.
Notes 58 Programming Examples Chapter 2
Chapter 3 HP E1418A SCPI Command Reference Using This Chapter This chapter describes Standard Commands for Programmable Instrumentation (SCPI) and summarizes IEEE 488.2 Common (*) Commands applicable to the HP E1418A D/A Converter Module. This chapter contains the following sections: • • • • • • • • • • • • • • • Command Types . . . . . . . . . . . . . . . . . . SCPI Command Reference . . . . . . . . . . . . . ABORt Subsystem . . . . . . . . . . . . . . . . . APPLy Subsystem . . . . . . . . . . . . . . .
SCPI Command Format SCPI commands perform functions like setting outputs, querying instrument states, or retrieving data. The command structure is a hierarchical structure that usually consists of a top level (or root) command, one or more lower level commands, and their parameters.
Implied Implied commands appear in square brackets ([ ]) in the command syntax. (Note Commands that the brackets are not part of the command and are not sent to the instrument.) Suppose you send a second level command but do not send the preceding implied command. In this case, the instrument assumes you intend to use the implied command and it responds as if you had sent it. Examine this excerpt from the STATus subsystem shown below: STATus: OPERation [:EVENt]? The third level command, EVENt, is implied.
Linking Commands Linking IEEE 488.2 Common Commands with SCPI Commands. Use a semicolon between the commands. For example: *RST;APPLy2:VOLT 10 or INIT:IMM;*IDN? Linking Multiple SCPI Commands. Use both a semicolon and a colon between the commands. For example: SOURce2:FUNCtion:MODE VOLT;:SOURce2:VOLTage 10 SCPI Command Reference The following sections describe the Standard Commands for Programmable Instruments (SCPI) commands for the HP E1418A D/A Converter Module.
ABORt ABORt The ABORt subsystem disables the trigger system and places the trigger system in the trigger idle state. Subsystem Syntax ABORt Parameters None. Comments • Following this command, the trigger system is in the idle state. Sending an INITiate command after ABORt returns the trigger system to the wait-for-trigger state. • Triggering is described in more detail on page 54.
APPLy APPLy The APPLy subsystem enables and outputs a current or voltage on the specified channel. Subsystem Syntax APPLyn :CURRent :VOLTage APPLyn:CURRent APPLyn:CURRent outputs a current on the specified channel, n. Parameters Parameter Name Parameter Type Range of Values Default APPLyn keyword 1 to 8 or 1 to 16 1 numeric (float 32) or discrete -0.02 Amps to +0.
APPLy APPLyn:VOLTage APPLyn:VOLTage outputs a voltage on the specified channel, n. Parameters Parameter Name Parameter Type Range of Values Default APPLyn keyword 1 to 8 or 1 to 16 1 numeric (float 32) or discrete -16 V to +16 V or MIN | MAX | DEF 0 Comments • In the keyword, APPLyn, the valid range of n is: 1 to 8 for E1418A, E1418A Option 002 1 to 16 for E1418A Option 001, E1418A Option 003. Values of n outside these ranges will generate an error.
CALibration CALibration The CALibration commands are used during periodic calibration of the module. Calibration is described in Appendix D of this manual, beginning on page 154. You should review Appendix D before using any of these commands.
CALibration CALibration:CONDition? CALibration:CONDition? queries the module type and calibration status. The query returns four 16-bit unsigned integers. Parameters Returns: four unsigned 16-bit integers (uint16). Comments • The integers returned indicate the module configuration and status at the last calibration, not the current configuration of the module.
CALibration CALibration:CONFigure:RESistance? CALibration:CONFigure:RESistance? configures the module to perform calibration of the internal calibration resistor and returns a 0 or 1 indicating the readiness of the module. Parameters Returns: signed 16-bit integer (int16). 1 = ready, 0 = not ready. Comments • The internal calibration resistor should be calibrated before calibrating the channels in current mode.
CALibration CALibration:STORe CALibration:STORe loads the stored non-volatile memory calibration constants with the calibration constants currently in use by the module. Parameters None. Comments • This command sets the calibration constants in non-volatile memory if the CAL Store Enable Jumper is properly set (see page 156). Non-volatile memory has finite life, based upon the number of writes. Use this command sparingly.
CALibration CALibration:VALue:RESistance CALibration:VALue:RESistance enters a new measured value to be used as the internal calibration resistor constant by the module. Parameters Parameter Name Parameter Type Range of Values Default numeric (float 32) Must be > 0 ohms none Comments • The new calibration constant is used by the module but not stored in non-volatile memory.
CALibration CALibrationn:CONFigure:CURRent? CALibrationn:CONFigure:CURRent? configures the channel for current mode calibration and returns a 0 or 1 to indicate the channel’s readiness for calibration. Parameters Parameter Name Parameter Type Range of Values Default CALibrationn keyword 1 to 8 or 1 to 16 1 Returns: an unsigned 16-bit integer (uint16). 1 = ready, 0 = not ready.
CALibration CALibrationn:CONFigure:VOLTage? CALibrationn:CONFigure:VOLTage? configures the channel for voltage mode calibration and returns a 0 or 1 to indicate the channel’s readiness for calibration. Parameters Parameter Name Parameter Type Range of Values Default CALibrationn keyword 1 to 8 or 1 to 16 1 Returns: an unsigned 16-bit integer (uint16). 1 = ready, 0 = not ready.
CALibration CALibrationn:VALue:CURRent? CALibrationn:VALue:CURRent? enters a measured calibration value and returns a value indicating the present state of the current calibration process. Parameters Parameter Name Parameter Type Range of Values Default CALibrationn keyword 1 to 8 or 1 to 16 1 numeric (float 32) 0.0 to 6.0 V none Returns: unsigned 16-bit integer (uint16).
CALibration • A returned value of 5 (calibration aborted) is given if either: a. The command is received when the module is in voltage calibration or resistance calibration mode, or b. The calibration in process has entered more than 50 values without a successful calibration. • If the internal calibration resistor is not calibrated, the channel is not marked as calibrated following the completion of calibration (see the CALibration:CONDition? query). The new calibration constants are used, however.
CALibration • This query returns one of the following values: Return Value Meaning 0 Calibration is complete. New constants are in RAM. 1 More measurements are needed. 5 Calibration aborted. • A return value of 5 (calibration aborted) is given if either: a. The command is received when the module is in current calibration or resistance calibration mode, or b. The calibration in process has entered more than 50 values without a successful calibration.
DIAGnostic DIAGnostic The DIAGnostic subsystem contains commands used to check the module configuration, enable or disable all outputs simultaneously, change a channel’s mode without opening and closing the output relay, and check the state of the trigger on all channels.
DIAGnostic DIAGnostic:CALibration:OUTPut[:MODE]? DIAGnostic:CALibration:OUTPut[:MODE]? queries the voltage calibration path for the module. Parameters Returns: string. Comments • The returned string will be one of CALB or CHAN. DIAGnostic:CONFigure? DIAGnostic:CONFigure? returns six 16-bit words indicating the present settings of the module. Parameters Returns: six unsigned 16-bit integers (uint16).
DIAGnostic DIAGnostic:OUTPut:ALL[:STATe] DIAGnostic:OUTPut:ALL[:STATe] opens or closes all channel output relays at once. Parameters Parameter Name Parameter Type Range of Values Default boolean OFF | ON | 0 | 1 0 Comments • This command performs the same function as the OUTPutn[:STATe] command, but enables or disables all outputs simultaneously.
DIAGnostic DIAGnostic:TRIGgered? DIAGnostic:TRIGgered? returns a 16-bit word indicating the current trigger status of the module. Parameters Returns: unsigned 16-bit integer (uint16). Comments • This query returns a 16-bit word indicating the trigger status of each channel. – A bit is set to 0 to indicate the channel is not waiting for a trigger. – A bit is set to 1 to indicate the channel is in the wait-for-trigger state. – Bits 0–15 correspond to channels 1–16, respectively.
INITiate INITiate The INITiate subsystem changes the trigger state from idle to wait-for-trigger. Subsystem Syntax INITiate [:IMMediate] INITiate[:IMMediate] Changes the trigger system from the idle state to the wait-for-trigger state. Parameters None. Comments • If this command is received and the trigger system is not idle, an error is generated. • If this command is received and no channels are waiting for a trigger event, an error is generated. • Triggering is described in more detail on page 54.
OUTPut OUTPut The OUTPut subsystem provides commands to open or close the output relay on each channel and to enable the module to output the selected trigger source on one of the VXIbus TTL trigger lines. Subsystem Syntax OUTPut :TTLTrgn [:STATe] [:STATe]? OUTPutn [:STATe] [:STATe]? OUTPut:TTLTrgn[:STATe] OUTPut:TTLTrgn[:STATe] specifies which VXIbus TTLTRG line is enabled to source a VXIbus trigger when the module is triggered.
OUTPut OUTPut:TTLTrgn[:STATe]? OUTPut:TTLTrgn[:STATe]? queries if the specified VXIbus TTLTRG line is set to be a source of trigger from the module. Parameters Parameter Name Parameter Type Range of Values Default TTLTrgn keyword 0 to 7 none Returns: unsigned 16-bit integer (uint16). Comments • This query returns a 1 if the specified VXIbus TTLTRG line is enabled as a trigger source. This query returns a 0 if the specified VXIbus TTLTRG line is disabled as a trigger source.
OUTPut OUTPutn[:STATe]? OUTPutn[:STATe]? queries the state of the specified channel output relay and returns a 0 or 1. Parameters Parameter Name Parameter Type Range of Values Default OUTPutn keyword 1 to 8 or 1 to 16 none Returns: unsigned 16-bit integer (uint16). Comments • In the keyword, OUTPutn, the valid range of n is: 1 to 8 for E1418A, E1418A Option 002 1 to 16 for E1418A Option 001, E1418A Option 003. Values of n outside these ranges will generate an error.
SOURce SOURce The SOURce subsystem provides commands used to output a voltage or current at each channel.
SOURce SOURcen:CURRent[:LEVel][:IMMediate][:AMPLitude] SOURcen:CURRent[:LEVel][:IMMediate][:AMPLitude] immediately outputs the current set in value at channel n when the output relay is closed. Parameters Parameter Name Parameter Type Range of Values Default SOURcen keyword 1 to 8 or 1 to 16 1 numeric (float 32) or discrete -0.02 Amps to +0.
SOURce SOURcen:CURRent[:LEVel][:IMMediate][:AMPLitude]? SOURcen:CURRent[:LEVel][:IMMediate][:AMPLitude]? [ queries the last output value written by SOURcen:CURRent[:LEVel][:IMMediate][:AMPLitude]. Parameters Parameter Name Parameter Type Range of Values Default SOURcen keyword 1 to 8 or 1 to 16 1 discrete (optional) MIN | MAX | DEF none Returns: 32-bit floating point number (float 32).
SOURce SOURcen:CURRent[:LEVel]:TRIGgered[:AMPLitude] SOURcen:CURRent[:LEVel]:TRIGgered[:AMPLitude] outputs the current set in value at channel n when the trigger conditions are satisfied and the output relay is closed. Use this command to synchronize multiple channel outputs. Parameters Parameter Name Parameter Type Range of Values Default SOURcen keyword 1 to 8 or 1 to 16 1 numeric (float 32) or discrete -0.02 Amps to +0.
SOURce SOURcen:CURRent[:LEVel]:TRIGgered[:AMPLitude]? SOURcen:CURRent[:LEVel]:TRIGgered][:AMPLitude]? [ queries the last value written by either SOURcen:CURRent[:LEVel]:TRIGgered[:AMPLitude] or SOURcen:CURRent[:LEVel][:IMMediate][:AMPLitude]. Parameters Parameter Name Parameter Type Range of Values Default SOURcen keyword 1 to 8 or 1 to 16 1 discrete (optional) MIN | MAX | DEF none Returns: 32-bit floating point number (float 32).
SOURce SOURcen:FUNCtion:MODE SOURcen:FUNCtion:MODE configures channel n for either current or voltage output. Parameters Parameter Name Parameter Type Range of Values Default SOURcen keyword 1 to 8 or 1 to 16 1 discrete CURRent or VOLTage none Comments • In the keyword, SOURcen, the valid range of n is: 1 to 8 for E1418A, E1418A Option 002 1 to 16 for E1418A Option 001, E1418A Option 003. Values of n outside these ranges will generate an error.
SOURce SOURcen:FUNCtion:MODE? SOURcen:FUNCtion:MODE? queries channel n for current or voltage output mode. The query returns a string. Parameters Parameter Name Parameter Type Range of Values Default SOURcen keyword 1 to 8 or 1 to 16 1 Returns: string. Comments • In the keyword, SOURcen, the valid range of n is: 1 to 8 for E1418A, E1418A Option 002 1 to 16 for E1418A Option 001, E1418A Option 003. Values of n outside these ranges will generate an error. • This query returns CURR or VOLT.
SOURce SOURcen:VOLTage[:LEVel][:IMMediate][:AMPLitude] SOURcen:VOLTage[:LEVel][:IMMediate][:AMPLitude] immediately outputs the voltage set in value at channel n when the output relay is closed.
SOURce SOURcen:VOLTage[:LEVel][:IMMediate][:AMPLitude]? SOURcen:VOLTage[:LEVel][:IMMediate][:AMPLitude]? [ queries the last output value written by SOURcen:VOLTage[:LEVel][:IMMediate][:AMPLitude]. Parameters Parameter Name Parameter Type Range of Values Default SOURcen keyword 1 to 8 or 1 to 16 1 discrete (optional) MIN | MAX | DEF none Returns: 32-bit floating point number (float 32).
SOURce SOURcen:VOLTage[:LEVel]:TRIGgered[:AMPLitude] SOURcen:VOLTage[:LEVel]:TRIGgered[:AMPLitude] outputs the voltage set in value at channel n when the trigger conditions are satisfied and the channel output relay is closed. Use this command to synchronize multiple channel outputs.
SOURce SOURcen:VOLTage[:LEVel]:TRIGgered[:AMPLitude]? SOURcen:VOLTage[:LEVel]:TRIGgered][:AMPLitude]? [ queries the latest value written by either SOURcen:VOLTage[:LEVel]:TRIGgered[:AMPLitude] or SOURcen:VOLTage[:LEVel][:IMMediate][:AMPLitude]. Parameters Parameter Name Parameter Type Range of Values Default SOURcen keyword 1 to 8 or 1 to 16 1 discrete (optional) MIN | MAX | DEF none Returns: 32-bit floating point number (float 32).
STATus STATus The STATus subsystem controls the SCPI-defined Operation and Questionable Status Registers and the Standard Event Register. Each is comprised of a Condition Register, an Event Register, and an Enable mask. The SCPI Status System is shown in the figure below.
STATus STATus:OPERation:CONDition? STATus:OPERation:CONDition? returns the contents of the Operation Status Condition Register. Reading the register does not affect its contents. Parameters Returns: 16-bit signed integer (int16). Comments • Bit 0 of this register (decimal 1) is the Calibrating bit.
STATus STATus:OPERation:ENABle? STATus:OPERation:ENABle? returns the value of the mask set for the Operation Status Register. Parameters Returns: 16-bit signed integer (int16). STATus:OPERation[:EVENt]? STATus:OPERation[:EVENt]? returns the value of the contents of the Operation Status Event Register. Reading the register clears all bits in the register. Parameters Returns: 16-bit signed integer (int16). Comments • Bit 0 of this register (decimal 1) is the only defined bit in this register.
STATus STATus:QUEStionable:CONDition? STATus:QUEStionable:CONDition? returns the value of the Questionable Status Condition Register. Reading the register does not affect its contents. Since only two bits are used in the HP E1418A and both those bits are defined to be events, this command always returns 0 and is included for compatibility purposes. Parameters Returns: 16-bit signed integer (int16). Comments • Bit 8 of this register (decimal 256) indicates the calibration condition.
STATus STATus:QUEStionable:ENABle? STATus:QUEStionable:ENABle? returns the mask set for the Questionable Status Enable Register. Parameters Returns: 16-bit signed integer (int16). STATus:QUEStionable[:EVENt]? STATus:QUEStionable[:EVENt]? returns the value of the Questionable Status Event Register. Reading the register clears all bits in the register. Parameters Returns: 16-bit signed integer (int16).
SYSTem SYSTem The SYSTem subsystem returns information about the module. Subsystem Syntax SYSTem :ERRor? :VERSion? SYSTem:ERRor? SYSTem:ERRor? returns an error number and message from the instrument’s error queue. Parameters Returns: 16-bit signed integer (int16) and a string. Comments • Each query returns an error number and error string from the queue. When no errors are in the error buffer, the query returns +0,"No error". • *CLS clears the error queue. • *RST has no effect on the error queue.
TEST TEST The TEST subsystem provides commands used to run individual self-tests and to query the results of previous self-tests. To run the complete set of self-tests, use the *TST? common command. Subsystem Syntax TEST :NUMBer? :TST [:RESults]? *TST? TEST:NUMBer? TEST:NUMBer? performs a single internal self-test on the module and returns a 16-bit integer indicating the results of the self-test.
TEST TEST:TST[:RESults]? TEST:TST[:RESults]? returns an array showing the result of all self-tests performed by the *TST? query. Parameters None. Comments • The *TST? query returns the result of the first failure found, if any. This query provides a means to check all test failure codes. • This command may be used if the value returned by the *TST? query is other than 0 and complete self-test results are needed.
TEST *TST? *TST? performs all internal self-tests on the module and returns a 16-bit integer indicating the results of the self-test. All circuits on the module are tested up to the output relay. Parameters None. Comments • Following the completion of this query, all outputs are disabled and set to either 0 A or 0 V. • If the module is in the wait-for-trigger state when this query is received, an error is generated. • The returned value indicates the first failure found.
TRIGger TRIGger The TRIGger subsystem controls when and how the outputs are enabled. Other commands, designed for use with the TRIGger subsystem are ABORt and INITiate[:IMMediate]. Subsystem Syntax TRIGger [:IMMediate] :SOURce
TRIGger TRIGger:SOURce TRIGger:SOURce sets the trigger source for the module. Parameters Parameter Name Parameter Type Range of Values Default
IEEE-488.2 Common Command Quick Reference IEEE-488.2 Common Command Quick Reference The following table lists the IEEE-488.2 Common (*) Commands that can be executed by the HP E1418A D/A module. For more information about Common Commands, consult ANSI/IEEE Standard 488.2-1987. Note These commands apply to many instruments and are not documented in detail here. Command Title Description *CLS Clear status registers Clears the event registers and request for OPC flag.
HP E1418A Command Quick Reference HP E1418A Command Quick Reference The following table summarizes commands for the HP E1418A. Command APPLyn CALibration :CURRent Closes the output relay and outputs a current on the specified channel, n. :VOLTage Closes the output relay and outputs a voltage on the specified channel, n. :CONDition? Queries the module type and calibration status. The query returns four 16-bit unsigned integers.
HP E1418A Command Quick Reference Command OUTPut OUTPutn SOURcen Description :TTLTrgn[:STATe] Specifies which VXIbus TTLTRG line is enabled to source a VXIbus trigger when the module is triggered. :TTLTrgn[:STATe]? Queries the state of the specified VXIbus TTLTRG line for use as a trigger output line. [:STATe] Opens or closes the specified channel output relay. [:STATe]? Queries the state of the specified channel output relay and returns a 0 or 1.
HP E1418A Command Quick Reference Command STATus SYSTem TEST :OPERation:CONDition? Returns the contents of the Operation Status Condition Register. Reading the register does not affect its contents. :OPERation:ENABle Specifies which bits of the associated Event Register are included in bit 7 of the Status Byte Register. The Summary bit is the bit-for-bit logical AND of the Event Register and the unmasked bit(s).
HP E1418A Command Quick Reference Notes 110 HP E1418A SCPI Command Reference Chapter 3
Appendix A HP E1418A Specifications DC Voltage Range: ±16 V Resolution: 16 bits (488 µV steps) Monotonic to 2.0 mV Accuracy: ±(% of value + volts) After calibration and at a temperature within ±5 °C of calibration temperature. 90 day: ±(0.05% + 3.0 mV) Output Current: Compliance Current : >20 mA, 0 to ±12 Volts, derate linearly to 5 mA at ±16 Volts Short Circuit Current: <60 mA Differential Ripple and Noise: < 2 mV rms, 20 Hz to 250 kHz into 10 kΩ load DC Current Range: -0.02 Amps to +0.
General Characteristics Settling Time: 300 µS (+full scale to –full scale step, single channel, to accuracy listed previously) Isolation (for isolated channels): 42 Vdc/42 V peak (channel-to-chassis or channel-to-channel) Synchronization: Software commands, External TTL trigger, or VXIbus TTL Trigger lines Single channel or multiple channel VXI Specification: Device Type: A16 or A24, D16, slave only, register-based Power Requirements Current Required (Amps) Configuration +5V DC +5V Dynamic + 12 V DC +
Appendix B HP E1418A Register-Based Programming The HP E1418A 8/16 Channel D/A Module is a register-based module. It does not support the VXIbus word serial protocol. The module may be controlled at the register level or, with appropriate drivers, controlled by higher level commands. The SCPI commands described in this manual are parsed by an HP E1405/ E1406 Command Module and turned into appropriate register reads and writes. The same is true for HP Compiled SCPI programming in the C language.
Addressing the Registers To access a specific register for either read or write operations, the address of the register must be used. The HP E1418A uses both A16 and A24 register accesses. A16 Registers Register addresses for the VXI module are found in an address space known as VXI A16. The exact location of A16 within a VXIbus master’s memory map depends on the design of the VXIbus master you are using. For the HP E1405/ E1406 Command Module, the A16 space location starts at 1F000016.
Note A24 Registers Writing an address to the Logical Address Register is typically performed by the resource manager as a part of dynamic addressing. If the address is changed by a write to the Logical Address Register, later accesses must use the new address. The HP E1418A requires 256 kbytes of A24 address space.
A16/A24 Windows By using window addressing, you can control the A24 space registers by mapping them onto the upper 16 of the A16 registers. This allows full control of the HP E1418A using only A16 addressing. Figure B-3 shows the A24 mapping into A16 space. In practice, four bits (A24_Window Value) in the A16 Card Control Register (base + 1E16) control which A24 registers map to the A16 space.
The Base Address A16 Address Space Outside the Command Module When reading or writing to a module register, a hexadecimal or decimal register address must be specified. This address consists of a base address plus a register offset. The base address used in register-based programming depends on whether the A16 address space is outside or inside the HP E1405/ E1406 Command Module.
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.
Reset and Registers Following power-on or a *RST command, the registers are put into the following states: – The Manufacturer ID and Device ID Registers remain unaffected. – The Channel Mode Register (base + 1A16) is set to voltage output for all channels (FFFF16) or is set to the state set by the V/I jumper (described on page 31) if the P/J jumper is in the jumper selectable position.
Register Maps A16/A24 REGISTERS Address Read Registers Write Registers Type Base + 0016 ID Register Logical Address Register Base + 0216 Device Type Register VXI Required Registers Base + 0416 VXI Status Register VXI Control Register Base + 0616 VXI Offset Register Base + 0816 Calibration Control Register Base + 0A16 Card Configuration Register Card Control Registers Software Trigger Register Base + 0C16 Base + 0E16 Trigger Control Register Base + 1016 Interrupt Control Register (Not
A24 REGISTERS Address Write Registers Type Base + 4016 Ch 01 Main_DAC Immediate Base + 4216 Ch 02 Main_DAC Immediate Channel Main DAC Immediate Registers Base + 4416 Ch 03 Main_DAC Immediate Base + 4616 Ch 04 Main_DAC Immediate Base + 4816 Ch 05 Main_DAC Immediate Base + 4A16 Ch 06 Main_DAC Immediate Base + 4C16 Ch 07 Main_DAC Immediate Base + 4E16 Ch 08 Main_DAC Immediate Base + 5016 Ch 09 Main_DAC Immediate Base + 5216 Ch 10 Main_DAC Immediate Base + 5416 Ch 11 Main_DAC Immediate
Address Write Registers Type Base + 8016 Ch 01 Offset_DAC Base + 8216 Ch 02 Offset_DAC Channel Offset DAC Registers Base + 8416 Ch 03 Offset_DAC Base + 8616 Ch 04 Offset_DAC Base + 8816 Ch 05 Offset_DAC Base + 8A16 Ch 06 Offset_DAC Base + 8C16 Ch 07 Offset_DAC Base + 8E16 Ch 08 Offset_DAC Base + 9016 Ch 09 Offset_DAC Base + 9216 Ch 10 Offset_DAC Base + 9416 Ch 11 Offset_DAC Base + 9616 Ch 12 Offset_DAC Base + 9816 Ch 13 Offset_DAC Base + 9A16 Ch 14 Offset_DAC Base + 9C16 Ch
Address Read Registers Write Registers Base + 10016 Ch 01 Voltage Offset_Cal Base + 10216 Ch 02 Voltage Offset_Cal Base + 10416 Ch 03 Voltage Offset_Cal Base + 10616 Ch 04 Voltage Offset_Cal Base + 10816 Ch 05 Voltage Offset_Cal Base + 10A16 Ch 06 Voltage Offset_Cal Base + 10C16 Ch 07 Voltage Offset_Cal Base + 10E16 Ch 08 Voltage Offset_Cal Base + 11016 Ch 09 Voltage Offset_Cal Base + 11216 Ch 10 Voltage Offset_Cal Base + 11416 Ch 11 Voltage Offset_Cal Base + 11616 Ch 12 Voltage Of
Address 124 Read Registers Write Registers Base + 14016 Ch 01 Current Offset_Cal Base + 14216 Ch 02 Current Offset_Cal Base + 14416 Ch 03 Current Offset_Cal Base + 14616 Ch 04 Current Offset_Cal Base + 14816 Ch 05 Current Offset_Cal Base + 14A16 Ch 06 Current Offset_Cal Base + 14C16 Ch 07 Current Offset_Cal Base + 14E16 Ch 08 Current Offset_Cal Base + 15016 Ch 09 Current Offset_Cal Base + 15216 Ch 10 Current Offset_Cal Base + 15416 Ch 11 Current Offset_Cal Base + 15616 Ch 12 Curre
Address Read Registers Write Registers Type Base + 18016 Calibration resistor value Calibration Registers Base + 18216 Calibration resistor value (non-volatile) Base + 18416 Voltage calibration status Base + 18616 Current calibration status Base + 18816 Calibration isolation status Base + 18A16 Calibration card configuration Base + 18C16 Calibration checksum Base + 18E16 SERIAL NUMBER Base + 19016 Base + 19216 Module Serial Number Registers (10 byte serial number) (non-volatile) Base
Register Descriptions Manufacturer ID Register Address Base + 0016 The Manufacturer ID Register is a VXIbus required register. A read of this register returns CFFF16 (-12289 decimal). Bit Position 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Setting 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 READ Device Class Address Mode Manufacturer’s ID Code Device Class: The HP E1418A is a register-based device. Address Mode: The HP E1418A uses the A16/A24 address mode.
Device Type Register Bit Position Address Base + 0216 The Device Type Register is a VXIbus required register. This register indicates the module’s configuration as either an 8-channel DAC or a 16-channel DAC. A read of this register returns 523016 (21040 decimal) if the module is configured as a 16-channel DAC, or 523716 (21047 decimal) if the module is configured as an 8-channel DAC.
Passed: A one (1) in this field indicates the module has finished a reset or has completed module initialization. A zero (0) in this field indicates the module is executing a reset or has failed module initialization. WRITE A24 EN: Writing a one (1) to this field enables access to the A24 address space via A24 addressing. Writing a zero (0) to this field disables access to the A24 address space. SYSINH: Writing a one (1) to this field disables the module from driving the VXIbus SYSFAIL* line.
Calibration Control Register Bit Address Base + 0816 15 14 The Calibration Control Register sets and reports calibration conditions. 13 12 11 10 09 08 READ Cal A/D Bus En Bsy Cal Mode Cal Mux En Cal Mux Chan Address WRITE Cal A/D Bus En Trg Cal Mode Cal Mux Sel En Cal Mux Chan Address READ 07 06 05 04 03 02 01 00 A/D Reading Value A/D Scale Unused Cal Bus En: A one (1) in this field indicates the cal bus is connected.
Cal Mode Sel: Writing a one (1) in this field sets the calibration system to calibrate voltage. Writing a zero (0) in this field sets the calibration system to calibrate current. This bit controls a relay that requires approximately 5 mS to change states. Cal Mux En: Writing a one (1) in this field enables the Cal Mux. Writing a zero (0) in this field disables the Cal Mux. Cal Mux Chan Address: The address of the channel selected is written to this field.
Software Trigger Register Address Base + 0C16 Bit The Software Trigger Register provides a means to trigger the module when software trigger has been selected as the trigger source in the Trigger Control Register. 15 14 13 12 11 10 WRITE 09 08 07 06 05 04 03 02 01 00 Software Trigger Software Trigger: When software trigger is selected as the trigger source in the Trigger Control Register, any write to this register generates the trigger (the value written is not important).
Trigger Source: This field selects the trigger source for trigger-enabled channels.
Interrupt Status Register Bit Address Base + 1216 The Interrupt Status Register shows the state of the trigger ignored interrupt condition. The bit is a strobed interrupt source. 15 14 READ 13 12 11 10 Unused 09 08 07 06 05 TRG IGN WRITE 04 03 02 01 00 Unused TRG IGN: This field is set to a one (1) if the trigger ignored condition exists.
Channel Program Jumper Register Bit Address Base + 1616 READ 15 The Channel Program Jumper Register returns the state of the P/J jumper on each channel. Additional information about these jumpers is given on page 31.
Channel Trigger Register Bit Address Base + 1816 READ The Channel Trigger Register reports the trigger status for each channel. 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Ch Ch Ch Ch Ch Ch Ch Ch Ch Ch Ch Ch Ch Ch Ch Ch 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 TM TM TM TM TM TM TM TM TM TM TM TM TM TM TM TM Ch XX TM: A one (1) in a field indicates a value has been written to the channel Main DAC Triggered Register, but the output is not enabled until the trigger is received.
Channel Mode Register Bit Address Base + 1A16 15 14 The Channel Mode Register reports or programs the voltage or current operating mode for each channel. 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Ch Ch Ch Ch Ch Ch Ch Ch Ch Ch Ch Ch Ch Ch Ch Ch 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 WRITE Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode READ Ch XX Mode: Writing a one (1) to this field selects the voltage output mode for that channel.
Card Control Register Bit Address Base + 1E16 15 The Card Control Register allows for access to the A24 address space from the A16 address space. It also provides access to the non-volatile memory. 14 13 12 11 READ 10 Unused 09 08 07 06 05 04 VPPEN 03 02 01 00 A24 Window WRITE VPPEN: Writing a one (1) to this field enables the non-volatile memory to be altered. Writing a zero (0) disables updates or erasures of the non-volatile memory.
Notes Each incremental value of the A24 Window offsets the window by 32 bytes. Up to 512 bytes of A24 space can be pointed to. A24 Window values 816 through F16 point to Calibration Registers. Calibration Registers 0010016 through 001BE16 are located in non-volatile (FLASH) memory. Writing to this memory requires a complicated sequence of register accesses not documented here. It is recommended that calibration be performed using the SCPI driver for the module, not register access.
Note Offset_DAC Registers Address Base + 8016 through Base + 9E16 Bit The Main_DAC Triggered Registers, together with the Trigger Control Register, can be used to provide synchronized output changes on multiple channels. The Offset_DAC Registers are used to program the next offset value on a channel. There are 16 registers, one for each output channel. The register at base + 8016 programs channel 1, base + 8216 programs channel 2, up to base +9E16 to program channel 16.
Note Undefined Registers Channel Voltage Offset Calibration Registers Address Base + 10016 through Base + 11E16 Bit A different gain value is required for voltage and current output operation. The registers from C016 through FE16 are undefined. The Channel Voltage Offset Calibration Registers store voltage offset calibration constants in non-volatile memory. There are 16 registers, one for each output channel.
Channel Voltage Gain Calibration Registers Address Base + 12016 through Base + 13E16 Bit The Channel Voltage Gain Calibration Registers store voltage gain calibration constants in non-volatile memory. There are 16 registers, one for each output channel. The register at base + 12016 stores channel 1, base + 12216 stores channel 2, up to base 13E16 which stores channel 16. This register is non-volatile.
Channel Current Offset Calibration Registers Address Base + 14016 through Base + 15E16 Bit The Channel Current Offset Calibration Registers store current offset calibration constants in non-volatile memory. There are 16 registers, one for each output channel. The register at base + 14016 stores channel 1, base + 14216 stores channel 2, up to base 15E16 to store channel 16. This register is non-volatile.
Channel Current Gain Calibration Registers Address Base + 16016 through Base + 17E16 Bit The Channel Current Gain Calibration Registers store current gain calibration constants in non-volatile memory. There are 16 registers, one for each output channel. The register at base + 16016 stores channel 1, base + 16216 stores channel 2, up to base 17E16 to store channel 16. This register is non-volatile.
Calibration Resistor Value Registers Bit Address Base + 18016 The Calibration Resistor Value Registers store the value of the resistor used to calibrate current output. The Calibration resistor value is a 32-bit value and requires two 16-bit registers. These registers are non-volatile.
Current Calibration Status Register Bit Address Base + 18616 READ The Current Calibration Status Register provides a non-volatile record of the current calibration status for each channel. This register is non-volatile.
Calibration Isolation Status Register Bit Address Base + 18816 READ The Calibration Isolation Status Register provides a non-volatile record of the isolation status of each channel at the last calibration. This register is non-volatile.
Calibration Card Configuration Register Bit Address Base + 18A16 The Calibration Card Configuration Register provides a non-volatile record of the module configuration as either an 8-channel device or a 16-channel device when the module was last calibrated. 15 14 13 12 READ 11 10 09 08 07 06 Undefined 05 04 03 Configuration 02 01 00 Undefined WRITE Configuration: When the module was configured as an 8-channel DAC during the last calibration, all bits in this field are set to one (1).
Module Serial Number Registers Address Base + 18E16 Address Base + 19016 Address Base + 19216 Address Base + 19416 Address Base + 19616 Bit The Module Serial Number Registers provides a 10-byte module serial number stored in non-volatile memory.
699 700 701 702 703 704 705 706 707 708 709 710 Reg_offset(20) = 40 Reg_offset(21) = 42 Reg_offset(22) = 44 Reg_offset(23) = 46 Reg_offset(24) = 48 Reg_offset(25) = 50 Reg_offset(26) = 52 Reg_offset(27) = 54 Reg_offset(28) = 56 Reg_offset(29) = 58 Reg_offset(30) = 60 Reg_offset(31) = 62 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 ! Output a calibrated voltage on channel 3. ! Write_a16(Reg_offset(15),8) ! Map A 24 voltage offset cal registers.
Appendix C HP E1418A Error Messages Error Types Table C-2 lists the error messages generated by the HP E1418A 8/16-Channel D/A Converter Module firmware when programmed by SCPI. Errors with negative values are governed by the SCPI standard and are categorized in Table C-1. Error numbers with positive values are not governed by the SCPI standard. Table C-1. Error Types Described –199 to –100 Command Errors (syntax and parameter errors).
id Error Messages Table C-2. Error Messages Code Error Messages Potential Cause(s) –141 Invalid character data An invalid SCPI keyword was used. –211 Trigger ignored A trigger was received and no channels were in the wait for trigger state. –213 Init ignored An INITiate was received and one or more channels were already in the wait for trigger state. –221 Setting Conflict A command was received for a mode not set. For example, a SOURn:VOLT command was received and the channel is set to CURR mode.
Code Error Messages Potential Cause(s) +3008 Invalid Calibration State An invalid sequence of calibration commands was received. For example, a CALn:CONF:VOLT command followed by a CALn:VAL:CURR command. +3009 Invalid Calibration Channel An invalid channel number, n, was requested in the CALn:CONF or CALn:VAL commands. +3010 Calibration aborted A command, other than one of the CALibration commands, was received during the calibration process.
Notes 153 HP E1418A Error Messages Appendix C
T Appendix D Voltage/Current Output Adjustment Using This Appendix This appendix describes adjustment procedures. The procedures in this appendix are intended for qualified service personnel. Adjustment procedures are a part of calibration procedures. Calibration involves functional testing, performance testing, adjustment, and verification testing. These procedures are given in the HP E1418A 8/16-Channel DAC Service Manual.
Calibration Constants and Non-Volatile Memory The accuracy of a channel output depends upon a number of calibration constants. Calibration constants are stored in two locations within the module; in non-volatile memory and in RAM. The constants in RAM are used by the module to adjust all outputs. When the module is used with the SCPI driver, the RAM constants are loaded from the non-volatile memory at power-up.
Adjustment Procedure Adjustment is performed on each channel, one at a time. Additionally, voltage output and current output each use unique calibration constants. If desired, you may adjust only voltage output or current output. Preparation If Permanent Before performing any adjustments, determine if the adjustments are to be temporary or permanent (refer to the discussion on page 155). 1. 2. 3. 4. 5. 6. 7. 8. Turn off the mainframe. Remove the terminal module (see page 26).
Voltage Adjustment Voltage output adjustment uses two of the CALibration subsystem queries. CALibrationn:CONFigure:VOLTage? CALibrationn:VALue:VOLTage? The general procedure for channel voltage adjustment is: 1. Make the connections shown in Figure D-2 or D-3. 2. Send the CALibrationn:CONFigure:VOLTage? query to the module and read the response until a 1 is returned (typically the first query response). 3. Read the voltage output on the DMM. 4.
Figure D-2. Voltage Calibration Connections (CAL) Figure D-3.
Current Adjustment Note Current output uses an internal resistance value to calibrate all channels. This resistance value is approximately 244 Ω. You may also use an external resistance value on each channel for current output calibration. If you wish to specify an external resistor value, you must send the DIAGnostic:CALibration:OUTPut CHANnel command and perform the adjustment at each channel output. Any resistor value may be used but values in the range of 50 Ω to 500 Ω are recommended.
Figure D-4. Resistance Calibration Connections (CAL) Current output adjustment uses two of the CALibration subsystem queries. Current adjustment requires voltage measurements. CALibrationn:CONFigure:CURRent? CALibrationn:VALue:CURRent? Once the calibration resistance value is set as described earlier, the general procedure for each channel current output adjustment is: 1. Make the connections shown in Figure D-5 or D-6. 2.
Each channel will require multiple iterations of the CALn:VAL:CURR? query. A minimum of 9 queries, to a maximum of 50 queries, will be required at each channel. During the process, the output voltage will range from -5 to +5 V and the last values output will be at or near 0 volts. Figure D-5. Current Calibration Connections (CAL) Figure D-6.
Storing the Adjustments Once all adjustments have been made using the procedures outlined previously, you can store the new calibration constants in non-volatile memory by sending the following command: /* Store the new constants */ CALibration:STORe This command will generate an error if the Cal Store Enable Jumper is not set to the CAL position (see page 156).
• • /*** VOLTAGE OUTPUT ADJUSTMENT ***/ for (i=1;i
err=viScanf(dac, “%d”, &result); /* Enter integer returned */ /*, returns a 1 when ready to calibrate */ if(err < VI_SUCCESS) err_handler(dac, err); } result = 1; while (result !=0 && result !=2) { meas_volt=get_voltage (); /* Get the voltage measurement */ err=viPrintf(dac, “CAL%d:VAL:CURR? %f\n”,i,meas_volt); if(err < VI_SUCCESS) err_handler(dac, err); err=viScanf(dac, “%d”, &result); /* Enter integer returned */ /* returns a 0 when calibration complete */ if(err < VI_SUCCESS) err_handler(dac, err); if (
Notes 165 Voltage/Current Output Adjustment Appendix D
Appendix E Configuration and Disassembly Using This Appendix This appendix contains information about the mechanical and electrical layout of the module. Use this appendix to: – Disassemble and reconfigure the module – Perform assembly level troubleshooting CAUTION Procedures in this appendix should be performed by qualified service personnel at approved static safe workstations. Configuration The HP E1418A can be configured as either an 8-channel output device or a 16-channel output device.
1st Value Returned Bit 15 14 13 12 Indicates an 8-channel or 16-channel configuration. 11 10 Use 9 8 7 6 5 4 3 2 Not Used 1 0 Channels Channels can have one of two values; all 1’s (decimal 7) for an 8-channel configuration, and all 0’s (decimal 0) for a 16-channel configuration. Bit 2nd Value Returned Indicates the type of Terminal Module (if any) installed. See page 77 for additional information.
Adding 8 Channels CAUTION Use this procedure to install an 8-Channel expansion kit (HP E1524A or HP E1525A). Almost all electrical components can be damaged by electrostatic discharge (ESD) during handling. Component damage can occur at electrostatic discharge voltages as low as 50 volts. Disassemble and reconfigure only in a static free work area. Minimize handling of assemblies and components. Keep all assemblies and replacement parts in the original static free packaging.
Figure E-1.
Figure E-2.
Installing Isolated/Non-Isolated Plug-on Modules CAUTION Use this procedure to install the isolated plug-on kit (HP E1523A) or to change the channel isolation configuration. Almost all electrical components can be damaged by electrostatic discharge (ESD) during handling. Component damage can occur at electrostatic discharge voltages as low as 50 volts. Disassemble and reconfigure only in a static free work area. Minimize handling of assemblies and components.
Figure E-3. Plug-on Channel Locations Figure E-4.
Troubleshooting These procedures will help you isolate a failure to a particular assembly. The major assemblies of the HP E1418A are available on an exchange basis. Isolating an Assembly (Self-Test) Use the following SCPI Common Command query to initiate a module self-test. ! Start the Self-test. *TST? ! Enter the 16-bit integer returned. The query will return a +0 if no errors are encountered.
Assembly Exchange Notes The following assemblies are available for exchange. Part Number Assembly E1418-69201 Main board and all sheet metal. Does NOT include plug-on assemblies or expansion board. E1418-69502 Expansion board. Does NOT include plug-on assemblies. E1418-66503 Isolated plug-on module (replacement, not an exchange). When exchanging either the main board or expansion board, you must disassemble the module and remove all plug-on assemblies before sending the exchange part.
Notes 175 Configuration and Disassembly Appendix E
Index HP E1418A User’s Manual *CLS, 96–100, 106 *DMC, 106 *EMC, 106 *EMC?, 106 *ESE, 106 *ESE?, 106 *ESR?, 106 *GMC?, 106 *IDN?, 40, 106 *LMC?, 106 *OPC, 106 *OPC?, 56, 106, 162 *PMC, 106 *RMC, 106 *RST, 53, 106, 119 *SRE, 98, 106 *SRE?, 106 *STB?, 106 *TRG, 106 *TST?, 53, 103, 106, 173 *WAI, 106 A A16 address space, 117 registers, 114 A16/A24 register map, 120 windows, 116 A24 access from A16, 137 memory access state, 127 memory required, 127 register map, 121–125 registers, 115 windows, 116, 137 Abbrevi
constants, reloading, 68 control register, 119, 129 current mode, 71 current process, 73–74 equipment required, 155 example program, 162–164 interruption, 74–75 isolation status register, 146 memory, 155 resistor value registers, 144 resistor, internal, 68, 70, 144, 159 test condition, 69 voltage mode, 72 voltage path, querying, 77 voltage path, setting, 76 voltage process, 74–75 CALibration Subsystem, 66–75 CAL:CONDition?, 67 CAL:CONFigure:RESistance?, 68, 159 CAL:RESet, 68 CAL:STORe, 69, 162 CAL:TEST?, 69
DIAGnostic subsystem, 76–79 *DMC, 106 *EMC, 106 *EMC?, 106 *ESE, 106 *ESE?, 106 *ESR?, 106 *GMC?, 106 *IDN?, 40, 106 INITiate subsystem, 80 *LMC?, 106 *OPC, 106 *OPC?, 56, 106, 162 OUTPut subsystem, 81–83 *PMC, 106 *RMC, 106 *RST, 53, 106, 119 SOURce subsystem, 84–94 *SRE, 98, 106 *SRE?, 106 STATus subsystem, 95–99 *STB?, 106 SYSTem subsystem, 100 TEST subsystem, 101–103 *TRG, 106 TRIGger subsystem, 104–105 *TST?, 53, 103, 106, 173 *WAI, 106 Commands ABORt, 63 APPLy subsystem, 45–46, 64–65 CALibration subsy
CAL terminals, 36, 155 current calibration (CAL), 161 current calibration (CHAN), 161 current output, 33 current output, combining, 34 external trigger, 35 resistance calibration (CAL), 160 sense leads, 33 terminal module, 33 voltage calibration (CAL), 158 voltage calibration (CHAN), 158 voltage output, 33 voltage output, combining, 34 Connectors crimp-and-insert, 27, 29 front panel, 18 front panel pinout, 18 terminal module, 30 terminal module pinout, 30 Controlling Output Relay, 53 Cooling Requirements, 1
F Field Kits, 15, 167 Four-wire Connections, 33 Front Panel Connectors, 18 Functional Description, 16 G Gain_DAC Registers, 139 *GMC?, 106 H HI Channel Output Line, 33 HP-IB, 39 HS Channel Output Line, 33 I I/O Error Check, 47 *IDN?, 40, 106 IEEE-488.
installing in mainframe, 20 isolation rating, maximum, 34, 57, 112 options available, 15 programming examples, 39–58 query current settings, 77 query current status, 79 register-based programming, 113–149 removing from mainframe, 21 serial number, 38, 40 serial number registers, 148 setup and installation, 13–38 specifications, 111–112 synchronizing with program, 56 terminal, 17, 22 terminal module wiring, 23–24 N Non-Isolated channel output, 14–15 channel plug-on module, 17 Non-Volatile (FLASH) Memory, 14
boolean, 61 defined, 61 discrete, 61 numeric, 61 optional, 61 SCPI Commands, 61 Pinout front panel connectors, 18 terminal module connectors, 30 Plug-On Module channel locations, 172 configuration report, 133 installing, 171–172 isolated, 15, 17 non-isolated, 17 *PMC, 106 Power Requirements, 112 Preset Enable Registers, 97 Problem Isolation, 173 Program channels gain value, 139 selectable jumper, 31 synchronizing with module, 56 Programming Examples, 39–58 combining output channels, 57 direct register acces
register offset, 118 reset and registers, 119 Registers A16 address space, 114 A16/A24 register map, 120 A24 address space, 115 A24 register map, 121–125 addressing, 114–118 base address, 117 calibration card configuration, 147 calibration checksum register, 147 calibration control register, 119, 129 calibration isolation status, 146 calibration resistor value, 144 card configuration register, 130 card control register, 137 channel current gain calibration, 143 channel current offset calibration, 142 channe
single internal, 101 Sense Leads, 33 Serial Number, 40, 148 Series Connections, 34 Setting CAL Store Enable Jumper, 20 calibrated voltage output, 148–149 calibration conditions, 129 channel output, 50 channel output mode, 45 logical address register, 126 logical address switch, 19 output mode, 52 output value, 45 trigger, 54–55 trigger source, 105 voltage calibration path, 76 Settling Time, 112 reducing, 78 Short SCPI Commands, 60 Single Internal Self-Test, 101 Software trigger, 54 trigger register, 131 SOU
TEST:TST[:RESults]?, 102 *TST?, 103 *TRG, 106 Trigger channels, 104 control register, 131–132 external, 54 external connections, 35 idle state, 80 ignored interrupt condition, 133 immediate, 54 process, 55 query current status, 79 setting, 54–55 software, 54 source, querying, 105 source, setting, 105 status for channels, 135 system, ABORt command, 63 system, INITiate command, 80 system, TRIGger commands, 104–105 VXIbus backplane, 54, 81–82, 132 wait-for-trigger state, 80 TRIGger Subsystem, 104–105 TRIGger:S
Offset_DAC registers, 139 software trigger register, 131 trigger control register, 131–132 voltage calibration status register, 144 VXI offset register, 128 VXI status/control register, 128 HP E1418A User’s Manual 186
Notes 187 HP E1418A User’s Manual