Agilent Technologies Car Amplifier E1446A User Manual

Agilent 75000 Series C  
Agilent E1446A  
Summing Amplifier/DAC Module  
User’s Manual and SCPI Programming Guide  
Where to Find it - Online and Printed Information:  
System installation (hardware/software)............. VXIbus Configuration Guide*  
Agilent VIC (VXI installation software)*  
Module configuration and wiring........................ This Manual  
SCPI programming.............................................. This Manual  
SCPI example programs...................................... This Manual  
SCPI command reference ................................... This Manual  
Register-Based Programming ............................. This Manual  
VXIplug&play programming ............................. VXIplug&play Online Help  
VXIplug&play example programs...................... VXIplug&play Online Help  
VXIplug&play function reference ...................... VXIplug&play Online Help  
Soft Front Panel information............................... VXIplug&play Online Help  
VISA language information ................................ Agilent VISA User’s Guide  
Agilent VEE programming information ............. Agilent VEE User’s Manual  
*Supplied with Agilent Command Modules, Embedded Controllers, and VXLink.  
*E1446-90001*  
Manual Part Number: E1446-90001  
Printed in Malaysia E0506  
3. Command Reference  
Chapter Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1  
Command Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2  
Common Command Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2  
SCPI Command Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2  
Command Separator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3  
Abbreviated Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3  
Implied (Optional) Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3  
SCPI Command Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4  
Parameter Types, Explanations, and Examples . . . . . . . . . . . . . . . . . . . . 3-4  
Querying Parameter Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5  
SCPI Command Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5  
Command Coupling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5  
Linking Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6  
SCPI Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6  
Agilent E1446A/E1445A  
INPut[1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7  
:ATTenuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7  
:IMPedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7  
INPut2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9  
:ATTenuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9  
:IMPedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9  
OUTPut2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11  
:ATTenuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11  
:IMPedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12  
:OVERload? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12  
[:STATe] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13  
[:STATe]:ACTual? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13  
OUTPut3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15  
:IMPedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15  
OUTPut4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16  
:IMPedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16  
SOURce2:VOLTage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17  
[:LEVel][:IMMediate]:OFFSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17  
STATus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18  
:OPERation|QUEStionable:CONDition? . . . . . . . . . . . . . . . . . . . . . . . 3-18  
:OPERation|QUEStionable:ENABle . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19  
:OPERation|QUEStionable[:EVENt]? . . . . . . . . . . . . . . . . . . . . . . . . . 3-19  
:OPERation|QUEStionable:NTRansition . . . . . . . . . . . . . . . . . . . . . . . 3-20  
:OPERation|QUEStionable:PTRansition . . . . . . . . . . . . . . . . . . . . . . . 3-20  
:PRESet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21  
SYSTem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22  
:ERRor? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22  
:VERSion? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22  
Agilent E1446A/E1405/06  
DISPlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7  
:MONitor[:STATe] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7  
INPut[1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8  
:ATTenuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8  
:IMPedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8  
2
Agilent E1446A User’s Manual Contents  
INPut2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10  
:ATTenuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10  
:IMPedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10  
OUTPut1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12  
:ATTenuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12  
:IMPedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12  
:OVERload? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13  
[:STATe] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14  
[:STATe]:ACTual? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14  
OUTPut2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15  
:IMPedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15  
OUTPut3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16  
:IMPedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16  
SOURce:VOLTage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17  
[:LEVel][:IMMediate]:OFFSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17  
STATus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18  
:OPERation|QUEStionable:CONDition? . . . . . . . . . . . . . . . . . . . . . . . 3-18  
:OPERation|QUEStionable:ENABle . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19  
:OPERation|QUEStionable[:EVENt]? . . . . . . . . . . . . . . . . . . . . . . . . . 3-19  
:OPERation|QUEStionable:NTRansition . . . . . . . . . . . . . . . . . . . . . . . 3-20  
:OPERation|QUEStionable:PTRansition . . . . . . . . . . . . . . . . . . . . . . . 3-20  
:PRESet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21  
SYSTem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22  
:ERRor? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22  
:VERSion? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22  
IEEE-488.2 Common Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25  
*CLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26  
*DMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26  
*EMC and *EMC? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27  
*ESE and *ESE? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27  
*ESR? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28  
*GMC? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28  
*IDN? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29  
*LMC? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29  
*LRN? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30  
*OPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30  
*OPC? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30  
*PMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31  
*RCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31  
*RMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31  
*RST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32  
*SAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32  
*SRE and *SRE? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33  
*STB? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33  
*TST? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34  
*WAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34  
SCPI Conformance Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-35  
Agilent E1446A User’s Manual Contents  
3
A. Specifications  
Appendix Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1  
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1  
Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1  
Gain Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2  
Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2  
AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3  
General VXI Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3  
B. Error Messages  
Table B-1. Agilent E1446A Error Messages . . . . . . . . . . . . . . . . . . . . . . B-2  
Table B-2. Agilent E1446A Settings Conflict Errors with the Agilent E1405/06 . . . B-4  
Table B-3. Agilent E1446A Settings Conflict Errors with the Agilent E1445A . . . B-4  
C. Register-Based Programming  
Appendix Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1  
Register Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1  
The Base Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1  
Computer Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-4  
Throughput Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-4  
Embedded Computer Programming (C-Size Systems) . . . . . . . . . . . . . . . . C-4  
IBASIC Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-4  
External Computer Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . C-5  
Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-6  
The READ Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-6  
The ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-6  
The Device Type Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-7  
The READ/WRITE Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-7  
The Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-8  
The Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-8  
The DAC Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-9  
The Output Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-9  
The Input Attenuation Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-10  
Programming the Amplifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-12  
Program Sequence and Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . C-14  
Example Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-17  
System Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-17  
Amplifying a Sine Wave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-18  
Setting the (amplifier) Input Impedance . . . . . . . . . . . . . . . . . . . . . . . . C-19  
Setting a DC Voltage Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-21  
Using the Differential (small signal) Outputs . . . . . . . . . . . . . . . . . . . . . C-23  
Summing Two Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-24  
Example Subprograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-26  
Index  
4
Agilent E1446A User’s Manual Contents  
Certification  
Agilent Technologies certifies that this product met its published specifications at the time of shipment from the factory. Agilent  
Technologies further certifies that its calibration measurements are traceable to the United States National Institute of Standards and  
Technology (formerly NationalBureau of Standards), to theextentallowed bythat organization’s calibration facility, and to the calibration  
facilities of other International Standards Organization members.  
Warranty  
This Agilent Technologies product is warranted against defects in materials and workmanship for a period of one (1) year from date of  
shipment. Duration and conditions of warranty for this product may be superseded when the product is integrated into (becomes a part  
of) other Agilent products. During the warranty period, Agilent Technologies will, at its option, either repair or replace products which  
prove to be defective.  
For warranty service or repair, this product must be returned to a service facility designated by Agilent Technologies. Buyer shall prepay  
shipping charges to Agilent and Agilent shall pay shipping charges to return the product to Buyer. However, Buyer shall pay all shipping  
charges, duties, and taxes for products returned to Agilent from another country.  
Agilent warrants that its software and firmware designated by Agilent for use with a product will execute its programming instructions  
when properly installed on that product. Agilent does not warrant that the operation of the product, or software, or firmware will be  
uninterrupted or error free.  
Limitation Of Warranty  
The foregoing warranty shall not apply to defects resulting from improper or inadequate maintenance by Buyer, Buyer-supplied products  
or interfacing, unauthorized modification or misuse, operation outside of the environmental specifications for the product, or improper site  
preparation or maintenance.  
The design and implementation of any circuit on this product is the sole responsibility of the Buyer. Agilent does not warrant the Buyer’s  
circuitry or malfunctions of Agilent products that result from the Buyer’s circuitry. In addition, Agilent does not warrant any damage that  
occurs as a result of the Buyer’s circuit or any defects that result from Buyer-supplied products.  
NO OTHER WARRANTY IS EXPRESSED OR IMPLIED. Agilent SPECIFICALLY DISCLAIMS THE IMPLIED WARRANTIES  
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  
Exclusive Remedies  
THE REMEDIES PROVIDED HEREIN ARE BUYER’S SOLE AND EXCLUSIVE REMEDIES. Agilent SHALL NOT BE LIABLE  
FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER BASED ON CON-  
TRACT, TORT, OR ANY OTHER LEGAL THEORY.  
Notice  
The information contained in this document is subject to change without notice. Agilent Technologies MAKES NO WARRANTY OF  
ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF  
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Agilent shall not be liable for errors contained herein or for  
incidental or consequential damages in connection with the furnishing, performance or use of this material. This document contains  
proprietary information which is protected by copyright. All rights arereserved. No part ofthis documentmaybe photocopied, reproduced,  
or translated to another language without the prior written consent of Agilent Technologies, Inc. Agilent assumes no responsibility for the  
use or reliability of its software on equipment that is not furnished by Agilent.  
U.S. Government Restricted Rights  
The Software and Documentation have been developed entirely at private expense. They are delivered and licensed as "commercial  
computer software" as defined in DFARS 252.227- 7013 (Oct 1988), DFARS 252.211-7015 (May 1991) or DFARS 252.227-7014 (Jun  
1995), as a "commercialitem" as defined in FAR 2.101(a), or as "Restricted computer software" as defined in FAR52.227-19 (Jun1987)(or  
any equivalent agency regulation or contract clause), whichever is applicable. You have only those rights provided for such Software and  
Documentation by the applicable FAR or DFARS clause or the Agilent standard software agreement for the product involved.  
Agilent E1446A Summing Amplifier/DAC User’s Manual  
Edition 1 Rev 2  
Copyright © 1992-2006 Agilent Technologies, Inc. All Rights Reserved.  
Agilent E1446A Summing Amplifier/DAC User’s Manual  
5
Printing History  
The Printing History shown below lists all Editions and Updates of this manual and the printing date(s). The first printing 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 the current Edition of the manual. Updates are numbered sequentially starting with Update 1. When a new  
Edition is created, it contains all the Update information for the previous Edition. Each new Edition or Update also includes a revised copy  
of this printing history page. Many product updates or revisions do not require manual changes and, conversely, manual corrections may  
be done without accompanying product changes. Therefore, do not expect a one-to-one correspondence between product updates and  
manual updates.  
Edition 1 (Part Number E1446-90001). . . . . . . . . . . . . . . . . . . . . . . . . May 1992  
Edition 1 Rev 2 (Part Number E1446-90001) . . . . . . . . . . . . . . . . . . . May 2006  
Safety Symbols  
Instruction manualsymbolaffixedtoproduct.  
Indicates that the user must refer to the man-  
ual for specific WARNING or CAUTION  
information to avoid personal injury or dam-  
age to the product.  
Alternating current (AC).  
Direct current (DC).  
Indicates hazardous voltages.  
Indicates the field wiring terminal that must  
beconnected to earth groundbefore operating  
the equipment—protects against electrical  
shock in case of fault.  
Calls attention to a procedure, practice, or con-  
dition that could cause bodily injury or death.  
WARNING  
CAUTION  
Calls attention to a procedure, practice, or con-  
dition that could possibly cause damage to  
equipment or permanent loss of data.  
Frame or chassis ground terminal—typically  
connects to the equipment’s metal frame.  
or  
WARNINGS  
The following general safety precautions must be observed during all phases of operation, service, and repair of this product.  
Failure to comply with these precautions or with specific warnings elsewhere in this manual violates safety standards of design,  
manufacture, and intended use of the product. Agilent Technologies assumes no liability for the customer’s failure to comply with  
these requirements.  
Ground the equipment: For Safety Class 1 equipment (equipment having a protective earth terminal), an uninterruptible safety earth  
ground must be provided from the mains power source to the product input wiring terminals or supplied power cable.  
DO NOT operate the product in an explosive atmosphere or in the presence of flammable gases or fumes.  
For continued protection against fire, replace the line fuse(s) only with fuse(s) of the same voltage and current rating and type.  
DO NOT use repaired fuses or short-circuited fuse holders.  
Keep away from live circuits: Operating personnel must not remove equipment covers or shields. Procedures involving the removal of  
covers or shields are for use by service-trained personnel only. Under certain conditions, dangerous voltages may exist even with the  
equipment switched off. To avoid dangerous electrical shock, DO NOT perform procedures involving cover or shield removal unless you  
are qualified to do so.  
DO NOT operate damaged equipment: Whenever it is possible that the safety protection features built into this product have been  
impaired, either through physical damage, excessive moisture, or any other reason, REMOVE POWER and do not use the product until  
safe operation can be verified by service-trained personnel. If necessary, return the product to an Agilent Technologies Sales and Service  
Office for service and repair to ensure that safety features are maintained.  
DO NOT service or adjust alone: Do not attempt internal service or adjustment unless another person, capable of rendering first aid and  
resuscitation, is present.  
DO NOT substitute parts or modify equipment: Because of the danger of introducing additional hazards, do not install substitute parts  
or perform any unauthorized modification to the product. Return the product to an Agilent Technologies Sales and Service Office for  
service and repair to ensure that safety features are maintained.  
6
Agilent E1446A Summing Amplifier/DAC User’s Manual  
DECLARATION OF CONFORMITY  
According to ISO/IEC Guide 22 and CEN/CENELEC EN 45014  
Manufacturer’s Name:  
Manufacturer’s Address:  
Agilent Technologies, Incorporated  
815 – 14th St. SW  
Loveland, Colorado 80537  
USA  
Declares, that the product  
Product Name:  
Model Number:  
Product Options:  
Summing Amplifier/DAC  
E1446A  
This declaration covers all options of the above product(s).  
Conforms with the following European Directives:  
The product herewith complies with the requirements of the Low Voltage Directive 73/23/EEC and the EMC Directive 89/336/EEC  
(including 93/68/EEC) and carries the CE Marking accordingly.  
Conforms with the following product standards:  
EMC  
Standard  
Limit  
CISPR 11:1990 / EN 55011:1991  
IEC 801-2 :1991 / EN50082-1 : 1992  
IEC 801-3 :1984 / EN50082-1 : 1992  
IEC 801-4 :1988 / EN50082-1 : 1992  
Group 1 Class A  
4kV CD, 8kV AD  
3 V/m  
0.5kV signal lines, 1kV power lines  
The produt was tested in a typical configuration with Agilent Technologies or Hewlett-Packard Company test  
systems  
IEC 1010-1:1990+A2:1996 / EN 61010-1:1993  
Canada: CSA C22.2 No. 1010.1:1992  
UL 3111-1  
Safety  
3 May 2001  
Date  
Ray Corson  
Product Regulations Program Manager  
For further information, please contact your local Agilent Technologies sales office, agent or distributor.  
Authorized EU-representative: Agilent Technologies Deutschland GmbH, Herrenberger Strabe 130, D 71034 Böblingen, Germany  
Agilent E1446A Summing Amplifier/DAC User’s Manual 7  
Notes  
8
Agilent E1446A Summing Amplifier/DAC User’s Manual  
Chapter 1  
Getting Started  
Chapter Contents  
This chapter provides a description of the Agilent E1446A Summing  
Amplifier/DAC module and describes how to install, configure, and  
program it. The main sections of this chapter are:  
General Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1  
Preparation for Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3  
Basic Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8  
General Description  
The Agilent E1446A Summing Amplifier/DAC is a multifunction  
register-based VXIbus C-size module. It is designed to work with either the  
Agilent E1445A Arbitrary Function Generator (AFG) or to function  
stand-alone with the Agilent E1405/06 Command Module as a power  
amplifier/DAC. The Agilent E1446A allows you to amplify or attenuate,  
sum, and offset signals via the main output. The differential (small signal)  
output allows you to invert a signal.  
Features The Agilent E1446A Summing Amplifier/DAC has the following features:  
provides two input channels that have:  
independently controlled input impedance  
independently controlled input attenuators of 0 to 31 dB in 1 dB  
steps.  
sums the two input channels.  
provides output channels that include:  
single-ended main output (power amplifier)  
differential (small signal) output; one inverting, one  
non-inverting.  
functions as stand-alone offset DAC.  
provides a DAC for offset control of the main output  
acts as a servant to the Agilent E1445A AFG.  
has SCPI language commands using the Agilent E1405/06  
Command Module or using the Agilent E1445A AFG.  
uses 1 slot in the Agilent 75000 Series C mainframe.  
General Description  
Getting Started 1-1  
Device Information  
Device type: register-based  
C-size (1 slot)  
Addressing modes: A16  
VXIbus Revision Compliance: 1.3  
SCPI Revision: 1991.0  
See side of module for power/cooling  
requirements  
Figure 1-1. The E1446A Summing Amplifier/DAC.  
1-2 Getting Started  
General Description  
Preparation for Use  
This section shows you how to configure the module, install it in the  
Agilent 75000 Series C mainframe, address the module, and download the  
SCPI driver.  
Note  
The following VXIbus configuration information pertains to the  
Agilent E1446A Summing Amplifier/DAC. For more (VXIbus) system  
configuration information, refer to the C-Size VXIbus Systems "Installation  
and Getting Started Guide" (Agilent P/N E1405-90021).  
Configuring the The Agilent E1446A Summing Amplifier/DAC can be configured as a  
servant of the Agilent E1445A Arbitrary Function Generator or as a  
stand-alone Power Amplifier/DAC.  
Amplifier  
Logical Address The Agilent E1446A logical address is used as follows :  
to  
place the amplifier in the servant area of a commander such as the  
Agilent E1445A AFG, Agilent E1405 Command Module, or an  
embedded controller.  
In Agilent VXIbus systems, the servant area is defined as:  
Servant area = (logical address + 1) through (logical address  
+ servant area switch setting)  
For example, to place the amplifier in the servant area of the  
Agilent E1445A:  
Agilent E1445A Logical address:  
Agilent E1445A Servant Area setting:  
Agilent E1446A Logical address:  
80  
8
88  
Servant Area = (80 + 1) through (80 + 8)  
to address the Agilent E1446A (see "Addressing the Amplifier" later  
in this chapter).  
The logical address factory setting is 88. You can change the setting during  
module installation. Valid addresses are from 1 to 255. The amplifier’s  
logical address switch is shown in Figure 1-2.  
Note  
The Agilent E1446A can be set to any valid logical address (1 - 255).  
However, when used with the Agilent E1445A or Agilent E1405/06, the  
Preparation for Use  
Getting Started 1-3  
(Agilent E1446A) logical address or the (Agilent E1445A/E1405/06)  
servant area must be set such that the Agilent E1446A is in the servant area  
of its intended commander.  
Figure 1-2. Setting the E1446A Logical Address.  
Installing the The Agilent E1446A Amplifier/DAC can be installed in any mainframe slot,  
except slot 0. If the Agilent E1445A AFG is a part of your system, it is  
Amplifier  
recommended that the Amplifier/DAC be installed in a slot adjacent to the  
AFG. Figure 1-3 shows how to install the module in the Agilent E1400  
Series C mainframe.  
1-4 Getting Started  
Preparation for Use  
Figure 1-3. Installing the E1446A Summing Amplifier/DAC.  
Addressing the The Agilent E1446A Summing Amplifier/DAC can be addressed by an  
external controller or by an embedded controller. This section describes  
Amplifier  
how to address the amplifier using an external controller with the  
Agilent E1445A AFG, with the Agilent E1405/06 Command Module, and  
with an embedded controller.  
Using an External The Agilent E1446A can be programmed from an external controller via the  
Agilent E1445A AFG or the Agilent E1405/06 Command Module. In an  
Agilent VXIbus system using an external controller, the amplifier is located  
by an (GPIB) address which consists of an interface select code, a primary  
GPIB address, and a secondary GPIB address:  
Controller  
Interface Select Code: Determined by the address of the GPIB interface  
card in the controller. For most Agilent Technologies controllers, this card  
has a factory set address of 7.  
Primary GPIB Address: Determined by the address of the GPIB port on  
the Agilent E1405 Command Module. Valid addresses for the Command  
Module are 0 to 30. The Command Module has a factory set address of 9.  
Preparation for Use  
Getting Started 1-5  
Secondary GPIB Address : Determined by dividing the logical address of  
the device by 8. If the amplifier is used with the Agilent E1445A, the  
secondary address is the E1445A logical address/8. If the amplifier is used  
with the Agilent E1405/06 Command Module, the secondary address is the  
E1446A logical address/8.  
Agilent E1445A AFG  
An example of the GPIB address in an BASIC statement when the amplifier  
is a servant of the Agilent E1445A is:  
OUTPUT 70910;"SOUR2:VOLT:OFFS 3"  
Where:  
Interface Select Code = 7  
(Command Module) Primary GPIB Address = 09  
Secondary GPIB address (Agilent E1445A logical address/8) = 10  
Agilent E1405/06 Command Module  
An example of the GPIB address in an BASIC statement when the amplifier  
is a servant of the Agilent E1405/06 is:  
OUTPUT 70911;"SOUR:VOLT:OFFS 3"  
Where:  
Interface Select Code = 7  
(Command Module) Primary GPIB Address = 09  
Secondary GPIB address (Agilent E1446A logical address/8) = 11  
Refer to Chapter 2, "Programming the Agilent E1446A", for more detailed  
information.  
1-6 Getting Started  
Preparation for Use  
Using an Embedded The Agilent E1446A Summing Amplifier/DAC can be programmed across  
the VXIbus backplane (select code 16) from an embedded controller, such  
as the Agilent E1480A V/360. With this configuration, communication with  
the register-based amplifier module can be accomplished via four paths:  
Controller  
1. Embedded controller across the VXIbus backplane to the  
Agilent E1445A AFG (SCPI programming only).  
2. Embedded controller to the Agilent E1405/06 Command Module via  
the GPIB interface (SCPI or register-based).  
3. Embedded controller to the Agilent E1405/06 over the GPIB and via  
the Agilent E1445A (SCPI only).  
4. Embedded controller across the VXIbus backplane to the  
Agilent E1446A (register-based programming only).  
Examples of how the amplifier is addressed in paths 1 through 3 are given  
below. Refer to Appendix C for information on addressing the amplifier  
during register-based programming.  
1. OUTPUT 1680;"INP:IMP 75"  
In this addressing configuration, the E1445A must be in the servant area of  
the embedded controller, and the E1446A must be in the servant area of the  
E1445A. Select code 16 is the only select code that can be used with this  
configuration.  
2. OUTPUT 70911;"INP:IMP 75"  
In this addressing configuration, the E1446 must be in the servant area of  
the E1405/06. Select code 7 (GPIB) is the only select code that can be used  
with this configuration.  
3. OUTPUT 70910;"INP:IMP 75"  
In this configuration, the E1445 must be in the servant area of the E1405/06.  
The E1446 must be in the servant area of the E1445A. Select code 7 (GPIB)  
is the only select code that can be used with this configuration.  
Downloading the When using the Agilent E1445A AFG, the SCPI driver is resident in ROM  
and ready to control the Agilent E1446A. However, to use the Agilent  
E1405 Command Module, the SCPI driver must be downloaded into the  
Command Module’s non-volatile memory from a disk. Both DOS and LIF  
Agilent E1446A  
SCPI Driver  
formatted driver disks are shipped with the Agilent E1446A. The drivers  
can be downloaded from controllers running DOS, BASIC (workstation),  
Preparation for Use  
Getting Started 1-7  
IBASIC, or BASIC/UX. Downloadable driver capability is available on the  
Agilent E1406 and on the E1405 with firmware revision A.06.00 or later.  
To verify the firmware revision of the Command Module, you can use the  
*IDN? Command:  
10 DIM A$[40]  
20 OUTPUT 70900;"*IDN?"  
30 ENTER 70900;A$  
40 PRINT A$  
50 END  
*IDN? returns identification information for the Agilent E1405 Command  
Module. The result of this command is:  
HEWLETT-PACKARD,E1405B,0,A.06.00  
Note  
For information on how to download the SCPI driver, refer to the  
"Downloading Device Drivers Installation Note" (Agilent P/N  
E1400-90021), or the "Agilent E1405B Command Module User’s Manual"  
(Agilent P/N E1405-90004).  
Basic Operation  
This section provides a block diagram and description of the basic operation  
of the Agilent E1446A Summing Amplifier/DAC. The description is  
divided into three parts:  
Input  
Output  
Offset DAC  
Additionally, the Output section is subdivided into two parts:  
Main Output  
Differential (small signal) Output.  
Refer to Appendix A, "Agilent E1446A Specifications", for operating  
specifications.  
1-8 Getting Started  
Basic Operation  
Figure 1-4. E1446A Summing Amplifier/DAC Block Diagram.  
Amplifier Block Figure 1-4 shows a block diagram of the Agilent E1446A Summing  
Amplifier/DAC.  
Diagram  
Input The Agilent E1446A Summing Amplifier/DAC has two input channels that  
have identical input amplifiers with independently controlled input  
impedance and input attenuation. The input amplifier attenuators provide  
independent level control prior to the summing node. The attenuation can  
range from 0 to 31 dB in 1 dB steps. The input impedance can be set to  
50, 75, or 1 M.  
Output  
The output channels provide the amplifier with the capability to boost the  
power output of a low-power signal source, and to provide low-level  
differential output. The output channels are:  
single-ended main output or power amplifier.  
differential (small signal) output; one inverting, one non-inverting.  
Main Output The power amplifier sums the two input channels plus the output of a 16-bit  
offset Digital-to-Analog Converter (DAC) to obtain output levels of ±10  
Vpeak into a 50or 75load on the single-ended output or ±20 Vpeak  
into high impedance. The voltage gain of the power amplifier is set at 10  
(20 dB) into a matched load, and at 20 (about 26 dB) into a high impedance.  
To obtain the desired output, the output attenuation and the output  
impedance can be independently selected. The output impedance can be set  
Basic Operation  
Getting Started 1-9  
to 50or 75Ω, or to 0for driving into high impedance. The output  
voltage can be attenuated by either 0 or 20 dB when 50or 75output  
impedance is selected. Output attenuation is unavailable with the 0mode  
(high impedance).  
The main output terminal may be enabled or disabled under user control.  
When disabled, the output appears as an open circuit. This output is also  
overload protected via an output relay. The output relay automatically opens  
when an overload condition is detected and disconnects the output from the  
load. An overload occurs if the sum of the inputs, plus the output of the  
offset DAC, is excessive, or if the output current limit is reached. The relay  
remains open until the overload condition is corrected and the output is reset  
by the user. Refer to Appendix A of this manual for these specifications.  
Differential (Small The differential (small signal) output sums the two input channels to obtain  
Signal) Output  
a maximum output level of ±1 Vpeak into a 50/75load. One of the  
outputs is a non-inverting amplifier (same polarity as the input); whereas the  
other is an inverting amplifier (opposite polarity as the input). Into a high  
impedance, each input has a maximum gain of two. The output impedance  
of each amplifier can be independently set to either 50or 75.  
With two low level output terminals, output signals can be taken from either  
of the terminals with respect to ground, or across the two terminals (in  
series). Output signals taken across the two terminals will result in two  
times the input voltage. Figure 1-5 shows the circuitry of the output signal  
taken across the two terminals.  
Figure 1-5. Measuring the Differential Output across both Terminals.  
1-10 Getting Started  
Basic Operation  
Offset DAC A precision (DAC) allows the Agilent E1446A to provide DC offset  
voltage levels. The DAC input is a complementary offset binary code. The  
full scale output provides approximately ±10V into 50or 75load, or  
approximately ±20V into high impedance.  
Basic Operation  
Getting Started 1-11  
1-12 Getting Started  
Basic Operation  
Chapter 2  
Programming the Agilent E1446A  
Chapter Contents  
This chapter shows you how to program the Agilent E1446A using SCPI  
Commands. The programming examples found in the chapter are  
written in BASIC. The main sections of the chapter are:  
Instrument and Programming Languages . . . . . . . . . . . . 2-1  
Introductory Programs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5  
Example Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8  
Generating and Amplifying Sine Waves . . . . . . . . . . . . . . 2-9  
Setting the Input Impedance. . . . . . . . . . . . . . . . . . . . . . . . 2-14  
Setting DC Voltage Offsets. . . . . . . . . . . . . . . . . . . . . . . . . 2-20  
Using the Differential (small signal) Outputs. . . . . . . . . . 2-26  
Summing Two Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-31  
Instrument and Programming Languages  
Though the E1446A amplifier is a register-based device, this module can  
be programmed with SCPI commands using the Agilent E1445A AFG  
or Agilent E1405 Command Module. This section describes the SCPI  
programming environment.  
SCPI Programming SCPI (Standard Commands for Programmable Instruments) is an  
ASCII-based instrument command language designed for test and  
measurement instruments. The Agilent E1445A AFG or the Agilent  
E1405 Command Module (with the amplifier driver installed) interprets  
the ASCII command strings and sets the amplifier accordingly. The  
AFG and Command Module do this by writing to the amplifier registers.  
SCPI Command The Agilent E1446A SCPI command set is found in Chapter 3. SCPI  
commands are based on a hierarchical structure, also known as a tree  
system. In this system, associated commands are grouped together under  
a common node or root, thus, forming subtrees or subsystems. An  
example is the amplifiers ’OUTPut2subsystem shown on the following  
page:  
Structure  
Instrument and Programming Languages  
Programming the Agilent E1446A 2-1  
OUTPut2  
:ATTenuation <attenuation>  
:IMPedance <impedance>  
:OVERload?  
[:STATe] <mode>  
:ACTual?  
[query only]  
[query only]  
OUTPut2 is the root keyword of the command, :ATTenuation, :IMPedance,  
:OVERload?, and [:STATe] are second level keywords, and :ACTual? is the  
third level keyword. A colon (:) always separates a command keyword from  
a lower level keyword as shown below:  
OUTP2:STAT:ACT?  
A semicolon (;) is used to separate two or more commands within the same  
subsystem, and can also save typing. For example, sending this command  
message:  
OUTP2:IMP 50;OUTP2:ATT 6;OUTP2:STAT ON  
is the same as sending these three commands:  
OUTP2:IMP 50  
OUTP2:ATT 6  
OUTP2:STAT ON  
A semicolon (;) and a colon (:) are used to separate two or more commands  
from different subsystems in the same command message. For example:  
INP1:IMP 50;:OUTP2:IMP 50  
Command Coupling The following amplifier commands are value coupled:  
E1446 with E1405/06  
OUTPut1:ATTenuation <attenuation>  
OUTPut1:IMPedance <impedance>  
SOURce:VOLTage[:LEVel][:IMMediate]:OFFSet <voltage>  
E1446 with E1445  
OUTPut2:ATTenuation <attenuation>  
OUTPut2:IMPedance <impedance>  
SOURce2:VOLTage[:LEVel][:IMMediate]:OFFSet <voltage>  
This means that sending one of these commands can change the value set  
previously by another one of these commands. Often, this results in  
“Settings Conflict” errors when the program executes. To prevent these  
errors these commands must be executed in a "coupling group".  
2-2 Programming the Agilent E1446A  
Instrument and Programming Languages  
Executing Coupled The list below identifies rules to follow when executing coupled commands:  
Commands  
Coupled commands must be contiguous and executed in the same  
program statement. This done by placing the commands in the same  
program line, or by suppressing the end-of-line terminator until the  
last coupled command has been sent.  
To send multiple commands in a single line or in a single statement,  
the commands are linked (as described previously) with a semicolon  
(;) and a colon(:). For example:  
OUTP2:IMP 50;OUTP2:ATT 6  
or  
OUTP2:IMP 50;  
:OUTP2:ATT 6  
In BASIC programs, the end-of-line (EOL) terminator is suppressed  
by placing a semicolon (;) following the quotation mark (") which  
closes the command string. For example:  
OUTPUT 70910;"OUTP2:IMP 50;";  
OUTPUT 70910;":OUTP2:ATT 6"  
OUTPUT 70910;"OUTP2:STAT ON"  
As shown, the first two lines are coupled together. The third line is  
not a coupled command, therefore, the EOL terminator is not  
suppressed on the second line.  
Commands not in the coupling group must either preceed or follow  
commands in the coupling group.  
Un-coupled commands executed in a coupling group break the  
coupling.  
Error checking occurs at the end of the coupling group.  
Hardware updates occur at the end of the coupling group.  
Instrument and Programming Languages  
Programming the Agilent E1446A 2-3  
Instrument Driver The E1446A instrument driver and the example programs contained in this  
manual are located on the following disks:  
and Example  
Programs Disks  
Agilent E1446A Instrument Driver and BASIC Example  
Programs - 3.5" 720 kbyte disk LIF Format (E1446-10031)  
Agilent E1446A Instrument Driver and BASIC Example  
Programs - 3.5" 1.44 Mbyte disk DOS Format (E1446-10032)  
The example programs are SCPI programs written in BASIC. On the LIF  
formatted disk (E1446-10031), the programs are in LOAD / STORE  
(PROG) format. On the DOS formatted disk (E1446-10032), the programs  
are in GET / SAVE (ASCII) format.  
System Each program in this chapter is written in BASIC. Except where noted, the  
programs were developed on the following system:  
Configuration  
Controller:  
HP 9000 Series 300  
Mainframe:  
Agilent 75000 Series C  
Slot 0/Resource Manager:  
Agilent E1405B Command  
Module  
E1445A Logical Address:  
E1445A Servant Area:  
E1446A Logical Address:  
Instrument Language:  
80  
8
88  
SCPI  
2-4 Programming the Agilent E1446A  
Instrument and Programming Languages  
Introductory Programs  
The introductory programs in this section include:  
Executing the Agilent E1446A self-test.  
Resetting the Agilent E1446A and clearing the Error Queue.  
Querying the Agilent E1446A power-on/reset settings.  
The introductory program examples in this section were written with the  
Agilent E1405 Command Module as the commander of the Agilent E1446A  
Summing Amplifier/DAC.  
Executing the The amplifier self-test is executed with the command:  
Self-Test  
*TST?  
During the self-test, communication between the command module and the  
on-card registers is tested. The *TST? returns one of the self-test codes  
listed below:  
0 = passed.  
1 = failed. (An error message describes the failure.)  
Executing the Self-Test  
1
!Agilent E1446A Self-test  
10 !Send the self-test command, enter and display the result.  
20 OUTPUT 70911;"*TST?"  
30 ENTER 70911;Rslt  
40 PRINT Rslt  
50 END  
Introductory Programs  
Programming the Agilent E1446A 2-5  
Resetting and The commands to reset and clear the amplifier are:  
Clearing the Agilent  
E1446A  
*RST  
*CLS  
Resetting the amplifier sets it to its power-on configuration. Clearing status  
on the amplifier clears the error queue.  
Resetting and Clearing the Agilent E1446A  
1
!Resetting and clearing the Agilent E1446A  
10 !Assign an I/O Path for the computer, command module, and the  
20 !E1446A. Send the appropriate commands and wait for completion.  
30 ASSIGN @Amp to 70911  
40 OUTPUT @Amp;"*RST;*CLS;*OPC?"  
50 ENTER @Amp;Complete  
60 END  
Querying the The command used to query each Agilent E1446A setting is:  
Power-on/Reset  
*LRN?  
Configuration  
The *LRN? command queries the power-on/reset configuration and returns  
a sequence of commands that may be re-sent to the amplifier.  
2-6 Programming the Agilent E1446A  
Introductory Programs  
LRN  
1
!RE-STORE "LRN"  
10 !Assign an I/O path between the computer and the amplifier.  
20 ASSIGN @Amp TO 70911  
30 !Call the subprogram  
40 Lrn_conf(@Amp)  
50 END  
60  
!
70 SUB Lrn_conf(@Amp)  
80 Lrn_conf: !subprogram which queries the amp reset configuration  
90  
DIM Lrn$[1000]  
100 OUTPUT @Amp;"*LRN?"  
110 ENTER @Amp;Lrn$  
120 Lrn$=Lrn$&";"  
130 REPEAT  
140  
150  
160  
I=POS(Lrn$,";")  
PRINT Lrn$[1;I-1]  
Lrn$=Lrn$[I+1]  
170 UNTIL Lrn$=""  
180 SUBEND  
Table 2-1. E1446A Power-On/Reset Configuration (as returned by *LRN?).  
Parameter  
Command  
Power-on/Reset  
Settings  
Agilent E1446A  
Agilent E1445A  
Input1 Attenuation  
Input1 Impedance  
Input2 Attenuation  
Input2 Impedance  
Main Output Attenuation  
Main Output Impedance  
Main Output State  
Diff "+" Impedance  
Diff "-" Impedance  
DC offset  
INP1:ATT  
INP1:IMP  
INP1:ATT  
INP1:IMP  
+0.00000000E+000 0 dB  
+5.00000000E+001  
50Ω  
INP2:ATT  
INP2:ATT  
+0.00000000E+0000 0 dB  
INP2:IMP  
INP2:IMP  
+5.00000000E+001  
50Ω  
OUTP1:ATT  
OUTP1:IMP  
OUTP1:STAT  
OUTP2:IMP  
OUTP3:IMP  
OUTP2:ATT  
OUTP2:IMP  
OUTP2:STAT  
OUTP3:IMP  
OUTP4:IMP  
+0.00000000E+000 0 dB  
+5.00000000E+001  
1
50Ω  
(on)  
50Ω  
50Ω  
0V  
+5.00000000E+001  
+5.00000000E+001  
SOUR:VOLT:LEV:IMM:OFFS SOUR2:VOLT:LEV:IMM:OFFS +0.00000000E+000  
Introductory Programs  
Programming the Agilent E1446A 2-7  
Example Programs  
The example programs in this section include:  
Generating and amplifying sine waves  
Selecting the input impedance  
Using the differential (small signal) outputs  
Setting a DC offset voltage  
Summing two signals  
These programs configure the amplifier according to the block diagram of  
Figure 2-1. The program descriptions will often refer to this figure. The  
programs were written with the amplifier configured as a servant of the  
Agilent E1445A AFG, and as a servant of the Agilent E1405 Command  
Module.  
Refer to Chapter 3, "Command Reference" for a detailed description of the  
Agilent E1446A commands. Refer to Chapter 8 of the "Agilent E1445A  
Arbitrary Function Generators User’s Manual" for a detailed description of  
the Agilent E1445A commands.  
Figure 2-6. E1446A Functional Block Diagram.  
2-8 Programming the Agilent E1446A  
Example Programs  
Generating and Amplifying Sine Waves  
The examples in this section show you how to amplify a sine wave  
generated by the Agilent E1445A. In the first program, the E1446A is a  
servant of the E1445A AFG. In the second program, the E1446A amplifies  
the signal from the E1445A, however; the E1446A is in the servant area of  
the E1405 Command Module.  
Amplifying Sine This program uses the E1446A to amplify a 2 Vpp E1445A AFG signal to  
14.15 Vpp. Since the intended output amplitude and the input amplitude are  
known, the amount of attenuation (0 - 31 dB attenuator) is determined as:  
Waves (Agilent  
E1445A  
Commander)  
attenuation  
= 20 LOG (V /(V * 10))  
(dB)  
o
i
where V is the output amplitude and V is the input signal amplitude (V  
o
o
i
and V units (Vpp, Vp) must be the same). Thus,  
i
attenuation  
= 20 LOG (14/20) = -3 dB  
(dB)  
The (main) output of the AFG is connected to ’Input 1’ of the amplifier.  
The steps of this program are:  
1. Reset the E1445A AFG and E1446A amplifier.  
*RST  
2. Set the AFG frequency, function, and amplitude.  
[SOURce:]FREQuency[1][:CW|:FIXed] <frequency>  
[SOURce:]FUNCtion[:SHAPe] <shape>  
[SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude]  
<amplitude>  
3. Couple the AFG output load value to the output impedance value.  
OUTPut[1]:LOAD:AUTO <mode>  
OUTPut[1]:IMPedance <impedance>  
Generating and Amplifying Sine Waves  
Programming the Agilent E1446A 2-9  
4. Set the amplifier input impedance to match the AFG output load.  
INPut[1]:IMPedance <impedance>  
5. Set the amplifier input attenuation.  
INPut[1]:ATTenuation <attenuation>  
6. Set the amplifier output impedance.  
OUTPut2:IMPedance <impedance>  
7. Set the amplifier output attenuation.  
OUTPut2:ATTenuation <attenuation>  
8. Place the AFG in the wait-for-arm state.  
INITiate:IMMediate  
Note  
Note  
Resetting the amplifier sets many of the same conditions set by subsequent  
(amplifier) commands in the program. These commands are included,  
however, to show other parts of the amplifier configuration.  
For more information on how to program the Agilent E1445A AFG, refer to  
the Agilent E1445A Arbritrary Function Generator User’s Manual.  
AMPL45  
1
2
3
4
!RE-STORE"AMPL45"  
!The following program uses the E1445A to generate a 1 kHz, 2Vpp  
!sine wave. The Agilent E1446A amplifies the signal to approximately 14 Vpp.  
!
10 !Assign I/O path between the computer and E1445A. As the commander of  
20 !the Agilent E1446A, the E1445A sends the amplifier its commands.  
30 ASSIGN @Afg TO 70910  
40 COM @Afg  
50  
!
60 !Set up error checking  
70 ON INTR 7 CALL Errmsg  
80 ENABLE INTR 7;2  
Continued on Next Page  
2-10 Programming the Agilent E1446A  
Generating and Amplifying Sine Waves  
90 OUTPUT @Afg;"*CLS"  
100 OUTPUT @Afg;"*SRE 32"  
110 OUTPUT @Afg;"*ESE 60"  
120 !  
130 !Call the subprograms  
140 Rst  
150 Sine_wave  
160 !  
170 WAIT .1 !allow interrupt to be serviced  
180 OFF INTR 7  
190 END  
200 !  
210 SUB Sine_wave  
220 Sine_wave: !Subprogram which sets the E1445A to output a sine wave  
230 COM @Afg  
240 OUTPUT @Afg;"SOUR:FREQ1:FIX 1E3;";  
250 OUTPUT @Afg;":SOUR:FUNC:SHAP SIN;";  
!frequency  
!function  
260 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL 2VPP;"; !amplitude  
270 OUTPUT @Afg;":OUTP:LOAD:AUTO ON;";  
280 OUTPUT @Afg;":OUTP:IMP 50"  
!couple load to impedance  
!output impedance  
290  
!
300 !Set up the Agilent E1446A  
310 OUTPUT @Afg;"INP1:IMP 50"  
320 OUTPUT @Afg;"INP1:ATT 3"  
330 OUTPUT @Afg;"OUTP2:IMP 50;";  
340 OUTPUT @Afg;":OUTP2:ATT 0"  
!input impedance  
!input attenuation (dB)  
!main output impedance  
!main output attenuation  
350  
!
360 OUTPUT @Afg;"INIT:IMM"  
370 SUBEND  
!E1445A wait-for-arm state  
380 !  
390 SUB Rst  
400 Rst: !Subprogram which resets the E1445A and E1446A  
410 COM @Afg  
420 OUTPUT @Afg;"*RST;*OPC?" !reset the AFG  
430 ENTER @Afg;Complete  
440 SUBEND  
450 !  
460 SUB Errmsg  
470 Errmsg: !Subprogram which displays E1445/E1446 programming errors  
480 COM @Afg  
490 DIM Message$[256]  
500 !Read AFG status byte register and clear service request bit  
510 B=SPOLL(@Afg)  
520 !End of statement if error occurs among coupled commands  
530 OUTPUT @Afg;""  
540 OUTPUT @Afg;"ABORT" !abort output waveform  
Continued on Next Page  
Generating and Amplifying Sine Waves  
Programming the Agilent E1446A 2-11  
550 REPEAT  
560  
570  
580  
OUTPUT @Afg;"SYST:ERR?" !read AFG error queue  
ENTER @Afg;Code,Message$  
PRINT Code,Message$  
590 UNTIL Code=0  
600 STOP  
610 SUBEND  
Amplifying Sine This program uses the same commands and sequence as previously  
described, except for the OUTPut[1] commands shown below:  
Waves (Agilent  
E1405 Commander)  
6. Set the amplifieroutput impedance.  
OUTPut[1]:IMPedance <impedance>  
7. Set the amplifier output attenuation.  
OUTPut[1]:ATTenuation <attenuation>  
In this example, the E1446A is a servant to the E1405. As such, commands  
sent to the amplifier (at secondary GPIB address 11) are parsed by the  
Command Module rather than by the E1445A.  
AMPL05  
1
2
3
4
!RE-STORE"AMPL05"  
!The following program uses the Agilent E1445A to generate a 1 kHz, 2Vpp  
!sine wave. The Agilent E1446A amplifies the signal to approximately 14 Vpp.  
!
10 !Assign I/O paths between the computer and E1445A, and between the  
20 !computer and E1405. As the commander of the E1446A, the E1405 sends the  
30 !amplifier its commands.  
40 ASSIGN @Afg TO 70910  
50 ASSIGN @Amp TO 70911  
60 COM @Afg,@Amp  
70  
!
80 !Set up error checking  
90 ON INTR 7 CALL Errmsg  
100 ENABLE INTR 7;2  
110 OUTPUT @Afg;"*CLS"  
120 OUTPUT @Afg;"*SRE 32"  
130 OUTPUT @Afg;"*ESE 60"  
140 !  
Continued on Next Page  
2-12 Programming the Agilent E1446A  
Generating and Amplifying Sine Waves  
150 OUTPUT @Amp;"*CLS"  
160 OUTPUT @Amp;"*SRE 32"  
170 OUTPUT @Amp;"*ESE 60"  
180 !  
190 !Call the subprograms  
200 Rst  
210 Sine_wave  
220 !  
230 WAIT .1 !allow interrupt to be serviced  
240 OFF INTR 7  
250 END  
260 !  
270 SUB Sine_wave  
280 Sine_wave: !Subprogram which sets the E1445A to output a sine wave  
290 COM @Afg,@Amp  
300 OUTPUT @Afg;"SOUR:FREQ1:FIX 1E3;";  
310 OUTPUT @Afg;":SOUR:FUNC:SHAP SIN;";  
!frequency  
!function  
320 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL 2VPP;"; !amplitude  
330 OUTPUT @Afg;":OUTP:LOAD:AUTO ON;";  
340 OUTPUT @Afg;":OUTP:IMP 50"  
!couple load to impedance  
!output impedance  
350  
!
360 !Set up the Agilent E1446A  
370 OUTPUT @Amp;"INP1:IMP 50"  
380 OUTPUT @Amp;"INP1:ATT 3"  
390 OUTPUT @Amp;"OUTP1:IMP 50;";  
400 OUTPUT @Amp;":OUTP1:ATT 0"  
!input impedance  
!input attenuation (dB)  
!main output impedance  
!main output attenuation  
410  
!
420 OUTPUT @Afg;"INIT:IMM"  
430 SUBEND  
!E1445A wait-for-arm state  
440 !  
450 SUB Rst  
460 Rst: !Subprogram which resets the E1445A and E1446A  
470 COM @Afg,@Amp  
480 OUTPUT @Afg;"*RST;*OPC?" !reset the AFG  
490 ENTER @Afg;Complete  
500 OUTPUT @Amp;"*RST;*OPC?" !reset the AMP  
510 ENTER @Amp;Complete  
520 SUBEND  
530 !  
540 SUB Errmsg  
550 Errmsg: !Subprogram which displays E1445/E1446 programming errors  
560 COM @Afg,@Amp  
570 DIM Message$[256]  
580 !Read AFG (at sec addr 10) status byte register, clear service  
590 !request bit  
600 B=SPOLL(@Afg)  
Continued on Next Page  
Generating and Amplifying Sine Waves  
Programming the Agilent E1446A 2-13  
610 IF BIT(B,6) THEN !AFG requested service  
620 !End of statement if error occurs among coupled commands  
630  
640  
650  
660  
670  
680  
690  
700  
710  
720  
OUTPUT @Afg;""  
OUTPUT @Afg;"ABORT" !abort output waveform  
PRINT "E1445A errors"  
PRINT  
REPEAT  
OUTPUT @Afg;"SYST:ERR?" !read AFG error queue  
ENTER @Afg;Code,Message$  
PRINT Code,Message$  
UNTIL Code=0  
STOP  
730 END IF  
740  
!
750 !Read AMP (at sec addr 11) status byte register, clear service  
760 !request bit  
770 B=SPOLL(@Amp)  
780 IF BIT(B,6) THEN !amplifier requested service  
790 !End of statement if error occurs among coupled commands  
800  
810  
820  
830  
840  
850  
860  
870  
OUTPUT @Amp;""  
PRINT "E1446A errors"  
PRINT  
REPEAT  
OUTPUT @Amp;"SYST:ERR?"!read AMP error queue  
ENTER @Amp;Code,Message$  
PRINT Code,Message$  
UNTIL Code=0  
880 END IF  
890 STOP  
900 SUBEND  
Setting the Input Impedance  
The examples in this section show you how to amplify a sine wave  
generated by the Agilent E1445A. In the first program, the E1446A is a  
servant of the E1445A AFG. In the second program, the E1446A amplifies  
the signal from the E1445A, however; the E1446A is in the servant area of  
the E1405 Command Module.  
Setting the Input This program sets the E1446A’s input impedance to match the output  
impedance of the E1445A. The signal supplied by the E1445A is a 1 Vpp, 2  
MHz square wave. The signal is amplified to 6.3 Vpp. Again, when the  
intended output amplitude and the input amplitude are known, the amount of  
attenuation (0 - 31 dB attenuator) is determined by:  
Impedance  
(Agilent E1445A  
Commander)  
2-14 Programming the Agilent E1446A  
Setting the Input Impedance  
attenuation  
= 20 LOG (V /(V * 10))  
(dB)  
o
i
where V is the output amplitude and V is the input signal amplitude (V  
o
o
i
and V units (Vpp, Vp) must be the same). Thus,  
i
attenuation  
= 20 LOG (6.3/10) = -4 dB  
(dB)  
Again, the (main) output of the AFG is connected to ’Input 1’ of the  
amplifier.  
The steps of this program are:  
1. Reset the E1445A AFG and E1446A amplifier.  
*RST  
2. Set the AFG frequency, function, and amplitude.  
[SOURce:]FREQuency[1][:CW|:FIXed] <frequency>  
[SOURce:]FUNCtion[:SHAPe] <shape>  
[SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude]  
<amplitude>  
3. Set the AFG output load and output impedance values.  
OUTPut[1]:LOAD <load>  
OUTPut[1]:IMPedance <impedance>  
4. Set the amplifier input impedance to match the AFG output load.  
INPut[1]:IMPedance <impedance>  
5. Set the amplifier input attenuation.  
INPut[1]:ATTenuation <attenuation>  
6. Set the amplifier output impedance.  
OUTPut2:IMPedance <impedance>  
7. Set the amplifier output attenuation.  
OUTPut2:ATTenuation <attenuation>  
Setting the Input Impedance  
Programming the Agilent E1446A 2-15  
8. Place the AFG in the wait-for-arm state.  
INITiate:IMMediate  
Note  
Resetting the amplifier sets many of the same conditions set by subsequent  
(amplifier) commands in the program. These commands are included,  
however, to show other parts of the amplifier configuration.  
IN_IMP45  
1
2
3
4
5
6
!RE-STORE"IN_IMP45"  
!This program sets the AFG’s output impedance and output load  
!to 75 ohms. The Agilent E1446A amplifier’s input impedance is set to  
!75 ohms to match the AFG. The 1 Vpp AFG square wave is amplified  
!to 6.3 Vpp.  
!
10 !Assign I/O path between the computer and E1445A.  
20 ASSIGN @Afg TO 70910  
30 COM @Afg  
40  
!
50 !Set up error checking  
60 ON INTR 7 CALL Errmsg  
70 ENABLE INTR 7;2  
80 OUTPUT @Afg;"*CLS"  
90 OUTPUT @Afg;"*SRE 32"  
100 OUTPUT @Afg;"*ESE 60"  
110 !  
120 !Call the subprograms  
130 CALL Rst  
140 CALL Out_load  
150 !  
160 WAIT .1 !allow interrupt to be serviced  
170 OFF INTR 7  
180 END  
190 !  
200 SUB Out_load  
210 Out_load: !Subprogram which sets the output load  
220 COM @Afg  
230 OUTPUT @Afg;"SOUR:FREQ1:FIX 2E6;";  
240 OUTPUT @Afg;":SOUR:FUNC:SHAP SQU;";  
!frequency  
!function  
250 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL 1VPP;"; !amplitude  
260 OUTPUT @Afg;":OUTP:IMP 75;";  
270 OUTPUT @Afg;":OUTP:LOAD 75"  
Continued on Next Page  
!output impedance  
!output load  
2-16 Programming the Agilent E1446A  
Setting the Input Impedance  
280  
!
290 !Set up amplifier  
300 OUTPUT @Afg;"INP1:IMP 75"  
310 OUTPUT @Afg;"INP1:ATT 4"  
320 OUTPUT @Afg;"OUTP2:IMP 50"  
330 OUTPUT @Afg;"OUTP2:ATT 0"  
!input impedance  
!input attenuation (dB)  
!main output impedance  
!main output attenuation (dB)  
340  
!
350 OUTPUT @Afg;"INIT:IMM"  
360 SUBEND  
!E1445A wait-for-arm state  
370 !  
380 SUB Rst  
390 Rst: !Subprogram which resets the E1445 and E1446  
400 COM @Afg  
410 OUTPUT @Afg;"*RST;*OPC?"  
420 ENTER @Afg;Complete  
430 SUBEND  
!reset the AFG  
440 !  
450 SUB Errmsg  
460 Errmsg: !Subprogram which displays E1445/E1446 programming errors  
470 COM @Afg  
480 DIM Message$[256]  
490 !Read AFG status byte register and clear service request bit  
500 B=SPOLL(@Afg)  
510 !End of statement if error occurs among coupled commands  
520 OUTPUT @Afg;""  
530 OUTPUT @Afg;"ABORT" !abort output waveform  
540 REPEAT  
550  
560  
570  
OUTPUT @Afg;"SYST:ERR?" !read AFG error queue  
ENTER @Afg;Code,Message$  
PRINT Code,Message$  
580 UNTIL Code=0  
590 STOP  
600 SUBEND  
Setting Input This program uses the same commands and sequence as previously  
described, except for the OUTPut[1] commands shown below:  
Impedance  
(Agilent E1405B  
6. Set the amplifier output impedance.  
Commander)  
OUTPut[1]:IMPedance <impedance>  
7. Set the amplifier output attenuation.  
OUTPut[1]:ATTenuation <attenuation>  
Setting the Input Impedance  
Programming the Agilent E1446A 2-17  
In this example, the E1446A is a servant to the E1405. As such, commands  
sent to the amplifier (at secondary GPIB address 11) are parsed by the  
Command Module rather than by the E1445A.  
IN_IMP05  
1
2
3
4
5
6
!RE-STORE"IN_IMP05"  
!This program sets the AFG’s output impedance and output load  
!to 75 ohms. The Agilent E1446A amplifier’s input impedance is set to  
!75 ohms to match the AFG. The 1 Vpp AFG square wave is amplified  
!to 6.3 Vpp.  
!
10 !Assign I/O paths between the computer and E1445A and E1405.  
20 ASSIGN @Afg TO 70910  
30 ASSIGN @Amp TO 70911  
40 COM @Afg,@Amp  
50  
!
60 !Set up error checking  
70 ON INTR 7 CALL Errmsg  
80 ENABLE INTR 7;2  
90 OUTPUT @Afg;"*CLS"  
100 OUTPUT @Afg;"*SRE 32"  
110 OUTPUT @Afg;"*ESE 60"  
120 !  
130 OUTPUT @Amp;"*CLS"  
140 OUTPUT @Amp;"*SRE 32"  
150 OUTPUT @Amp;"*ESE 60"  
160 !  
170 !Call the subprograms  
180 CALL Rst  
190 CALL Out_load  
200 !  
210 WAIT .1 !allow interrupt to be serviced  
220 OFF INTR 7  
230 END  
240 !  
250 SUB Out_load  
260 Out_load: !Subprogram which sets the output load  
270 COM @Afg,@Amp  
280 OUTPUT @Afg;"SOUR:FREQ1:FIX 2E6;";  
290 OUTPUT @Afg;":SOUR:FUNC:SHAP SQU;";  
!frequency  
!function  
300 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL 1VPP;"; !amplitude  
310 OUTPUT @Afg;":OUTP:IMP 75;";  
320 OUTPUT @Afg;":OUTP:LOAD 75"  
!output impedance  
!output load  
330  
!
Continued on Next Page  
2-18 Programming the Agilent E1446A  
Setting the Input Impedance  
340 !Set up amplifier  
350 OUTPUT @Amp;"INP1:IMP 75"  
360 OUTPUT @Amp;"INP1:ATT 4"  
370 OUTPUT @Amp;"OUTP1:IMP 50"  
380 OUTPUT @Amp;"OUTP1:ATT 0"  
!input impedance  
!input attenuation (dB)  
!main output impedance  
!main output attenuation (dB)  
390  
!
400 OUTPUT @Afg;"INIT:IMM"  
410 SUBEND  
!E1445A wait-for-arm state  
420 !  
430 SUB Rst  
440 Rst: !Subprogram which resets the E1445 and E1446  
450 COM @Afg,@Amp  
460 OUTPUT @Afg;"*RST;*OPC?"  
470 ENTER @Afg;Complete  
480 OUTPUT @Amp;"*RST;*OPC?"  
490 ENTER @Amp;Complete  
500 SUBEND  
!reset the AFG  
!reset the AMP  
510 !  
520 SUB Errmsg  
530 Errmsg: !Subprogram which displays E1445/E1446 programming errors  
540 COM @Afg,@Amp  
550 DIM Message$[256]  
560 !Read AFG (at sec addr 10) status byte register, clear service  
570 !request bit  
580 B=SPOLL(@Afg)  
590 IF BIT(B,6) THEN !AFG requested service  
600 !End of statement if error occurs among coupled commands  
610  
620  
630  
640  
650  
660  
670  
680  
690  
700  
OUTPUT @Afg;""  
OUTPUT @Afg;"ABORT"!abort output waveform  
PRINT "E1445A errors"  
PRINT  
REPEAT  
OUTPUT @Afg;"SYST:ERR?" !read AFG error queue  
ENTER @Afg;Code,Message$  
PRINT Code,Message$  
UNTIL Code=0  
STOP  
710 END IF  
720  
!
730 !Read AMP (at sec addr 11) status byte register, clear service  
740 !request bit  
750 B=SPOLL(@Amp)  
760 IF BIT(B,6) THEN !amplifier requested service  
770 !End of statement if error occurs among coupled commands  
780  
OUTPUT @Amp;""  
790  
PRINT "E1446A errors"  
Continued on Next Page  
Setting the Input Impedance  
Programming the Agilent E1446A 2-19  
800  
810  
820  
830  
840  
850  
PRINT  
REPEAT  
OUTPUT @Amp;"SYST:ERR?" !read AMP error queue  
ENTER @Amp;Code,Message$  
PRINT Code,Message$  
UNTIL Code=0  
860 END IF  
870 STOP  
880 SUBEND  
Setting DC Voltage Offsets  
These examples show you how to use the amplifier to add a DC offset to a  
signal supplied by the E1445A. In the first example, the E1446A is a servant  
to the E1445A. In the second example, the E1446A is a servant to the E1405  
Command Module.  
Setting DC Offsets This program adds an 8V DC offset to a 0.4 Vpp E1445A signal. To  
maintain 0.4 Vpp at the output, the signal is attenuated by 20 dB at the  
amplifier input (Figure 2-1). The offset supplied by the E1446A DAC is  
added to the input signal and is amplified. Into 50W, the 0.4 Vpp signal is  
(Agilent E1445A  
Commander)  
centered on 8V.  
The steps of this program are:  
1. Reset the E1445A AFG and E1446A amplifier.  
*RST  
2. Set the AFG frequency, function, and amplitude.  
[SOURce:]FREQuency[1][:CW|:FIXed] <frequency>  
[SOURce:]FUNCtion[:SHAPe] <shape>  
[SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude]  
<amplitude>  
3. Couple the AFG output load value to the output impedance value.  
OUTPut[1]:LOAD:AUTO <mode>  
OUTPut[1]:IMPedance <impedance>  
4. Set the amplifier input impedance to match the AFG output load.  
INPut[1]:IMPedance <impedance>  
2-20 Programming the Agilent E1446A  
Setting DC Voltage Offsets  
5. Set the amplifier input attenuation.  
INPut[1]:ATTenuation <attenuation>  
6. Set the amplifier main output impedance.  
OUTPut2:IMPedance <impedance>  
7. Set the amplifier main output attenuation.  
OUTPut2:ATTenuation <attenuation>  
8. Set the DC offset value.  
SOURce2:VOLTage[:LEVel][:IMMediate]:OFFSet <offset>  
9. Place the AFG in the wait-for-arm state.  
INITiate:IMMediate  
Note  
Resetting the amplifier sets many of the same conditions set by subsequent  
(amplifier) commands in the program. These commands are included,  
however, to show other parts of the amplifier configuration.  
OFFS45  
1
2
3
4
5
6
7
8
!RE-STORE"OFFS45"  
!This program uses the E1446A to generate an 8V DC offset for a  
!0.4 Vpp signal supplied by the E1445A AFG. To accomplish this, the  
!AFG signal is attenuated by 20 dB at the amplifier input. The amplifier  
!offset is set to 8V, the output impedance to 50 ohms, and the output  
!attenuation to 0 dB. Into 50 ohms, the 0.4 Vpp signal is centered on  
!8 volts.  
!
10 !Assign I/O path between the computer and E1445A. As the commander of  
20 !the Agilent E1446A, the E1445A sends the amplifier its commands.  
30 ASSIGN @Afg TO 70910  
40 COM @Afg  
50  
!
Continued on Next Page  
Setting DC Voltage Offsets  
Programming the Agilent E1446A 2-21  
60 !Set up error checking  
70 ON INTR 7 CALL Errmsg  
80 ENABLE INTR 7;2  
90 OUTPUT @Afg;"*CLS"  
100 OUTPUT @Afg;"*SRE 32"  
110 OUTPUT @Afg;"*ESE 60"  
120 !  
130 !Call the subprograms  
140 Rst  
150 Offset  
160 !  
170 WAIT .1 !allow interrupt to be serviced  
180 OFF INTR 7  
190 END  
200 !  
210 SUB Offset  
220 Offset: !Subprogram which sets up the E1445A and E1446A  
230 COM @Afg  
240 OUTPUT @Afg;"SOUR:FREQ1:FIX 1E3;";  
250 OUTPUT @Afg;":SOUR:FUNC:SHAP SIN;";  
!frequency  
!function  
260 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL .4VPP;"; !amplitude  
270 OUTPUT @Afg;":OUTP:LOAD:AUTO ON;";  
280 OUTPUT @Afg;":OUTP:IMP 50"  
!couple load to impedance  
!impedance  
290  
!
300 !Set up the Agilent E1446A  
310 OUTPUT @Afg;"INP1:IMP 50"  
320 OUTPUT @Afg;"INP1:ATT 20"  
330 OUTPUT @Afg;"OUTP2:IMP 50;";  
340 OUTPUT @Afg;":OUTP2:ATT 0;";  
!input impedance  
!input attenuation (dB)  
!main output impedance  
!main output attenuation (dB)  
350 OUTPUT @Afg;":SOUR2:VOLT:LEV:IMM:OFFS 8" !DC offset  
360  
!
370 OUTPUT @Afg;"INIT:IMM"  
380 SUBEND  
!E1445A wait-for-arm state  
390 !  
400 SUB Rst  
410 Rst: !Subprogram which resets the E1445A and E1446A  
420 COM @Afg  
430 OUTPUT @Afg;"*RST;*OPC?" !reset the AFG  
440 ENTER @Afg;Complete  
450 SUBEND  
460 !  
470 SUB Errmsg  
480 Errmsg: !Subprogram which displays E1445/E1446 programming errors  
490 COM @Afg  
500 DIM Message$[256]  
Continued on Next Page  
2-22 Programming the Agilent E1446A  
Setting DC Voltage Offsets  
510 !Read AFG status byte register and clear service request bit  
520 B=SPOLL(@Afg)  
530 !End of statement if error occurs among coupled commands  
540 OUTPUT @Afg;""  
550 OUTPUT @Afg;"ABORT" !abort output waveform  
560 REPEAT  
570  
580  
590  
OUTPUT @Afg;"SYST:ERR?" !read AFG error queue  
ENTER @Afg;Code,Message$  
PRINT Code,Message$  
600 UNTIL Code=0  
610 STOP  
620 SUBEND  
Setting DC Offsets This program uses the same commands and sequence as previously  
described, except for the OUTPut[1] and SOURCe:VOLTage commands  
shown below:  
(Agilent E1405  
Commander)  
6. Set the amplifier main output impedance.  
OUTPut[1]:IMPedance <impedance>  
7. Set the amplifier main output attenuation.  
OUTPut[1]:ATTenuation <attenuation>  
8. Set the DC offset value.  
SOURce:VOLTage[:LEVel][:IMMediate]:OFFSet <offset>  
In this example, the E1446A is a servant to the E1405. As such, commands  
sent to the amplifier (at secondary GPIB address 11) are parsed by the  
Command Module rather than by the E1445A.  
OFFS05  
1
2
3
4
5
6
7
8
!RE-STORE"OFFS05"  
!This program uses the E1446A to generate an 8V DC offset for a  
!0.4 Vpp signal supplied by the E1445A AFG. To accomplish this, the  
!AFG signal is attenuated by 20 dB at the amplifier input. The amplifier  
!offset is set to 8V, the output impedance to 50 ohms, and the output  
!attenuation to 0 dB. Into 50 ohms, the 0.4 Vpp signal is centered on  
!8 volts.  
!
10 !Assign I/O path between the computer and E1445A and E1446A.  
20 ASSIGN @Afg TO 70910  
30 ASSIGN @Amp TO 70911  
Continued on Next Page  
Setting DC Voltage Offsets  
Programming the Agilent E1446A 2-23  
40 COM @Afg,@Amp  
50  
!
60 !Set up error checking  
70 ON INTR 7 CALL Errmsg  
80 ENABLE INTR 7;2  
90 OUTPUT @Afg;"*CLS"  
100 OUTPUT @Afg;"*SRE 32"  
110 OUTPUT @Afg;"*ESE 60"  
120 !  
130 OUTPUT @Amp;"*CLS"  
140 OUTPUT @Amp;"*SRE 32"  
150 OUTPUT @Amp;"*ESE 60"  
160 !  
170 !Call the subprograms  
180 Rst  
190 Offset  
200 !  
210 WAIT .1 !allow interrupt to be serviced  
220 OFF INTR 7  
230 END  
240 !  
250 SUB Offset  
260 Offset: !Subprogram which sets up the E1445A and E1446A  
270 COM @Afg,@Amp  
280 OUTPUT @Afg;"SOUR:FREQ1:FIX 1E3;";  
290 OUTPUT @Afg;":SOUR:FUNC:SHAP SIN;";  
!frequency  
!function  
300 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL .4VPP;"; !amplitude  
310 OUTPUT @Afg;":OUTP:LOAD:AUTO ON;";  
320 OUTPUT @Afg;":OUTP:IMP 50"  
!couple load to impedance  
!impedance  
330  
!
340 !Set up the Agilent E1446A  
350 OUTPUT @Amp;"INP1:IMP 50"  
360 OUTPUT @Amp;"INP1:ATT 20"  
370 OUTPUT @Amp;"OUTP1:IMP 50;";  
380 OUTPUT @Amp;":OUTP1:ATT 0;";  
!input impedance  
!input attenuation (dB)  
!main output impedance  
!main output attenuation (dB)  
390 OUTPUT @Amp;":SOUR:VOLT:LEV:IMM:OFFS 8" !DC offset  
400  
!
410 OUTPUT @Afg;"INIT:IMM"  
420 SUBEND  
!E1445A wait-for-arm state  
430 !  
440 SUB Rst  
450 Rst: !Subprogram which resets the E1445A and E1446A  
460 COM @Afg,@Amp  
470 OUTPUT @Afg;"*RST;*OPC?" !reset the AFG  
480 ENTER @Afg;Complete  
490 OUTPUT @Amp;"*RST;*OPC?" !reset the AFG  
Continued on Next Page  
2-24 Programming the Agilent E1446A  
Setting DC Voltage Offsets  
500 ENTER @Amp;Complete  
510 SUBEND  
520 !  
530 SUB Errmsg  
540 Errmsg: !Subprogram which displays E1445/E1446 programming errors  
550 COM @Afg,@Amp  
560 DIM Message$[256]  
570 !Read AFG (at sec addr 10) status byte register, clear service  
580 !request bit  
590 B=SPOLL(@Afg)  
600 IF BIT(B,6) THEN !AFG requested service  
610 !End of statement if error occurs among coupled commands  
620  
630  
640  
650  
660  
670  
680  
690  
700  
710  
OUTPUT @Afg;""  
OUTPUT @Afg;"ABORT" !abort output waveform  
PRINT "E1445A errors"  
PRINT  
REPEAT  
OUTPUT @Afg;"SYST:ERR?" !read AFG error queue  
ENTER @Afg;Code,Message$  
PRINT Code,Message$  
UNTIL Code=0  
STOP  
720 END IF  
730  
!
740 !Read AMP (at sec addr 11) status byte register, clear service  
750 !request bit  
760 B=SPOLL(@Amp)  
770 IF BIT(B,6) THEN !amplifier requested service  
780 !End of statement if error occurs among coupled commands  
790  
800  
810  
820  
830  
840  
850  
860  
OUTPUT @Amp;""  
PRINT "E1446A errors"  
PRINT  
REPEAT  
OUTPUT @Amp;"SYST:ERR?"!read AMP error queue  
ENTER @Amp;Code,Message$  
PRINT Code,Message$  
UNTIL Code=0  
870 END IF  
880 STOP  
890 SUBEND  
Setting DC Voltage Offsets  
Programming the Agilent E1446A 2-25  
Using the Differential (small signal) Outputs  
These examples show you how to use the amplifier’s differential (small  
signal) outputs. Note the following when using the outputs:  
the differential (small signal) outputs are designed for  
high-frequency and low-power source applications.  
with no attenuation, the maximum input voltage (sum of Input1 and  
Input2) must not exceed 2 Vpp (Figure 2-1).  
In the first example, the E1446A is a servant to the E1445A. In the second  
example, the E1446A is a servant to the E1405 Command Module.  
Using the Rather than amplify the input signal, this program attenuates the signal  
supplied by the E1445A to obtain an output amplitude of 10 mVpp. The  
output can be taken at either the ’Diff +’ or ’Diff -’ (inverted) output.  
Differential Outputs  
(Agilent E1445A  
Commander)  
The steps of this program are:  
1. Reset the E1445A AFG and E1446A amplifier.  
*RST  
2. Set the AFG frequency, function, and (minimum) amplitude.  
[SOURce:]FREQuency[1][:CW|:FIXed] <frequency>  
[SOURce:]FUNCtion[:SHAPe] <shape>  
[SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude]  
<amplitude>  
3. Couple the AFG output load value to the output impedance value.  
OUTPut[1]:LOAD:AUTO <mode>  
OUTPut[1]:IMPedance <impedance>  
4. Set the amplifier input impedance to match the AFG output load.  
INPut[1]:IMPedance <impedance>  
5. Set the amplifier input attenuation.  
INPut[1]:ATTenuation <attenuation>  
2-26 Programming the Agilent E1446A  
Using the Differential (small signal) Outputs  
6. Set the amplifier ’Diff +’ and ’Diff -’ output impedances.  
OUTPut3:IMPedance <impedance>  
OUTPut4:IMPedance <impedance>  
7. Place the AFG in the wait-for-arm state.  
INITiate:IMMediate  
Note  
Resetting the amplifier sets many of the same conditions set by subsequent  
(amplifier) commands in the program. These commands are included,  
however, to show other parts of the amplifier configuration.  
DIFF45  
1
2
3
4
5
6
7
!RE-STORE"DIFF45"  
!This program uses the E1446A to generate a 10 mVpp signal from a  
!0.323738 Vpp signal supplied by the E1445A AFG. To accomplish this, the  
!AFG signal is attenuated by 30 dB at the amplifier input. The output is  
!taken from the ’Diff +’ and ’Diff - ’ outputs whose output impedances  
!are set to 50 ohms.  
!
10 !Assign I/O path between the computer and E1445A. As the commander of  
20 !the Agilent E1446A, the E1445A sends the amplifier its commands.  
30 ASSIGN @Afg TO 70910  
40 COM @Afg  
50  
!
60 !Set up error checking  
70 ON INTR 7 CALL Errmsg  
80 ENABLE INTR 7;2  
90 OUTPUT @Afg;"*CLS"  
100 OUTPUT @Afg;"*SRE 32"  
110 OUTPUT @Afg;"*ESE 60"  
120 !  
130 !Call the subprograms  
140 Rst  
150 Diffout  
160 !  
Continued on Next Page  
Using the Differential (small signal) Outputs  
Programming the Agilent E1446A 2-27  
170 WAIT .1 !allow interrupt to be serviced  
180 OFF INTR 7  
190 END  
200 !  
210 SUB Diffout  
220 Diffout: !Subprogram which sets up the E1445A and E1446A  
230 COM @Afg  
240 OUTPUT @Afg;"SOUR:FREQ1:FIX 1E3;";  
250 OUTPUT @Afg;":SOUR:FUNC:SHAP SQU;";  
!frequency  
!function  
260 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL MIN;"; !amplitude (.161869 Vpk)  
270 OUTPUT @Afg;":OUTP:LOAD:AUTO ON;";  
280 OUTPUT @Afg;":OUTP:IMP 50"  
!couple load to impedance  
!impedance  
290  
!
300 !Set up the Agilent E1446A  
310 OUTPUT @Afg;"INP1:IMP 50"  
320 OUTPUT @Afg;"INP1:ATT 30"  
330 OUTPUT @Afg;"OUTP3:IMP 50"  
340 OUTPUT @Afg;"OUTP4:IMP 50"  
!input impedance  
!input attenuation (dB)  
!Diff + output impedance  
!Diff - output impedance  
350  
!
360 OUTPUT @Afg;"INIT:IMM"  
!E1445A wait-for-arm state  
370 SUBEND  
380 !  
390 SUB Rst  
400 Rst: !Subprogram which resets the E1445A and E1446A  
410 COM @Afg  
420 OUTPUT @Afg;"*RST;*OPC?" !reset the AFG  
430 ENTER @Afg;Complete  
440 SUBEND  
450 !  
460 SUB Errmsg  
470 Errmsg: !Subprogram which displays E1445/E1446 programming errors  
480 COM @Afg  
490 DIM Message$[256]  
500 !Read AFG status byte register and clear service request bit  
510 B=SPOLL(@Afg)  
520 !End of statement if error occurs among coupled commands  
530 OUTPUT @Afg;""  
540 OUTPUT @Afg;"ABORT" !abort output waveform  
550 REPEAT  
560  
570  
580  
OUTPUT @Afg;"SYST:ERR?" !read AFG error queue  
ENTER @Afg;Code,Message$  
PRINT Code,Message$  
590 UNTIL Code=0  
600 STOP  
610 SUBEND  
2-28 Programming the Agilent E1446A  
Using the Differential (small signal) Outputs  
Using the This program uses the same commands and sequence as previously  
described, except for the OUTPut2 and OUTPut3 commands shown below:  
Differential Outputs  
(Agilent E1405  
Commander)  
6. Set the amplifier ’Diff +’ and ’Diff -’ output impedances.  
OUTPut2:IMPedance <impedance>  
OUTPut3:IMPedance <impedance>  
In this example, the E1446A is a servant to the E1405. As such, commands  
sent to the amplifier (at secondary GPIB address 11) are parsed by the  
Command Module rather than by the E1445A.  
DIFF05  
1
2
3
4
5
6
7
!RE-STORE"DIFF05"  
!This program uses the E1446A to generate a 10 mVpp signal from a  
!0.323738 Vpp signal supplied by the E1445A AFG. To accomplish this, the  
!AFG signal is attenuated by 30 dB at the amplifier input. The output is  
!taken from the ’Diff +’ and ’Diff - ’ outputs whose output impedances  
!are set to 50 ohms.  
!
10 !Assign I/O path between the computer and E1445A, and E1446A.  
20 ASSIGN @Afg TO 70910  
30 ASSIGN @Amp TO 70911  
40 COM @Afg,@Amp  
50  
!
60 !Set up error checking  
70 ON INTR 7 CALL Errmsg  
80 ENABLE INTR 7;2  
90 OUTPUT @Afg;"*CLS"  
100 OUTPUT @Afg;"*SRE 32"  
110 OUTPUT @Afg;"*ESE 60"  
120 !  
130 OUTPUT @Amp;"*CLS"  
140 OUTPUT @Amp;"*SRE 32"  
150 OUTPUT @Amp;"*ESE 60"  
160 !  
170 !Call the subprograms  
180 Rst  
190 Diffout  
200 !  
210 WAIT .1 !allow interrupt to be serviced  
220 OFF INTR 7  
230 END  
Continued on Next Page  
Using the Differential (small signal) Outputs  
Programming the Agilent E1446A 2-29  
240 !  
250 SUB Diffout  
260 Diffout: !Subprogram which sets up the E1445A and E1446A  
270 COM @Afg,@Amp  
280 OUTPUT @Afg;"SOUR:FREQ1:FIX 1E3;";  
290 OUTPUT @Afg;":SOUR:FUNC:SHAP SIN;";  
!frequency  
!function  
300 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL MIN;"; !amplitude (.161869 Vpk)  
310 OUTPUT @Afg;":OUTP:LOAD:AUTO ON;";  
320 OUTPUT @Afg;":OUTP:IMP 50"  
!couple load to impedance  
!impedance  
330  
!
340 !Set up the Agilent E1446A  
350 OUTPUT @Amp;"INP1:IMP 50"  
360 OUTPUT @Amp;"INP1:ATT 30"  
370 OUTPUT @Amp;"OUTP2:IMP 50"  
380 OUTPUT @Amp;"OUTP3:IMP 50"  
!input impedance  
!input attenuation (dB)  
!Diff + output impedance  
!Diff - output impedance  
390  
!
400 OUTPUT @Afg;"INIT:IMM"  
410 SUBEND  
!E1445A wait-for-arm state  
420 !  
430 SUB Rst  
440 Rst: !Subprogram which resets the E1445A and E1446A  
450 COM @Afg,@Amp  
460 OUTPUT @Afg;"*RST;*OPC?" !reset the AFG  
470 ENTER @Afg;Complete  
480 OUTPUT @Amp;"*RST;*OPC?" !reset the amplifier  
490 ENTER @Amp;Complete  
500 SUBEND  
510 !  
520 SUB Errmsg  
530 Errmsg: !Subprogram which displays E1445/E1446 programming errors  
540 COM @Afg,@Amp  
550 DIM Message$[256]  
560 !Read AFG (at sec addr 10) status byte register, clear service  
570 !request bit  
580 B=SPOLL(@Afg)  
590 IF BIT(B,6) THEN !AFG requested service  
600 !End of statement if error occurs among coupled commands  
610  
620  
630  
640  
650  
660  
670  
680  
690  
OUTPUT @Afg;""  
OUTPUT @Afg;"ABORT"!abort output waveform  
PRINT "E1445A errors"  
PRINT  
REPEAT  
OUTPUT @Afg;"SYST:ERR?" !read AFG error queue  
ENTER @Afg;Code,Message$  
PRINT Code,Message$  
UNTIL Code=0  
Continued on Next Page  
2-30 Programming the Agilent E1446A  
Using the Differential (small signal) Outputs  
700  
710 END IF  
720  
STOP  
!
730 !Read AMP (at sec addr 11) status byte register, clear service  
740 !request bit  
750 B=SPOLL(@Amp)  
760 IF BIT(B,6) THEN !amplifier requested service  
770 !End of statement if error occurs among coupled commands  
780  
790  
800  
810  
820  
830  
840  
850  
OUTPUT @Amp;""  
PRINT "E1446A errors"  
PRINT  
REPEAT  
OUTPUT @Amp;"SYST:ERR?" !read AMP error queue  
ENTER @Amp;Code,Message$  
PRINT Code,Message$  
UNTIL Code=0  
860 END IF  
870 STOP  
880 SUBEND  
Summing Two Signals  
This program uses the E1446A to sum the signals from two E1445A AFGs.  
The AFGs at logical addresses 80 and 88 (secondary GPIB addresses 10 and  
11), generate 1 Vpp, 5 kHz and 100 kHz sine waves respectively. The signal  
from the AFG at logical address 80 is applied to E1446A ’Input 1’. The  
signal from the AFG at logical address 88 is applied to ’Input 2’. The  
E1446A is in the servant area of the AFG at logical address 80.  
The steps of the program are as follows:  
1. Reset the E1445A AFGs and E1446A amplifier.  
*RST  
2. Set the E1445As’ reference oscillator sources to CLK10.  
[SOURce:]ROSCillator:SOURce <source>  
Summing Two Signals  
Programming the Agilent E1446A 2-31  
3. Set the AFG frequency, function, and amplitude.  
[SOURce:]FREQuency[1][:CW|:FIXed] <frequency>  
[SOURce:]FUNCtion[:SHAPe] <shape>  
[SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude]  
<amplitude>  
4. Couple the AFG output load value to the output impedance value.  
OUTPut[1]:LOAD:AUTO <mode>  
OUTPut[1]:IMPedance <impedance>  
5. Set the amplifier input impedance to match the AFG output load.  
INPut[1]:IMPedance <impedance>  
INPut2:IMPedance <impedance>  
6. Set the amplifier input attenuation.  
INPut[1]:ATTenuation <attenuation>  
INPut2:ATTenuation <attenuation>  
7. Set the amplifier ’Diff +’ output impedance.  
OUTPut3:IMPedance <impedance>  
8. Place the AFGs in the wait-for-arm state.  
INITiate:IMMediate  
SUM45  
1
!RE-STORE"SUM45"  
2
3
4
5
6
7
9
!The following program uses the E1446A to sum the output signals of  
!two E1445As. The E1445A at secondary address 10 (logical address 80)  
!outputs a 1 Vpp, 5 kHz sine wave. The E1445A at secondary address 11  
!(logical address 88) outputs a 1 Vpp, 100 kHz sine wave. To prevent  
!the E1445A signals from drifting, both AFG’s use CLK10 as their  
!reference oscillator source. The E1446A sums these signals, and the  
!output is taken at the ’Diff +’ output.  
10  
!
Continued on Next Page  
2-32 Programming the Agilent E1446A  
Summing Two Signals  
20 !Assign I/O paths between the computer and E1445As. The E1445A at  
30 !secondary address 10 is the commander for the E1446A.  
40 ASSIGN @Afg80 TO 70910  
50 ASSIGN @Afg88 TO 70911  
60 COM @Afg80,@Afg88  
70  
!
80 !Set up error checking  
90 ON INTR 7 CALL Errmsg  
100 ENABLE INTR 7;2  
110 OUTPUT @Afg80;"*CLS"  
120 OUTPUT @Afg80;"*SRE 32"  
130 OUTPUT @Afg80;"*ESE 60"  
140 !  
150 OUTPUT @Afg88;"*CLS"  
160 OUTPUT @Afg88;"*SRE 32"  
170 OUTPUT @Afg88;"*ESE 60"  
180 !  
190 !Call the subprograms  
200 Rst  
210 Afg_setup  
220 !  
230 WAIT .1 !allow interrupt to be serviced  
240 OFF INTR 7  
250 END  
260 !  
270 SUB Afg_setup  
280 Afg_setup: !Subprogram which sets up the E1445As and E1446A  
290 COM @Afg80,@Afg88  
300 !Set up E1445A at secondary address 10  
310 OUTPUT @Afg80;"SOUR:ROSC:SOUR CLK10;";  
320 OUTPUT @Afg80;":SOUR:FREQ1:FIX 5E3;";  
330 OUTPUT @Afg80;":SOUR:FUNC:SHAP SIN;";  
!ref osc source  
!frequency  
!function  
340 OUTPUT @Afg80;":SOUR:VOLT:LEV:IMM:AMPL 1VPP;"; !amplitude  
350 OUTPUT @Afg80;":OUTP:LOAD:AUTO ON;";  
360 OUTPUT @Afg80;":OUTP:IMP 50"  
!couple load to impedance  
!impedance  
370  
!
380 !Setup E1445A at secondary address 11  
390 OUTPUT @Afg88;"SOUR:ROSC:SOUR CLK10;";  
400 OUTPUT @Afg88;":SOUR:FREQ1:FIX 100E3;";  
410 OUTPUT @Afg88;":SOUR:FUNC:SHAP SIN;";  
!ref osc source  
!frequency  
!function  
420 OUTPUT @Afg88;":SOUR:VOLT:LEV:IMM:AMPL 1VPP;"; !amplitude  
430 OUTPUT @Afg88;":OUTP:LOAD:AUTO ON;";  
440 OUTPUT @Afg88;":OUTP:IMP 50"  
!couple load to impedance  
!impedance  
450  
!
Continued on Next Page  
Summing Two Signals  
Programming the Agilent E1446A 2-33  
460 !Set up the Agilent E1446A  
470 OUTPUT @Afg80;"INP1:IMP 50"  
480 OUTPUT @Afg80;"INP1:ATT 0"  
490 OUTPUT @Afg80;"INP2:IMP 50"  
500 OUTPUT @Afg80;"INP2:ATT 0"  
510 OUTPUT @Afg80;"OUTP3:IMP 50"  
!input 1 impedance  
!input 1 attenuation (dB)  
!input 2 impedance  
!input 2 attenuation (dB)  
!Diff + output impedance  
520  
!
530 OUTPUT @Afg80;"INIT:IMM"  
540 OUTPUT @Afg88;"INIT:IMM"  
550 SUBEND  
!E1445A wait-for-arm state (10)  
!E1445A wait-for-arm state (11)  
560 !  
570 SUB Rst  
580 Rst: !Subprogram which resets the E1445As and E1446A  
590 COM @Afg80,@Afg88  
600 OUTPUT @Afg80;"*RST;*OPC?" !reset the AFG (sec addr 10)  
610 ENTER @Afg80;Complete  
620  
!
630 OUTPUT @Afg88;"*RST;*OPC?" !reset the AFG (sec addr 11)  
640 ENTER @Afg88;Complete  
650 SUBEND  
660 !  
670 SUB Errmsg  
680 Errmsg: !Subprogram which displays E1445/E1446 programming errors  
690 COM @Afg80,@Afg88  
700 DIM Message$[256]  
710 !Read AFG (at sec addr 10) status byte register, clear service  
720 !request bit  
730 B=SPOLL(@Afg80)  
740 !End of statement if error occurs among coupled commands  
750 OUTPUT @Afg80;""  
760 OUTPUT @Afg80;"ABORT" !abort output waveform  
770 PRINT "E1445A (secondary address 10)"  
780 PRINT  
790 REPEAT  
800  
810  
820  
OUTPUT @Afg80;"SYST:ERR?" !read AFG error queue (sec addr 10)  
ENTER @Afg80;Code,Message$  
PRINT Code,Message$  
830 UNTIL Code=0  
840 PRINT  
850  
!
860 !Read AFG (at sec addr 11) status byte register, clear service  
870 !request bit  
Continued on Next Page  
2-34 Programming the Agilent E1446A  
Summing Two Signals  
880 B=SPOLL(@Afg88)  
890 !End of statement if error occurs among coupled commands  
900 OUTPUT @Afg88;""  
910 OUTPUT @Afg88;"ABORT" !abort output waveform  
920 PRINT "E1445A (secondary address 11)"  
930 PRINT  
940 REPEAT  
950  
960  
970  
OUTPUT @Afg88;"SYST:ERR?" !read AFG error queue (sec addr 11)  
ENTER @Afg88;Code,Message$  
PRINT Code,Message$  
980 UNTIL Code=0  
990 STOP  
1000 SUBEND  
Summing Two Signals  
Programming the Agilent E1446A 2-35  
2-36 Programming the Agilent E1446A  
Summing Two Signals  
Chapter 3  
Command Reference  
Chapter Contents  
This chapter describes the Standard Commands for Programmable  
Instruments (SCPI) command set and the IEEE 488.2 Common  
Commands for the Agilent E1446A Summing Amplifier/DAC. Included in  
this chapter are the following sections:  
Command Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2  
SCPI Command Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2  
SCPI Command Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . 3-4  
SCPI Command Execution . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5  
SCPI Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6  
IEEE-488.2 Common Commands . . . . . . . . . . . . . . . . . . . . . 3-25  
SCPI Conformance Information3-35  
Agilent E1446A / Agilent E1445A Commands  
INPut[1] . . . . . . . . . . . . . . . . . . . . . . . . . 3-7  
:ATTenuation . . . . . . . . . . . . . . . . . 3-7  
STATus . . . . . . . . . . . . . . . . . . . . . . . . . 3-18  
:OPERation|QUEStionable. . . . . . . 3-18  
:CONDition? . . . . . . . . . . . . . . . . . . 3-18  
:ENABle . . . . . . . . . . . . . . . . . . . . . 3-19  
[:EVENt]? . . . . . . . . . . . . . . . . . . . . 3-19  
:NTRansition. . . . . . . . . . . . . . . . . . 3-20  
:PTRansition . . . . . . . . . . . . . . . . . 3-20  
:PRESet . . . . . . . . . . . . . . . . . . . . . . . 3-21  
:IMPedance . . . . . . . . . . . . . . . . . . 3-7  
INPut2 . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9  
:ATTenuation . . . . . . . . . . . . . . . . . 3-9  
:IMPedance . . . . . . . . . . . . . . . . . . 3-9  
OUTPut2 . . . . . . . . . . . . . . . . . . . . . . . . 3-11  
:ATTenuation . . . . . . . . . . . . . . . . . 3-11  
:IMPedance . . . . . . . . . . . . . . . . . . 3-12  
:OVERload? . . . . . . . . . . . . . . . . . . 3-12  
[:STATe] . . . . . . . . . . . . . . . . . . . . . 3-13  
:ACTual? . . . . . . . . . . . . . . . . . 3-13  
SYSTem. . . . . . . . . . . . . . . . . . . . . . . . . 3-22  
:ERRor? . . . . . . . . . . . . . . . . . . . . . . . 3-22  
:VERSion? . . . . . . . . . . . . . . . . . . . . . 3-22  
OUTPut3 . . . . . . . . . . . . . . . . . . . . . . . . 3-15  
:IMPedance . . . . . . . . . . . . . . . . . . 3-15  
OUTPut4 . . . . . . . . . . . . . . . . . . . . . . . . 3-16  
:IMPedance . . . . . . . . . . . . . . . . . . 3-16  
SOURce2:VOLTage . . . . . . . . . . . . . . . 3-17  
[:LEVel][:IMMediate]:OFFset . . . . . 3-17  
Chapter Contents  
Command Reference 3-1  
Agilent E1446A / Agilent E1405/06 Commands  
DISPlay3-7  
:MONitor[:STATe]. . . . . . . . . . . . . . 3-7  
OUTPut3 . . . . . . . . . . . . . . . . . . . . . . . . 3-16  
:IMPedance . . . . . . . . . . . . . . . . . . 3-16  
INPut[1] . . . . . . . . . . . . . . . . . . . . . . . . . 3-8  
:ATTenuation . . . . . . . . . . . . . . . . . 3-8  
:IMPedance . . . . . . . . . . . . . . . . . . 3-8  
SOURce:VOLTage . . . . . . . . . . . . . . . . 3-17  
[:LEVel][:IMMediate]:OFFset . . . . . 3-17  
STATus . . . . . . . . . . . . . . . . . . . . . . . . . 3-18  
:OPERation|QUEStionable. . . . . . . 3-18  
:CONDition? . . . . . . . . . . . . . . . . . . 3-18  
:ENABle . . . . . . . . . . . . . . . . . . . . . 3-19  
[:EVENt]? . . . . . . . . . . . . . . . . . . . . 3-19  
:NTRansition. . . . . . . . . . . . . . . . . . 3-20  
:PTRansition . . . . . . . . . . . . . . . . . 3-20  
:PRESet . . . . . . . . . . . . . . . . . . . . . . . 3-21  
INPut2 . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10  
:ATTenuation . . . . . . . . . . . . . . . . . 3-10  
:IMPedance . . . . . . . . . . . . . . . . . . 3-10  
OUTPut1 . . . . . . . . . . . . . . . . . . . . . . . . 3-12  
:ATTenuation . . . . . . . . . . . . . . . . . 3-12  
:IMPedance . . . . . . . . . . . . . . . . . . 3-12  
:OVERload? . . . . . . . . . . . . . . . . . . 3-13  
[:STATe] . . . . . . . . . . . . . . . . . . . . . 3-14  
:ACTual? . . . . . . . . . . . . . . . . . 3-14  
SYSTem. . . . . . . . . . . . . . . . . . . . . . . . . 3-22  
:ERRor? . . . . . . . . . . . . . . . . . . . . . . . 3-22  
:VERSion? . . . . . . . . . . . . . . . . . . . . . 3-22  
OUTPut2 . . . . . . . . . . . . . . . . . . . . . . . . 3-15  
:IMPedance . . . . . . . . . . . . . . . . . . 3-15  
Command Types  
Commands are separated into two types: IEEE-488.2 Common Commands  
and SCPI Commands.  
Common The IEEE-488.2 standard defines Common Commands that perform  
functions like reset, self-test, status byte query, etc. Common commands are  
Command Format  
four or five characters in length, always begin with the asterisk character  
(*), and may include one or more parameters. The command keyword is  
separated from the first parameter by a space character. Some examples of  
Common commands are shown below:  
*RST, *CLS, *ESE <unmask>, *OPC?, *STB?  
SCPI Command Format  
The functions of the summing amplifier/DAC are programmed using SCPI  
commands. SCPI commands are based on a hierarchical structure, also  
known as a tree system. In this system, associated commands are grouped  
together under a common node or root, thus, forming subtrees or  
subsystems. An example is the amplifier’s ’OUTPut2’ subsystem shown on  
the following page.  
3-2 Command Reference  
SCPI Command Format  
OUTPut2  
:ATTenuation <attenuation>  
:IMPedance <impedance>  
:OVERload?  
[:STATe] <mode>  
:ACTual?  
[query only]  
[query only]  
OUTPut2 is the root keyword of the command, :ATTenuation, :IMPedance,  
:OVERload?, and [:STATe] are second level keywords, and :ACTual? is the  
third level keyword.  
Command A colon (:) always separates one command keyword from a lower level  
command keyword as shown below:  
Separator  
OUTP2:STAT:ACT?  
Abbreviated The command syntax shows most commands as a mixture of upper and  
lower case letters. The upper case letters indicate the abbreviated spelling  
Commands  
for the command. For shorter program lines, send the abbreviated form. For  
better program readability, you may send the entire command. The amplifier  
will accept either the abbreviated form or the entire command.  
For example, if a command’s syntax contains the keyword IMPedance, then  
IMP and IMPEDANCE are acceptable forms. Lower or upper case letters  
are also acceptable. Thus, IMPedance, impedance, IMP, or imp are all  
acceptable.  
Implied (Optional) Implied or optional keywords are those which appear in square brackets ([ ])  
in the command syntax. The brackets are not part of the command, and are  
not sent to the amplifier. Suppose you send the following command:  
Keywords  
OUTP2 ON  
In this case, the amplifier responds as if the command was executed as:  
OUTP2:STAT ON  
SCPI Command Format  
Command Reference 3-3  
SCPI Command Parameters  
The following information contains explanations and examples of the  
parameter types found in this chapter.  
Parameter Types,  
Explanations, and  
Examples  
Numeric  
Accepts all commonly used decimal representations of numbers  
including optional signs, decimal points, and scientific notation:  
123, 123E2, -123, -1.23E2, .123, 1.23E-2, 1.23000E-01.  
Special cases include MIN, MAX, and INFinity. The Comments  
section within the Command Reference will state whether a numeric  
parameter can also be specified in hex, octal, and/or binary:  
#H7B, #Q173, #B1111011  
Boolean  
Represents a single binary condition that is either true or false. Any  
non-zero value is considered true:  
ON, OFF, 1, 0  
Discrete  
Selects from a finite number of values. These parameters use  
mnemonics to represent each valid setting.  
Arbitrary Block Program Data  
This parameter type is used to transfer a block of data in the form of  
bytes. The block of data bytes is preceded by a header which  
indicates either 1) the number of data bytes which follow (definite  
length block), or 2) that the following data block will be terminated  
upon receipt of a New Line message with the EOI signal true  
(indefinite length block). The syntax for data in the blocks is as  
follows:  
Definite length block:  
#<non-zero digit><digit(s)><data byte(s)>  
Where the value of <non-zero digit> equals the number of  
<digit(s)>. The value of <digit(s)> taken as a decimal integer  
indicates the number of <data byte(s)> in the block.  
3-4 Command Reference  
SCPI Command Parameters  
Indefinite length block:  
#0<data byte(s)><NL^END>  
Examples of sending 4 data bytes:  
#14<byte><byte><byte><byte>  
#3004<byte><byte><byte><byte>  
#0<byte><byte><byte><byte><NL^END>  
Querying Unless otherwise noted in the reference section, parameter settings can be  
queried by adding a question mark (?) to the command which set the  
parameter. For example:  
Parameter Settings  
INP:IMP 50  
sets the impedance of the ’Input 1’ port to 50. The value can be queried by  
executing:  
INP:IMP?  
The MINimum or MAXimum value of a parameter is determined as  
follows:  
INP:IMP? MIN  
INP:IMP? MAX  
SCPI Command Execution  
The following information should be remembered when executing SCPI  
commands.  
Command Coupling The following amplifier commands are value coupled:  
E1446 with E1405/06  
OUTPut1:ATTenuation <attenuation>  
OUTPut1:IMPedance <impedance>  
SOURce:VOLTage[:LEVel][:IMMediate]:OFFSet <voltage>  
E1446 with E1445  
OUTPut2:ATTenuation <attenuation>  
OUTPut2:IMPedance <impedance>  
SOURce2:VOLTage[:LEVel][:IMMediate]:OFFSet <voltage>  
SCPI Command Execution  
Command Reference 3-5  
This means that sending one of these commands can change the value set  
previously by another one of these commands. Often, this results in  
“Settings Conflict” errors when the program executes. To prevent these  
errors these commands must be executed in a “Coupling Group”. Refer to  
Chapter 2 for information on executing coupled commands.  
Linking Commands Linking IEEE 488.2 Common Commands.  
Use a semicolon between the commands. For example:  
*RST;*CLS;*OPC?  
Linking Multiple SCPI Commands.  
Use a semicolon (;) and a colon (:) to link commands within different  
subsystems. For example:  
INP:IMP 50;:OUTP2:IMP 50  
Commands within the same subsystem are linked with a semicolon(;). For  
example:  
INP:ATT 6;INP:IMP 50  
SCPI Command Reference  
This section describes the SCPI commands for the Agilent E1446A  
Summing Amplifier/DAC. Since the E1446A amplifier can be a servant of  
either the Agilent E1445A Arbitrary Function Generator or the Agilent  
E1405 Command Module, the section has been divided into three parts:  
Agilent E1446A/Agilent E1445A Command Reference  
(Agilent E1446A is a servant to the Agilent E1445A)  
Agilent E1446A/Agilent E1405 Command Reference  
(Agilent E1446A is a servant to the Agilent E1405)  
IEEE-488.2 Common Commands  
(same for either commander (Agilent E1445A or Agilent E1405)  
In each part the commands are listed alphabetically by subsystem and  
alphabetically within each subsystem. A command guide is printed in the  
top margin of each page. The guide indicates the first command listed on  
that page.  
3-6 Command Reference  
SCPI Command Reference  
Agilent E1446 / E1445 Commands  
SCPI Command Reference  
INPut[1]  
The INPut[1] subsystem controls the input attenuation and impedance of the Agilent  
E1446A’s “Input 1” BNC.  
SubSystem Syntax INPut[1]  
:ATTenuation <attenuation>  
:IMPedance <impedance>  
:ATTenuation  
INPut[1]:ATTenuation <attenuation> controls the input attenuator of the “Input  
1” BNC. Input attenuation can range from 0 to 31 dB in 1 dB steps.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
0 through 31.0 |  
dB  
MINimum|MAXimum  
MINimum selects 0 dB attenuation; MAXimum selects 31 dB.  
Comments Executable when initiated: Yes  
Coupling group: none  
*RST Condition: INPut1:ATTenuation 0  
Example Setting 20 dB input attenuation  
INP:ATT 20  
Set 20 dB input attenuation  
:IMPedance  
INPut[1]:IMPedance <impedance> sets the input impedance of the “Input 1” BNC  
to either 50, 75, or 1 M.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
50|75|1.0E6|  
Ohms  
MINimum|MAXimum  
MINimum selects 50input impedance; MAXimum selects 1 M.  
INPut[1] Subsystem  
E1446/E1445 Command Reference 3-7  
INPut[1] :IMPedance  
Comments Executable when initiated: Yes  
Coupling group: none  
*RST Condition: INPut1:IMPedance 50  
Example  
Setting 75 input impedance  
INP:IMP 75  
Set 75 input impedance  
3-8 E1446/E1445 Command Reference  
INPut[1] Subsystem  
INPut2  
The INPut2 subsystem controls the input attenuation and impedance of the  
Agilent E1446A’s “Input 2” BNC.  
Subsystem Syntax INPut2  
:ATTenuation <attenuation>  
:IMPedance <impedance>  
:ATTenuation  
INPut2:ATTenuation <attenuation> controls the input attenuator of the “Input 2”  
BNC. Input attenuation can range from 0 to 31 dB in 1 dB steps.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
0 through 31.0 |  
dB  
MINimum|MAXimum  
MINimum selects 0 dB attenuation; MAXimum selects 31 dB.  
Comments Executable when initiated: Yes  
Coupling group: none  
*RST Condition: INPut2:ATTenuation 0  
Example Setting 20 dB input attenuation  
INP2:ATT 20  
Set 20 dB input attenuation  
:IMPedance  
INPut2:IMPedance <impedance> sets the input impedance of the “Input 2” BNC  
to either 50, 75, or 1 M.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
50|75|1.0E6|  
Ohms  
MINimum|MAXimum  
MINimum selects 50input impedance; MAXimum selects 1 M.  
INPut2 Subsystem  
E1446/E1445 Command Reference 3-9  
INPut2 :IMPedance  
Comments Executable when initiated: Yes  
Coupling group: none  
*RST Condition: INPut2:IMPedance 50  
Example  
Setting 75 input impedance  
INP2:IMP 75  
Set 75 input impedance  
3-10 E1446/E1445 Command Reference  
INPut2 Subsystem  
OUTPut2  
The OUTPut2 subsystem controls the characteristics of the Agilent E1446A’s “Main  
Output” BNC. The subsystem sets the output attenuation, sets the output source  
impedance, monitors overload conditions, and enables or disables the output.  
Subsystem Syntax OUTPut2  
:ATTenuation <attenuation>  
:IMPedance <impedance>  
:OVERload?  
[:STATe] <mode>  
:ACTual?  
[query only]  
[query only]  
:ATTenuation  
OUTPut2:ATTenuation <attenuation> controls the output attenuator of the “Main  
Output” BNC. Either no attenuation or 20 dB may be selected when  
OUTPut2:IMPedance is set to either 50or 75Ω. OUTPut2:ATTenuation must be  
set to 0 dB when OUTPut2:IMPedance is set to 0Ω.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
0|20.0|  
dB  
MINimum|MAXimum  
MINimum selects 0 dB attenuation; MAXimum selects 20 dB.  
Comments Executable when initiated: Yes  
Coupling group: Power amplifier  
*RST Condition: OUTPut2:ATTenuation 0  
Example Setting 20 dB output attenuation  
OUTP2:ATT 20  
Set 20 dB output attenuation  
OUTPut2 Subsystem  
E1446/E1445 Command Reference 3-11  
OUTPut2 :IMPedance  
:IMPedance  
OUTPut2:IMPedance <impedance> sets the output impedance of the “Main  
Output” BNC to either 0, 50Ω, or 75.  
OUTPut2:IMPedance 0 should be selected when an open-circuit or high-impedance  
load is connected to the output of the Agilent E1446A. The matching impedance is  
removed from the amplifier output. Also, the offset voltage into an open-circuit is  
twice that into a matched load. Setting OUTPut2:IMPedance 0 compensates for this  
effect so that the SOURce2:VOLTage:LEVel:IMMediate:OFFSet command will  
output the specified voltage into an open circuit.  
When OUTPut2:IMPedance is set to either 50or 75, either no output attenuation  
or 20 dB may be set. OUTPut2:ATTenuation must be set to 0 dB when  
OUTPut2:IMPedance is set to 0.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
0|50|75|  
Ohms  
MINimum|MAXimum  
MINimum selects 0output impedance; MAXimum selects 75.  
Comments Executable when initiated: Yes  
Coupling group: Power amplifier  
Related commands: SOURce:VOLTage:LEVel:IMMediate:OFFSet and  
OUTPUT2:ATTenuation  
*RST Condition: OUTPut2:IMPedance 50  
Setting 75 output impedance  
Example  
OUTP2:IMP 75  
Set 75 output impedance  
:OVERload?  
OUTPut2:OVERload? determines if an overload condition exists by reading bit 11  
of the amplifier’s Status register (Appendix C).  
This command requires Agilent E1445A firmware revision A.02.00 or greater.  
3-12 E1446/E1445 Command Reference  
OUTPut2 Subsystem  
OUTPut2 [:STATe]  
Comments A one (1) returned in response to the query indicates an overload condition exists.  
A zero (0) indicates there is not an overload condition.  
Coupling group: none  
*RST Condition: none  
Example Determining if an overload condition exists  
OUTP2:OVER?  
determine if overload condition exists  
[:STATe]  
OUTPut2[:STATe] <mode> closes or opens the output relay of the “Main Output”  
BNC to enable or disable the analog output. When disabled, the output appears as  
an open circuit.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
mode  
boolean  
OFF|0|ON|1  
none  
Comments Executable when initiated: Yes  
Coupling group: none  
*RST Condition: OUTPut2:STATe ON  
The output relay will open automatically if an output overload is detected.  
Example Disabling the output  
OUTP2 OFF  
Disable output  
[:STATe]:ACTual?  
OUTPut2[:STATe]:ACTual? determines if the amplifier’s ’Main Output’ BNC is  
enabled or has been disabled due to an overload condition. The determination is  
done by reading bit 8 of the amplifier’s Status register (Appendix C).  
This command requires Agilent E1445A firmware revision A.02.00 or greater.  
OUTPut2 Subsystem  
E1446/E1445 Command Reference 3-13  
OUTPut2 [:STATe]:ACTual?  
Comments A one (1) returned in response to the query indicates the ’Main Output’ BNC is  
enabled. A zero (0) indicates the output is disabled.  
Coupling group: none  
*RST Condition: none  
Example Determining if the output is enabled  
OUTP2:STAT:ACT?  
determine if the output is enabled  
3-14 E1446/E1445 Command Reference  
OUTPut2 Subsystem  
OUTPut3  
The OUTPut3 subsystem controls the output impedance of the Agilent E1446A’s  
“Diff Output +” output.  
Subsystem Syntax OUTPut3  
:IMPedance <impedance>  
:IMPedance  
OUTPut3:IMPedance <impedance> sets the output impedance “Diff Output +”  
BNC to either 50or 75.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
50|75|  
Ohms  
MINimum|MAXimum  
MINimum selects 50output impedance; MAXimum selects 75.  
Comments Executable when initiated: Yes  
Coupling group: none  
*RST Condition: OUTPut3:IMPedance 50  
Example  
Setting 75 output impedance  
OUTP3:IMP 75  
Set 75 output impedance  
OUTPut3 Subsystem  
E1446/E1445 Command Reference 3-15  
OUTPut4  
The OUTPut4 subsystem controls the output impedance of the Agilent E1446A’s  
“Diff Output -” output.  
Subsystem Syntax OUTPut4  
:IMPedance <impedance>  
:IMPedance  
OUTPut4:IMPedance <impedance> sets the output impedance “Diff Output -”  
BNC to either 50or 75.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
50|75|  
Ohms  
MINimum|MAXimum  
MINimum selects 50output impedance; MAXimum selects 75.  
Comments Executable when initiated: Yes  
Coupling group: none  
*RST Condition: OUTPut4:IMPedance 50  
Example  
Setting 75 output impedance  
OUTP4:IMP 75  
Set 75 output impedance  
3-16 E1446/E1445 Command Reference  
OUTPut4 Subsystem  
SOURce2:VOLTage  
The SOURce2:VOLTage subsystem controls the output offset voltage at the Agilent  
E1446A’s “Main Output” BNC.  
Subsystem Syntax SOURce2  
:VOLTage  
[:LEVel]  
[:IMMediate]  
:OFFSet <voltage>  
[:LEVel][:IMMediate]:OFFSet  
SOURce2:VOLTage[:LEVel][:IMMediate]:OFFSet <voltage> sets the offset  
voltage at the “Main Output” BNC. Output offset level is programmed in volts.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
number  
numeric  
-9.999695 to +10.0|  
MINimum|MAXimum  
volts  
MINimum selects -9.999695; MAXimum selects +10.0.  
The above limits are doubled if OUTPut2:IMPedance 0 is set.  
The combination of input levels and offset voltage must produce a voltage that  
remains within the Agilent E1446A’s output voltage specification. Significant  
distortion of the waveform will occur when the combination of input levels and  
offset voltage exceeds the specification.  
Example Setting offset voltage  
Comments Executable when initiated: Yes  
Coupling group: Power amplifier  
Related commands: OUTPut2:IMPedance  
*RST Condition: SOURce2:VOLTage:LEVel:IMMediate:OFFSet 0 V  
Example Setting offset voltage  
SOUR2:VOLT:OFFS 3  
Set offset voltage to 3 volts  
SOURce2:VOLTage Subsystem  
E1446/E1445 Command Reference 3-17  
STATus  
The STATus subsystem controls the SCPI-defined Operation and Questionable  
Signal status registers. Each is comprised of a condition register, an event register,  
an enable mask, and negative and positive transition filters.  
Each status register works as follows: when a condition occurs, the appropriate bit in  
the condition register is set or cleared. If the the corresponding transition filter is  
enabled for that bit, the same bit is set in the associated event register. The contents  
of the event register and the enable mask are logically ANDed bit-for-bit; if any bit  
of the result is set, the summary bit for that register is set in the status byte. The  
status byte summary bit for the Operation status register is bit 7; for the  
Questionable Signal status register, bit 3.  
Operation  
Status Register All bits are always 0. This register is implemented only for SCPI compatibility  
purposes.  
Questionable  
Signal  
Status Register All bits are always 0. This register is implemented only for SCPI compatibility  
purposes.  
Subsystem Syntax STATus  
:OPERation|QUEStionable  
:CONDition?  
:ENABle <unmask>  
[:EVENt]?  
[query only]  
[query only]  
:NTRansition <unmask>  
:PTRansition <unmask>  
:PRESet  
[no query]  
:OPERation|QUEStionable:CONDition?  
STATus:OPERation|QUEStionable:CONDition? returns the contents of the  
appropriate condition register. Reading the register does not affect its contents.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related commands: STATus subsystem, *SRE, *STB?  
*RST Condition: all bits of both condition registers are cleared as a result of the  
state present after *RST.  
3-18 E1446/E1445 Command Reference  
STATus Subsystem  
STATus :OPERation|QUEStionable:ENABle  
Example Querying the Operation condition register  
STAT:OPER?  
Query Operation condition register  
:OPERation|QUEStionable:ENABle  
STATus:OPERation|QUEStionable:ENABle <unmask> specifies which bits of  
the associated event register are included in its summary bit. The summary bit is the  
bit-for-bit logical AND of the event register and the unmasked bit(s).  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
unmask  
numeric or  
non-decimal  
numeric  
0 through +32767  
none  
The non-decimal numeric forms are the #H, #Q, or #B formats specified by  
IEEE-488.2.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related commands: STATus subsystem, *SRE, *STB?  
*RST Condition: unaffected  
Power-on Condition: STATUS:OPERation|QUEStionable:ENABLE 0  
:OPERation|QUEStionable[:EVENt]?  
STATus:OPERation|QUEStionable[:EVENt]? returns the contents of the  
appropriate event register. Reading the register clears it to 0.  
Comments Both event registers are also cleared to 0 by the *CLS common command.  
Executable when initiated: Yes  
Coupling group: none  
Related commands: STATus subsystem, *SRE, *STB?  
*RST Condition: unaffected  
Power-on Condition: Both event registers are cleared to 0.  
Example Querying the Operation event register  
STATus Subsystem  
E1446/E1445 Command Reference 3-19  
STATus :OPERation|QUEStionable:NTRansition  
STAT:EVEN?  
Query Operation event register  
:OPERation|QUEStionable:NTRansition  
STATus:OPERation|QUEStionable:NTRansition <unmask> sets the negative  
transition mask. For each bit unmasked, a 1-to-0 transition of that bit in the  
associated condition register will set the same bit in the associated event register.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
unmask  
numeric or  
non-decimal  
numeric  
0 through +32767  
none  
The non-decimal numeric forms are the #H, #Q, or #B formats specified by  
IEEE-488.2.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related commands: STATus subsystem, *SRE, *STB?  
*RST Condition: unaffected  
Power-on Condition: STATUS:OPERation|QUEStionable:NTRansition 0  
:OPERation|QUEStionable:PTRansition  
STATus:OPERation|QUEStionable:PTRansition <unmask> sets the positive  
transition mask. For each bit unmasked, a 0-to-1 transition of that bit in the  
associated condition register will set the same bit in the associated event register.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
unmask  
numeric or  
non-decimal  
numeric  
0 through +32767  
none  
The non-decimal numeric forms are the #H, #Q, or #B formats specified by  
IEEE-488.2.  
3-20 E1446/E1445 Command Reference  
STATus Subsystem  
STATus :PRESet  
Comments Executable when initiated: Yes  
Coupling group: none  
Related commands: STATus subsystem, *SRE, *STB?  
*RST Condition: unaffected  
Power-on Condition: STATUS:OPERation|QUEStionable:PTRansition 32767  
:PRESet  
STATus:PRESet initializes the enable registers and transition masks for the  
Operation and Questionable Signal status registers and sets STATus:OPC:INITiate  
ON. For both status registers, the enable registers are set to 0, the negative transition  
masks are set to 0, and the positive transition masks are set to 32767.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related commands: STATus subsystem, *SRE, *STB?  
*RST Condition: none  
STATus Subsystem  
E1446/E1445 Command Reference 3-21  
SYSTem  
The SYSTem subsystem returns error messages and the SCPI version number to  
which the Agilent E1446A complies.  
Subsystem Syntax SYSTem  
:ERRor?  
:VERSion?  
[query only]  
[query only]  
:ERRor?  
SYSTem:ERROR? returns the error messages in the error queue. See Appendix B  
for a listing of possible error numbers and messages.  
Comments The Agilent E1446A places any generated errors into the error queue. The queue  
is first-in, first out. With several errors waiting in the queue, the  
SYSTem:ERRor? returns the oldest unread error message first.  
The error queue can hold 30 error messages. If the Agilent E1446A generates  
more than 30 messages that are not read, it replaces the last error message in the  
queue with error -350,"Too many errors". No additional messages are placed into  
the queue until SYSTem:ERRor? reads some messages or the *CLS (clear status)  
command clears the queue.  
When the error queue is empty, SYSTem:ERRor? returns +0,"No error".  
Executable when initiated: Yes  
*RST Condition: unaffected  
Power-On Condition: no errors are in the error queue  
Example Reading the error queue  
SYST:ERR?  
Query the error queue  
:VERSion?  
SYSTem:VERSion? returns the SCPI version number to which the Agilent  
E1446A complies: “1991.0”.  
Comment Executable when initiated: Yes  
*RST Condition: none  
3-22 E1446/E1445 Command Reference  
SYSTem Subsystem  
SYSTem :VERSion?  
Example Querying the SCPI revision  
SYST:VERS?  
Query SCPI revision  
SYSTem Subsystem  
E1446/E1445 Command Reference 3-23  
Table 3-1. Agilent E1446A/E1445A Command Quick Reference.  
Subsystem  
Commands  
INPut[1]:ATTenuation < attenuation>  
INPut[1]  
INPut[1]:IMPedance < impedance>  
INPut2:ATTenuation < attenuation>  
INPut2  
INPut2:IMPedance < impedance>  
OUTPut2  
OUTPut2:ATTenuation < attenuation>  
OUTPut2:IMPedance < impedance>  
OUTPut2:OVERload?  
OUTPut2[:STATe] < mode>  
OUTPut2[:STATe]:ACTual?  
OUTPut3  
OUTPut4  
OUTPut3:IMPedance < impedance>  
OUTPut4:IMPedance < impedance>  
SOURce2:VOLTage SOURce2:VOLTage[:LEVel][:IMMediate]:OFFSet < voltage>  
STATus  
STATus:OPERation| QUEStionable:CONDition?  
STATus:OPERation| QUEStionable:ENABle < unmask>  
STATus:OPERation| QUEStionable[:EVENt]?  
STATus:OPERation| QUEStionable:NTRansition < unmask>  
STATus:OPERation| QUEStionable:PTRansition < unmask>  
STATus:PRESet  
SYSTem:ERRor?  
SYSTem  
SYSTem:VERsion?  
3-24 E1446/E1445 Command Quick Reference  
Agilent E1446 / E1405/06 Commands  
SCPI Command Reference  
DISPlay  
The DISPlay subsystem enables the amplifier’s settings (e.g. input impedance, input  
attenuation, output impedance, output attenuation, ...) to be monitored. When a  
display terminal is connected to the E1405 Command Module and monitor mode is  
enabled, the E1446A amplifier settings (and changes to the settings) are shown on  
the terminal.  
Subsystem Syntax DISPlay  
:MONitor  
[:STATe] <mode>  
:MONitor[:STATe]  
DISPlay:MONitor[:STATe] <state> enables/disables the monitor mode. Setting  
the state to ’ON’ or ’1’ enables monitor mode. ’OFF’ or ’0’ turns monitor mode off.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
mode  
boolean  
OFF|0|ON|1  
none  
Comments Coupling group: none  
*RST Condition: DISPlay:MONitor:STATe OFF  
Example Enabling Monitor Mode  
DISP:MON:STAT ON  
enable monitor mode  
DISPlay Subsystem  
E1446/E1405/06 Command Reference 3-7  
INPut[1]  
The INPut[1] subsystem controls the input attenuation and impedance of the Agilent  
E1446A’s “Input 1” BNC.  
Subsystem Syntax INPut[1]  
:ATTenuation <attenuation>  
:IMPedance <impedance>  
:ATTenuation  
INPut[1]:ATTenuation <attenuation> controls the input attenuator of the “Input  
1” BNC. Input attenuation can range from 0 to 31 dB in 1 dB steps.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
0 through 31.0 |  
dB  
MINimum|MAXimum  
MINimum selects 0 dB attenuation; MAXimum selects 31 dB.  
Comments Coupling group: none  
*RST Condition: INPut1:ATTenuation 0  
Example Setting 20 dB input attenuation  
INP:ATT 20  
Set 20 dB input attenuation  
:IMPedance  
INPut[1]:IMPedance <impedance> sets the input impedance of the “Input 1” BNC  
to either 50, 75, or 1 M.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
50|75|1.0E6|  
Ohms  
MINimum|MAXimum  
MINimum selects 50input impedance; MAXimum selects 1 M.  
3-8 E1446/E1405/06 Command Reference  
INPut[1] Subsystem  
INPut[1] :IMPedance  
Comments Coupling group: none  
*RST Condition: INPut1:IMPedance 50  
Example  
Setting 75 input impedance  
INP:IMP 75  
Set 75 input impedance  
INPut[1] Subsystem  
E1446/E1405/06 Command Reference 3-9  
INPut2  
The INPut2 subsystem controls the input attenuation and impedance of the  
Agilent E1446A’s “Input 2” BNC.  
Subsystem Syntax INPut2  
:ATTenuation <attenuation>  
:IMPedance <impedance>  
:ATTenuation  
INPut2:ATTenuation <attenuation> controls the input attenuator of the “Input 2”  
BNC. Input attenuation can range from 0 to 31 dB in 1 dB steps.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
0 through 31.0 |  
dB  
MINimum|MAXimum  
MINimum selects 0 dB attenuation; MAXimum selects 31 dB.  
Comments Coupling group: none  
*RST Condition: INPut2:ATTenuation 0  
Example Setting 20 dB input attenuation  
INP2:ATT 20  
Set 20 dB input attenuation  
:IMPedance  
INPut2:IMPedance <impedance> sets the input impedance of the “Input 2” BNC  
to either 50, 75, or 1 M.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
50|75|1.0E6|  
Ohms  
MINimum|MAXimum  
MINimum selects 50input impedance; MAXimum selects 1 M.  
3-10 E1446/E1405/06 Command Reference  
INPut2 Subsystem  
INPut2 :IMPedance  
Comments Coupling group: none  
*RST Condition: INPut2:IMPedance 50  
Example  
Setting 75 input impedance  
INP2:IMP 75  
Set 75 input impedance  
INPut2 Subsystem  
E1446/E1405/06 Command Reference 3-11  
OUTPut1  
The OUTPut1 subsystem controls the characteristics of the Agilent E1446A’s “Main  
Output” BNC. The subsystem sets the output attenuation, sets the output source  
impedance, monitors overload conditions, and enables or disables the output.  
Subsystem Syntax OUTPut1  
:ATTenuation <attenuation>  
:IMPedance <impedance>  
:OVERload?  
[:STATe] <mode>  
:ACTual?  
[query only]  
[query only]  
:ATTenuation  
OUTPut1:ATTenuation <attenuation> controls the output attenuator of the “Main  
Output” BNC. Either no attenuation or 20 dB may be selected when  
OUTPut1:IMPedance is set to either 50or 75. OUTPut1:ATTenuation must be  
set to 0 dB when OUTPut1:IMPedance is set to 0.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
0|20.0|  
dB  
MINimum|MAXimum  
MINimum selects 0 dB attenuation; MAXimum selects 20 dB.  
Comments Coupling group: Power amplifier  
*RST Condition: OUTPut1:ATTenuation 0  
Example Setting 20 dB output attenuation  
OUTP1:ATT 20  
Set 20 dB output attenuation  
:IMPedance  
OUTPut1:IMPedance <impedance> sets the output impedance of the “Main  
Output” BNC to either 0, 50Ω, or 75.  
OUTPut1:IMPedance 0 should be selected when an open-circuit or high-impedance  
load is connected to the output of the Agilent E1446A. The matching impedance is  
removed from the amplifier output. Also, the OUTPUT1 offset voltage into an  
open-circuit is twice that into a matched load. Setting OUTPut1:IMPedance 0  
compensates for this effect so that the  
SOURce:VOLTage:LEVel:IMMediate:OFFSet command will output the specified  
voltage into an open circuit.  
3-12 E1446/E1405/06 Command Reference  
OUTPut1 Subsystem  
OUTPut1 :OVERload?  
When OUTPut1:IMPedance is set to either 50or 75Ω, either no output attenuation  
or 20 dB may be selected. OUTPut1:ATTenuation must be set to  
0dB when OUTPut1:IMPedance is set to 0Ω.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
0|50|75|  
Ohms  
MINimum|MAXimum  
MINimum selects 0output impedance; MAXimum selects 75.  
Comments Coupling group: Power amplifier  
Related commands: SOURce:VOLTage:LEVel:IMMediate:OFFSet and  
OUTPut1:ATTenuation  
*RST Condition: OUTPut1:IMPedance 50  
Setting 75output impedance  
Example  
OUTP1:IMP 75  
Set 75 output impedance  
:OVERload?  
OUTPut1:OVERload? determines if an overload condition exists by reading bit 11  
of the amplifier’s status register (Appendix C).  
Comments A one (1) returned in response to the query indicates an overload condition exists.  
A zero (0) indicates there is not an overload condition.  
Coupling group: none  
*RST Condition: none  
Example Determining if an overload condition exists  
OUTP1:OVER?  
determine if overload condition exists  
OUTPut1 Subsystem  
E1446/E1405/06 Command Reference 3-13  
OUTPut1 [:STATe]  
[:STATe]  
OUTPut1[:STATe] <mode> closes or opens the output relay of the “Main Output”  
BNC to enable or disable the analog output. When disabled, the output appears as  
an open circuit.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
mode  
boolean  
OFF|0|ON|1  
none  
Comments Coupling group: none  
*RST Condition: OUTPut1:STATe ON  
The output relay will be opened automatically if an output current overload occurs.  
Example Disabling the output  
OUTP1 OFF  
Disable output  
[:STATe]:ACTual?  
OUTPut1[:STATe]:ACTual? determines if the amplifier’s ’Main Output’ BNC is  
enabled or has been disabled due to an overload condition. The determination is  
done by reading bit 8 of the amplifier’s Status register (Appendix C).  
Comments A one (1) returned in response to the query indicates the ’Main Output’ BNC is  
enabled. A zero (0) indicates the output is disabled.  
Coupling group: none  
*RST Condition: none  
Example Determining if the output is enabled  
OUTP1:STAT:ACT?  
determine if the output is enabled  
3-14 E1446/E1405/06 Command Reference  
OUTPut1 Subsystem  
OUTPut2  
The OUTPut2 subsystem controls the output impedance of the Agilent E1446A’s  
“Diff Output +” output.  
Subsystem Syntax OUTPut2  
:IMPedance <impedance>  
:IMPedance  
OUTPut2:IMPedance <impedance> sets the output impedance “Diff Output +”  
BNC to either 50or 75.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
50|75|  
Ohms  
MINimum|MAXimum  
MINimum selects 50output impedance; MAXimum selects 75.  
Comments Coupling group: none  
*RST Condition: OUTPut2:IMPedance 50  
Example  
Setting 75 output impedance  
OUTP2:IMP 75  
Set 75 output impedance  
OUTPut2 Subsystem  
E1446/E1405/06 Command Reference 3-15  
OUTPut3  
The OUTPut3 subsystem controls the output impedance of the Agilent E1446A’s  
“Diff Output -” output.  
Subsystem Syntax OUTPut3  
:IMPedance <impedance>  
:IMPedance  
OUTPut3:IMPedance <impedance> sets the output impedance “Diff Output -”  
BNC to either 50or 75.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
impedance  
numeric  
50|75|  
Ohms  
MINimum|MAXimum  
MINimum selects 50output impedance; MAXimum selects 75.  
Comments Coupling group: none  
*RST Condition: OUTPut3:IMPedance 50  
Example  
Setting 75 output impedance  
OUTP3:IMP 75  
Set 75 output impedance  
3-16 E1446/E1405/06 Command Reference  
OUTPut3 Subsystem  
SOURce:VOLTage  
The SOURce:VOLTage subsystem controls the output offset voltage at the Agilent  
E1446A “Main Output” BNC.  
Subsystem Syntax [SOURce]  
:VOLTage  
[:LEVel]  
[:IMMediate]  
:OFFSet <voltage>  
[:LEVel][:IMMediate]:OFFSet  
SOURce:VOLTage[:LEVel][:IMMediate]:OFFSet <voltage> sets the offset  
voltage of the “Main Output” BNC. Output offset level is programmed in volts.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
number  
numeric  
-9.999695 to +10.0|  
MINimum|MAXimum  
volts  
MINimum selects -9.999695; MAXimum selects +10.0.  
The above limits are doubled if OUTPut:IMPedance 0 is set.  
The combination of input levels and offset voltage must produce a voltage that  
remains within the Agilent E1446A’s output voltage specification. Significant  
distortion of the waveform will occur when the combination of input levels and  
offset voltage exceeds the specification.  
Comments Coupling group: Power amplifier  
Related commands: OUTPut1:IMPedance  
*RST Condition: SOURce:VOLTage:LEVel:IMMediate:OFFSet 0 V  
Example Setting offset voltage  
SOUR:VOLT:OFFS 3  
Set offset voltage to 3 volts  
SOURce:VOLTage Subsystem  
E1446/E1405/06 Command Reference 3-17  
STATus  
The STATus subsystem controls the SCPI-defined Operation and Questionable  
Signal status registers. Each is comprised of a condition register, an event register,  
an enable mask, and negative and positive transition filters.  
Each status register works as follows: when a condition occurs, the appropriate bit in  
the condition register is set or cleared. If the the corresponding transition filter is  
enabled for that bit, the same bit is set in the associated event register. The contents  
of the event register and the enable mask are logically ANDed bit-for-bit; if any bit  
of the result is set, the summary bit for that register is set in the status byte. The  
status byte summary bit for the Operation status register is bit 7; for the  
Questionable Signal status register, bit 3.  
Operation  
Status Register All bits are always 0. This register is implemented only for SCPI compatibility  
purposes.  
Questionable  
Signal  
Status Register All bits are always 0. This register is implemented only for SCPI compatibility  
purposes.  
Subsystem Syntax STATus  
:OPERation|QUEStionable  
:CONDition?  
:ENABle <unmask>  
[:EVENt]?  
[query only]  
[query only]  
:NTRansition <unmask>  
:PTRansition <unmask>  
:PRESet  
[no query]  
:OPERation|QUEStionable:CONDition?  
STATus:OPERation|QUEStionable:CONDition? returns the contents of the  
appropriate condition register. Reading the register does not affect its contents.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related commands: STATus subsystem, *SRE, *STB?  
*RST Condition: all bits of both condition registers are cleared as a result of the  
state present after *RST.  
Example Querying the Operation condition register  
STAT:OPER?  
Query Operation condition register  
3-18 E1446/E1405/06 Command Reference  
STATus Subsystem  
STATus :OPERation|QUEStionable:ENABle  
:OPERation|QUEStionable:ENABle  
STATus:OPERation|QUEStionable:ENABle <unmask> specifies which bits of  
the associated event register are included in its summary bit. The summary bit is the  
bit-for-bit logical AND of the event register and the unmasked bit(s).  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
unmask  
numeric or  
non-decimal  
numeric  
0 through +32767  
none  
The non-decimal numeric forms are the #H, #Q, or #B formats specified by  
IEEE-488.2.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related commands: STATus subsystem, *SRE, *STB?  
*RST Condition: unaffected  
Power-on Condition: STATUS:OPERation|QUEStionable:ENABLE 0  
:OPERation|QUEStionable[:EVENt]?  
STATus:OPERation|QUEStionable[:EVENt]? returns the contents of the  
appropriate event register. Reading the register clears it to 0.  
Comments Both event registers are also cleared to 0 by the *CLS common command.  
Executable when initiated: Yes  
Coupling group: none  
Related commands: STATus subsystem, *SRE, *STB?  
*RST Condition: unaffected  
Power-on Condition: Both event registers are cleared to 0.  
Example Querying the Operation event register  
STAT:EVEN?  
Query Operation event register  
STATus Subsystem  
E1446/E1405/06 Command Reference 3-19  
STATus :OPERation|QUEStionable:NTRansition  
:OPERation|QUEStionable:NTRansition  
STATus:OPERation|QUEStionable:NTRansition <unmask> sets the negative  
transition mask. For each bit unmasked, a 1-to-0 transition of that bit in the  
associated condition register will set the same bit in the associated event register.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
unmask  
numeric or  
non-decimal  
numeric  
0 through +32767  
none  
The non-decimal numeric forms are the #H, #Q, or #B formats specified by  
IEEE-488.2.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related commands: STATus subsystem, *SRE, *STB?  
*RST Condition: unaffected  
Power-on Condition: STATUS:OPERation|QUEStionable:NTRansition 0  
:OPERation|QUEStionable:PTRansition  
STATus:OPERation|QUEStionable:PTRansition <unmask> sets the positive  
transition mask. For each bit unmasked, a 0-to-1 transition of that bit in the  
associated condition register will set the same bit in the associated event register.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
unmask  
numeric or  
non-decimal  
numeric  
0 through +32767  
none  
The non-decimal numeric forms are the #H, #Q, or #B formats specified by  
IEEE-488.2.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related commands: STATus subsystem, *SRE, *STB?  
3-20 E1446/E1405/06 Command Reference  
STATus Subsystem  
STATus :PRESet  
*RST Condition: unaffected  
Power-on Condition: STATUS:OPERation|QUEStionable:PTRansition 32767  
:PRESet  
STATus:PRESet initializes the enable registers and transition masks for the  
Operation and Questionable Signal status registers and sets STATus:OPC:INITiate  
ON. For both status registers, the enable registers are set to 0, the negative transition  
masks are set to 0, and the positive transition masks are set to 32767.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related commands: STATus subsystem, *SRE, *STB?  
*RST Condition: none  
STATus Subsystem  
E1446/E1405/06 Command Reference 3-21  
SYSTem  
The SYSTem subsystem returns error messages and the SCPI version number to  
which the Agilent E1446A complies.  
Subsystem Syntax SYSTem  
:ERRor?  
:VERSion?  
[query only]  
[query only]  
:ERRor?  
SYSTem:ERROR? returns the error messages in the error queue. See Appendix B  
for a listing of possible error numbers and messages.  
Comments The Agilent E1446A places any generated errors into the error queue. The queue  
is first-in, first out. With several errors waiting in the queue, the  
SYSTem:ERRor? returns the oldest unread error message first.  
The error queue can hold 30 error messages. If the Agilent E1446A generates  
more than 30 messages that are not read, it replaces the last error message in the  
queue with error -350,"Too many errors". No additional messages are placed into  
the queue until SYSTem:ERRor? reads some messages or the *CLS (clear status)  
command clears the queue.  
When the error queue is empty, SYSTem:ERRor? returns +0,"No error".  
Executable when initiated: Yes  
*RST Condition: unaffected  
Power-On Condition: no errors are in the error queue  
Example Reading the error queue  
SYST:ERR?  
Query the error queue  
:VERSion?  
SYSTem:VERSion? returns the SCPI version number to which the Agilent  
E1446A complies: “1991.0”.  
Comment Executable when initiated: Yes  
*RST Condition: none  
3-22 E1446/E1405/06 Command Reference  
SYSTem Subsystem  
SYSTem :VERSion?  
Example Querying the SCPI revision  
SYST:VERS?  
Query SCPI revision  
SYSTem Subsystem  
E1446/E1405/06 Command Reference 3-23  
Table 3-1. Agilent E1446A/E1405/06 Command Quick Reference.  
Subsystem  
Commands  
DISPlay:MONitor[:STATe] < mode>  
DISPlay  
INPut[1]  
INPut[1]:ATTenuation < attenuation>  
INPut[1]:IMPedance < impedance>  
INPut2:ATTenuation < attenuation>  
INPut2  
INPut2:IMPedance < impedance>  
OUTPut1  
OUTPut1:ATTenuation < attenuation>  
OUTPut1:IMPedance < impedance>  
OUTPut1:OVERload?  
OUTPut1[:STATe] < mode>  
OUTPut1[:STATe]:ACTual?  
OUTPut2  
OUTPut3  
OUTPut2:IMPedance < impedance>  
OUTPut3:IMPedance < impedance>  
SOURce:VOLTage SOURce:VOLTage[:LEVel][:IMMediate]:OFFSet < voltage>  
STATus  
STATus:OPERation| QUEStionable:CONDition?  
STATus:OPERation| QUEStionable:ENABle < unmask>  
STATus:OPERation| QUEStionable[:EVENt]?  
STATus:OPERation| QUEStionable:NTRansition < unmask>  
STATus:OPERation| QUEStionable:PTRansition < unmask>  
STATus:PRESet  
SYSTem:ERRor?  
SYSTem  
SYSTem:VERsion?  
3-24 E1446/E1445 Command Quick Reference  
IEEE-488.2 Common Commands  
and  
SCPI Conformance Information  
SCPI Command Reference  
IEEE-488.2 Common Commands  
This section describes the IEEE-488.2 Common Commands implemented in the  
Agilent E1446A. The table below shows the commands listed by functional group;  
however, commands are listed alphabetically in the reference. Examples are shown  
in the reference when the command has parameters or returns a non-trivial response;  
otherwise, the command string is as shown in the table. For additional information,  
refer to IEEE Standard 488.2-1987.  
Category  
System Data  
Command  
Title  
Identification Query  
*IDN?  
Internal Operations *LRN?  
Learn Device Setup Query  
Reset Command  
*RST  
*TST?  
Self Test Query  
Synchronization  
Macro  
*OPC  
*OPC?  
*WAI  
Operation Complete Command  
Operation Complete Command  
Wait-to-Continue Command  
*DMC <name>,<data>  
*EMC <enable>  
*EMC?  
Define Macro Command  
Enable Macro Command  
Enable Macro Query  
*GMC? <name>  
*LMC?  
Get Macro Contents Query  
Learn Macro Query  
*PMC  
*RMC <name>  
Purge Macros Command  
Remove Individual Macro Command  
Status & Event  
*CLS  
Clear Status Command  
*ESE <mask>  
*ESE?  
*ESR?  
*SRE  
*SRE?  
Standard Event Status Enable Command  
Standard Event Status Enable Query  
Standard Event Status Register Query  
Service Request Enable Command  
Service Request Enable Query  
Read Status Byte Query  
*STB?  
Stored Settings  
*RCL  
*SAV  
Recall Command  
Save Command  
IEEE-488.2 Common Commands  
Command Reference 3-25  
*CLS  
*CLS  
*CLS clears the Standard Event Status Register, the Operation Status Register, the  
Questionable Signal Register, and the error queue. This clears the corresponding  
summary bits (3, 5, & 7) in the Status Byte Register. *CLS does not affect the  
enable masks of any of the status registers.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related Commands: STATus:PRESet  
*RST Condition: none  
*DMC  
*DMC <name>,<data> creates a macro with the specified name and assigns zero,  
one, or a sequence of commands to the name. The sequence may be composed of  
SCPI and/or Common Commands. The sequence must be sent in IEEE-488.2  
definite or indefinite block format.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
name  
string  
data  
1 through 12 characters  
none  
data  
block  
data  
or  
any valid command  
sequence  
none  
string  
Comments Legal macro names must start with an alphabetic character and contain only  
alphabetic, numeric, and underscore ("_") characters. Alphabetic character case  
(upper vs. lower) is ignored.  
The name is allowed to be the same as a SCPI command, but may be not be the  
same as a Common Command. When the name is the same as a SCPI command,  
the macro rather than the command will be executed when the name is received if  
macro usage is enabled. The SCPI command will be executed if macro usage is  
disabled.  
Executable when initiated: Yes  
Coupling group: none  
Related Commands: *EMC, *GMC, *LMC, *RMC  
3-26 Command Reference  
IEEE-488.2 Common Commands  
*EMC and *EMC?  
*RST Condition: none; macro defintions are unaffected  
Power-On Condition: no macros are defined  
Example Define macro to set ’Input 1’ impedance  
*DMC "RESTART","INP1:IMP 50"  
Define macro  
*EMC and *EMC?  
*EMC <enable> enables and disables macro usage. When enable is zero, macros  
usage is disabled. Any non-zero value enables macro usage.  
The query form returns 1 if macro usage is enabled, 0 if disabled.  
Comments Macro definitions are not affected by this command.  
Executable when initiated: Yes  
Coupling group: none  
*RST Condition: macro usage is disabled  
Power-On Condition: macro usage is enabled  
*ESE and *ESE?  
*ESE <mask> enables one or more event bits of the Standard Event Status Register  
to be reported in bit 5 (the Standard Event Status Summary Bit) of the Status Byte  
Register. Mask is the sum of the decimal weights of the bits to be enabled.  
The query form returns the current enable mask.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
mask  
numeric  
0 through 255  
none  
A 1 in a bit position enables the corresponding event; a 0 disables it.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related Commands: *ESR?, *SRE, *STB?  
*RST Condition: unaffected  
IEEE-488.2 Common Commands  
Command Reference 3-27  
*ESR?  
*ESR?  
Power-On Condition: no events are enabled  
Example Enable all error events  
*ESE 60  
Enable error events  
*ESR? returns the value of the Standard Event Status Register. The register is then  
cleared (all bits 0).  
Comments Executable when initiated: Yes  
Coupling group: none  
*RST Condition: none  
Power-On Condition: register is cleared  
*GMC?  
*GMC? <name> returns the definition of the specified macro in IEEE-488.2  
definite block format.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
name  
string  
data  
defined macro name  
none  
Comments Executable when initiated: Yes  
Coupling group: none  
Related Commands: *DMC  
*RST Condition: none  
Power-On Condition: no macros are defined  
3-28 Command Reference  
IEEE-488.2 Common Commands  
*IDN?  
Example Query macro definition  
*GMC? "RESTART"  
Query macro definition  
*IDN?  
*IDN? returns identification information for the E1446A. The response consists of  
four fields:  
HEWLETT-PACKARD,E1446A,0,A.01.00  
The first two fields identify this instrument as model number E1446A manufactured  
by Agilent Technologies. The third field is 0 since the serial number of the E1446A is  
unknown to the firmware. The last field indicates the revision level of the firmware.  
Note  
The firmware revision field will change whenever the firmware is revised. A.01.00  
is the initial revision. The first two digits indicate the major revision number, and  
increment when functional changes are made. The last two digits indicate bug fix  
level.  
Comments Executable when initiated: Yes  
Coupling group: none  
*RST Condition: none  
*LMC?  
*LMC? returns a comma-separated list of quoted strings, each containing the name  
of a macro. If no macros are defined, a single null string ("") is returned.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related Commands: *DMC  
*RST Condition: none  
Power-On Condition: no macros are defined  
IEEE-488.2 Common Commands  
Command Reference 3-29  
*LRN?  
*LRN?  
*LRN? returns a sequence of commands that may be resent to the Agilent E1446A  
to return it to its current programming state.  
Note  
*LRN? should be sent singly in a program message, since the number of commands  
in the returned sequence is large, and may vary depending on firmware revision.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related commands: *RCL, *RST, *SAV  
*RST Condition: none  
*OPC  
*OPC causes the E1446A to wait for all pending commands to complete. The  
Operation Complete bit (bit 0) in the Standard Event Status Register is then set.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related commands: *OPC?, *WAI  
*RST Condition: none  
*OPC?  
*OPC? causes the E1446A to wait for all pending commands to complete. A single  
ASCII “1" is then placed in the output queue.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related commands: *OPC, *WAI  
*RST Condition: none  
3-30 Command Reference  
IEEE-488.2 Common Commands  
*PMC  
*PMC  
*PMC purges all macro definitions.  
Comments Use the *RMC command to purge an single macro definition.  
Executable when initiated: Yes  
Coupling group: none  
Related commands: *DMC, *RMC  
*RST Condition: none  
*RCL  
*RCL <number> restores a previously stored programming state from one of the 10  
possible stored state areas. Number indicates which of the stored state areas should  
be used.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
number  
numeric  
0 through 9  
none  
Comments Executable when initiated: No  
Coupling group: none  
Related Commands: *LRN?, *RST, *SAV  
*RST Condition: unaffected  
Power-on Condition: all saved states set to the same state as the *RST state  
*RMC  
*RMC <name> purges only the specified macro definition.  
NOTE: At printing time, *RMC is a command proposed and accepted for a revision  
and re-designation of IEEE-488.2.  
Comments Use the *PMC command to purge all macro definitions in one command.  
Executable when initiated: Yes  
Coupling group: none  
IEEE-488.2 Common Commands  
Command Reference 3-31  
*RST  
*RST  
Related commands: *DMC, *PMC  
*RST Condition: none  
*RST resets the Agilent E1446A as follows:  
Sets all commands to their *RST state.  
Aborts all pending operations including waveform generation.  
*RST does not affect:  
The output queue  
The Service Request Enable Register  
The Standard Event Status Enable Register  
The enable masks for the OPERation Status and Questionable Signal registers  
Comments Executable when initiated: Yes  
Coupling group: none  
*RST Condition: none  
*SAV  
*SAV <number> stores the current programming state into one of the 10 possible  
stored state areas. Number indicates which of the stored state areas should be used.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
number  
numeric  
0 through 9  
none  
Comments Executable when initiated: No  
Coupling group: none  
Related Commands: *LRN?, *RCL, *RST  
*RST Condition: unaffected  
Power-on Condition: all saved states set to the same state as the *RST state  
3-32 Command Reference  
IEEE-488.2 Common Commands  
*SRE and *SRE?  
*SRE and *SRE?  
*SRE <mask> specifies which bits of the Status Byte Register are enabled to  
generate a service request . Event and summary bits are always set and cleared in  
the Status Byte Register regardless of the enable mask. Mask is the sum of the  
decimal weights of the bits to be enabled.  
The query form returns the current enable mask.  
Parameters  
Parameter  
Name  
Parameter  
Type  
Range of  
Values  
Default  
Units  
mask  
numeric  
0 through 255  
none  
A 1 in a bit position enables service request generation when the corresponding  
Status Byte Register bit is set; a 0 disables it.  
Comments Executable when initiated: Yes  
Coupling group: none  
*RST Condition: unaffected  
Power-On Condition: no bits are enabled  
Example Enable service request on Message Available bit  
*SRE 16  
Enable request on MAV  
*STB?  
*STB? returns the value of the Status Byte Register. Bit 6 (decimal weight 64) is  
set if a service request is pending. STB? should not be used to read the Status Byte  
register if a service request is generated by a message available (MAV) condition.  
Comments *STB? is a query. Thus, sending the command in response to a MAV condition  
will generate Error -410 "Query interrupted".  
Executable when initiated: Yes  
Coupling group: none  
Related commands: *SRE  
*RST Condition: none  
IEEE-488.2 Common Commands  
Command Reference 3-33  
*TST?  
*TST?  
*TST? causes the E1446A to execute its internal self-test and return a value  
indicating the results of the test. Only communication between the command  
module and the on-card registers is tested.  
A zero (0) response indicates that the self-test passed. A one (1) response indicates  
that the test failed. The failure also generates an error message with additional  
information on why the test failed.  
When the test completes, all other commands are restored to their current values  
when the E1446A is used with the E1405/06. When the E1446A is used with the  
E1445A, the commands are set to their *RST values.  
Comments Executable when initiated: No  
Coupling group: none  
*RST Condition: none  
*WAI  
*WAI causes the E1446A to wait for all pending commands to complete before  
executing any further commands.  
Comments Executable when initiated: Yes  
Coupling group: none  
Related commands: *OPC, *OPC?  
*RST Condition: none  
3-34 Command Reference  
IEEE-488.2 Common Commands  
SCPI Conformance Information  
The Agilent E1446A Summing Amplifier/DAC conforms to the  
SCPI-1991.0 standard.  
The following tables list all the SCPI confirmed, approved, and non-SCPI  
commands that the Agilent E1446A can execute.  
Table 3-2. SCPI Confirmed Commands (E1446A/E1445A).  
INPut[1]  
:ATTenuation <attenuation>  
:IMPedance <impedance>  
SOURce2  
:VOLTage  
[:LEVel]  
[:IMMediate]  
:OFFSet <voltage>  
INPut2  
:ATTenuation <attenuation>  
:IMPedance <impedance>  
STATus  
:OPERation | QUEStionable  
:CONDition?  
OUTPut2  
:ATTenuation <attenuation>  
:IMPedance <impedance>  
[:STATe] <mode>  
:ENABle <unmask>  
:NTRansition <unmask>  
:PTRansition <unmask>  
:PRESet  
OUTPut3  
:IMPedance <impedance>  
SYSTem  
:ERRor?  
OUTPut4  
:IMPedance <impedance>  
:VERSion?  
Table 3-3. SCPI Confirmed Commands (E1446A/E1405/06).  
INPut[1]  
:ATTenuation <attenuation>  
:IMPedance <impedance>  
SOURce  
:VOLTage  
[:LEVel]  
[:IMMediate]  
:OFFSet <voltage>  
INPut2  
:ATTenuation <attenuation>  
:IMPedance <impedance>  
STATus  
:OPERation | QUEStionable  
:CONDition?  
OUTPut1  
:ATTenuation <attenuation>  
:IMPedance <impedance>  
[:STATe] <mode>  
:ENABle <unmask>  
:NTRansition <unmask>  
:PTRansition <unmask>  
:PRESet  
OUTPut2  
:IMPedance <impedance>  
SYSTem  
:ERRor?  
OUTPut3  
:VERSion?  
:IMPedance <impedance>  
SCPI Conformance Information  
Command Reference 3-35  
Table 3-4. Non-SCPI Commands.  
Agilent E1446A/E1445A  
Agilent E1446A/E1405/06  
DISPlay  
OUTPut2  
:OVERload?  
[:STATe]  
:MONitor  
[:STATe]  
ACTual?  
OUTPut1  
:OVERload?  
[:STATe]  
ACTual?  
3-36 Command Reference  
SCPI Conformance Information  
Appendix A  
Specifications  
Appendix Contents  
This appendix contains the Agilent E1446A Summing Amplifier/DAC  
operating specifications. Except as noted, the specifications apply under  
the following conditions:  
Period:  
1 year  
Temperature:  
0° - 55° C  
Relative humidity: 65% @ 0° - 40° C  
Warm up time: 1 hour  
“Typical”, “typ”, or “nominal” values are non-warranted supplementary  
information provided for applications assistance.  
Inputs Number of Inputs: 2  
Function: These inputs have independently adjustable attenuators  
(see below), and are summed into all outputs.  
Connectors: BNC (ground-referenced)  
Impedance:  
50, 75, or 1 M| | 20pF (nominal)  
Outputs  
Main Output Connector:  
BNC (ground-referenced)  
Impedance:  
50, 75, or Low-Z (less than 1) (nominal)  
Drive Capability : ± 10 volts DC into 50 or 75 (Rout= 50 or 75  
respectively)  
± 20 volts DC into > 100(Rout= Low Z)  
Output current 200 mA  
Short-circuit maximum 400 mA  
Agilent E1446A Specifications  
A-1  
Protection: Relay Trip. This disconnects the main output after  
either a voltage or a current overload of non-transient duration. The  
relay’s state can be queried and reset by software control.  
Differential Outputs These are two outputs nominally out-of-phase.  
Connectors: The + (in-phase) and - (antiphase) outputs have  
separate ground-referenced BNC connectors.  
Impedance:  
50 or 75 , each side to ground  
Drive Capability : ± 1V into 50 or 75 Ω  
Gain Maximum voltage gain from either input (with all attenuators set to  
0 dB; accuracies shown are for DC):  
Characteristics  
Output  
50/75 load  
10 ± 1.0 %  
+ 1 ± 1.0 %  
-1 ± 1.0 %  
High-Z load  
20 ± 1.0 %  
+ 2± 1.0 %  
-2 ± 1.0 %  
Main  
Differential +  
Differential -  
Input channel attenuators: Each input channel has an independent  
attenuator adjustable from 0 to 31 dB in steps of 1 dB.  
Main output attenuator: Two settings, 0 or 20 dB attenuation.  
(20 dB setting is not applicable when Rout = Low-Z.)  
Attenuator DC accuracy: 0.1 dB for each attenuator  
Offset Main Output Offset is adjustable with a DAC:  
Nominal Range :  
Resolution :  
+ to - maximum output voltage (i.e. ± 10V or ± 20V)  
16 bits  
Accuracy:  
± 0.5% of full-scale plus ± 0.7% of setting  
Offset accuracy is ± 1% of maximum output  
Differential Outputs :  
A-2  
Agilent E1446A Specifications  
AC Characteristics Frequency Response :  
Full-Power Bandwidth:  
10 MHz, all outputs  
Small-Signal Bandwidth: 30 MHz, all outputs  
General VXI Size :  
C
1
Slots :  
Characteristics  
Connectors :  
P1, P2  
Weight ( kg) :  
1.4  
Device Type :  
Register, A16, D16 Servant  
VXIbus Revision Compliance :  
Register Level Documentation :  
SCPI Revision :  
1.3  
Yes  
1991.0  
Manufacturer Code :  
Model Code :  
4095 Decimal  
419 Decimal  
Currents in Amps (typical)  
+ 5v :  
+ 12v :  
-12v :  
+ 24v :  
-24v :  
-5.2v:  
-2v :  
I(pm) 0.36  
I(dm) 0.04  
I(pm) 0.2  
I(dm) 0.06  
I(pm) 0.08  
I(dm) 0.05  
I(pm) 0.36  
I(dm) 0.27  
I(pm) 0.34  
I(dm) 0.27  
I(pm) 0.22  
I(dm) 0.04  
I(pm) 0  
I(dm) 0  
+ 5vs :  
I(pm) 0  
I(dm) 0  
Typical Watts/Slot:  
dPressure(mm H2O): 0.14  
AirFlow (liters/s): 1.28  
16  
Agilent E1446A Specifications  
A-3  
Appendix B  
Error Messages  
Agilent E1446A This appendix contains a list of error messages that may be received  
when programming the Agilent E1446A.  
Error Messages  
Table B-1. Agilent E1446A Error Messages . . . . . . . . . . B-2  
Table B-2. Agilent E1446A Settings Conflict Errors  
with the Agilent E1405/06 . . . . . . . . . . . . . . . . . . . . . . . . . . B-4  
Table B-3. Agilent E1446A Settings Conflict Errors  
with the Agilent E1445A . . . . . . . . . . . . . . . . . . . . . . . . . . . B-4  
Agilent E1446A Error Messages  
B-1  
Table B-1. Agilent E1446A Error Messages  
Code  
-101  
-102  
Message  
Invalid character  
Syntax error  
Description  
Unrecognized character in parameter.  
Command is missing a space or comma between  
parameters.  
-103  
-104  
-108  
Invalid separator  
Data type error  
Parameter is separated by a character other than a  
comma.  
The wrong data type (number, character, string,  
expression) was used when specifying the parameter.  
Parameter not allowed  
Parameter specified in a command which does not  
require one.  
-109  
-112  
-113  
-121  
Missing parameter  
Program mnemonic too long  
Undefined header  
Command requires a parameter(s).  
Command keyword > 12 characters  
Command header (keyword) was incorrectly specified.  
Invalid character in number  
A character other than a comma or number is in the  
middle of a number.  
-123  
Numeric overflow  
A parameter value is greater than what can be  
represented with the number format.  
-124  
-128  
-131  
Too many digits  
Numeric data not allowed  
Invalid suffix  
More than 256 digits were used to specify a number.  
A number was specified when a letter was required.  
Parameter suffix incorrectly specified (e.g. VO rather  
than VP).  
-138  
-141  
-144  
Suffix not allowed  
Invalid character data  
Character data too long  
Parameter suffix is specifed when one is not allowed.  
Discrete parameter specified is not a valid choice.  
A segment or sequence name is too long, or a  
discrete parameter is > 12 characters. Segment and  
sequence names must be 12 characters or less.  
-148  
-158  
-161  
Character data not allowed  
String data not allowed  
Invalid block data  
Discrete parameter was specified when another type  
(e.g. numeric, boolean) is required.  
A string was specified when another parameter type  
(i.e. discrete, numeric, boolean) is required.  
The number of bytes in a definite length data block  
does not equal the number of bytes indicated by the  
block header.  
-168  
Block data not allowed  
Block data was specified when another parameter  
type (i.e. discrete numeric, boolean) is required.  
B-2  
Agilent E1446A Error Messages  
Table B-1. Agilent E1446A Error Messages (Con’t.)  
Code  
Message  
Description  
-178  
Expression data not allowed  
Expression data was specified when another  
parameter type is required.  
-183  
-221  
Macro execution error  
Settings conflict  
Macro program data sequence could not be executed  
due to invalid data inside the macro definition.  
See "Settings Conflict Error Messages" at the end of  
this table.  
-222  
-270  
Data range error  
Macro error  
Data out of range.  
*RMC < name> was executed and name is not  
defined.  
-272  
-273  
Macro execution error  
Illegal macro label  
Macro program data sequence could not be executed  
due to a syntax error within the macro definition.  
The macro label defined in the *DMC command was  
too long, the same as a common command keyword,  
or contained invalid header syntax.  
-276  
-277  
Macro recursion error  
A macro program data sequence could not be  
executed because the sequence leads to the  
execution of a macro being defined.  
Macro redefinition not allowed  
A macro label in the *DMC command could not be  
executed because the macro label was already  
defined.  
-330  
-350  
-410  
-420  
Self-test failed  
Too many errors  
Note the information associated with the message for  
a description of the failure.  
The Agilent E1446A error queue is full and additional  
errors have occurred.  
Query INTERRUPTED  
Query UNTERMINATED  
The Agilent E1446A was sent a command before it  
was finished responding to a query command.  
The controller (computer) attempts to read a query  
response from the Agilent E1446A without having first  
sent a complete query command.  
-430  
-440  
Query DEADLOCKED  
The Agilent E1446A’s input and output buffers are full  
and the Amplifier cannot continue  
Query UNTERMINATED after  
indefinite response  
Occurs when the *IDN? query is not the last query  
executed in a command string  
Agilent E1446A Error Messages  
B-3  
Table B-2. Agilent E1446A Settings Conflict Errors with the Agilent E1405/06 Command Module  
OUTP:ATT 20 and OUTP:IMP 0; OUTP:IMP 50 set  
SOUR:VOLT:OFFS < minimum; SOUR:VOLT:OFFS MIN set  
SOUR:VOLT:OFFS > maximum; SOUR:VOLT:OFFS MAX set  
Table B-3. Agilent E1446A Settings Conflict Errors with the Agilent E1445A AFG  
OUTP2:ATT 20 and OUTP2:IMP 0; OUTP2:IMP 50 set  
SOUR2:VOLT:OFFS < minimum; SOUR2:VOLT:OFFS MIN set  
SOUR2:VOLT:OFFS > maximum; SOUR2:VOLT:OFFS MAX set  
B-4  
Agilent E1446A Error Messages  
Appendix C  
Register-Based Programming  
Appendix Contents  
The Agilent E1446A Summing Amplifier/DAC (amplifier) is a  
register-based device which does not support the VXIbus word serial  
protocol. When a SCPI command is sent to the amplifier, the amplifier  
driver in the Agilent E1445A Arbitrary Function Generator (AFG) or  
in the Agilent E1405/06 Command Module parses the command and  
writes the information to the amplifier registers.  
Register-based programming is a series of reads and writes directly to  
the amplifier registers. This increases throughput speed since command  
parsing is eliminated and the registers can be accessed from the VXI  
backplane (with an embedded controller or Instrument BASIC).  
This appendix contains the information you need for register-based  
programming. The contents include:  
Register Addressing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1  
Computer Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . C-4  
Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-6  
Programming the Amplifier . . . . . . . . . . . . . . . . . . . . . . . . . C-12  
Example Programs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-17  
Register Addressing  
Register addresses for register-based devices are located in the upper  
25% of VXI A16 address space. Every VXI device (up to 256 devices) is  
allocated a 32 word (64 byte) block of addresses. The amplifier uses six  
of the 32 (word) addresses allocated.  
Figure C-1A shows the register address location within A16. Figure  
C-1B shows the location of A16 address space in the Agilent E1405/06  
Command Module.  
The Base Address When you are reading or writing to an amplifier register, a hexadecimal  
or decimal register address is specified. This address consists of a A16  
base address plus a register offset or register number.  
Register Addressing  
Register-Based Programming C-1  
Figure C-1A. E1446A Amplifier Registers within A16 Address Space.  
Figure C-1B. E1446A Amplifier Registers within E1405 A16 Address Space.  
C-2 Register-Based Programming  
Register Addressing  
The A16 base address used in register-based programming depends on  
whether the A16 address space is located inside the E1405/06 Command  
Module or elsewhere (e.g. embedded computer). Figures C-1A, C-1B,  
and Table C-1 enable you to determine the base address for the  
following computer configurations:  
Embedded Controller (V/360)  
Agilent E1405/06 Command Module Instrument BASIC  
(IBASIC)  
External Computer over GPIB to Command Module (E1405/06)  
Table C-1. Computer Configurations used with the E1446A  
Computer  
Programming Method  
READIO (-16,Base_addr + offset)  
WRITEIO -16,Base_addr + offset;data  
Base Address  
Base_addr = C00016 + (LADDR *64)16  
Agilent E1480 V/360 Embedded  
Computer  
or  
= 49,152 + (LADDR * 64)  
(positive select code = byte read or write  
negative select code = word read or write)  
offset = register offset (Figure C-1B)  
E1405/06 IBASIC  
READIO (-9826,Base_addr + offset)  
Base_addr = 1FC00016 + (LADDR * 64)16  
(Absolute Addressing)  
WRITEIO -9826,Base_addr + offset;data  
or  
= 2,080,768 + (LADDR * 64)  
(positive select code = byte read or write  
negative select code = word read or write)  
offset = register offset (Figure C-1A)  
Base_addr = LADDR * 256  
READIO (8,Base_addr + reg number)  
(Select Code 8)  
reg number = offset (Figure C-1A)/2  
Amplifier logical address setting (LADDR)  
offset = register offset (Figure C-1A)  
WRITEIO 8,Base_addr + reg number;data  
VXI:READ? logical_address,offset  
External Computer  
VXI:WRITE logical_address,offset,data  
(over GPIB to E1405/06 Command  
Module)  
DIAG:PEEK? Base_addr + offset,width  
Base_addr = 1FC00016 + (LADDR * 64)16  
DIAG:POKE Base_addr + offset,width,data or  
= 2,080,768 + (LADDR * 64)  
offset = register offset (Figure C-1A)  
LADDR : Amplifier logical address.  
(LADDR * 64)16: multiply quantity, then convert to a hexadecimal number (e.g. 88 * 64)16 = 160016.  
When using DIAG:PEEK? and DIAG:POKE, the width (number of bits) is 8 or 16.  
Register Addressing  
Register-Based Programming C-3  
Computer Configurations  
This section contains performance and functional information on the  
computer configurations that can be used with register-based  
programming.  
Throughput Speed Throughput speed is based on the amount of command parsing and  
whether the registers are accessed from the VXI backplane or from the  
GPIB. The computer configurations which allow faster throughput  
relative to each other are summarized below:  
1. Agilent E1480A V/360 Controller with READIO and WRITEIO  
(register access is from VXI backplane).  
2. E1405/06 IBASIC absolute addressing with READIO and  
WRITEIO (register access is from VXI backplane).  
3. E1405/06 IBASIC select code 8 with READIO and WRITEIO  
(register access is from VXI backplane).  
4. External Computer using DIAG:PEEK? and DIAG:POKE  
(register access is over GPIB).  
5. External Computer using VXI:READ? and VXI:WRITE  
(register access is over GPIB).  
Embedded The fastest throughput is achieved using an embedded computer such as  
the Agilent E1480 V/360. The embedded computer allows you to access  
the amplifier registers from the VXIbus backplane, and since READIO  
and WRITEIO are used, there is no parsing of SCPI command headers.  
Computer  
Programming  
(C-Size Systems)  
IBASIC When the E1446A amplifier is programmed using the E1405/06  
Command Modules Instrument BASIC (IBASIC), two methods of  
accessing the registers are through absolute addressing or using select  
code 8.  
Programming  
Absolute Addressing and Select Code 8  
Absolute addressing is faster than select code 8 since the complete  
register address (including the A16 starting location 1FC000 ) is  
16  
specified. When select code 8 is used, the IBASIC processor must  
calculate the complete register address based on the logical address  
specified (Table C-1).  
C-4 Register-Based Programming  
Computer Configurations  
The Register Offset Depending on whether absolute addressing or select code 8 is used,  
either a register offset or register number is specified as part of the  
register address. Absolute addressing specifies a register offset, which is  
the registers location in the block of 64 address bytes. For example, the  
and Register Number  
amplifiers DAC Control Register has an offset of 08 . When you write  
16  
to this register, the offset is added to the base address to form the  
register address (assuming a logical address of 88):  
register address = base address + register offset  
= 1FC00016 + (88 * 64)16 + 0816  
= 1FC00016 + 160016 + 0816 = 1FD60816  
or  
= 2,080,768 + (88 * 64) + 8  
= 2,080,768 + 5632 + 8 = 2,086,408  
Using select code 8 requires that you specify a register number. The  
register number is the register offset/2. Referring to Figure C-1A, the  
DAC Control register with an offset of 08 is register number 4.  
Declaring IBASIC When writing or modifying IBASIC programs, array variables can be  
declared in COM (common) memory. Variables not in COM memory  
reside in the IBASIC stack. The stackis a 32 kByte (default) segment  
of memory which contains components such as pointers and local  
variables for subprograms and declarations. When too many variables  
(or too large an array) are in the stack, Error 2 - Memory Overflow will  
occur. If a memory overflow occurs, the stack size can be changed with  
the command PROGram:MALLocate < nbytes> (see the Instrument  
BASIC users manual for more information).  
Variables in COM  
(common) Memory  
External Computer When the amplifier is programmed by an external computer through the  
E1405/06 Command Module, the registers are accessed using  
DIAG:PEEK? and DIAG:POKE, or VXI:READ? and VXI:WRITE.  
Programming  
DIAG:PEEK?/DIAG:POKE and VXI:READ?/VXI:WRITE  
Throughput speed using DIAG:PEEK? and DIAG:POKE is faster than  
VXI:READ? and VXI:WRITE because the complete register address  
(including the A16 starting location 1FC000 ) is specified.  
16  
VXI:READ? and VXI:WRITE specify the device logical address and  
register offset only. Thus, the E1405/06 processor must calculate the  
complete register address which decreases throughput speed.  
Computer Configurations  
Register-Based Programming C-5  
IBASIC programming using absolute addressing or select code 8 is  
faster than either DIAG:PEEK? and DIAG:POKE or VXI:READ?  
and VXI:WRITE because the registers are accessed from the VXIbus  
backplane rather than from the GPIB. Also, READIO and WRITEIO  
do not need to be repetitively parsed at runtime.  
Register Descriptions  
There are two READ and four READ/WRITE registers on the  
amplifier. This section contains a description and a bit map of each  
register.  
The READ Registers The following READ registers are located on the amplifier.  
ID Register (base + 00 )  
16  
Device Type Register (base + 02 )  
16  
Examples and program statements in this appendix use 16-bit reads. In  
most cases, however, only the lower eight bits are used.  
The ID Register The amplifiers ID register indicates the classification, addressing mode,  
and the manufacturer of the device.  
Address  
15  
14  
13  
12  
11 - 0  
base + 0016  
Device  
Class  
Address  
Mode  
Manufacturer ID  
Device Classification. Bits 15 and 14 classify a device as one of the  
following:  
0 0  
0 1  
1 0  
1 1  
memory device  
extended device  
message-based device  
register-based device  
The Agilent E1446 Summing Amplifier/DAC is a register-based device.  
C-6 Register-Based Programming  
Register Descriptions  
Addressing Mode. Bits 13 and 12 indicate the addressing mode used by  
the device:  
0 0  
0 1  
1 0  
1 1  
A16/A24 address mode  
A16/A32 address mode  
RESERVED  
A16 address mode  
The Agilent E1446 amplifier uses the A16 address mode.  
Manufacturer ID. Bits 11 through 0 identify the manufacturer of the  
device. Agilent Technologies ID number is 4095, which corresponds to  
bits 11 - 0 being set to “1".  
Given the device classification, addressing space, and manufacturer of  
the Agilent E1446, reading the ID register returns FFFF .  
16  
The Device Type The Device Type register contains a model code which identifies the  
device.  
Register  
Address  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
base + 0216  
Model Code  
Model Code. The model code of the Agilent E1446 amplifier is 01A3 .  
16  
The READ/WRITE The following READ/WRITE registers are located on the amplifier.  
Registers  
Status/Control Register (base + 04 )  
16  
DAC Control Register (base + 08 )  
16  
Output Control Register (base + 0A )  
16  
Input Attenuation Register (base + 0C )  
16  
Examples and program statements in this appendix use 16-bit reads and  
writes.  
Register Descriptions  
Register-Based Programming C-7  
The Status Register  
Reading the register at base + 04 reads the amplifiers Status register.  
The Status register monitors the amplifiers input/output enable  
conditions and overload conditions.  
16  
Address  
15  
14  
13 - 12  
11  
10  
9
8
7 - 0  
MODID*  
not used  
(0)  
Main Input 1 Input 2 Main  
Output Enable Enable Output  
not used  
(0)  
FF16  
base + 0416  
Ovld  
State  
MODID. A zero (0) in bit 14 indicates that the amplifier is selected by a  
high state on the P2 MODID line. A one (1) indicates the amplifier is  
not selected via the P2 MODID line.  
Main Output Ovld. A one (1) in bit 11 indicates an output signal (Main  
Output BNC) can not be produced with the current input conditions.  
Input 1 Enable. A one (1) in bit 10 indicates the Input 1BNC port is  
enabled. A zero (0) indicates the input port is disabled.  
Input 2 Enable. A one (1) in bit 9 indicates the Input 2BNC port is  
enabled. A zero (0) indicates the input port is disabled.  
Main Output State. A one (1) in bit 8 indicates the Main OutputBNC  
port is enabled. A zero (0) indicates the output port is disabled.  
At power-on, the inputs and output are disabled.  
The Control Writing to the register at base + 04 writes to the amplifiers Control  
16  
register. The Control register is used to perform a hardware reset of the  
amplifier.  
Register  
Address  
15 - 1  
0
base + 0416  
not used  
Reset  
Resetting the Amplifier. Writing a one (1) to bit 0 (hardware) resets the  
amplifier. Writing a zero (0) turns the reset function off. Bit 0 must be a  
1’ for at least 2 µs for the reset to occur. Bit 0 must be set to 0 for  
normal operation.  
C-8 Register-Based Programming  
Register Descriptions  
The DAC Control The DAC control register sets the output level of the amplifier/DAC.  
Register  
Address  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
base + 0816  
DAC Control Code  
DAC Control Code  
DAC Output  
Amplifier Output  
0000  
7FFE  
+ full scale  
+ 1 LSB  
- full scale: -19.9992V  
- 1 LSB: -.610 µV  
(open circuit)  
0
16  
16  
7FFF  
0
16  
8000  
- 1 LSB  
+ 1 LSB: + .610 µV  
(open circuit)  
16  
FFFF  
- full scale  
+ full scale: + 20.0000V  
16  
At power-on the DAC control code is set to 0, which is - full scale.  
The Output Control The Output Control register controls the output attenuation and  
impedance of the amplifiers ’Mainand differentialoutputs.  
Register  
Address  
15 - 8  
7
6
5
4
3
2
1
0
0dB  
output  
path  
20dB  
output  
path  
’Main’  
output  
enable /  
disable  
reserved  
(must be  
set to ’1’)  
50-75Ω  
output  
imped.  
50-7550-75Ω  
0Ω  
FF16  
base + 0A16  
out imp out imp output  
of  
of inv  
amp  
imped.  
non -inv  
amp  
Bits 7 - 6. Bits 7 and 6 set the attenuation at the amplifierss main  
output. Setting bit 7 to one (1) specifies the 0dB output path. Setting  
bit 7 to zero (0) opens the 0dB output path. Setting bit 6 to one (1)  
specifies the 20dB output path. Setting bit 6 to zero (0) opens the 20dB  
output path. At power-on, the output attenuation is undefined.  
Bit 5. Setting bit 5 to one (1) sets the Mainoutput impedance to 50Ω.  
Setting bit 5 to zero (0) sets the Mainoutput impedance to 75Ω. At  
power-on, the output impedance is undefined.  
Bit 4. Setting bit 4 to one (1) enables the amplifiers ’Mainoutput.  
Setting bit 4 to zero (0) disables the amplifiers ’Mainoutput. At  
power-on the bit value is undefined, but the output is disabled.  
Bits 3 - 2. Bits 3 and 2 set the output impedance of the amplifiers  
non-inverting and inverting differentialoutputs. Setting bit 3 to one (1)  
sets the impedance of the non-inverting output to 50. Setting bit 3 to  
Register Descriptions  
Register-Based Programming C-9  
zero (0) sets the impedance to 75. Setting bit 2 to one (1) sets the  
impedance of the inverting output to 50. Setting bit 2 to zero (0) sets  
the impedance to 75. At power-on, the impedance of both outputs is  
undefined.  
Bit 1. Setting bit 1 to one (1) sets the Mainoutput impedance to 0Ω.  
Setting bit 1 to zero (0) opens the 0path. The output attenuation must  
be set to 0 dB (bit 7) if the impedance is set to 0. Bit 5 must also be set  
to one (1) to get 0output impedance. At power-on, the Mainoutput  
impedance is undefined.  
Bit 0. Bit 0 is a reserved bit and must remain set to one (1). At  
power-on, the bit setting is undefined.  
The Input The Input Attenuation register controls the attenuation and impedance  
of the amplifiers inputs (Input 1and Input 2).  
Attenuation Register  
Address  
15 14 13 12 11 10  
Input 1 attenuation and impedance  
9
8
X
7
6
5
4
3
2
1
0
Input 2 attenuation and impedance  
16dB 8dB 4dB 2dB 1dB  
atten atten atten atten atten  
not 16dB 8dB 4dB 2dB 1dB  
used atten atten atten atten atten  
relay  
act.  
7550Ω  
7550Ω  
in in  
imp imp  
base + 0C16  
in  
in  
imp imp  
Bits 15 - 11. Bits 15 - 11 set the Input 1attenuation from 0dB to 31dB.  
Zeros (0) in bits 15 - 11 set 0dB attenuation. Ones (1) in bits 15 - 11 set  
up to 31dB of attenuation. At power-on, the input attenuation is  
undefined.  
Bits 10 - 9. Bits 10 - 9 set the input impedance of Input 1. Setting bit  
10 to one (1) sets the impedance to 75. Setting bit 9 to one (1) sets the  
impedance to 50. If both bits are set to one (1), the impedance is 50.  
Setting both bits to zero (0) sets the input impedance to 1 M. At  
power-on, the input impedance is undefined.  
Bits 7 - 3. Bits 7 - 3 set the Input 2attenuation from 0dB to 31dB.  
Zeros (0) in bits 7 - 3 set 0dB attenuation. Ones (1) in bits 7 - 3 set up to  
31dB of attenuation. At power-on, the input attenuation is undefined.  
Bits 2 - 1. Bits 2 - 1 set the input impedance of Input 2. Setting bit 2 to  
one (1) sets the impedance to 75. Setting bit 1 to one (1) sets the  
impedance to 50. If both bits are set to one (1), the impedance is 50.  
Setting both bits to zero (0) sets the input impedance to 1 M. At  
power-on, the input impedance is undefined.  
C-10 Register-Based Programming  
Register Descriptions  
Bit 0. The attenuation relays (bits 15 - 11 and bits 7 - 3) are latching  
relays. When energized, these relays will "latch" to an open (bit = 0) or  
closed (bit = 1) state and remain in that state after the energizing power  
is removed.  
Bit 0 is used to energize the latching relays. Setting bit 0 to zero (0)  
when setting the input attenuation energizes the relays. Setting bit 0 to  
one (1) after the attenuation has been set, removes the energizing  
source, thus, conserving power. Note that bits 15 - 11 and 7 - 3 should all  
be set to 0 as bit 0 is set to 1.  
The relays associated with bits 10 - 9 and bits 2 - 1 are not latching  
relays. Therefore, when removing the energizing source (setting bit 0 to  
1), these bits must be written to again to preserve their intended setting.  
Register Descriptions  
Register-Based Programming C-11  
Programming the Amplifier  
Figure C-2 is a block diagram of the Agilent E1446A Summing  
Amplifier/DAC. The diagram shows the portions of the summing  
amplifier/DAC configured with register-based programming. The  
following information covers the sequence used to program the  
amplifier.  
Base + 08  
16  
Bits 15 - 0: DAC control code  
Base + 0A  
16  
Bits 7 - 6: 0 / -20dB attenuation  
Bit 5: ’Main’ Output impedance  
Bit 4: ’Main’ output enable  
Base + 0C  
16  
Bits 10 - 9: Input 1 impedance  
Bits 2 - 1: Input 2 impedance  
Base + 0A  
16  
Bits 3 - 2: output impedance  
of non-inverting and inverting  
differential output  
Base + 0C  
16  
Bits 15 - 11: Input 1 attenuation  
Bits 7 - 3: Input 2 attenuation  
Figure C-2. Register Programming the Summing Amplifier/DAC.  
C-12 Register-Based Programming  
Programming the Amplifier  
Table C-2. E1446A Register Bit Weights.  
Address  
15  
14  
13 - 12  
11  
10  
9
8
7 - 0  
---  
32768 16384  
2048  
1024  
512  
256  
Bit Weight  
MODID*  
not used  
(0)  
Main Input 1 Input 2 Main  
Output Enable Enable Output  
not used  
(0)  
FF16  
base + 0416  
(status)  
Ovld  
State  
* active low  
Address  
Bit Weight  
base + 0416  
15 - 1  
0
1
not used  
Reset  
Address  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
8
2
1
2
0
1
32768 16384 8192 4096 2048 1024 512 256 128  
64  
32  
16  
4
Bit Weight  
base + 0816  
DAC Control Code  
Address  
Bit Weight  
15 - 8  
7
6
5
4
3
8
2
4
1
0
1
128  
64  
32  
16  
2
- -  
0dB  
output  
path  
-20dB  
output  
path  
’Main’  
reserved  
(must be  
set to ’1’)  
50-75Ω  
output  
imped.  
50-7550-75Ω  
0Ω  
FF16  
base + 0A16  
output  
enable /  
disable  
out imp out imp  
output  
inped.  
of  
of inv  
amp  
non -inv  
amp  
Address  
15  
14  
13  
12  
11  
10  
9
8
X
7
6
5
4
3
2
1
0
1
Input 1 attenuation and impedance  
Input 2 attenuation and impedance  
64 32 16  
32768 16384 8192 4096 2048 1024 512 256 128  
8
4
2
Bit Weight  
16dB 8dB 4dB 2dB 1dB  
atten atten atten atten atten  
not 16dB 8dB 4dB 2dB 1dB  
used atten atten atten atten atten  
relay  
act.  
7550Ω  
in in  
imp imp  
7550Ω  
in in  
imp imp  
base + 0C16  
Programming the Amplifier  
Register-Based Programming C-13  
Program Sequence The recommended sequence of an E1446A register-based program is  
shown in Figure C-3.  
and Execution  
Previous  
Amplifier  
Configuration  
Close relays corresponding to new  
configuration  
Set New Configuration  
Combined  
Relays from previous configuration  
and new configuration closed  
Previous / New  
Configuration  
Remove  
Previous  
Open relays corresponding to  
previous configuration  
Configuration  
Figure C-3. Recommended Amplifier Configuration Sequence.  
Programming begins with the amplifier in its previous (current)  
configuration. This may be the reset configuration or some other preset  
condition. The register-based program sets the new configuration while  
maintaining the previous configuration. This prevents a possible  
momentary all (relay) open situtation which could output a high-voltage  
glitch. Once the relays (especially the attenuation and impedance relays)  
of the new configuration are closed, the relays corresponding to the  
previous configuration are opened.  
C-14 Register-Based Programming  
Programming the Amplifier  
Program Execution  
The (new) amplifier configuration is set as shown in Figure C-4. The  
execution sequence shown configures the amplifier from right-to-left  
relative to Figure C-2.  
Note  
Unlike other register-based devices, there is not a status bit which can  
be monitored to determine when the amplifier registers can be written  
to (WRITEIO). To allow the relays to close (or open), a 5 mS wait’  
period (BASIC has 10 mS resolution) should be included following each  
WRITEIO.  
Programming the Amplifier  
Register-Based Programming C-15  
A
B
Check output relay -  
clear main output  
enable bit  
Remove previous  
output attenuation  
base + 4 (bit 8)  
Set Input1 attenuation  
base + C (bits 15-11 )  
base + A (bits 7-6)  
Set main output  
attenuation  
base + A (bits 7 - 6)  
Set Input1 impedance  
base + C (bits 10-9 )  
Open output relays  
(previous config)  
WRITEIO  
Set main output  
impedance  
base + A  
base + A (bit 5 )  
Remove previous  
Input1 attenuation  
and impedance  
Set Input2 attenuation  
base + C (bits 7-3 )  
Open main output  
relay if final  
base + C (bits 15-9)  
state = open  
base + A (bit 4 )  
Remove previous  
Input2 attenuation  
and impedance  
Set Input2 impedance  
base + C (bits 2-1 )  
Set DIFF + output  
impedance  
base + C (bits 7-1)  
base + A (bit 3 )  
Open input relays  
(previous config)  
WRITEIO  
Close input relays  
WRITEIO  
base + C  
Set DIFF - output  
impedance  
base + C  
base + A (bit 3 )  
Set relay inactive  
state  
Set output relay state  
base + A (bit 4)  
WRITEIO  
Close output relays  
WRITEIO  
base + C  
base + A  
Set DC Offset  
base + 8 (bits 15 - 0)  
B
A
Figure C-4. Amplifier Register-based Programming Flowchart.  
C-16 Register-Based Programming  
Programming the Amplifier  
Example Programs  
The program listings in this section are BASIC programs in  
LOAD/STORE format and are contained on the example programs disk  
Agilent P/N E1446-10031. GET/SAVE versions of these programs are  
on example programs disk Agilent P/N E1446-10032.  
The examples in this section include:  
Amplifying a Sine Wave  
Setting the (amplifier) Input Impedance  
Setting a DC Voltage Offset  
Using the Differential (small signal) Outputs  
Summing Two Signals  
The programs in this section are the same as those in Chapter 2.  
However, the amplifer is programmed at the register level using the  
flowchart of Figure C-4 . Note also that the amplifier is in the servant  
area of the E1480A V/360 controller, and not in the servant area of the  
E1445A (see below).  
System The register-based programs in this section were developed using the  
following system configuration:  
Configuration  
Controller:  
Agilent E1480A V/360 Embedded Controller  
(select code 16)  
Mainframe:  
Agilent 75000 Series C  
Slot 0/Resource Manager:  
E1446A Logical Address:  
E1445A Logical Address:  
E1445A Servant Area:  
Agilent E1480A V/360  
88  
80  
0
Communication between the controller and E1445A/E1446A is through  
paths 1 and 4 mentioned under "Using an Embedded Controller" in  
Chapter 1.  
Example Programs  
Register-Based Programming C-17  
BASIC Subprograms The subprograms used by each register-based program are stored/saved  
in a separate file (file name E46SUBS). These subprograms are listed  
after the last example (Summing Two Signals).  
Amplifying a Sine This program uses the E1446A to amplify a 2 Vpp E1445A AFG signal  
to 14.15 Vpp. Since the intended output amplitude and the input  
amplitude are known, the amount of attenuation (0 - 31 dB attenuator)  
is determined as:  
Wave  
attenuation  
= 20 LOG V /(V * 10)  
(dB)  
o
i
where V is the output amplitude and V is the input signal amplitude  
o
i
(V and V units (Vpp, Vp) must be the same). Thus,  
o
i
attenuation  
= 20 LOG 14.15/20 = -3 dB  
(dB)  
BASIC (RGBAMPL)  
1
2
3
!RE-STORE "RGBAMPL"  
LOADSUB ALL FROM "E46SUBS"  
!
10 COM /E1446/ Base_addr,INTEGER In_ctrl,Out_imped  
20 !  
30 !SET UP E1445A  
40  
50 ASSIGN @Afg TO 1680 !E1445A and V/360 I/O path  
60  
!
!
70 !E1445A error checking  
80 ON INTR 16 CALL Errmsg  
90 ENABLE INTR 16;32  
100 OUTPUT @Afg;"*CLS"  
110 OUTPUT @Afg;"*SRE 32"  
120 OUTPUT @Afg;"*ESE 60"  
130 !  
140 !Reset E1445A and clear status  
150 OUTPUT @Afg;"*RST;*CLS;*OPC?"  
160 ENTER @Afg;Ready  
170 !  
180 OUTPUT @Afg;"SOUR:FREQ1:FIX 1E3;";  
190 OUTPUT @Afg;":SOUR:FUNC:SHAP SIN;";  
!frequency  
!function  
200 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL 2VPP;"; !amplitude  
210 OUTPUT @Afg;":OUTP:LOAD:AUTO ON;"; !couple load to impedance  
220 OUTPUT @Afg;":OUTP:IMP 50"  
230 !  
!output impedance  
Continued on Next Page  
C-18 Register-Based Programming  
Example Programs  
240 WAIT .1  
250 OFF INTR 16  
260 !  
270 ! BEGIN E1446A CONFIGURATION  
280 !  
290 !Declare and initialize program variables  
300 !  
310 REAL In1_atten,In1_imped,In2_atten,In2_imped !input variables  
320 REAL Out1_atten,Out1_imped,Out1_state  
330 REAL Out2_imped,Out3_imped  
340 REAL Offset  
!main output variables  
!diff out variables  
!DC offset variable  
350 !  
360 DATA 3.,50.,0.,50.  
370 READ In1_atten,In1_imped,In2_atten,In2_imped !input atten and imp  
380 !  
390 DATA 0.,50.,1 !main output attenuation, impedance, and state  
400 READ Out1_atten,Out1_imped,Out1_state  
410 !  
420 DATA 50.,50. !differential output impedances  
430 READ Out2_imped,Out3_imped  
440 !  
450 Offset= 0. !DC offset  
460 !  
470 !Set E1446A base address and initialize COM variables  
480 Set_addr(88)  
490 !  
500 !Set up E1446A  
510 Setup_e1446(In1_atten,In1_imped,In2_atten,In2_imped,Out1_atten,Out1_imped,  
Out1_state,Out2_imped,Out3_imped,Offset)  
520 !  
530 OUTPUT @Afg;"INIT:IMM" !E1445A wait-for-arm state  
540 END  
550 !  
Setting the This program sets the E1446As input impedance to match the output  
impedance of the E1445A. The signal supplied by the E1445A is a 1  
(amplifier) Input  
Impedance  
Vpp, 2 MHz square wave. The signal is amplified to 6.3 Vpp. Again,  
when the intended output amplitude and the input amplitude are  
known, the amount of attenuation (0 - 31 dB attenuator) is determined  
by:  
attenuation  
= 20 LOG V /(V * 10)  
(dB)  
o
i
Example Programs  
Register-Based Programming C-19  
where V is the output amplitude and V is the input signal amplitude  
o
i
(V and V units (Vpp, Vp) must be the same). Thus,  
o
i
attenuation  
= 20 LOG 6.3/10 = -4 dB  
(dB)  
BASIC (RGBIMP)  
1
2
3
!RE-STORE "RGBIMP"  
LOADSUB ALL FROM "E46SUBS"  
!
10 COM /E1446/ Base_addr,INTEGER In_ctrl,Out_imped  
20  
30 ! SET UP E1445A  
40  
50 ASSIGN @Afg TO 1680 !E1445A and V/360 I/O path  
60  
!
!
!
70 !E1445A error checking  
80 ON INTR 16 CALL Errmsg  
90 ENABLE INTR 16;32  
100 OUTPUT @Afg;"*CLS"  
110 OUTPUT @Afg;"*SRE 32"  
120 OUTPUT @Afg;"*ESE 60"  
130 !  
140 !Reset E1445A and clear status  
150 OUTPUT @Afg;"*RST;*CLS;*OPC?"  
160 ENTER @Afg;Ready  
170 !  
180 OUTPUT @Afg;"SOUR:FREQ1:FIX 2E6;";  
190 OUTPUT @Afg;":SOUR:FUNC:SHAP SQU;";  
!frequency  
!function  
200 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL 1VPP;"; !amplitude  
210 OUTPUT @Afg;":OUTP:IMP 75;";  
220 OUTPUT @Afg;":OUTP:LOAD 75"  
!output impedance  
!output load  
230 !  
240 WAIT .1  
250 OFF INTR 16  
260 !  
270 ! BEGIN E1446A CONFIGURATION  
280 !  
290 !Declare and initialize program variables  
300 !  
310 REAL In1_atten,In1_imped,In2_atten,In2_imped !input variables  
320 REAL Out1_atten,Out1_imped,Out1_state  
330 REAL Out2_imped,Out3_imped  
!main output variables  
!diff out variables  
340 REAL Offset  
350 !  
!DC offset variable  
Continued on Next Page  
C-20 Register-Based Programming  
Example Programs  
360 DATA 4.,75.,0.,50.  
370 READ In1_atten,In1_imped,In2_atten,In2_imped !input atten and imp  
380 !  
390 DATA 0.,50.,1 !main output attenuation, impedance, and state  
400 READ Out1_atten,Out1_imped,Out1_state  
410 !  
420 DATA 50.,50. !differential output impedances  
430 READ Out2_imped,Out3_imped  
440 !  
450 Offset= 0. !DC offset  
460 !  
470 !Set E1446A base address and initialize COM variables  
480 Set_addr(88)  
490 !  
500 !Set up E1446A  
510 Setup_e1446(In1_atten,In1_imped,In2_atten,In2_imped,Out1_atten,Out1_imped,  
Out1_state,Out2_imped,Out3_imped,Offset)  
520 !  
530 OUTPUT @Afg;"INIT:IMM" !E1445A wair-for-arm state  
540 END  
550 !  
Setting a DC This program adds an 8V DC offset to a 0.4 Vpp E1445A signal. To  
maintain 0.4 Vpp at the output, the signal is attenuated by 20 dB at the  
Voltage Offset  
amplifier input (Figure 2-1). The offset supplied by the E1446A DAC is  
added to the input signal and is amplified. Into 50, the 0.4 Vpp signal is  
centered on 8V.  
BASIC (RGBOFFS)  
1
!RE-STORE "RGBOFFS"  
2
3
LOADSUB ALL FROM "E46SUBS"  
!
10 COM /E1446/ Base_addr,INTEGER In_ctrl,Out_imped  
20  
30 ! SET UP E1445A  
40  
50 ASSIGN @Afg TO 1680 !E1445A and V/360 I/O path  
60  
!
!
!
70 !E1445A error checking  
80 ON INTR 16 CALL Errmsg  
90 ENABLE INTR 16;32  
100 OUTPUT @Afg;"*CLS"  
110 OUTPUT @Afg;"*SRE 32"  
120 OUTPUT @Afg;"*ESE 60"  
130 !  
Continued on Next Page  
Example Programs  
Register-Based Programming C-21  
140 !Reset E1445A and clear status  
150 OUTPUT @Afg;"*RST;*CLS;*OPC?"  
160 ENTER @Afg;Ready  
170 !  
180 OUTPUT @Afg;"SOUR:FREQ1:FIX 1E3;";  
190 OUTPUT @Afg;":SOUR:FUNC:SHAP SIN;";  
!frequency  
!function  
200 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL .4VPP;"; !amplitude  
210 OUTPUT @Afg;":OUTP:LOAD:AUTO ON;"; !couple load to impedance  
220 OUTPUT @Afg;":OUTP:IMP 50"  
!output impedance  
230 !  
240 WAIT .1  
250 OFF INTR 16  
260 !  
270 ! BEGIN E1446A CONFIGURATION  
280 !  
290 !Declare and initialize program variables  
300 !  
310 REAL In1_atten,In1_imped,In2_atten,In2_imped !input variables  
320 REAL Out1_atten,Out1_imped,Out1_state  
330 REAL Out2_imped,Out3_imped  
!main output variables  
!diff out variables  
340 REAL Offset  
350 !  
!DC offset variable  
360 DATA 20.,50.,0.,50.  
370 READ In1_atten,In1_imped,In2_atten,In2_imped !input atten and imp  
380 !  
390 DATA 0.,50.,1 !main output attenuation, impedance, and state  
400 READ Out1_atten,Out1_imped,Out1_state  
410 !  
420 DATA 50.,50. !differential output impedances  
430 READ Out2_imped,Out3_imped  
440 !  
450 Offset= 8. !DC offset  
460 !  
470 !Set E1446A base address and initialize COM variables  
480 Set_addr(88)  
490 !  
500 !Set up E1446A  
510 Setup_e1446(In1_atten,In1_imped,In2_atten,In2_imped,Out1_atten,Out1_imped,  
Out1_state,Out2_imped,Out3_imped,Offset)  
520 !  
530 OUTPUT @Afg;"INIT:IMM" !E1445A wair-for-arm state  
540 END  
550 !  
C-22 Register-Based Programming  
Example Programs  
Using the Rather than amplify the input signal, this program attenuates the signal  
supplied by the E1445A to obtain an output amplitude of 10 mVpp. The  
output can be taken at either the Diff + or Diff -(inverted) output.  
Differential (small  
signal) Outputs  
BASIC (RGBDIFF)  
1
2
3
!RE-STORE "RGBDIFF"  
LOADSUB ALL FROM "E46SUBS"  
!
10 COM /E1446/ Base_addr,INTEGER In_ctrl,Out_imped  
20  
30 ! SET UP E1445A  
40  
50 ASSIGN @Afg TO 1680 !E1445A and V/360 I/O path  
60  
!
!
!
70 !E1445A error checking  
80 ON INTR 16 CALL Errmsg  
90 ENABLE INTR 16;32  
100 OUTPUT @Afg;"*CLS"  
110 OUTPUT @Afg;"*SRE 32"  
120 OUTPUT @Afg;"*ESE 60"  
130 !  
140 !Reset E1445A and clear status  
150 OUTPUT @Afg;"*RST;*CLS;*OPC?"  
160 ENTER @Afg;Ready  
170 !  
180 OUTPUT @Afg;"SOUR:FREQ1:FIX 1E3;";  
190 OUTPUT @Afg;":SOUR:FUNC:SHAP SQU;";  
!frequency  
!function  
200 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL MIN;"; !amplitude  
210 OUTPUT @Afg;":OUTP:LOAD:AUTO ON;"; !couple load to impedance  
220 OUTPUT @Afg;":OUTP:IMP 50"  
!output impedance  
230 !  
240 WAIT .1  
250 OFF INTR 16  
260 !  
270 ! BEGIN E1446A CONFIGURATION  
280 !  
290 !Declare and initialize program variables  
300 !  
310 REAL In1_atten,In1_imped,In2_atten,In2_imped !input variables  
320 REAL Out1_atten,Out1_imped,Out1_state  
330 REAL Out2_imped,Out3_imped  
!main output variables  
!diff out variables  
340 REAL Offset  
350 !  
!DC offset variable  
360 DATA 30.,50.,0.,50.  
370 READ In1_atten,In1_imped,In2_atten,In2_imped !input atten and imp  
Continued on Next Page  
Example Programs  
Register-Based Programming C-23  
380 !  
390 DATA 0.,50.,1 !main output attenuation, impedance, and state  
400 READ Out1_atten,Out1_imped,Out1_state  
410 !  
420 DATA 50.,50. !differential output impedances  
430 READ Out2_imped,Out3_imped  
440 !  
450 Offset= 0. !DC offset  
460 !  
470 !Set E1446A base address and initialize COM variables  
480 Set_addr(88)  
490 !  
500 !Set up E1446A  
510 Setup_e1446(In1_atten,In1_imped,In2_atten,In2_imped,Out1_atten,Out1_imped,  
Out1_state,Out2_imped,Out3_imped,Offset)  
520 !  
530 OUTPUT @Afg;"INIT:IMM" !E1445A wair-for-arm state  
540 END  
550 !  
Summing Two This program uses the E1446A to sum the signals from two E1445A  
AFGs. The AFGs at logical addresses 72 and 80 generate 1 Vpp, 5 kHz  
Signals  
and 100 kHz sine waves respectively. The signal from the AFG at logical  
address 72 is applied to E1446A Input 1. The signal from the AFG at  
logical address 80 is applied to Input 2. All three devices are in the  
servant area of the V/360 embedded controller.  
Note that this program uses the subprograms contained in the file  
’SUMSUBS. A description of SUMSUBSfollows the listing of the  
example subprograms.  
BASIC (RGBSUM)  
1
!RE-STORE "RGBSUM"  
2
3
LOADSUB ALL FROM "SUMSUBS"  
!
10 COM /E1446/ Base_addr,INTEGER In_ctrl,Out_imped  
20  
30 ! SET UP E1445As  
40  
!
!
50 ASSIGN @Afg72 TO 1672 !E1445A and V/360 I/O paths  
60 ASSIGN @Afg80 TO 1680  
70  
!
Continued on Next Page  
C-24 Register-Based Programming  
Example Programs  
80 !E1445A error checking  
90 ON INTR 16 CALL Errmsg  
100 ENABLE INTR 16;32  
110 OUTPUT @Afg72;"*CLS"  
120 OUTPUT @Afg72;"*SRE 32"  
130 OUTPUT @Afg72;"*ESE 60"  
140 !  
150 OUTPUT @Afg80;"*CLS"  
160 OUTPUT @Afg80;"*SRE 32"  
170 OUTPUT @Afg80;"*ESE 60"  
180 !  
190 !Reset and clear the E1445As  
200 OUTPUT @Afg72;"*RST;*CLS;*OPC?"  
210 ENTER @Afg72;Ready  
220 !  
230 OUTPUT @Afg80;"*RST;*CLS;*OPC?"  
240 ENTER @Afg80;Ready  
250 !  
260 !Set up E1445A at logical address 72  
270 OUTPUT @Afg72;"SOUR:ROSC:SOUR CLK10;";  
280 OUTPUT @Afg72;":SOUR:FREQ1:FIX 5E3;";  
290 OUTPUT @Afg72;":SOUR:FUNC:SHAP SIN;";  
!ref osc source  
!frequency  
!function  
300 OUTPUT @Afg72;":SOUR:VOLT:LEV:IMM:AMPL 1VPP;"; !amplitude  
310 OUTPUT @Afg72;":OUTP:LOAD:AUTO ON;"; !couple load to impedance  
320 OUTPUT @Afg72;":OUTP:IMP 50"  
330 !  
!output impedance  
340 !Set up E1445A at logical address 80  
350 OUTPUT @Afg80;"SOUR:ROSC:SOUR CLK10;";  
360 OUTPUT @Afg80;":SOUR:FREQ1:FIX 100E3;";  
370 OUTPUT @Afg80;":SOUR:FUNC:SHAP SIN;";  
!ref osc source  
!frequency  
!function  
380 OUTPUT @Afg80;":SOUR:VOLT:LEV:IMM:AMPL 1VPP;"; !amplitude  
390 OUTPUT @Afg80;":OUTP:LOAD:AUTO ON;"; !couple load to impedance  
400 OUTPUT @Afg80;":OUTP:IMP 50"  
!output impedance  
410 WAIT .1  
420 OFF INTR 16  
430 !  
440 ! BEGIN E1446A CONFIGURATION  
450 !  
460 !Declare and initialize program variables  
470 !  
480 REAL In1_atten,In1_imped,In2_atten,In2_imped !input variables  
490 REAL Out1_atten,Out1_imped,Out1_state  
500 REAL Out2_imped,Out3_imped  
!main output variables  
!diff out variables  
510 REAL Offset  
520 !  
!DC offset variable  
Continued on Next Page  
Example Programs  
Register-Based Programming C-25  
530 DATA 0.,50.,0.,50.  
540 READ In1_atten,In1_imped,In2_atten,In2_imped !input atten and imp  
550 !  
560 DATA 0.,50.,1 !main output attenuation, impedance, and state  
570 READ Out1_atten,Out1_imped,Out1_state  
580 !  
590 DATA 50.,50. !differential output impedances  
600 READ Out2_imped,Out3_imped  
610 !  
620 Offset= 0. !DC offset  
630 !  
640 !Set E1446A base address and initialize COM variables  
650 Set_addr(88)  
660 !  
670 !Set up E1446A  
680 Setup_e1446(In1_atten,In1_imped,In2_atten,In2_imped,Out1_atten,Out1_imped,  
Out1_state,Out2_imped,Out3_imped,Offset)  
690 !  
700 OUTPUT @Afg72;"INIT:IMM" !E1445A wait-for-arm state  
710 OUTPUT @Afg80;"INIT:IMM" !E1445A wait-for-arm state  
720 END  
730 !  
Example The following file contains the subprograms used by the preceding  
example programs.  
Subprograms  
1
!Subprograms used for register-based programming (file name ’E46SUBS’)  
2
!
10 SUB Set_addr(Log_addr)  
20 Set_addr: !Subprogram which sets E1446A base address and initializes  
30  
40  
50  
60  
70  
80  
90  
!the COM variables.  
COM /E1446/ Base_addr,INTEGER In_ctrl,Out_imped  
!Access A16 address space with READIO and WRITEIO  
CONTROL 16,25;2  
!
!Set base address and initialize COM variables  
Base_addr= (DVAL("C000",16)+ Log_addr*64)  
100 In_ctrl= 0  
110 Out_imped= 50.  
120 SUBEND  
130 !  
140 SUB Setup_e1446(In1_atten,In1_imped,In2_atten,In2_imped,Out1_atten,  
Out1_imped,Out1_state,Out2_imped,Out3_imped,Offset)  
150 COM /E1446/ Base_addr,INTEGER In_ctrl,Out_imped  
160 INTEGER Out_ctrl !initialize output settings (att, imp, state) variable  
170  
!
Continued on Next Page  
C-26 Register-Based Programming  
Example Programs  
180 ! Look for illegal values and settings conflicts  
190  
200 IF In1_atten< 0 OR In1_atten> = 31.5 THEN  
!
210  
220  
DISP "Invalid INP1:ATT value"  
STOP  
230 END IF  
240 IF In1_imped< > 50. AND In1_imped< > 75. AND In1_imped< > 1.E+ 6 THEN  
250  
260  
DISP "Invalid INP1:IMP value"  
STOP  
270 END IF  
280  
290 IF In2_atten< 0 OR In2_atten> = 31.5 THEN  
!
300  
310  
DISP "Invalid INP2:ATT value"  
STOP  
320 END IF  
330 IF In2_imped< > 50. AND In2_imped< > 75. AND In2_imped< > 1.E+ 6 THEN  
340  
350  
DISP "Invalid INP2:IMP value"  
STOP  
360 END IF  
370  
380 IF Out1_atten< > 0. AND Out1_atten< > 20. THEN  
!
390  
400  
DISP "Invalid OUTP1:ATT value"  
STOP  
410 END IF  
420 IF Out1_imped< > 0. AND Out1_imped< > 50. AND Out1_imped< > 75. THEN  
430  
440  
DISP "Invalid OUTP1:IMP value"  
STOP  
450 END IF  
460 IF Out1_imped= 0 AND Out1_atten= 20 THEN  
470  
480  
DISP "OUTP1:ATT 20 not allowed with OUTP1:IMP 0"  
STOP  
490 END IF  
500  
510 IF Out2_imped< > 50. AND Out2_imped< > 75. THEN  
!
520  
530  
DISP "Invalid OUTP2:IMP value"  
STOP  
540 END IF  
550  
560 IF Out3_imped< > 50. AND Out3_imped< > 75. THEN  
!
570  
580  
DISP "Invalid OUTP2:IMP value"  
STOP  
590 END IF  
600  
!
610 Out_imped= Out1_imped  
620 Set_e46_offset(Offset)  
630  
!
Continued on Next Page  
Example Programs  
Register-Based Programming C-27  
640 ! If output relay open (disabled) but should be closed, clear main  
650 ! output enable bit.  
660  
670 IF Out1_state AND NOT BINAND(READIO(-16,Base_addr+ 4),256) THEN  
680 WRITEIO -16,Base_addr+ 10;BINAND(READIO(-16,Base_addr+ 10),-17)  
690 END IF  
700  
!
!
710 ! Set up output and input relays. Close new relays, particularly the  
720 ! attenuation and impedance relays, before opening old relays to prevent  
730 ! a possible momentary all-open situation which could output a high-  
740 ! voltage glitch.  
750  
760 ! Do output side first  
770  
!
!
780 SELECT Out1_atten  
790 CASE 0.  
! Set main output attenuation  
! Close 0 dB path relay  
800  
Out_ctrl= 128  
810 CASE 20.  
820  
Out_ctrl= 64  
! Close 20 dB path relay  
830 END SELECT  
840  
!
850 SELECT Out1_imped  
860 CASE 0.  
870  
! Set main output impedance  
Out_ctrl= BINIOR(Out_ctrl,34)  
! Close 0 Ohm relay  
! Close 50 Ohm relay  
! 75 Ohm - no action  
880 CASE 50.  
890  
Out_ctrl= BINIOR(Out_ctrl,32)  
900 CASE 75.  
910  
Out_ctrl= BINIOR(Out_ctrl,0)  
920 END SELECT  
930  
!
940 ! If output relay was closed (enabled), set new state here. If it  
950 ! was open, close it before previous configuration is removed.  
960  
!
970 IF BINAND(READIO(-16,Base_addr+ 4),256) THEN  
980  
IF Out1_state THEN  
990  
Out_ctrl= BINIOR(Out_ctrl,16) ! Relay close  
1000  
1010  
1020  
ELSE  
Out_ctrl= BINAND(Out_ctrl,-17) ! Relay open  
END IF  
1030 END IF  
1040  
!
Continued on Next Page  
C-28 Register-Based Programming  
Example Programs  
1050 SELECT Out2_imped  
1060 CASE 50.  
! Set Diff+ output impedance  
! Close 50 Ohm relay  
1070  
Out_ctrl= BINIOR(Out_ctrl,8)  
1080 CASE 75.  
1090  
Out_ctrl= BINIOR(Out_ctrl,0)  
! 75 Ohm - no action  
1100 END SELECT  
1110  
!
1120 SELECT Out3_imped  
1130 CASE 50.  
! Set Diff- output impedance  
! Close 50 Ohm relay  
1140  
Out_ctrl= BINIOR(Out_ctrl,4)  
1150 CASE 75.  
1160  
Out_ctrl= BINIOR(Out_ctrl,0)  
! 75 Ohm - no action  
1170 END SELECT  
1180  
1190 WRITEIO -16,Base_addr+ 10;Out_ctrl ! Start output relay closings  
1200  
1210 ! Now do input side  
1220  
1230 In_ctrl= BINIOR(In_ctrl,SHIFT(In1_atten,-11)) !Set Input 1 attenuation  
1240  
!
!
!
!
1250 SELECT In1_imped  
1260 CASE 50.  
! Set Input 1 impedance  
! Close 50 Ohm relay  
! Close 75 Ohm relay  
! 1 MOhm - no action  
1270  
In_ctrl= BINIOR(In_ctrl,512)  
1280 CASE 75.  
1290  
In_ctrl= BINIOR(In_ctrl,1024)  
1300 CASE 1.E+ 6  
1310  
In_ctrl= BINIOR(In_ctrl,0)  
1320 END SELECT  
1330  
1340 In_ctrl= BINIOR(In_ctrl,SHIFT(In2_atten,-3)) !Set Input 2 attenuation  
1350  
!
!
1360 SELECT In2_imped  
1370 CASE 50.  
! Set Input 2 impedance  
! Close 50 Ohm relay  
! Close 75 Ohm relay  
! 1 MOhm - no action  
1380  
In_ctrl= BINIOR(In_ctrl,2)  
1390 CASE 75.  
1400  
In_ctrl= BINIOR(In_ctrl,4)  
1410 CASE 1.E+ 6  
1420  
In_ctrl= BINIOR(In_ctrl,0)  
1430 END SELECT  
1440  
!
1450 In_ctrl= BINAND(In_ctrl,-2)  
! Enable inverter  
1460 WRITEIO -16,Base_addr+ 12;In_ctrl ! Start input relay closings  
1470 WAIT .01 ! Wait for relay closings to finish  
1480  
1490 ! Remove previous configuration  
1500  
!
!
Continued on Next Page  
Example Programs  
Register-Based Programming C-29  
1510 IF Out1_state THEN  
! Remove previous output relay state  
1520  
Out_ctrl= BINIOR(Out_ctrl,16) ! Close output relay  
1530 ELSE  
1540  
Out_ctrl= BINAND(Out_ctrl,-17) ! Open output relay  
1550 END IF  
1560  
1570 ! Relay opens start here  
1580  
1590 ! Do output relays first  
1600  
!
!
!
1610 SELECT Out1_atten  
1620 CASE 0.  
! Remove previous output attenuation  
1630  
Out_ctrl= BINAND(Out_ctrl,-65) ! Open 20 dB relay  
1640 CASE 20  
1650  
Out_ctrl= BINAND(Out_ctrl,127) ! Open 0 dB relay  
1660 END SELECT  
1670  
1680 WRITEIO -16,Base_addr+ 10;Out_ctrl ! Start output relay openings  
1690  
1700 ! Now do input side  
1710  
!
!
!
1720 ! Remove previous input 1 attenuation and impedance  
1730 In_ctrl= BINIOR(BINAND(In_ctrl,2047),SHIFT(In1_atten,-11))  
1740 SELECT In1_imped  
1750 CASE 50.  
1760  
In_ctrl= BINAND(In_ctrl,-1025) ! Open 75 Ohm relay  
1770 CASE 75.  
1780  
In_ctrl= BINAND(In_ctrl,-513)  
! Open 50 Ohm relay  
1790 CASE 1.E+ 6  
1800  
1810 END SELECT  
1820  
In_ctrl= BINAND(In_ctrl,-1537) ! Open both relays  
!
1830 ! Remove previous input 2 attenuation and impedance  
1840 In_ctrl= BINIOR(BINAND(In_ctrl,-249),SHIFT(In2_atten,-3))  
1850 SELECT In2_imped  
1860 CASE 50.  
1870  
1880 CASE 75.  
1890  
1900 CASE 1.E+ 6  
1910  
In_ctrl= BINAND(In_ctrl,-5)  
! Open 75 Ohm relay  
! Open 50 Ohm relay  
! Open both relays  
In_ctrl= BINAND(In_ctrl,-3)  
In_ctrl= BINAND(In_ctrl,-7)  
1920 END SELECT  
1930  
1940 WRITEIO -16,Base_addr+ 12;In_ctrl ! Start input relay closings  
1950 WAIT .01 ! Wait for relay closings to finish  
1960  
!
!
Continued on Next Page  
C-30 Register-Based Programming  
Example Programs  
1970 ! Set inactive state by turning off input attenuator control bits  
1980 ! and disabling inverter  
1990  
!
2000 WRITEIO -16,Base_addr+ 12;BINIOR(BINAND(In_ctrl,1542),1)  
2010 SUBEND  
2020 SUB Set_e46_offset(Offset)  
2030 COM /E1446/ Base_addr,INTEGER In_ctrl,Out_imped  
2040 REAL Offset_dac  
2050  
2060 ! Look for settings conflict  
2070  
2080 IF Out_imped= 0 THEN  
!
!
2090  
Offset_dac= -Offset/.0006103515625  
2100 ELSE  
2110  
Offset_dac= -Offset/.00030517578125  
2120 END IF  
2130 IF Offset_dac< -32768.5 OR Offset_dac> = 32767.5 THEN  
2140  
2150  
DISP "Invalid SOUR:VOLT:LEV:IMM:OFFS value"  
STOP  
2160 END IF  
2170  
2180 ! Set offset  
2190  
!
!
2200 WRITEIO -16,Base_addr+ 8;BINEOR(Offset_dac,32767)  
2210 SUBEND  
2220 !  
2230 SUB Errmsg  
2240 Errmsg: !Subprogram which displays E1445/E1446 programming errors  
2250 DIM Message$[256]  
2260 !Read AFG status byte register and clear service request bit  
2270 B= SPOLL(1680)  
2280 !End of statement if error occurs among coupled commands  
2290 OUTPUT 1680;""  
2300 OUTPUT 1680;"ABORT" !abort output waveform  
2310 REPEAT  
2320  
2330  
2340  
OUTPUT 1680;"SYST:ERR?" !read AFG error queue  
ENTER 1680;Code,Message$  
PRINT Code,Message$  
2350 UNTIL Code= 0  
2360 STOP  
2370 SUBEND  
Example Programs  
Register-Based Programming C-31  
Errmsg Subprogram Program RGBSUM’ loads/gets its subprograms from the file  
’SUMSUBS, rather than from the file E46SUBS. The only difference  
between these subprogram files is the subprogram Errmsg. ’Errmsgin  
the file SUMSUBSreports errors from two E1445As rather than from  
one. Its listing is shown below.  
Used with ’SUMSUBS’  
2230 SUB Errmsg  
2240 Errmsg: !Subprogram which displays E1445 programming errors  
2250 DIM Message$[256]  
2260 !Read AFG (at logical addr 72) status byte register, clear service  
2270 !request bit  
2280 B= SPOLL(1672)  
2290 !End of statement if error occurs among coupled commands  
2300 OUTPUT 1672;""  
2310 OUTPUT 1672;"ABORT" !abort output waveform  
2320 PRINT "E1445A (logical address 72)"  
2330 PRINT  
2340 REPEAT  
2350  
2360  
2370  
OUTPUT 1672;"SYST:ERR?" !read AFG error queue  
ENTER 1672;Code,Message$  
PRInt Code,Message$  
2380 UNTIL Code= 0  
2390 PRInt  
2400  
!
2410 !Read AFG (at logical addr 80) status byte register, clear service  
2420 !request bit  
2430 B= SPOLL(1680)  
2440 !End of statement if error occurs among coupled commands  
2450 OUTPUT 1680;""  
2460 OUTPUT 1680;"ABORT" !abort output waveform  
2470 PRINT "E1445A (logical address 80)"  
2480 PRINT  
2490 REPEAT  
2500  
2510  
2520  
OUTPUT 1680;"SYST:ERR?" !read AFG error queue  
ENTER 1680;Code,Message$  
PRInt Code,Message$  
2530 UNTIL Code= 0  
2540 STOP  
2550 SUBEND  
C-32 Register-Based Programming  
Example Programs  
Index  
System,2-4  
Conformance Information  
SCPI,3-35  
A
Control register,C-8  
Controllers  
Abbreviated Commands,3-3  
Address  
Embedded,1-5, 1-7  
External,1-5  
System configuration,2-4  
Coupling, command,3-5  
Coupling, Commands  
Executing,2-3  
External controllers,1-5  
Interface select code,1-5  
Logical,1-3  
Primary GPIB,1-5  
Secondary GPIB,1-6  
Servant area of Agilent E1446A,1-3  
Addressing  
Rules,2-3  
register,C-1 - C-3  
Using an Embedded Controller,1-5  
Using an External Controller,1-7  
Amplifier block diagram,1-9  
Amplifying Sine Waves  
with Agilent E1405B as commander,2-12  
with Agilent E1445A as commander,2-9  
Attenuation, Input  
D
DAC  
Block diagram of amplifier,1-8  
Offset,1-1, 1-9  
Offset binary code,1-11  
Operation, Basic description,1-11  
DAC control register,C-9  
Description, General,1-1 - 1-2  
Device Type register,C-7  
Differential Output  
Range,1-9  
Attenuation, Output  
Executing, Coupling Commands,2-3  
Range,1-10  
Block diagram of amplifier,1-8  
Circuitry, across two terminals,1-10  
Features of amplifier,1-1  
Impedance,1-10  
B
Base address,C-1  
Inverting amplifier,1-10  
Maximum output,1-10  
Non-inverting amplifier,1-10  
Operation, Basic description,1-10  
Small signal,1-10  
Block diagram, amplifier,1-9  
C
COM memory  
Disks  
IBASIC,C-5  
Instrument driver and example programs,2-4  
Downloading,1-7  
Command  
Abbreviated,3-3  
SCPI Driver,1-7 - 1-8  
Linking,3-6  
Separator,3-3  
Types,3-2  
E
Command coupling,3-5  
Command parameters, SCPI,3-4  
Common Command Format,3-2  
Computer configurations, register-based  
programming,C-4 - C-5  
Configuration  
Embedded computer programming,C-4  
Errmsg subprogram,C-32  
Example programs  
summing two signals,2-31 - 2-35  
disks,2-4  
Index - 1  
generating a sine wave,C-18  
Generating/amplifying Sine Waves,2-9 - 2-13  
setting a DC voltage offset,C-21  
K
Setting DC Offsets,2-20 - 2-25  
Keywords  
Setting Input Impedance,2-14 - 2-19  
setting the input impedance,C-19  
summing two signals,C-24  
optional,3-3  
implied,3-3  
using the differential outputs,C-23  
Example programs subprograms,C-26  
Example Programs, register-based,C-16 - C-32  
External computer programming,C-5  
L
Linking Commands,3-6  
Logical Address  
Setting,1-3  
System configuration,2-4  
Valid ,1-3  
F
Format  
Common Command,3-2  
SCPI Command,3-2 - 3-3  
M
Main output,1-9  
Attenuation,1-10  
G
Block diagram of amplifier,1-9  
Features of amplifier,1-1  
Impedance,1-10  
Gain  
Voltage,1-9  
General Description  
Block diagram,1-9  
Device information,1-2  
Features,1-1 - 1-2  
Operation, Basic description,1-9  
O
Offset DAC,1-11  
Block diagram of amplifier,1-8  
Digital-to-Analog Converter,1-11  
Features of amplifier,1-1  
Offset binary code,1-11  
Operation, Basic description,1-11  
Open circuit,1-10  
I
IBASIC programming,C-4  
absolute addressing,C-4  
select code 8,C-4  
IBASIC variables,C-5  
ID register,C-6  
Operation  
Impedance, Input  
Basic description of,1-8  
Block diagram,1-8  
Values,1-9  
Impedance, Output  
Input,1-9  
Differential (Small signal), values,1-10  
Main (Power),1-9  
Main (Power), values,1-10  
Implied keywords,3-3  
Input attenuation register,C-10  
Input signals, summing two,2-31 - 2-35  
Interface Select Code,1-5  
Introductory Programs  
Executing Self-Test,2-5  
Querying the Power-on/Reset,2-6  
Resetting/Clearing status registers,2-6  
Output,1-9  
Optional keywords,3-3  
Output channels  
Differential,1-1, 1-8 - 1-10  
Main,1-1, 1-8 - 1-9  
Power,1-9  
Small signal,1-9 - 1-10  
Output control register,C-9  
P
Parameter types, SCPI,3-4  
Parameters, querying settings,3-5  
2 - Index  
IBASIC,C-4  
Preparation  
Addressing,1-5  
programming the amplifier,C-12 - C-15  
register offset and register number,C-5  
throughput speed,C-4  
VXI:READ?/VXI:WRITE,C-5  
Register-based programs  
BASIC subprograms used,C-18  
generating a sine wave,C-18  
setting a DC voltage offset,C-21  
setting the input impedance,C-19  
summing two signals,C-24  
system configuration,C-17  
using the differential outputs,C-23  
Registers  
Configuring,1-2 - 1-3  
Installing,1-4  
Logical Address,1-3  
Logical Address, setting,1-3  
Primary GPIB,1-5  
Program execution  
register-based,C-15  
Program sequence and execution,C-14  
Programming the amplifier  
register-based programming,C-12 - C-15  
Programs, Application  
Selecting Input Impedance,2-17  
Programs, Example  
Control,C-8  
DAC control,C-9  
Amplifying Sine Waves,2-9  
Programs, Introductory  
Executing Self-Test,2-5  
Resetting/Clearing the status registers,2-6  
Programs, register-based examples,C-16 - C-32  
Device Type,C-7  
ID,C-6  
Input attenuation,C-10  
Output control,C-9  
READ,C-6  
READ/WRITE,C-7  
Status,C-8  
Q
Resetting/Clearing status registers  
*CLS,2-6  
Querying parameter settings,3-5  
Querying the Power-on/Reset  
*LRN?,2-6  
*RST,2-6  
Example, program,2-6  
R
S
READ registers,C-6  
SCPI  
READ/WRITE registers,C-7  
Register addressing,C-1 - C-3  
Register descriptions,C-6 - C-11  
Control,C-8  
Conformance Information,3-35  
Coupling, Command,2-2  
Driver,1-7 - 1-8  
Features of amplifier,1-1  
Programming,2-1  
DAC control,C-9  
Device Type,C-7  
ID,C-6  
Input attenuation,C-10  
Output control,C-9  
Structure,2-1  
SCPI command coupling,3-5  
SCPI command execution,3-5  
SCPI command parameters,3-4  
SCPI Commands,3-1  
Format,3-2 - 3-3  
Status,C-8  
Register number,C-5  
Register offset,C-5  
Reference,3-6  
Register-based program execution,C-15  
Register-based program sequence and  
execution,C-14  
Register-based programming  
base address,C-1  
SCPI Conformance Information,3-35  
SCPI parameter types,3-4  
Selecting Input Impedance  
with Agilent E1445A as commander,2-14  
Self-Test  
computer configurations,C-4 - C-5  
DIAG:PEEK?/DIAG:POKE,C-5  
embedded computers,C-4  
external computers,C-5  
*TST,2-5  
Codes,2-5  
Example, program,2-5  
Index - 3  
Separator  
Command,3-3  
Setting DC Offsets  
with Agilent E1445A as commander,2-20  
Setting Logical Address,1-3  
Standard Commands for Programmable  
Instruments, SCPI,3-6  
Status register,C-8  
Subprograms,used by example programs  
(register-based),C-26  
System  
Configuration,2-4  
T
Throughput speed,C-4  
V
Voltage  
Gain,1-9  
4 - Index  

Alpine PDX M12 User Manual
A O Smith TC 099 User Manual
Bogen Communications Car Amplifier GA6A User Manual
Boston Acoustics RALLY RM9 User Manual
Canon Camcorder PC921 User Manual
Clarion Car Stereo System PU 9836A User Manual
Heatiator Heatilator BH60 User Manual
Hitachi DZ HS303A User Manual
JBL Grand Touring GTO636 User Manual
JVC GR AX920 User Manual