Agilent E4400B Programming Guide

Programming Guide

Agilent Technologies
ESG Family Signal Generators
Serial Number Prefixes
(Affix Label Here)
Part Number E4400-90324
Printed in USA
April 2002
© Copyright 1999-2002 Agilent Technologies, Inc.
ii
Contents
1. Preparing for Use
Setting up the Equipment for Remote Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2
Programming the Signal Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-9
Overview of Serial Interface (RS-232) Programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-10
Transferring Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-14
GPIB Instrument Nomenclature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-17
GPIB Command Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-18
Getting Started with SCPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-25
Programming the Status Register System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-42
Advanced Programming Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-73
2. Programming Commands and Examples
Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-2
IEEE 488.2 Common Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-3
Subsystem Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6
:AM Subsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-7
:CALibration Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-12
:COMMunicate Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-14
:DIAGnostic Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-16
:DISPlay Subsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-18
:DM and :BURSt Subsystems (ESG-D and ESG-DP Series) . . . . . . . . . . . . . . . . . . . . . . . . .2-19
:FM Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-22
:FREQuency Subsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-27
:LFOutput Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-31
:LIST Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-34
:MEMory and :MMEMory Subsystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-37
:OUTPut Subsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-44
:PM Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-46
:POWer Subsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-51
:PULM Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-56
:ROUTe Subsystem (Option UN8). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-58
:STATus Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-61
:SWEep Subsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-69
:SYSTem Subsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-70
:TRIGger Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-74
Using the Example Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-76
GPIB Check, Example Program 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-77
Local Lockout Demonstration, Example Program 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-79
Using Queries, Example Program 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-81
Generating a CW Signal, Example Program 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-84
Generating an AC-Coupled External FM Signal, Example Program 5 . . . . . . . . . . . . . . . .2-86
Generating an AC-Coupled Internal FM Signal, Example Program 6 . . . . . . . . . . . . . . . . .2-88
Generating a Step-Swept Signal, Example Program 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-90
Generating an External DC-Coupled Pulse Modulated Signal, Example Program 8 . . . . .2-92
Saving and Recalling States, Example Program 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-94
Reading the Status Byte, Example Program 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-97
End of Sweep Service Request, Example Program 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-101
iii
Contents
3. Remote Data Transfer
ARB Waveform Data Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
User File Data Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
FIR Filter Coefficient Data Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23
Data Downloads Directly into Pattern RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27
Data Transfer Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33
4. Softkey/Command Cross-Reference
Front Panel Key Versus Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Agilent 8656/57-Compatible Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
iv
ESG Family Signal Generators

1 Preparing for Use

This chapter explains how to set up the equipment for remote programming of the signal generator, the GPIB and RS-232 capabilities of the signal generator, and provides a program for an operational check of remote programming functionality. Instruction is also provided for programming the signal generator using GPIB command statements and the SCPI language.
Programming Guide 1-1
Preparing for Use ESG Family Signal Generators

Setting up the Equipment for Remote Operation

Setting up the Equipment for Remote Operation
The signal generator can be remotely controlled using either the general purpose interface bus (GPIB) or a serial connection to the rear-panel RS-232 auxiliary interface connector.

GPIB Overview

GPIB is a high-performance bus that allows individual instruments and computers to be combined into integrated test systems. The bus and its associated interface operations are defined by the IEEE 488.1 standard. The IEEE 488.2 standard defines the interface capabilities of instruments and controllers in a measurement system, including some frequently used commands.
NOTE The functionality provided by GPIB is also available using the rear-panel
RS-232 AUXILIARY INTERFACE. For more information on using this type of system configuration, see “Serial Interface (RS–232) Overview” on page 1-7.
Commands are sent over the GPIB via a controller’s language system. HP BASIC is the language used in the programming examples in this book. HP BASIC was selected because the majority of GPIB computers have BASIC language capability. However, other languages can also be used. The use of HP BASIC is explained later in this chapter starting with “Programming the Signal Generator” on page 1-9.
Additional Required Equipment
The following tables list the additional required equipment to implement an GPIB system interface between a computer or workstation and the signal generator.
Table 1-1 GPIB Required Equipment for PC-Based Systems
Interface
Card
HP 82341C Windows
HP 82340B Windows
HP 82335B MS-DOS,
Operating
System
3.1/95/NT
3.1/95/NT
Windows 3.1
I/O
Library
SICL/VISA C/C++, Visual
SICL/VISA C/C++, Visual
Command Library/SI CL
Languages Backplane Max I/O
Basic, HP VEE
Basic, HP VEE
C/C++, PASCAL, BASIC for PC (including Visual Basic), HP VEE
ISA/EISA, 16 bit
ISA/EISA, 16 bit
ISA/EISA, 8bit
Buffering
(kB/sec)
750 Built-in
520 None
355 None
1-2 Programming Guide
ESG Family Signal Generators Preparing for Use
Setting up the Equipment for Remote Operation
Table 1-2 Required Equipment for HP Series 700 Workstations Running HP-UX
Interface
Card
HP E2071C HP-UX SICL/VISA ANSI C,
HP E2070C HP-UX SICL/VISA ANSI C,
Operating
System
I/O Library Languages Backplane Max I/O
(kB/sec)
EISA 750 Built-in HP VEE, HP BASIC
EISA 230 None HP VEE, HP BASIC
Buffering
Table 1-3 GPIB Ca bles
Model HP 10833A HP 10833B HP 10833C HP 10833D
Length 1 meter 2 meters 4 meters 5 meters
I/O Libraries for GPIB
SCPI (standard commands for programmable instruments) is a popular language used to communicate with the signal generator. Do not confuse SCPI with SICL and VISA, which are I/O libraries of functions used by programs that communicate through GPIB. SCPI is the actual language used to communicate with the signal generator itself.
Agilent Technologies Standard Instrument Control Library (SICL) and Virtual Instrument Software Architecture (VISA) are I/O libraries used to develop I/O applications for the GPIB interface. These functions are used in C or BASIC programs to simplify communication with the signal generator.
SICL is a modular instrument communications library that works with a variety of computer architectures, I/O interfaces, and operating systems. Applications written in C/C++ or Visual BASIC using this library can be ported at the source code level from one system to another without, or with very few, changes.
VISA is an I/O library that can be used to develop I/O applications and instrument drivers that comply with the VXI “plug & play” standards. Applications and instruments drivers developed with VISA can execute on VXI “plug & play” system frameworks that have the VISA I/O layer.
One or both of these libraries are included with the GPIB interface card. SICL/VISA for Hewlett-Packard Series 700 Controllers (model E2091D) and SICL/VISA for personal computers (model E2094E) may also be purchased. For additional information on SICL and VISA, see the user’s guides included with the SICL/VISA software package.
Programming Guide 1-3
Preparing for Use ESG Family Signal Generators
Setting up the Equipment for Remote Operation
GPIB Interconnecting Cables
The GPIB connector enables you to connect the signal generator to any other instrument or device on the interface bus. A GPIB connector and cable are shown in Figure 1-1. The codes next to the connector describe the GPIB electrical capabilities of the signal generator, using IEEE Std. 488-1978 mnemonics (GPIB, IEEE-488, and IEC-625 are electrically equivalent, although IEC-625 uses a unique connector).
Figure 1-1 GPIB Connector and Cable
Briefly, the mnemonics translate as follows:
Mnemonic Signal Description Capabilities
SH1 Source Handshake Complete
AH1 Acceptor Handshake Complete
T5 Talker Capable of basic talker, serial poll, and unaddressed if
MLA.
TE0 Talker, Extended Address None
L3 Listener Capable of basic listener, and unaddressed if MTA
LE0 Listener, Extended Address None
SR1 Service Request Complete
RL1 Remote Local Complete
PP0 Parallel Poll None
DC1 Device Clear Complete
DT1 Device Trigger Complete
C0 Controller None
E2 Identifies electrical tristate drivers
1-4 Programming Guide
ESG Family Signal Generators Preparing for Use
Setting up the Equipment for Remote Operation
You can connect as many as 14 instruments to the signal generator via GPIB (15 total instruments in the system). The cables can be interconnected in a star pattern (one central instrument, with the GPIB cables emanating from that instrument like spokes on a wheel), or in a linear pattern (like boxcars on a train), or any combination pattern. The following restrictions apply:
• Each instrument must have a unique GPIB address ranging from 0 through 30 (decimal).
• In a two-instrument system that uses just one GPIB cable, the cable length must not exceed 4 meters (9.13 ft.) between the two instruments.
• When more than two instruments are connected on the bus, the cable length between each instrument must not exceed 2 meters (6.5 ft.) per unit.
• The total cable length between all instruments must not exceed 20 meters (65 ft.).
Setting Up the Interface for GPIB Operation
1. Connect a computer and any other peripherals to the signal generator with GPIB cables.
2. Reset all instruments connected to the bus. If you are not sure how to reset a device, switch off the line power to the device and then switch the power back on.
3. Check the signal generator’s GPIB address.
Press
If the address is not 19, press
Utility > GPIB/RS-232 > GPIB Address.
1 > 9 > Enter.
NOTE Programming examples in this book assume that the signal generator’s GPIB
address is 19. Modify the examples, if necessary, to correspond to your signal generator’s address.
4. Check the signal generator’s remote language.
Press
If SCPI is not highlighted, press
Utility > GPIB/RS-232 > Remote Language. The default remote language is SCPI.
SCPI.
NOTE Although there are a number of remote languages compatible with other
signal sources, SCPI is the only remote language that can implement all of the signal generator’s features. Unless you have reason to use one of the other remote languages (for example, programs previously written for another signal source that has been replaced by the ESG family signal generator), choose SCPI to maximize your control of the signal generator’s functionality. All programming commands in this documentation set are written in SCPI.
Programming Guide 1-5
Preparing for Use ESG Family Signal Generators
Setting up the Equipment for Remote Operation
Verifying GPIB Programming Functionality
This program verifies that the GPIB connections and interface are functional. With the equipment set up as described in the previous section, clear and reset the controller. Type in the following program:
10 Sig_gen=7 19
20 ABORT 7
30 LOCAL Sig _gen
40 CLEAR Sig _gen
50 OUTPUT Si g_gen;"*R ST"
60 REMOTE Si g_gen
70 CLEAR SCR EEN
80 PRINT "Th e source should n ow be in REMOT E."
90 PRINT "Ve rify that the ‘R’ annun ciator i s displa yed"
100 END
Run the program and verify that the R (remote) annunciator is activated on the signal generator’s display. If it is not, verify that the signal generator address is set to 19 (see “Setting Up the Interface for GPIB Operation” on page 1-5) and that the interface cable is properly connected.
If the controller display indicates an error message, it is possible that the program was entered in incorrectly. If the controller accepts the remote statement but the signal generator’s remote annunciator does not appear on the signal generator’s display, refer to the service guide for troubleshooting information.
Program Comments
10: Sets up a variable to contain the GPIB address of the signal generator.
20: Aborts any bus activity and return the GPIB interfaces to their reset states.
30: Places the signal generator into LOCAL mode to cancel any local lockouts that may
have been set up.
40 to 50: Resets the signal generator’s parser and clears any pending output from the signal
generator. Prepares the signal generator to receive new commands.
60: Places the signal generator into remote mode.
70: Clears the controller’s display.
80 to 90: Prints a message to the controller’s display.
100: Ends the program.
1-6 Programming Guide
ESG Family Signal Generators Preparing for Use
Setting up the Equipment for Remote Operation

Serial Interface (RS–232) Overview

You can also control the signal generator using the rear-panel serial RS-232 serial port (labeled AUXILIARY INTERFACE). All of the functionality provided by GPIB is available using the rear-panel serial interface, except for indefinite blocks, serial polling, GET, non-SCPI remote languages, and remote mode.
Commands are sent over the serial interface via a controller’s language system. HP BASIC is the language used in the programming examples in this book. BASIC was selected because the majority of GPIB computers have BASIC language capability, but other languages can also be used. For more detail on using HP Basic, see “Programming the
Signal Generator” on page 1-9. For information regarding RS-232 operating parameters
such as handshake, baud rate, character format, and parity, see “Overview of Serial
Interface (RS-232) Programming” on page 1-10.
RS-232 Serial Interconnecting Cables
The signal generator’s serial connector enables you to connect the signal generator to a serial port on a personal computer. The connector’s pin configuration shown in Table 1-4.
Only one instrument per RS-232 port on the computer may be connected at any given time. The additional items required when using a serial interface are listed in Table 1-5.
Table 1-4. The RS-232 Connector
Pin Number Signal Description Signal Name
1 No Connection
2 Receive Data RECV
3Transmit Data XMIT
4+5V
5 Ground, 0V
6 No Connection
7 Request to Send RTS
8Clear to Send CTS
9 No Connection
Table 1-5. Additional Equipment Required for Serial Interface
Quantity Description Agilent Part Number
1 Serial RS-232 cable
9-pin (male) to 9-pin (female)
8120-6188
1
1 Serial RS-232 adapter (female-female) 1252-7825
RS-232 null modem (male-male)
1
5158-6639
1.Ensure proper pin connections between computer and signal generator.
Programming Guide 1-7
Preparing for Use ESG Family Signal Generators
Setting up the Equipment for Remote Operation
Connecting the Interface
1. Attach the male end of the RS-232 cable to the signal generator’s rear-panel AUXILIARY INTERFACE connector.
2. Attach the female end of the RS-232 cable to the null modem.
3. Using a 5-mm nut driver, remove both standoffs from the female-to-female adapter.
4. Connect one end of the modified adapter to the null modem and the other end to the selected port on the computer.
• For personal computers, make the connection to the COM2 RS-232 port. COM1 is
acceptable if available.
• For UNIX workstations, connect to the /dev/tty00 port. Alternatively, /dev/tty01 may
be used if it is available.
Configuring the Interface
1. Set the signal generator’s baud rate.
Press
Utility > GPIB/RS-232 > RS-232 Baud Rate. The default RS-232 baud rate is 19200.
Use baud rates 19200 or lower only. Press the appropriate softkey to adjust the signal generator’s baud rate to the baud rate of your personal computer or UNIX workstation.
2. Set the signal generator’s handshake. Press Utility > GPIB/RS-232 > RS-232 Pace. To determine the hardware operating
parameters, you need to know whether DSR (data set ready) and CTS (clear to send) are active during communication with the controller, and the baud rate expected by the controller. Set the signal generator’s handshake accordingly.
3. Set the signal generator’s RS-232 echo.
Press
Utility > GPIB/RS-232 > RS-232 Echo Off On to the desired operating state for your
configuration.
4. Set the signal generator’s remote language.
Press
Utility > GPIB/RS-232 > Remote Language. The only remote language supported by
RS-232 is SCPI (standard commands for programmable instruments). If SCPI is not highlighted, press SCPI to select it.
Verifying the RS-232 System Interface
The following command verifies that the serial interface functions. With the equipment set up as described in the previous sections, clear and reset the controller. Execute the following command: OUTPUT "*IDN?"
The signal generator should return a string similar to the following, depending on model:
<instrument model name and number>, US37040098 B.03.00
If not, verify that the RS-232 parameters are set correctly (see “Setting Up the Interface
for GPIB Operation” on page 1-5) and that the interface cable is properly connected.
1-8 Programming Guide
ESG Family Signal Generators Preparing for Use

Programming the Signal Generator

Programming the Signal Generator
The signal generator can be controlled entirely by a computer (although the line power switch must be operated manually). Several functions are possible only by remote control. Computer programming procedures for the signal generator involve selecting a GPIB command statement and then adding the specific programming codes (SCPI or 8656/67-compatible) to that statement to achieve the desired operating conditions. The programming codes can be categorized into two groups: those that mimic front panel keystrokes, and those that are unique and have no front panel equivalent.
In the programming explanations that follow, specific examples are included that are written in a generic dialect of the HP BASIC language. HP BASIC was selected because the majority of GPIB computers have HP BASIC language capability. However, other languages can be used as well.

Data Transfers Between Computer and Peripheral

Five statements are used to transfer information between a desktop computer and the interface card:
• The OUTPUT statement sends data to the interface which, in turn, sends the information to the peripheral device.
• The ENTER statement inputs data from the interface card after the interface has received it from the peripheral device.
• The STATUS statement is used to monitor the interface and obtain information about interface operation such as buffer status, detected errors, and interrupt enable status.
• The CONTROL statement is used to control interface operation and defines such parameters as baud rate, character format, or parity.
• The TRANSFER statement is used to input or output data from/to the interface and, in turn, from/to the peripheral device.
Since the interface has no on-board processor, ENTER and OUTPUT statements cause the computer to wait until the ENTER or OUTPUT operation is complete before continuing to the next line. For OUTPUT statements, this means that the computer waits until the last bit of the last character has been sent over the serial line before continuing with the next program statement.
Programming Guide 1-9
Preparing for Use ESG Family Signal Generators

Overview of Serial Interface (RS-232) Programming

Overview of Serial Interface (RS-232) Programming
Serial interface programming techniques are similar to most general I/O applications. The interface card is initialized by use of CONTROL statements; STATUS statements evaluate its readiness for use. Data is transferred between the desktop computer and a peripheral device by OUTPUT and ENTER statements.
Due to the asynchronous nature of serial I/O operations, special care must be exercised to ensure that data is not lost by sending to another device before the device is ready to receive. Modem line handshaking can be used to help solve this problem. These and other topics are discussed in greater detail elsewhere in this chapter.

Determining Operating Parameters

Before you can successfully transfer information to a device, you must match the operating characteristics of the interface to the corresponding characteristics of the peripheral device. This includes matching signal lines and their functions as well as matching the character format for both devices.
Handshake and Baud Rate
To determine hardware operating parameters, you need to know the answer for each of the following questions about the peripheral device:
• Which of the following signal and control lines are actively used during communication with the peripheral?
— Data Set Ready (DSR)
— Clear to Send (CTS)
• What baud rate (line speed) is expected by the peripheral?
Character Format Parameters
To define the character format, you must know the requirements of the peripheral device for the following parameters:
• Character Length: Eight data bits are used for each character, excluding start, stop, and parity bits.
• Parity Enable: Parity is disabled (absent) for each character.
• Stop Bits: One stop bit is included with each character.
1-10 Programming Guide
ESG Family Signal Generators Preparing for Use
Overview of Serial Interface (RS-232) Programming

Serial Configuration for BASIC/UX

There is no capability in BASIC/UX for reading the hardware bit settings on either the HP 98626 or HP 98644 Serial Interface cards. Therefore, BASIC/UX provides two methods for configuring modem control options:
•The stty command from the HP-UX environment.
• The keyword CONTROL and registers directly related to the modem control options.
Of the two methods mentioned above, the best one to use while in the HP-UX environment is the stty command. The reason for this is any modem control options set by using the keyword CONTROL are lost when you leave BASIC/UX. However, if you prefer to change these options while in the BASIC/UX environment, then read the subsequent section “Using Program Control to Override Defaults” on page 1-12.
This section deals with the first method mentioned above which is the use of the stty command from the HP-UX environment.
Defaults for the Serial Interface
When HP-UX is being booted up, the defaults for all serial interfaces are:
Baud Rate 300
Bits per character 8
Par ity Off
Stop bits 1
The above values are used by BASIC/UX as defaults, unless configured as explained in the next section.
Some common serial interface configuration settings are:
Baud Rate to 9600
Bits per character to 8
Par ity to Odd and disabled
Stop bits to 1
Programming Guide 1-11
Preparing for Use ESG Family Signal Generators
Overview of Serial Interface (RS-232) Programming
Configuring a Serial Interface for BASIC/UX
To configure your serial interface with the values mentioned in the previous section, you can execute the following HP-UX command before entering BASIC/UX:
/bin/stty 9600 cs8 -cstopb < /dev/rmb/serialnn
where: 9600 is the baud rate. The following are baud rates you can use with the stty command:
300 1200 2400 4800 9600 19 200
cs8 is the number of bits per character. For this signal generator, the number of bits per character is 8.
-cstopb causes one stop bit per character to be used.
< /dev/rmb/serialnn assigns the stty options to the serial interface located at select code
number nn.
For more information on stty options, see the HP-UX Language Reference.

Using Program Control to Override Defaults

You can override some of the interface default configuration options by use of CONTROL statements. This not only enables you to guarantee certain parameters, but also provides a means for changing selected parameters in the course of a running program.
Interface Reset
Whenever an interface is connected to a modem that may still be connected to a telecommunications link from a previous session, it is good programming practice to reset the interface to force the modem to disconnect, unless the status of the link and remote connection are known. When the interface is connected to a line printer or similar peripheral, resetting the interface is usually unnecessary unless an error condition requires it.
100 CONTROL Sc,0;1 ! Resets Interface.
When the interface is reset by use of a CONTROL statement to CONTROL Register 0 with a non-zero value, the interface is restored to the BASIC/UX power-up condition whether or not it is the same as the current default switch configuration. If you are not sure of the present settings, or if your application requires changing the configuration during program operation, you can use CONTROL statements to configure the interface. An example of where this may be necessary is when several peripherals share a single interface through a manually operated RS-232 switch such as those used to connect multiple terminals to a single computer port, or a single terminal to multiple computers.
1-12 Programming Guide
ESG Family Signal Generators Preparing for Use
Overview of Serial Interface (RS-232) Programming
Selecting the Baud Rate
In order to successfully transfer information between the interface card and a peripheral, the interface and peripheral must be set to the same baud rate. A CONTROL statement to register 3 (or 13 with 98644 interfaces) can be used to set the interface baud rate to any one of the following values:
300 1200 2400 4800 9600 19 200
For example, to select a baud rate of 9600, the following program statement is used:
1190 CONTROL Sc,3;9600
Use of values other than those shown may result in incorrect operation.
To verify the current baud rate setting, use a STATUS statement addressed to register 3. All rates are in baud (bits/second).
Setting Character Format and Parity
CONTROL Register 4 overrides the Line Control switches that control parity and character format. All bits in this table correspond to equivalent switch settings on the HP 98626 and HP 98644 serial interface cards. A 1 is the same as set. To determine the value sent to the register, add the appropriate values selected from the following table.
Table 1-6 Character Format and Parity Settings Handshake
Handshake
(Bits 7 & 6)
01 Xon/Xoff Bidirectional 11 Handshake Disabled
Parity Enable
(Bit 3)
0 Disabled 0 One stop bit 11 Eight bits/char
Stop Bits
(Bit 2)
Character Length
(Bits 1 & 0)
For example, to configure a character format of 8 bits per character, one stop bit, and disabled parity, with XON/XOFF; use the following CONTROL statement:
1200 CONTROL Sc,4;IVAL(“10011”,2)
-or-
1200 CONTROL Sc,4;19
Programming Guide 1-13
Preparing for Use ESG Family Signal Generators

Transferring Data

Transferring Data
The serial interface card is designed for relatively simple serial I/O operations. It is not intended for sophisticated applications that use ON INTR statements to service the interface.

Entering and Outputting Data

When the interface is properly configured, either by use of default switches or CONTROL statements, you are ready to begin data transfers. OUTPUT statements are used to send information to the peripheral; ENTER statements to input information from the external device.
• OUTPUT 20;”String data”,Numeric_var,Etc
• ENTER 20;String_var$,Numeric_var,Etc
Any valid OUTPUT or ENTER statement and variables list may be used, but you must be sure that the data format is compatible with the peripheral device. For example, non-ASCII data sent to an ASCII line printer may result in unexpected behavior.
Various other I/O statements can be used in addition to OUTPUT and ENTER, depending on the situation. For example, the LIST statement can be used to list programs to an RS-232 line printer -- provided the interface is properly configured before the operation begins.
Outputting Data
To send data to a peripheral, use OUTPUT, OUTPUT USING, or any other similar or equivalent construct. Suppression of end-of-line delimiters and other formatting capabilities are identical to normal operation in general I/O applications. The OUTPUT statement hangs the computer until the last bit of the last character in the statement variable list is transmitted by the interface. When the output operation is complete, the computer then continues to the next line in the program.
Entering Data
To input data from a peripheral, use ENTER, ENTER USING, or an equivalent statement. Inclusion or elimination of end-of-line delimiters and other information is determined by the formatting specified in the ENTER statement. The ENTER statement hangs the computer until the input variables list is satisfied. To minimize the risk of waiting for another variable that isn’t coming, you may prefer to specify only one variable for each ENTER statement, and analyze the result before starting the next input operation.
Be sure that the peripheral is not transmitting data to the interface while no ENTER is in progress. Otherwise, data may be lost because the card provides buffering for only one character. Also, interrupts from other I/O devices, or operator inputs to the computer keyboard can cause delay in computer service to the interface that result in buffer overrun at higher baud rates.
1-14 Programming Guide
ESG Family Signal Generators Preparing for Use
Transferring Data

Modem Line Handshaking

Modem line handshaking, when used, is performed automatically by the computer as part of the OUTPUT or ENTER operation. If the modem line states have not been latched in a fixed state by Control Register, the following sequence of events is executed automatically during each OUTPUT or ENTER operation:
For OUTPUT operations:
1. Set Data Terminal Ready and Request-to-Send modem lines to active state.
2. Check Data Set Ready and Clear-to-Send modem lines to be sure they are active.
3. Send information to the interface and then to the peripheral.
4. After data transfer is complete, clear Data Terminal Ready and Request-to-Send signals.
For ENTER operations:
1. Set Data Terminal Ready line to active state. Leave Request-to-Send inactive.
2. Check Data Set Ready and Data Carrier Detect modem lines to be sure they are active.
3. Input information from the interface as it is received from the peripheral.
4. After the input operation is complete, clear the Data Terminal Ready signal.
After a given OUTPUT or ENTER operation is completed, the program continues execution on the next line.
Control Register 5 can be used to force selected modem control lines to their active states. The Data Rate Select line is set or cleared by bit 2. Request-to-send and Data Terminal Ready are held in their active states when bits 1 and 0 are true, respectively. If bits 1 or 0 are false, the corresponding modem line is toggled during OUTPUT or ENTER as explained previously.
Programming Guide 1-15
Preparing for Use ESG Family Signal Generators
Transferring Data

Incoming Data Error Detection and Handling (BASIC/WS only)

The serial interface card can generate several errors that are caused when certain conditions are encountered while receiving data from the peripheral device. The UART detects a given error condition. The card then generates a pending error to BASIC. Errors can be generated by any of the following conditions:
• Parity error. The parity bit on an incoming character does not match the parity expected by the receiver. This condition is most commonly caused by line noise.
• Framing error. Start and stop bits do not match the timing expectations of the receiver. This can occur when line noise causes the receiver to miss the start bit or obscures the stop bits.
• Overrun error. Incoming data buffer overrun caused a loss of one or more data characters. This is usually caused when data is received by the interface, but no ENTER statement has been activated to input the information.
• Break received. A BREAK was sent to the interface by the peripheral device. The desktop computer program must be able to properly interpret the meaning of a break and take appropriate action.
All UART status errors are generated by incoming data, never by outbound data. When a UART error occurs, the corresponding bit of Status Register 10 is set, and a pending error (ERROR 167: Interface status error) is sent to BASIC. BASIC processes the error according to the following rules:
• If an ENTER is in progress, the error is handled immediately as part of the ENTER process. An active ON ERROR causes the error trap to be executed. If no ON ERROR is active, the error is fatal and causes the program to terminate.
• If an OUTPUT is in progress, or if there is no current activity between the computer and interface, the error is flagged, but nothing is done by BASIC until an ENTER statement is encountered. When the computer begins execution of the ENTER statement, if an ON ERROR is active, the error trap is executed. If there is no active ON ERROR for that select code, the fatal ERROR 167 causes the BASIC program to terminate.
• If a STATUS statement is executed to Status Register 10 before an ENTER statement is encountered for that select code, the pending BASIC error is cleared, and the program continues as if no error had been generated.
Note that the above UART status errors cannot be detected using BASIC/UX.
1-16 Programming Guide
ESG Family Signal Generators Preparing for Use

GPIB Instrument Nomenclature

GPIB Instrument Nomenclature
An instrument that is part of an GPIB network is categorized as a listener, talker, or controller, depending on its current function in the network.
Listener A listener is a device capable of receiving data or commands from other
instruments. Any number of instruments in the GPIB network can be listeners simultaneously.
Talker A talker is a device capable of transmitting data or commands to other
instruments. To avoid confusion, an GPIB system allows only one device at a time to be an active talker.
Controller A controller is an instrument, typically a computer, capable of managing
the various GPIB activities. Only one device at a time can be an active controller.
Programming Guide 1-17
Preparing for Use ESG Family Signal Generators

GPIB Command Statements

GPIB Command Statements
Command statements form the nucleus of GPIB programming; they are understood by all instruments in the network. When combined with the programming language codes, they provide all management and data communication instructions for the system.
An explanation of the fundamental command statements follows. Some computers may use a slightly different terminology, or support an extended or enhanced version of these commands. Use the following explanations as a starting point and refer to the HP BASIC language reference manual, the I/O programming guide, and the GPIB manual for the computer you are using.
Syntax drawings accompany each statement. All items enclosed by a circle or oval are computer-specific terms that must be entered exactly as described; items enclosed in a rectangular box are names of parameters used in the statement; and the arrows indicate a path that generates a valid combination of statement elements.
The seven fundamental command statements are as follows:

Abort

ABORT abruptly terminates all listener/talker activity on the interface bus, and prepares all instruments to receive a new command from the controller. Typically, this is an initialization command used to place the bus in a known starting condition. The syntax is:
Figure 1-2. Abort Command Syntax
where the interface select code is the computer’s GPIB I/O port, which is typically port 7.
A BASIC Example
10 ABORT 7 100 IF V>20 THEN ABORT 7
Related Statements Used by Some Computers
• ABORTIO (used by HP-80 series computers)
•HALT
• RESET
1-18 Programming Guide
ESG Family Signal Generators Preparing for Use
GPIB Command Statements

Remote

REMOTE causes an instrument to change from local control to remote control. In remote control, the front panel keys are disabled except for the switch. The syntax is:
Figure 1-3. Remote Command Syntax
where the device selector is the address of the instrument appended to the GPIB port number. Typically, the GPIB port number is 7 and the default address for the signal generator is 19, so the device selector is 719.
Some BASIC Examples
Local key and the line power
10 REMOTE 7
which prepares all GPIB instruments for remote operation (although nothing appears to happen to the instruments until they are addressed to talk), or
10 REMOTE 719
which affects the GPIB instrument located at address 19, or
10 REMOTE 719, 721, 726, 715
which affects four instruments that have addresses 19, 21, 26, and 15.
Related Statements Used by Some Computers
• RESUME
Programming Guide 1-19
Preparing for Use ESG Family Signal Generators
GPIB Command Statements

Local Lockout

LOCAL LOCKOUT can be used with REMOTE to disable the front panel Local key. With
Local key disabled, only the controller (or a hard reset by the line power switch) can
the restore local control. The syntax is:
Figure 1-4. Local Lockout Command Syntax
A BASIC Example
10 REMOTE 719 20 LOCAL LOCKOUT 7

Local

LOCAL is the complement to REMOTE, causing an instrument to return to local control with a fully enabled front panel. The syntax is:
Figure 1-5. Local Command Syntax
Some BASIC Examples
10 LOCAL 7
which affects all instruments in the network, or
10 LOCAL 719
for an addressed instrument (address 19).
Related Statements Used by Some Computers
• RESUME
1-20 Programming Guide
ESG Family Signal Generators Preparing for Use
GPIB Command Statements

Clear

CLEAR causes all GPIB instruments, or addressed instruments, to assume a cleared condition. The definition of clear is unique for each instrument. For the signal generator:
1. All pending output-parameter operations are halted.
2. The parser (the software that interprets the programming codes) is reset and now expects to receive the first character of a programming code.
3. Any sweep in progress is aborted and continuous sweep is turned off.
4. Any I/Q calibration in progress will be aborted.
The syntax is:
Figure 1-6. Clear Command Syntax
Some BASIC Examples
10 CLEAR 7
to clear all GPIB instruments, or
10 CLEAR 719
to clear an addressed instrument (address 19)
Related Statements Used by Some Computers
• RESET
• CONTROL
•SEND
The preceding statements are primarily management commands that do not incorporate programming codes. The following two statements do incorporate programming codes and are used for data communication.
Programming Guide 1-21
Preparing for Use ESG Family Signal Generators
GPIB Command Statements

Output

OUTPUT is used to send function commands and data commands from the controller to the addressed instrument. The syntax is:
Figure 1-7. Output Command Syntax
where USING is a secondary command that formats the output in a particular way, such as a binary or ASCII representation of numbers. The USING command is followed by image items that precisely define the format of the output; these image items can be a string of code characters or a reference to a statement line in the program. Image items are explained in the programming codes where they are needed. Notice that this syntax is virtually identical to the syntax for the ENTER statement that follows.
A BASIC Example
100 OUTPUT 719; "programming codes"
Related Statements Used by Some Computers
• CONTROL
• CONVERT
•IMAGE
• IOBUFFER
• TRANSFER
1-22 Programming Guide
ESG Family Signal Generators Preparing for Use
GPIB Command Statements

Enter

ENTER is the complement of OUTPUT and is used to transfer data from the addressed instrument to the controller. The syntax is:
Figure 1-8. Enter Command Syntax
ENTER is nearly always used in conjunction with OUTPUT.
Some BASIC Examples
100 OUTPUT 719, "...programming codes..." 110 ENTER 719; "...response data..."
ENTER statements are commonly formatted, requiring the secondary command USING and the appropriate image items. The most-used image items involve end-of-line (EOI) suppression, binary inputs, and literal inputs. For example:
100 ENTER 719 USING "#, B"; A, B, C
suppresses the EOI sequence (#), and indicates that variables A, B, and C are to be filled with binary (B) data. In another example:
100 ENTER 719 USING "#, 123A"; A$
suppresses EOI and indicates that string variable A$ is to be filled with 123 bytes of literal data (123A).
NOTE Be careful when using byte-counting image specifiers. If the requested
number of bytes does not match the actual number available, data might be lost or the program might enter an endless wait state.
Programming Guide 1-23
Preparing for Use ESG Family Signal Generators
GPIB Command Statements
The suppression of the EOI sequence is frequently necessary to prevent a premature termination of the data input. When not specified, the typical EOI termination occurs when an ASCII LF (line feed) is received. However the LF bit pattern could coincidentally occur randomly in a long string of binary data, where it might cause a false termination. Also the bit patterns for the ASCII CR (carriage return), comma, or semicolon might cause a false termination. Suppression of the EOI causes the computer to accept all bit patterns as data, not commands, and relies on the GPIB EOI (end or identify) line for correct end-of-data termination.
Related Statements Used by Some Computers
• CONVERT
•IMAGE
• IOBUFFER
•ON TIMEOUT
•SET TIMEOUT
• TRANSFER
1-24 Programming Guide
ESG Family Signal Generators Preparing for Use

Getting Started with SCPI

Getting Started with SCPI
This section describes the use of the Standard Commands for Programmable Instruments language (SCPI). This section explains how to use SCPI commands in general. For a list of the specific SCPI commands available in the signal generator, refer to Chapter 2 and
Chapter 3.

Understanding Common Terms

The following terms are used throughout the remainder of this chapter.
Controller A controller is any computer used to communicate with a SCPI
instrument. A controller can be a personal computer, a minicomputer, or a plug-in card in a card cage. Some intelligent instruments can also function as controllers.
Instrument An instrument is any device that implements SCPI. Most instruments are
electronic measurement or stimulus devices, but this is not a requirement. Similarly, most instruments use an GPIB or RS-232 interface for communication. The same concepts apply regardless of the instrument function or the type of interface used.
Program Message A program message is a combination of one or more properly formatted
SCPI commands. Program messages always go from a controller to an instrument. Program messages tell the instrument how to make measurements and output signals.
Response Message A response message is a collection of data in specific SCPI formats.
Response messages always go from an instrument to a controller or listening instrument. Response messages tell the controller about the internal state of the instrument and about measured values.
Command A command is an instruction in SCPI. You combine commands to form
messages that control instruments. In general, a command consists of mnemonics (keywords), parameters, and punctuation.
Query A query is a special type of command. Queries instruct the instrument to
make response data available to the controller. Query mnemonics always end with a question mark.
Programming Guide 1-25
Preparing for Use ESG Family Signal Generators
Getting Started with SCPI

Standard Notation

This section uses several forms of notation that have specific meaning:
Command Mnemonics Many commands have both a long and a short form and you must use
either one or the other (SCPI does not accept a combination of the two). Consider the FREQuency command, for example. The short form is FREQ and the long form is FREQUENCY. This notation type is a shorthand to document both the long and short form of commands. SCPI is not case sensitive, so fREquEnCy is just as valid as FREQUENCY, but FREQ and FREQUENCY are the only valid forms of the FREQuency command.
Angle Brackets Angle brackets indicate that the word or words enclosed represent
something other than themselves. For example, <new line> represents the ASCII character with the decimal value 10. Similarly, <END> means that EOI is asserted on the GPIB interface. Words in angle brackets have much more rigidly defined meaning than words shown in ordinary text. For example, this section uses the word “message” to talk about messages generally. But the bracketed words <program message> indicate a precisely defined element of SCPI. If you need them, you can find the exact definitions of words such as <program message> in a syntax diagram.

How to Use Examples

Programming with SCPI requires knowledge of two languages. You must know the programming language of your controller (BASIC, C, Pascal) as well as the language of your instrument (SCPI). The semantic requirements of your controller’s language determine how the SCPI commands and responses are handled in your application.
Command Examples
Command examples look like this:
:FREQuency:CW?
This example tells you to put the string :FREQuency:CW? in the output statement appropriate to your application programming language. If you encounter problems, study the details of how the output statement handles message terminators such as <new line>. If you are using simple OUTPUT statements in HP BASIC, this is taken care of for you. In HP BASIC, you type:
OUTPUT 719":FREQuency:CW?"
Command examples do not show message terminators because they are used at the end of every program message. See “Details of Commands and Responses” on page 1-35 for more information about message terminators.
1-26 Programming Guide
ESG Family Signal Generators Preparing for Use
Getting Started with SCPI
Response Examples
Response examples look like this:
3.000000000000E+009
These are the characters you would read from an instrument after sending a query command. To actually pull them from the instrument into the controller, use the input statement appropriate to your application programming language. If you have problems, study the details of how the input statement operates. In particular, investigate how the input statement handles punctuation characters such as the comma and the semicolon and how it handles <new line> and EOI. To enter the previous response in HP BASIC you type:
ENTER 719;CW_frequency
Response examples do not show response message terminators because they are always <new line> <END>. These terminators are typically automatically handled by the input statement. See “Details of Commands and Responses” on page 1-35 for more information about terminators.

Program and Response Messages

To understand how your instrument and controller communicate using SCPI, you must understand the concepts of program and response messages. Program messages are the formatted data sent from the controller to the instrument. Conversely, response messages are the formatted data sent from the instrument to the controller. Program messages contain one or more commands, and response messages contain one or more responses.
The controller may send commands at any time, but the instrument sends responses only when specifically instructed to do so. The special type of command used to instruct the instrument to send a response message is the query. All query mnemonics end with a question mark. Queries return either measured values or internal instrument settings. Any internal setting that can be programmed with SCPI can also be queried.
Forgiving Listening and Precise Talking
SCPI uses the concept of forgiving listening and precise talking outlined in IEEE 488.2. Forgiving listening means that instruments are very flexible in accepting various command and parameter formats. For example, the signal generator accepts either :POWer:ALC[:STATe] ON or :POWer:ALC[:STATe] 1 to turn on the source’s RF output.
Precise talking means that the response format for a particular query is always the same. For example, if you query the power state when it is on (using :POWer:ALC[:STATe]?), the response is always 1, regardless of whether you previously sent :POWer:ALC[:STATe] 1 or :POWer:ALC[:STATe] ON.
Programming Guide 1-27
Preparing for Use ESG Family Signal Generators
Getting Started with SCPI
Types of Commands
Commands can be separated into two groups, common commands and subsystem commands.
Common commands are generally not measurement related. They are used to manage macros, status registers, synchronization, and data storage. Common commands are easy to recognize because they all begin with an asterisk, such as *IDN?, *OPC, and *RST. Common commands are defined by IEEE 488.2.
Subsystem commands include all measurement functions and some general purpose functions. Subsystem commands are distinguished by the colon used between keywords, as in :FREQuency:CW?. Each command subsystem is a set of commands that roughly corresponds to a functional block inside the instrument. For example, the :POWer subsystem contains commands for power generation, while the :STATus subsystem contains commands for accessing status registers.
Figure 1-9. SCPI Command Types
The remaining paragraphs in this subsection discuss subsystem commands in more detail. Remember, some commands are implemented in one instrument and not in another, depending on its measurement function.
1-28 Programming Guide
ESG Family Signal Generators Preparing for Use
Getting Started with SCPI

Subsystem Command Trees

Command Tree Structure
Most programming tasks involve subsystem commands. SCPI uses a hierarchical structure for subsystem commands similar to the file systems on most computers. In SCPI, this command structure is called a command tree.
Figure 1-10. A Simplified Command Tree
In the command tree shown above, the command closest to the top is the root command, or simply “the root.” Notice that you must follow a particular path to reach lower level subcommands. For example, if you wish to access the GG command, you must follow the path AA to BB to GG.
Paths Through the Command Tree
To access commands in different paths in the command tree, you must understand how an instrument interprets commands. The parser, a part of the instrument firmware, decodes each message sent to the instrument. The parser breaks up the message into component commands using a set of rules to determine the command tree path used. The parser keeps track of the current path: the level in the command tree where it expects to find the next command you send. This is important because the same keyword may appear in different paths. The particular path you use determines how the keyword is interpreted. The following rules are used by the parser:
Power On and Reset After power is cycled or after *RST, the current path is set to the root.
Message Terminators A message terminator, such as a <new line> character, sets the current
path to the root. Many programming languages have output statements that send message terminators automatically. See “Details of Commands
and Responses” on page 1-35 for more information about message
terminators.
Programming Guide 1-29
Preparing for Use ESG Family Signal Generators
Getting Started with SCPI
Colon When a colon is placed between two command mnemonics, it moves the
current path down one level in the command tree. For example, the colon in MEAS:VOLT specifies that VOLT is one level below MEAS. When the colon is the first character of a command, it specifies that the next command mnemonic is a root level command. For example, the colon in :INIT specifies that INIT is a root level command.
Semicolon A semicolon separates two commands in the same message without
changing the current path.
White Space White space characters, such as <tab> and <space>, are generally ignored.
There are two important exceptions. White space inside a keyword, such as:
:FREQ uency
is not allowed. You must use white space to separate parameters from commands. For example, the <space> between LEVel and 6.2 in the command :POWer:LEVel 6.2 is mandatory. White space does not affect the current path.
Commas If a command requires more than one parameter, you must separate
adjacent parameters using a comma. Commas do not affect the current path.
Common Commands Common commands, such as *RST, are not part of any subsystem. An
instrument interprets them in the same way, regardless of the current path setting.
1-30 Programming Guide
ESG Family Signal Generators Preparing for Use
Getting Started with SCPI
Figure 1-11. Proper Use of the Colon and Semicolon
Examples of how to use the colon and semicolon to navigate efficiently through the command tree are shown in Figure 1-11. Notice how proper use of the semicolon can reduce the amount of information that must be sent over the interface.
Sending this message:
:AA:BB:EE; FF; GG
is the same as sending these three messages:
:AA:BB:EE :AA:BB:FF :AA:BB:GG
Programming Guide 1-31
Preparing for Use ESG Family Signal Generators
Getting Started with SCPI

More About Commands

Query and Event Commands
You can query any value that you can set. For example, the presence of the signal generator FREQuency:OFFSet command implies that a FREQuency:OFFSet? also exists. If you see a command ending with a question mark, it is a query-only command. Some commands are events and cannot be queried. An event has no corresponding setting if it causes something to happen inside the instrument at a particular instant.
Implied Commands
Implied commands appear in square brackets. If you send a subcommand immediately preceding an implied command, but do not send the implied command, the instrument assumes you intend to use the implied command and behaves just as if you had sent it. Notice that this means that the instrument expects you to include any parameters required by the implied command. The following example illustrates equivalent ways to program the signal generator using explicit and implied commands.
Example signal generator commands with and without an implied command:
FREQuency[:CW] 500 MHz using explicit commands FREQuency 500 MHz using implied commands
Optional Parameters
Optional parameter names are enclosed in square brackets. If you do not send a value for an optional parameter, the instrument chooses a default value. The instrument’s command dictionary documents the values used for optional parameters.
1-32 Programming Guide
ESG Family Signal Generators Preparing for Use
Getting Started with SCPI

Program Message Examples

The following parts of the signal generator SCPI command set will be used to demonstrate how to create complete SCPI program messages:
:FREQuency :POWER
Example 1
“FREQuency:STARt 500 MHz; STOP 1000 MHz”
The command is correct and will not cause errors. It is equivalent to sending the following:
“FREQuency:STARt 500 MHz; FREQuency:STOP 1000 MHz”
Example 2
“POWer 10 DBM; :OFFSet 5 DB” This command results in a command error. The command makes use of the default
POWer[:LEVel][:IMMediate] node. When using a default node, there is no change to the
current path position. Since there is no command “OFFSet” at the root, an error results. A correct way to send this is:
“POWer 10 DBM; :POWer:OFFSet 5 DB”
Example 3
“POWer:OFFSet 5 DB; POWer 10 DBM”
This command results in a command error. The POWer 10 DBM portion of the command is missing a leading colon. The path level is dropped at each colon until it is in the POWer:OFFSet subsystem.
When the POWer 10 DBM command is sent, it then causes confusion because no such node occurs in the POWer:OFFSet subsystem. By adding a leading colon, the current path is reset to the root. The correct command is:
“POWer:OFFSet 5 DB; :POWer 10 DBM”
Example 4
“FREQ 500 MHZ; POWER 4 DBM”
In this example the keyword short form is used. The command is correct. It utilizes the default nodes of [:CW] and [:LEVEL]. Since default nodes do not affect the current path, it is not necessary to use a leading colon before POWER.
Programming Guide 1-33
Preparing for Use ESG Family Signal Generators
Getting Started with SCPI

Reading Instrument Errors

When debugging a program, you may want to know if an instrument error has occurred. The signal generator can display error messages on their front panel displays. If your system includes an instrument that does not have this capability, you can put the following code segment in your program to read error messages and print them on the controller’s display.
10 ! 20 ! The rest of your 30 ! variable d eclaratio ns 40 Assign @box to 719 50 DIM Err_msg$ [75] 60 INTEGER Err_ num 70 ! 80 ! Part of yo ur progra m 90 ! that gener ates erro rs 100 ! 110 ! 200 REPEAT 210 OUTPUT @Box;":SYS T:ERR?" 220 ! Query instrument err or 230 ENTER @Box;Err_nu m,Err_msg$ 240 ! Read erro r #, mess age 250 PRINT Err_num,Err _msg$ 260 ! Print error message 270 UNTIL Err_num = 0 280 ! Repeat un til no er rors 290 ! 300 ! The rest of your program 310 !
1-34 Programming Guide
ESG Family Signal Generators Preparing for Use
Getting Started with SCPI

Details of Commands and Responses

This section describes the syntax of SCPI commands and responses. It provides many examples of the data types used for command parameters and response data.
Program Message Syntax
These program messages contain commands combined with appropriate punctuation and program message terminators.
Figure 1-12. Simplified Program Message Syntax
You can send common commands and subsystem commands in the same message as shown in Figure 1-12. If you send more than one command in the same message, you must separate them with a semicolon. You must always end a program message with one of the three program message terminators shown in Figure 1-12. Use <new line>, <END>, or <new line> <END> as the program message terminator. The word <END> means that EOI is asserted on the GPIB interface at the same time the preceding data byte is sent. Most programming languages send these terminators automatically. For example, if you use the HP BASIC OUTPUT statement, <new line> is automatically sent after your last data byte. If you are using a PC, you can usually configure the system to send whatever terminator you specify.
Programming Guide 1-35
Preparing for Use ESG Family Signal Generators
Getting Started with SCPI
SCPI Subsystem Command Syntax
Figure 1-13. SCPI Simplified Subsystem Command Syntax
There must be a <space> between the last command mnemonic and the first parameter in a subsystem command as shown in Figure 1-13. This is one of the few places in SCPI where <space> is required. Note that if you send more than one parameter with a single command, you must separate adjacent parameters with a comma. Parameter types are explained later in this subsection.
Common Command Syntax
Figure 1-14. Simplified Common Command Syntax
As with subsystem commands, use a <space> to separate a command mnemonic from subsequent parameters. Separate adjacent parameters with a comma. Parameter types are explained later in this section.
1-36 Programming Guide
ESG Family Signal Generators Preparing for Use
Getting Started with SCPI
Response Message Syntax
Figure 1-15. Simplified Response Message Syntax
Response messages can contain both commas and semicolons as separators. When a single query command returns multiple values, a comma separates each data item. When multiple queries are sent in the same message, the groups of data items corresponding to each query are separated by a semicolon. For example, the fictitious query
:QUERY1?:QUERY2? might return a response message of:
,;,
Response data types are explained later in this subsection. Note that <new line><END> is always sent as a response message terminator.
SCPI Data Types
SCPI defines different data formats for use in program messages and response messages. It does this to accommodate the principle of forgiving listening and precise talking. Forgiving listening means that instruments are flexible, accepting commands and parameters in various formats. Precise talking means an instrument always responds to a particular query in a predefined, rigid format. Parameter data types are designed to be flexible in the spirit of forgiving listening. Conversely, response data types are defined to meet the requirements of precise talking.
Parameter Types Response Data Types
Numeric
Extended Numeric
Discrete Discrete
Boolean Numeric Boolean
String String
Block Definite Length Block (all interfaces)
Real or Integer
Integer
Indefinite Length Block (not supported with RS-232)
Non-decimal Numeric Hexadecimal
Octal
Binary
Programming Guide 1-37
Preparing for Use ESG Family Signal Generators
Getting Started with SCPI
Each parameter type has one or more corresponding response data types. For example, a setting that you program using a numeric parameter returns either real or integer response data when queried. Whether real or integer response data is returned depends on the instrument used. However, precise talking requires that the response data type be clearly defined for a particular instrument and query. Chapter 2 contains information about data types for individual commands.
Par ameter Types
Numeric Parameters Numeric parameters are used in both subsystem commands and
common commands. Numeric parameters accept all commonly used decimal representations of numbers including optional signs, decimal points, and scientific notation.
If an instrument setting programmed with a numeric parameter can only assume a finite number of values, the instrument automatically rounds the parameter. For example, if an instrument has a programmable output impedance of 50 or 75 ohms, and you specified
76.1 for output impedance, the value is rounded to 75. If the instrument setting can only assume integer values, it automatically rounds the value to an integer. For example sending *ESE 10.123 is the same as sending *ESE 10.
Examples of numeric parameters:
100 no decimal point required
100. fractional digits optional
1.23 leading signs allowed
4.56e<space>3 space allowed after e in exponential
7.89E01 use either E or e in exponential
+256 leading + allowed
.5 digits left of decimal point optional
Extended Numeric Parameters Most subsystems use extended numeric parameters to specify physical quantities. Extended numeric parameters accept all numeric parameter values and other special values as well. All extended numeric parameters accept MAXimum and MINimum as values. Other special values, such as UP and DOWN may be available as documented in Chapter 2. Notice that MINimum and MAXimum can be used to set or query values. The query forms are useful for determining the range of values allowed for a given parameter.
In some instruments, extended numeric parameters accept engineering unit suffixes as part of the parameter value.
Notice that extended numeric parameters are not used for common commands or STATus subsystem commands.
1-38 Programming Guide
ESG Family Signal Generators Preparing for Use
Getting Started with SCPI
Examples of extended numeric parameters:
100. any simple numeric values
1.23
4.56e<space>3
7.89E01
+256
.5
MAX largest valid setting
MIN valid setting nearest negative infinity
100 mV negative 100 millivolts
Discrete Parameters Use discrete parameters to program settings that have a finite number of values. Discrete parameters use mnemonics to represent each valid setting. They have a long and a short form, just like command mnemonics. You can use mixed upper and lower case letters for discrete parameters.
Examples of discrete parameters used with the TRIG:SOURce subsystem:
BUS GPIB triggering
IMMediate immediate trigger
EXTernal external triggering
Although discrete parameter values look like command keywords, do not confuse the two. In particular, be sure to use colons and spaces properly. Use a colon to separate command mnemonics from each other. Use a space to separate parameters from command mnemonics.
Examples of discrete parameters in commands:
100 OUTPUT @Source;"T RIGger:SOUR ce BUS" 100 OUTPUT @Source;"T RIGger:SOUR ce IMMediate" 100 OUTPUT @Source;"T RIGger:SOUR ce EXTernal"
Programming Guide 1-39
Preparing for Use ESG Family Signal Generators
Getting Started with SCPI
Boolean Parameters Boolean parameters represent a single binary condition that is either true or false. There are only four possible representations for a Boolean parameter:
ON Boolean true, upper/lower case allowed
OFF Boolean false, upper/lower case allowed
1 Boolean true
0 Boolean false
Block Parameters A data block contains the data of primary interest. It may contain dimensioned data such as DATA(CURVe), or specific sets of data (WAVEform, etc.). At least one data block is required and multiple data blocks are allowed. The following table details the data block for a List Pattern data block, used to write pattern lists directly to the instrument’s baseband generator board:
Bit 0 (1) data value: 0 or 1 as required for a data bit.
Bit 1 (2) Always 0
Bit 2 (4) Burst control: 0 for burst off, 1 for burst on. All data values that require
power out must have this bit on.
Bit 3 (8) Always 0
Bit 4 (16) Always 16
Bit 5 (32) Always 0
Bit 6 (64) Event 1 control: 0 or 1, as desired on the EVENT1 output.
Bit 7 (128) Pattern reset: Reset the pattern to start after this entry is processed.
Response Data Types
Real Response Data A large portion of all measurement data are formatted as real
response data. Real response data are decimal numbers in either fixed decimal notation or scientific notation. Most high-level programming languages that support instrument I/O handle either decimal or scientific notation transparently.
Examples of real response data:
1.23E+0
1.0E+2
+1.0E+2
0.5E+0
1.23
100.0
+100.0
0.5
1-40 Programming Guide
ESG Family Signal Generators Preparing for Use
Getting Started with SCPI
Integer Response Data Integer response data are decimal representations of integer values including optional signs. Most status register related queries return integer response data.
Examples of integer response data:
0 signs are optional
+100 leading + sign allowed
100 leading sign allowed
256 never any decimal point
Discrete Response Data Discrete response data are similar to discrete parameters. The main difference is that discrete response data return only the short form of a particular mnemonic, in all upper case letters.
Examples of discrete response data:
IMM Immediate
EXT External
String Response Data String response data are similar to string parameters. The main difference is that string response data use only double quotes as delimiters, rather than single quotes. Embedded double quotes may be present in string response data. Embedded quotes appear as two adjacent double quotes with no characters between them.
Examples of string response data:
“This IS valid”
“SO IS THIS”” “
“I said, ““Hello!”””
Programming Guide 1-41
Preparing for Use ESG Family Signal Generators

Programming the Status Register System

Programming the Status Register System
The signal generator’s instrument status system provides complete IEEE 488.2 Device Standard data structures for reporting instrument status using the register model.
The IEEE 488.2 register model of the status system is comprised of multiple registers which are arranged in a hierarchical order. The lower-priority status registers propagate their data to the higher-priority registers in the data structures by means of summary bits. The Status Byte Register is at the top of the hierarchy and contains the general status information for the instrument’s events and conditions. All other individual registers are used to determine the specific events or conditions.
You can determine the state of certain instrument hardware and firmware events and conditions by programming the status register system.
1-42 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
Figure 1-16. The Overall Status Byte Register System
Programming Guide 1-43
Preparing for Use ESG Family Signal Generators
Programming the Status Register System

Status Byte Group

Figure 1-17. The Status Byte Group
1-44 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
The Status Byte Group consists of the Status Byte Register and the Service Request Enable Register. The Status Byte Register contains the following bits:
Figure 1-18.
Bit Description
0, 1 These bits are always set to 0.
2 A 1 in this bit position indicates that the SCPI error queue is not empty. The SCPI error
queue contains at least one error message.
3 A 1 in this bit position indicates that the Data Questionable summary bit has been set.
The Data Questionable Event Register can then be read to determine the specific condition that caused this bit to be set.
4 A 1 in this bit position indicates that the signal generator has data ready in the output
queue. There are no lower status groups that provide input to this bit.
5 A 1 in this bit position indicates that the Standard Event summary bit has been set. The
Standard Event Status Register can then be read to determine the specific event that caused this bit to be set.
6 A 1 in this bit position indicates that the instrument has at least one reason to require
service. This bit is also called the Master Summary Status bit (MSS). The individual bits in the Status Byte are individually ANDed with their corresponding service request enable register, then each individual bit value is ORed and input to this bit.
7 A 1 in this bit position indicates that the Standard Operation summary bit has been set.
The Standard Operation Event Register can then be read to determine the specific condition that caused this bit to be set.
Programming Guide 1-45
Preparing for Use ESG Family Signal Generators
Programming the Status Register System
To query the Status Byte Register, send the command *STB? The response will be the decimal sum of the bits which are set to 1. For example, if bit number 7 and bit number 3 are set to 1, the decimal sum of the 2 bits is 128 plus 8. So the decimal value 136 is returned.
In addition to the Status Byte Register, the Status Byte Group also contains a Service Request Enable Register. This register lets you choose which bits in the Status Byte Register will trigger a service request. Send the *SRE <num> command where <num> is the sum of the decimal values of the bits you want to enable plus the decimal value of bit 6. For example, to enable bit 7 so that whenever the Standard Operation Status Register summary bit is set to 1 it will trigger a service request, send the command *SRE 192 (128 + 64). You must always enable bit 6 when you enable any other bits for a service request. The command *SRE? returns the decimal value of the sum of the bits previously enabled with the *SRE <num> command.
Figure 1-19.

Status Groups

The Standard Operation Status Group and the Data Questionable Status Group each consist of the following registers; the Standard Event Status Group is similar but does not have negative or positive transition filters.
Condition Register A condition register continuously monitors the hardware and firmware
status of the signal generator. There is no latching or buffering for a condition register; it is updated in real time.
Negative Transition Filter A negative transition filter specifies the bits in the condition register that
will set corresponding bits in the event register when the condition bit changes from 1 to 0.
1-46 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
Positive Transition Filter A positive transition filter specifies the bits in the condition register that
will set corresponding bits in the event register when the condition bit changes from 0 to 1.
Event Register An event register latches transition events from the condition register as
specified by the positive and negative transition filters. Bits in the event register are latched, and once set, they remain set until cleared by either querying the register contents or sending the *CLS command.
Event Enable Register An enable register specifies the bits in the event register that can generate
a summary bit. The signal generator logically ANDs corresponding bits in the event and enable registers and ORs all the resulting bits to produce a summary bit. Summary bits are, in turn, used by the Status Byte Register.
In general, a status group is a set of related registers whose contents are programmed in order to produce status summary bits. In each status group, corresponding bits in the condition register are filtered by the negative and positive transition filters and stored in the event register. The contents of the event register are logically ANDed with the contents of the enable register and the result is logically ORed to produce a status summary bit in the Status Byte Register.
Programming Guide 1-47
Preparing for Use ESG Family Signal Generators
Programming the Status Register System
Standard Event Status Group
Figure 1-20. The Standard Event Status Group
1-48 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
The Standard Event Status Group is used to determine the specific event that set bit 5 in the Status Byte Register. The Standard Event Status Group consists of the Standard Event Status Register (an event register) and the Standard Event Status Enable Register. The Standard Event Status Register contains the following bits:
Figure 1-21.
Bit Description
0 A 1 in this bit position indicates that all pending signal generator operations were
completed following execution of the *OPC command.
1 This bit is always set to 0. (The signal generator does not request control.)
2 A 1 in this bit position indicates that a query error has occurred. Query errors have SCPI
error numbers from
3 A 1 in this bit position indicates that a device dependent error has occurred. Device
dependent errors have SCPI error numbers from
4 A 1 in this bit position indicates that an execution error has occurred. Execution errors
have SCPI error numbers from
5 A 1 in this bit position indicates that a command error has occurred. Command errors
have SCPI error numbers from
6 A 1 in this bit position indicates that the
the signal generator is in local lockout mode.
7 A 1 in this bit position indicates that the signal generator has been turned off and then
on.
499 to 400.
399 to 300 and 1 to 32767.
299 to 200.
199 to 100.
Local key has been pressed. This is true even if
Programming Guide 1-49
Preparing for Use ESG Family Signal Generators
Programming the Status Register System
To query the Standard Event Status Register, send the command *ESR?. The response will be the decimal sum of the bits which are set to 1. For example, if bit number 7 and bit number 3 are set to 1, the decimal sum of the 2 bits is 128 plus 8. So the decimal value 136 is returned.
Figure 1-22.
In addition to the Standard Event Status Register, the Standard Event Status Group also contains a Standard Event Status Enable Register. This register lets you choose which bits in the Standard Event Status Register will set the summary bit (bit 5 of the Status Byte Register) to 1. Send the *ESE <num> command where <num> is the sum of the decimal values of the bits you want to enable. For example, to enable bit 7 and bit 6 so that whenever either of those bits is set to 1, the Standard Event Status summary bit of the Status Byte Register will be set to 1, send the command *ESE 192 (128 + 64). The command *ESE? returns the decimal value of the sum of the bits previously enabled with the *ESE <num> command.
1-50 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
Standard Operation Status Group
Figure 1-23. The Standard Operation Status Group
The Standard Operation Status Group is used to determine the specific event that set bit 7 in the Status Byte Register. The Standard Operation Status Group consists of the Standard Operation Condition Register, the Standard Operation Negative Transition Filter, the Standard Operation Positive Transition Filter, the Standard Operation Event Register, and the Standard Operation Event Enable Register. The Standard Operation Condition Register contains the following bits:
Programming Guide 1-51
Preparing for Use ESG Family Signal Generators
Programming the Status Register System
Figure 1-24.
Bit Description
0 A 1 in this bit position indicates that an I/Q calibration is being performed.
1, 2 Unused. These bits are always set to 0.
3 A 1 in this bit position indicates that a sweep is in progress.
4 A 1 in this bit position indicates that a bit error rate test is in progress
(Options UN7 and 300 only).
5 A 1 in this bit position indicates that the source is in a “wait for trigger” state of the
trigger model.
6, 7, 8 Unused. These bits are always set to 0.
9 A 1 in this bit position indicates that the signal generator is currently performing a
DCFM/DC
10 A 1 in this bit position indicates that the signal generator is currently busy
processing ARB commands.
11 A 1 in this bit position indicates that the signal generator is currently doing the
necessary pre-sweep calculations.
12 A 1 in this bit position indicates that the signal generator is currently
synchronizing to BCH. TCH, and PRBS.
13, 14 Unused. These bits are always set to zero.
ΦM zero calibration.
15 Always Zero (0).
1-52 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
The Standard Operation Condition Register continuously monitors the hardware and firmware status of the instrument. Condition registers are read-only. To query the condition register, send the command STATus:OPERation:CONDition? The response will be the decimal sum of the bits which are set to 1. For example, if bit number 9 and bit number 3 are set to 1, the decimal sum of the 2 bits is 512 plus 8. So the decimal value 520 is returned.
The transition filter specifies which types of bit state changes in the condition register will set corresponding bits in the event register. The changes may be positive (from 0 to 1) or negative (from 1 to 0). Send the command STATus:OPERation:NTRansition <num> (negative) or STATus:OPERation:PTRansition <num> (positive) where <num> is the sum of the decimal values of the bits you want to enable.
The Standard Operation Event Register latches transition events from the condition register as specified by the transition filters. Event registers are destructive read-only. Reading data from an event register will clear the content of that register. To query the event register, send the command STATus:OPERation[:EVENt]?
Figure 1-25.
The Standard Operation Status Group also contains a Standard Operation Event Enable Register. This register lets you choose which bits in the Standard Operation Event Register will set the summary bit (bit 7 of the Status Byte Register) to 1. Send the STATus:OPERation:ENABle <num> command where <num> is the sum of the decimal values of the bits you want to enable. For example, to enable bit 9 and bit 3 so that whenever either of those bits is set to 1, the Standard Operation Status summary bit of the Status Byte Register will be set to 1, send the command STAT:OPER:ENAB 520 (512 + 8). The command STATus:OPERation:ENABle? returns the decimal value of the sum of the bits previously enabled with the STATus:OPERation:ENABle <num> command.
Programming Guide 1-53
Preparing for Use ESG Family Signal Generators
Programming the Status Register System
Data Questionable Status Group
Figure 1-26. The Data Questionable Status Group
1-54 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
The Data Questionable Status Group is used to determine the specific event that set bit 3 in the Status Byte Register. The Data Questionable Status Group consists of the Data Questionable Condition Register, the Data Questionable Negative Transition Filter, the Data Questionable Positive Transition Filter, the Data Questionable Event Register, and the Data Questionable Event Enable Register. The Data Questionable Condition Register contains the following bits:
Figure 1-27.
Bit Description
0, 1, 2 Unused. These bits are always set to 0.
3 This is a summary bit taken from the QUEStionable:POWer register. A 1 in this bit
position indicates that one of the following may have happened: The ALC (Automatic Leveling Control) is unable to maintain a leveled RF output power (i.e., ALC is UNLEVELED), or the reverse power protection circuit has been tripped.
4 A 1 in this bit position indicates that the internal reference oscillator (reference oven)
is cold.
5 This is a summary bit taken from the QUEStionable:FREQuency register. A 1 in this
bit position indicates that one of the following may have happened: synthesizer PPL unlocked, 10 MHz reference VCO PPL unlocked, heterodyned VCO PPL unlocked, or baseband PPL unlocked. See the Data Questionable Frequency Status Group for more information.
6 Unused. This bit is always set to 0.
7 This is a summary bit taken from the QUEStionable:MODulation register. A 1 in this
bit position indicates that one of the following may have happened: modulation source 1 underrange, modulation source 1 overrange, modulation source 2 underrange, or modulation source 2 overrange. See the Data Questionable Modulation Status Group for more information.
Programming Guide 1-55
Preparing for Use ESG Family Signal Generators
Programming the Status Register System
Bit Description
8 This is a summary bit taken from the QUEStionable:CALibration register. A 1 in this
bit position indicates that one of the following may have happened: an error has occurred in the DCFM/DC calibration. See the Data Questionable Calibration Status Group for more information.
9 A 1 in this bit position indicates that a self-test has failed during power-up. This bit
can only be cleared by cycling the instrument’s line power. *CLS will not clear this bit.
10, 11 Unused. These bits are always set to 0.
12 This is a summary bit taken from the QUEStionable:BERT register. A 1 in this bit
position indicates that one of the following may have happened: no clock, no data change, or sync loss state for a bit error rate test (Option UN7 only). See the Data Questionable Calibration Status Group for more information.
13, 14 Unused. These bits are always set to 0.
15 Always Zero (0).
ΦM zero calibration or an error has occurred in the I/Q
The Data Questionable Condition Register continuously monitors the hardware and firmware status of the instrument. Condition registers are read-only. To query the condition register, send the command STATus:QUEStionable:CONDition? The response will be the decimal sum of the bits which are set to 1. For example, if bit number 9 and bit number 3 are set to 1, the decimal sum of the 2 bits is 512 plus 8. So the decimal value 520 is returned.
The transition filter specifies which types of bit state changes in the condition register will set corresponding bits in the event register. The changes may be positive (from 0 to 1) or negative (from 1 to 0). Send the command STATus:QUEStionable:NTRansition <num> (negative) or STATus:QUEStionable:PTRansition <num> (positive) where <num> is the sum of the decimal values of the bits you want to enable.
The Data Questionable Event Register latches transition events from the condition register as specified by the transition filters. Event registers are destructive read-only. Reading data from an event register will clear the content of that register. To query the event register, send the command STATus:QUEStionable[:EVENt]?
1-56 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
Figure 1-28.
The Data Questionable Status Group also contains a Data Questionable Event Enable Register. This register lets you choose which bits in the Data Questionable Event Register will set the summary bit (bit 3 of the Status Byte Register) to 1. Send the STATus:QUEStionable:ENABle <num> command where <num> is the sum of the decimal values of the bits you want to enable. For example, to enable bit 9 and bit 3 so that whenever either of those bits is set to 1, the Data Questionable Status summary bit of the Status Byte Register will be set to 1, send the command STAT:QUES:ENAB 520 (512 + 8). The command STATus:QUEStionable:ENABle? returns the decimal value of the sum of the bits previously enabled with the STATus:QUEStionable:ENABle <num> command.
Programming Guide 1-57
Preparing for Use ESG Family Signal Generators
Programming the Status Register System
Data Questionable Power Status Group
Figure 1-29. The Data Questionable Power Status Group
The Data Questionable Power Status Group is used to determine the specific event that set bit 3 in the Data Questionable Condition Register. The Data Questionable Power Status Group consists of the Data Questionable Power Condition Register, the Data Questionable Power Negative Transition Filter, the Data Questionable Power Positive Transition Filter, the Data Questionable Power Event Register, and the Data Questionable Power Event Enable Register. The Data Questionable Power Condition Register contains the following bits:
1-58 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
Figure 1-30.
Bit Description
0 A 1 in this bit indicates that the reverse power protection circuit has been tripped.
There is no output in this state. Any conditions that may have caused reverse power should be corrected. After correcting the problem, the RPP circuit can be reset by sending the remote SCPI command statement :O UTput:PR OTecti on:CLEar or by pressing the resets the reverse power protection circuit.
1 A 1 in this bit indicates that the output leveling loop is unable to set the output power.
2
14 Unused. These bits are always set to 0.
15 Always Zero (0).
Reset RPP softkey on the front panel. In 8648 mode, any SCPI command
The Data Questionable Power Condition Register continuously monitors output power status of the instrument. Condition registers are read-only. To query the condition register, send the command STATus:QUEStionable:POWer:CONDition? The response will be the decimal sum of the bits which are set to 1.
The transition filter specifies which types of bit state changes in the condition register will set corresponding bits in the event register. The changes may be positive (from 0 to 1) or negative (from 1 to 0). Send the command STATus:QUEStionable:POWer:NTRansition
<num> (negative) or STATus:QUEStionable:POWer:PTRansition <num> (positive) where <num> is the sum of the decimal values of the bits you want to enable.
Programming Guide 1-59
Preparing for Use ESG Family Signal Generators
Programming the Status Register System
The Data Questionable Power Event Register latches transition events from the condition register as specified by the transition filters. Event registers are destructive read-only. Reading data from an event register will clear the content of that register. To query the event register, send the command STATus:QUEStionable:POWer[:EVENt]?
Figure 1-31.
The Data Questionable Power Status Group also contains a Data Questionable Power Event Enable Register. This register lets you choose which bits in the Data Questionable Power Event Register will set the summary bit (bit 3 of the Data Questionable Condition Register) to 1. Send the STATus:QUEStionable:POWer:ENABle <num> command where <num> is the sum of the decimal values of the bits you want to enable. For example, to enable bit 9 and bit 3 so that whenever either of those bits is set to 1, the Data Questionable Power summary bit of the Data Questionable Condition Register will be set to 1, send the command STAT:QUES:POW:ENAB 520 (512 + 8). The command STATus:QUEStionable:POWer:ENABle? returns the decimal value of the sum of the bits previously enabled with the STATus:QUEStionable:POWer:ENABle <num> command.
1-60 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
Data Questionable Frequency Status Group
Figure 1-32. Data Questionable Frequency Status Group
The Data Questionable Frequency Status Group is used to determine the specific event that set bit 5 in the Data Questionable Condition Register. The Data Questionable Frequency Status Group consists of the Data Questionable Frequency Condition Register, the Data Questionable Frequency Negative Transition Filter, the Data Questionable Frequency Positive Transition Filter, the Data Questionable Frequency Event Register, and the Data Questionable Frequency Event Enable Register. The Data Questionable Frequency Condition Register contains the following bits:
Programming Guide 1-61
Preparing for Use ESG Family Signal Generators
Programming the Status Register System
Figure 1-33.
Bit Description
0 A 1 in this bit indicates that the synthesizer is unlocked.
1 A 1 in this bit indicates that the 10 MHz reference signal is unlocked.
2 A 1 in this bit indicates that the 1 GHz reference signal is unlocked.
3 A 1 in this bit indicates that the baseband data clock synthesizer is unlocked.
4 A 1 in this bit indicates that the ARB is unlocked.
5 A 1 in this bit indicates that the sampler loop is unlocked.
6 A 1 in this bit indicates that the YO loop is unlocked.
7
14 Unused. These bits are always set to 0.
15 Always Zero (0).
The Data Questionable Frequency Condition Register continuously monitors output frequency status of the instrument. Condition registers are read-only. To query the condition register, send the command STATus:QUEStionable:FREQuency:CONDition? The response will be the decimal sum of the bits which are set to 1.
The transition filter specifies which types of bit state changes in the condition register will set corresponding bits in the event register. The changes may be positive (from 0 to 1) or negative (from 1 to 0). Send the command
STATus:QUEStionable:FREQuency:NTRansition <num> (negative) or STATus:QUEStionable:FREQuency:PTRansition <num> (positive) where <num> is the
sum of the decimal values of the bits you want to enable.
1-62 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
The Data Questionable Frequency Event Register latches transition events from the condition register as specified by the transition filters. Event registers are destructive read-only. Reading data from an event register will clear the content of that register. To query the event register, send the command STATus:QUEStionable:FREQuency[:EVENt]?
Figure 1-34.
The Data Questionable Frequency Status Group also contains a Data Questionable Frequency Event Enable Register. This register lets you choose which bits in the Data Questionable Frequency Event Register will set the summary bit (bit 5 of the Data Questionable Condition Register) to 1. Send the STATus:QUEStionable:FREQuency:ENABle <num> command where <num> is the sum of the decimal values of the bits you want to enable. For example, to enable bit 9 and bit 3 so that whenever either of those bits is set to 1, the Data Questionable Frequency summary bit of the Data Questionable Condition Register will be set to 1, send the command
STAT:QUES:FREQ:ENAB 520 (512 + 8). The command STATus:QUEStionable:FREQ:ENABle? returns the decimal value of the sum of the bits previously enabled with the STATus:QUEStionable:FREQuency:ENABle <num> command.
Programming Guide 1-63
Preparing for Use ESG Family Signal Generators
Programming the Status Register System
Data Questionable Modulation Status Group
Figure 1-35. Data Questionable Modulation Status Group
1-64 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
The Data Questionable Modulation Status Group is used to determine the specific event that set bit 7 in the Data Questionable Condition Register. The Data Questionable Modulation Status Group consists of the Data Questionable Modulation Condition Register, the Data Questionable Modulation Negative Transition Filter, the Data Questionable Modulation Positive Transition Filter, the Data Questionable Modulation Event Register, and the Data Questionable Modulation Event Enable Register. The Data Questionable Modulation Condition Register contains the following bits:
Figure 1-36.
Bit Description
0 A 1 in this bit indicates that the External 1 input, AC coupling on, is less than
0.97 volts.
1 A 1 in this bit indicates that the External 1 input, AC coupling on, is more than
1.03 volts.
2 A 1 in this bit indicates that the External 2 input, AC coupling on, is less than
0.97 volts.
3 A 1 in this bit indicates that the External 2 input, AC coupling on, is more than
1.03 volts.
4 A 1 in this bit indicates that the modulated signal is not calibrated.
5
14 Unused. These bits are always set to 0.
15 Always Zero (0).
The Data Questionable Modulation Condition Register continuously monitors the modulation status of the instrument. Condition registers are read-only. To query the condition register, send the command STATus:QUEStionable:MODulation:CONDition? The response will be the decimal sum of the bits which are set to 1.
Programming Guide 1-65
Preparing for Use ESG Family Signal Generators
Programming the Status Register System
The transition filter specifies which types of bit state changes in the condition register will set corresponding bits in the event register. The changes may be positive (from 0 to 1) or negative (from 1 to 0). Send the command
STATus:QUEStionable:MODulation:NTRansition <num> (negative) or STATus:QUEStionable:MODulation:PTRansition <num> (positive) where <num> is the
sum of the decimal values of the bits you want to enable.
The Data Questionable Modulation Event Register latches transition events from the condition register as specified by the transition filters. Event registers are destructive read-only. Reading data from an event register will clear the content of that register. To query the event register, send the command
STATus:QUEStionable:MODulation[:EVENt]?
Figure 1-37.
The Data Questionable Modulation Status Group also contains a Data Questionable Modulation Event Enable Register. This register lets you choose which bits in the Data Questionable Modulation Event Register will set the summary bit (bit 7 of the Data Questionable Condition Register) to 1. Send the STATus:QUEStionable:MODulation:ENABle <num> command where <num> is the sum of the decimal values of the bits you want to enable. For example, to enable bit 9 and bit 3 so that whenever either of those bits is set to 1, the Data Questionable Modulation summary bit of the Data Questionable Condition Register will be set to 1, send the command
STAT:QUES:MOD:ENAB 520 (512 + 8). The command STATus:QUEStionable:MODulation:ENABle? returns the decimal value of the sum of the
bits previously enabled with the STATus:QUEStionable:MODulation:ENABle <num> command.
1-66 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
Data Questionable Calibration Status Group
Figure 1-38. Data Questionable Calibration Status Group
Programming Guide 1-67
Preparing for Use ESG Family Signal Generators
Programming the Status Register System
The Data Questionable Calibration Status Group is used to determine the specific event that set bit 8 in the Data Questionable Condition Register. The Data Questionable Calibration Status Group consists of the Data Questionable Calibration Condition Register, the Data Questionable Calibration Negative Transition Filter, the Data Questionable Calibration Positive Transition Filter, the Data Questionable Calibration Event Register, and the Data Questionable Calibration Event Enable Register. The Data Questionable Calibration Condition Register contains the following bits:
Figure 1-39.
Bit Description
0 A 1 in this bit indicates that the DCFM/DC
is a critical error. The output of the source has no validity until the condition of this bit is 0.
1 A 1 in this bit indicates that the I/Q calibration routine has failed. An I/Q calibration
failure does not affect the validity of the source output.
14 Unused. These bits are always set to 0.
2
15 Always Zero (0).
ΦM zero calibration routine has failed. This
The Data Questionable Calibration Condition Register continuously monitors the calibration status of the instrument. Condition registers are read-only. To query the condition register, send the command STATus:QUEStionable:CALibration:CONDition? The response will be the decimal sum of the bits which are set to 1.
The transition filter specifies which types of bit state changes in the condition register will set corresponding bits in the event register. The changes may be positive (from 0 to 1) or negative (from 1 to 0). Send the command
STATus:QUEStionable:CALibration:NTRansition <num> (negative) or STATus:QUEStionable:CALibration:PTRansition <num> (positive) where <num> is the
sum of the decimal values of the bits you want to enable.
1-68 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
The Data Questionable Calibration Event Register latches transition events from the condition register as specified by the transition filters. Event registers are destructive read-only. Reading data from an event register will clear the content of that register. To query the event register, send the command
STATus:QUEStionable:CALibration[:EVENt]?
Figure 1-40.
The Data Questionable Calibration Status Group also contains a Data Questionable Calibration Event Enable Register. This register lets you choose which bits in the Data Questionable Calibration Event Register will set the summary bit (bit 8 of the Data Questionable Condition register) to 1. Send the STATus:QUEStionable:CALibration:ENABle <num> command where <num> is the sum of the decimal values of the bits you want to enable. For example, to enable bit 9 and bit 3 so that whenever either of those bits is set to 1, the Data Questionable Calibration summary bit of the Data Questionable Condition Register will be set to 1, send the command
STAT:QUES:CAL:ENAB 520 (512 + 8). The command STATus:QUEStionable:CALIbration:ENABle? returns the decimal value of the sum of
the bits previously enabled with the STATus:QUEStionable:CALibration:ENABle <num> command.
Programming Guide 1-69
Preparing for Use ESG Family Signal Generators
Programming the Status Register System
Data Questionable BERT Status Group
Figure 1-41. Data Questionable BERT Status Group
The Data Questionable BERT Status Group is used for Options UN7 and 300 only. If your signal generator is not equipped with Options UN7 or 300, all of the bits in this group are set to 0.
1-70 Programming Guide
ESG Family Signal Generators Preparing for Use
Programming the Status Register System
The Data Questionable BERT Status Group is used to determine the specific event that set bit 12 in the Data Questionable Condition Register. The Data Questionable BERT Status Group consists of the Data Questionable BERT Condition Register, the Data Questionable BERT Negative Transition Filter, the Data Questionable BERT Positive Transition Filter, the Data Questionable BERT Event Register, and the Data Questionable BERT Event Enable Register. The Data Questionable BERT Condition Register contains the following bits:
Figure 1-42.
Bit Description
0 A 1 in this bit indicates that a no clock signal has been input to the BER CLK IN
connector for more than three seconds during a bit error rate test.
1 A 1 in this bit indicates that data signals input to the BER DATA IN connector have
not changed for a period of more than 200 clock signals during a bit error rate test.
2 A 1 in this bit indicates that the synchronization of the incoming data to the BER
DATA IN connector for the bit error rate test has been lost.
3
10 Unused. These bits are always set to 0.
11 A 1 in this bit indicates that either the downconvertor or demodulator is out of lock.
12 A 1 in this bit indicates that the demodulator DSP amplitude is out of range.
13 A 1 in this bit indicates that BCH or TCH synchronization is not established.
14 A 1 in this bit indicates that a TCH midamble is not being received.
15 Always Zero (0).
Programming Guide 1-71
Preparing for Use ESG Family Signal Generators
Programming the Status Register System
The Data Questionable BERT Condition Register continuously monitors the bit error rate tests (BERT) status of the instrument with Options UN7 or 300. Condition registers are read-only. To query the condition register, send the command STATus:QUEStionable:BERT:CONDition? The response will be the decimal sum of the bits which are set to 1.
The transition filter specifies which types of bit state changes in the condition register will set corresponding bits in the event register. The changes may be positive (from 0 to 1) or negative (from 1 to 0). Send the command STATus:QUEStionable:BERT:NTRansition
<num> (negative) or STATus:QUEStionable:BERT:PTRansition <num> (positive) where <num> is the sum of the decimal values of the bits you want to enable.
The Data Questionable BERT Event Register latches transition events from the condition register as specified by the transition filters. Event registers are destructive read-only. Reading data from an event register will clear the content of that register. To query the event register, send the command STATus:QUEStionable:BERT[:EVENt]?
Figure 1-43.
The Data Questionable BERT Status Group also contains a Data Questionable BERT Event Enable Register. This register lets you choose which bits in the Data Questionable BERT Event Register will set the summary bit (bit 8 of the Data Questionable Condition register) to 1. Send the STATus:QUEStionable:BERT:ENABle <num> command where <num> is the sum of the decimal values of the bits you want to enable. For example, to enable bit 9 and bit 3 so whenever either of those bits is set to 1, the Data Questionable BERT summary bit of the Data Questionable Condition Register will be set to 1, send the command STAT:QUES:CAL:ENAB 520 (512 + 8). The command STATus:QUEStionable:BERT:ENABle? returns the decimal value of the sum of the bits previously enabled with the STATus:QUEStionable:BERT:ENABle <num> command.
1-72 Programming Guide
ESG Family Signal Generators Preparing for Use

Advanced Programming Information

Advanced Programming Information
This section provides advanced programming information for applications requiring special techniques.

Sending BREAK Messages

A BREAK is a special character transmission that usually indicates a change in operating conditions. Interpretation of break messages varies with the application. To send a break message, send a non-zero value to Control Register 1 as follows (Sc is the interface select code):
CONTROL Sc,1;1 ! Send a Break to peripheral.

Using the Modem Control Register

Control Register 5 controls various functions related to modem operation. Bits 0 through 3 control modem lines, and bit 4 enables a self-test loopback configuration.
Modem Handshake Lines (RTS and DTR)
The Request To Send and the Data Terminal Ready lines are set or cleared at the beginning and end of each OUTPUT or ENTER operation. In some cases, it may be advantageous or necessary to maintain either or both in an active state. This is done by setting bit 1 or 0 respectively in Control Register 5 as follows:
CONTROL Sc,5;2 ! Set RTS line only and hold active.
CONTROL Sc,5;1 ! Set DTR line only and hold active.
CONTROL Sc,5;3 ! Set DTR line only and hold active.
CONTROL Sc,5;0 ! Set both RTS and DTR lines active.
When RTS or DTR are set by Control Register 5, they are not toggled during OUTPUT or ENTER operations, but remain constantly in an active state until the CONTROL register is cleared by:
• writing a different value to CONTROL register 5.
• an interface reset to CONTROL register 0.
• an interface reset (Reset) from the keyboard (Shift Break on an ITF keyboard, or SHIFT PAUSE on a 98203 keyboard).
Programming Guide 1-73
Preparing for Use ESG Family Signal Generators
Advanced Programming Information
Programming the DRS Modem Line
Bit 2 of Control Register 5 controls the present state of the Data Rate Select (DRS). When bit 2 is set, the modem line is activated. When bit 2 is cleared, the modem line is cleared. To set the DRS line, the following statement or its equivalent can be used:
CONTROL Sc,5;4 ! Sets the DRS line.
This line is also cleared by a CONTROL statement to Control Register 5 with bit 2 cleared, or by an interface reset.
1-74 Programming Guide
ESG Family Signal Generators
2 Programming Commands and
Examples
This chapter describes each of the SCPI commands alphabetically, by subsystem. The descriptions include syntax requirements, ranges, restrictions, and status at *RST.
Several example programs are also provided to help you understand how the general SCPI concepts presented in Chapter 1 apply to programming real measurements. Also included is information on the creation, transfer, and application of user files.
Programming Guide 2-1
Programming Commands and Examples ESG Family Signal Generators

Command Syntax

Command Syntax
Following the heading for each programming command entry is a syntax statement showing the proper syntax for the command. An example syntax statement is shown here:
POWer[:LEVel] MAXimum|MIN
Syntax statements read from left to right. In this example, the :LEVel portion of the statement immediately follows the POWer portion of the statement with no separating space. A separating space is legal only between the command and its argument. In this example, the portion following the [:LEVel] portion of the statement is the argument. Additional conventions used in the syntax statements are defined as follows:
• Italics are used to symbolize a program code parameter or query response.
• := means “is defined as.”
• | (vertical bar) indicates a choice of one element from a list. For example, <A>|<B> indicates <A> or <B> but not both.
• [] (square brackets) indicate that the enclosed items are optional.
• Upper-case lettering indicates that the upper-case portion of the command is the minimum required for the command. For example, in the command FREQuency, FREQ is the minimum requirement.
• Lower-case lettering indicates that the lower-case portion of the command is optional; it can either be included with the upper-case portion of the command or omitted. For example, in the command FREQuency, either FREQ, or FREQUENCY is correct.
• ? after a subsystem command indicates that the command is a query.
2-2 Programming Guide
ESG Family Signal Generators Programming Commands and Examples

IEEE 488.2 Common Commands

IEEE 488.2 Common Commands
Common commands are generally not measurement related, but are used to manage macros, status registers, synchronization, and data storage. All common commands begin with an asterisk. The common commands are defined by IEEE 488.2.

*CLS (Clear Status)

*CLS
This command clears the status byte, the data questionable event register, the standard event status register, the standard operation status register and any other registers that are summarized in the status byte.

*ESE (Standard Event Status Enable)

*ESE
This command sets the standard event status enable register.
*ESE?
This queries the status of the standard event status enable register.

*ESR? (Standard Event Status Register)

*ESR?
This queries the value of the standard event status register. This is a destructive read.

*IDN? (Identification)

*IDN?
This query outputs an identifying string to the GPIB. The response for the signal generator will be a storing that shows the actual model number, serial number and firmware revision will be substituted.

*OPC (Operation Complete)

*OPC
This command sets bit 0 in the standard event status register when all pending operations have finished.
Programming Guide 2-3
Programming Commands and Examples ESG Family Signal Generators
IEEE 488.2 Common Commands

*OPC? (Operation Complete)

*OPC?
This queries bit 0 in the standard event status register. The signal generator will return an ASCII ‘1’ when all pending operations have finished.

*RCL (Recall)

*RCL <reg>,<seq>
The *RCL <reg>, <seq> command recalls the instrument state from the specified memory register <reg> of the specified sequence <seq>. The range of registers <reg> is 0 through 99 and the range of sequences <seq> is 0 through 9.

*RST (Reset)

*RST
This command resets the instrument to a factory pre-defined condition.

*SAV (Save)

*SAV <reg>,<seq>
The *SAV <reg>, <seq> command saves the instrument state to the specified memory register <reg> of the specified sequence <seq>. The range of registers <reg> is 0 through 99 and the range of sequences <seq> is 0 through 9.

*SRE (Service Request Enable)

*SRE
This command sets the value of the service request enable register.

*SRE? (Service Request Enable Query)

*SRE?
This queries the value of the service request enable register.

*STB? (Read Status Byte)

*STB?
This queries the status byte. This is a non-destructive read.
2-4 Programming Guide
ESG Family Signal Generators Programming Commands and Examples
IEEE 488.2 Common Commands

*TRG (Trigger)

*TRG
This command triggers the device if, and only if, Bus Triggering is the type of trigger event selected. Otherwise, *TRG is ignored.

*TST? (Self-Test)

*TST?
This query returns the result of the power-up selftest:
• 0 - Passed (no tests failed and at least one test passed)
• 1 - Failed (one or more tests failed)

*WAI (Wait-to-continue)

*WAI
This command causes the instrument to wait until all pending commands are completed, before executing any other commands.
Programming Guide 2-5
Programming Commands and Examples ESG Family Signal Generators

Subsystem Commands

Subsystem Commands
Subsystem commands include all measurement functions and some general purpose functions. Subsystem commands are distinguished by the colon used between keywords, as in AM:SOURce. Each subsystem is a set of commands that roughly corresponds to a functional block of the instrument.
2-6 Programming Guide
ESG Family Signal Generators Programming Commands and Examples

:AM Subsystem

:AM Subsystem
The amplitude modulation subsystem is used to set the modulation controls and the parameters associated with amplitude modulated signals.

Amplitude Modulation Source

:AM[1]|2:SOURce INT[1]|EXT1|EXT2 :AM[1]|2:SOURce?
This command sets the source that will generate the amplitude modulation. The choices are Internal Source 1, External Source 1, or External Source 2. You can choose internally-generated amplitude modulation or select an externally-applied signal from either the EXT 1 INPUT or EXT 2 INPUT connectors. The internal modulation is always AC-coupled. For the externally-applied signals, you can choose between AC- and DC-coupled modulation. A 1.0 V
EXT 1 LO/HI and EXT 2 LO/HI display annunciators will turn on if the peak input voltage differs from 1.0 Vpk by more than 3%. (The LO/HI annunciators only function for AC-coupled external inputs.)
input is required for calibrated AM depth settings. The
pk
The internal and external 1 and 2 sources have multiple uses. You can use them for amplitude, frequency, and phase modulation. For burst modulation, you can only use the external 1 source and you must use the external 2 source for pulse modulation. However, any given source can only be routed to one enabled modulation at a time. If, for example, you were using the external 1 source in a frequency modulation configuration for
FM Path 1, and then you configured AM Path 2 to also use the external 1 source, the signal
generator would turn off
FM Path 1 and assign the external 1 source to your AM Path 2
configuration. Notice that for these purposes the external 1 AC-coupled source is the same as the external 1 DC-coupled source and the external 2 AC-coupled source is the same as the external 2 DC-coupled source.
*RST Value: Internal

Amplitude Modulation State

:AM[1]|2:STATe ON|OFF|1|0 :AM[1]|2:STATe?
This command toggles the amplitude modulation on or off for whichever AM path configuration ( Notice, however that although you can turn on amplitude modulation with this command, the RF carrier is modulated by the enabled modulation only when you have also set
Mod On/Off to On. Whenever amplitude modulation is enabled, the AM annunciator is
turned on in the display.
AM Path 1 or AM Path 2) you have selected. The choices are On (1) or Off (0).
There are two paths for AM modulation which can be simultaneously enabled as long as they use different sources (Int, Ext1, or Ext2). 1MHz.
AM Path 2 must be set to a deviation less than or equal to AM Path 1. The
AM Path 2 is limited to a maximum rate of
modulation signals from both paths are summed internally for composite modulation.
Programming Guide 2-7
Programming Commands and Examples ESG Family Signal Generators
:AM Subsystem
*RST Value: Off

Amplitude Modulation Depth

:AM[1]|2[:DEPTh] <val><unit> :AM[1]|2[:DEPTh]?
This command sets the depth of amplitude modulation.
This command is used to set the amplitude modulation depth, in percent, for the
AM Path 2 configurations. The choices for the variables <val> and <unit> may range
and
AM P ath 1
from 0.1 PCT to 100 PCT. After executing the command, the current value for AM depth is displayed in the active entry area. The minimum increment allowed is 0.1%. Notice that the new value of AM depth applies only to whichever AM path configuration (
AM Path 2) you have currently selected.
AM Path 1 or
*RST Value: 0.1%

Amplitude Modulation Depth Coupling

:AM[1]|2[:DEPTh]:TRACk ON|OFF|1|0 :AM[1]|2[:DEPTh]:TRACk?
This command links the AM depth values of
AM Path 1 and AM Path 2 and allows the
amplitude modulation depth values on both path 1 and path 2 to track each other. If the AM depth coupling function is activated, changing the AM depth on path 1 will cause an equal change in AM depth on path 2, and visa versa. The choices are On (1) or Off (0).
*RST Value: Off

External Amplitude Modulation Source Coupling

:AM[1]|2:EXTernal[1]|2:COUPling AC|DC :AM[1]|2:EXTernal[1]|2:COUPling?
This command sets the external coupling for the amplitude modulation source, if External was selected as the AM[1]|2:SOURCe. The choices are AC or DC coupling. This command does not change the currently active source, nor does it switch the current modulation on or off. The modulating signal may be the sum of several signals, either internal or external sources. If the coupling is set to DC, then both the AC and DC signal components pass. AC coupling passes only AC signal components.
The command :AM[1]|2:EXTernal[1]|2:COUPling AC lets you input an external, AC-coupled, amplitude modulation signal to the EXT 1 INPUT connector. The modulation signal is tested for voltage and a display annunciator will report a high or low condition if the voltage is >
±3% of 1 Vpk.
The command :AM[1]|2:EXTernal[1]|2:COUPling DC lets you input an external, DC-coupled, amplitude modulation signal to the EXT 1 INPUT connector.
The external 1 source has multiple uses but can be used for only one modulation at a time. If, for example, you were using the external 1 source in a frequency modulation configuration for
2-8 Programming Guide
FM Path 1, and then you configured AM Path 2 to also use the external 1
ESG Family Signal Generators Programming Commands and Examples
:AM Subsystem
source, the signal generator would turn off FM Path 1 and assign the external 1 source to
AM Path 2 configuration.
your
*RST Value: DC

Internal Amplitude Modulation Alternate Frequency

:AM[1]|2:INTernal[1]:FREQuency:ALTernate <val><unit> :AM[1]|2:INTernal:FREQuency:ALTernate?
This command sets the frequency for the alternate signal. The alternate frequency is the second frequency of a dual-sine or the stop frequency of a swept-sine. The choices for the variables <val> and <unit> range from 0.1 kHz (minimum) to 50.0 kHz (maximum).
*RST Value: 400.00 Hz

Internal Amplitude Modulation Alternate Frequency Amplitude

:AM[1]|2:INTernal[1]:FREQuency:ALTernate:AMPLitude:PERCent <val><unit> :AM[1]|2:INTernal:FREQuency:ALTernate:AMPLitude:PERCent?
This command sets the amplitude of the alternate frequency as a percentage of the total amplitude. Therefore, if the alternate frequency makes up 30% of the total amplitude, then the primary frequency is 70% of the total amplitude (for dual-sine only). The choices for the variables <val> and <unit> range from 0.1% (minimum) to 99.9% (maximum).
*RST Value: 50%

Internal Amplitude Modulation Source Rate

:AM[1]|2:INTernal[1]:FREQuency <val><unit> :AM[1]|2:INTernal:FREQuency?
This command sets the rate of the internally-generated modulation source. The choices for the variables <val> and <unit> range from 0.1 Hz (minimum) to 50 kHz (maximum) if the internal waveform is Sine wave. For all other waveforms, the maximum internal amplitude modulation rate is 10 kHz.
Use this command to change the internal modulation frequency for the
AM Path 2 configurations. The minimum increment allowed is 0.1 Hz. Notice that the new
value of AM rate applies only to whichever AM configuration ( have currently selected.
*RST Value: 400.0 Hz
AM Path 1 or AM Path 2) you
AM Path 1 and

Internal Amplitude Modulation Sweep Time

:AM[1]|2:INTernal[1]:SWEep:TIME <val><unit> :AM[1]|2:INTernal:SWEep:TIME?
This command selects the sweep time for a swept-sine, internally-generated signal.
*RST Value: 100 msec
Programming Guide 2-9
Programming Commands and Examples ESG Family Signal Generators
:AM Subsystem

Internal Amplitude Modulation Sweep Trigger

:AM[1]|2:INTernal[1]:SWEep:TRIGger IMMediate|BUS|EXTernal|KEY :AM[1]|2:INTernal:SWEep:TRIGger?
This command selects the trigger for the amplitude modulation sweep.
*RST Value: Immediate

Internal Amplitude Modulation Waveform

:AM[1]|2:INTernal[1]:FUNCtion:SHAPe SINE|TRIangle|SQUare|RAMP|NOISe| DUALsine|SWEPtsine :AM[1]|2:INTernal:FUNCtion:SHAPe?
This command allows you to assign an AM waveform to your
AM Path 1 and AM Path 2
configurations. Select from sine, triangle, square, ramp, noise, dual sine, and swept sine waveforms. Notice that your waveform selection applies only to whichever AM path configuration you have currently selected.
Using the command :AM[1]|2:INTernal[1]:FUNCtion:SHAPe SINE lets you specify sine as the amplitude modulation waveform for the
AM Path 1 and AM Path 2 configurations. Notice
that the selected waveform applies only to whichever AM path configuration you have currently selected.
Using the command :AM[1]|2:INTernal[1]:FUNCtion:SHAPe TRIangle lets you specify triangle as the amplitude modulation waveform for the
AM Path 1 and AM Path 2
configurations. Notice that the selected waveform applies only to whichever AM path configuration you have currently selected.
Using the command :AM[1]|2:INTernal[1]:FUNCtion:SHAPe SQUARe lets you specify square as the amplitude modulation waveform for the
AM Path 1 and AM Path 2
configurations. Notice that the selected waveform applies only to whichever AM path configuration you have currently selected.
Using the command :AM[1]|2:INTernal[1]:FUNCtion:SHAPe RAMP lets you specify ramp as the amplitude modulation waveform for the
AM Path 1 and AM Path 2 configurations.
Notice that the selected waveform applies only to whichever AM path configuration you have currently selected.
Using the command :AM[1]|2:INTernal[1]:FUNCtion:SHAPe NOISe lets you specify noise as the amplitude modulation waveform for the
AM Path 1 and AM Path 2 configurations.
Notice that the selected waveform applies only to whichever AM path configuration you have currently selected.
Using the command :AM[1]|2:INTernal[1]:FUNCtion:SHAPe DUALsine allows you to set the dual sine as the amplitude modulation waveform for the
AM Path 1 and AM Path 2
configurations. In this mode you can set the AM rates for two separate tones. In addition, you can set a percentage of the tone 2 AM depth to the total AM depth.
2-10 Programming Guide
ESG Family Signal Generators Programming Commands and Examples
:AM Subsystem
Using the command :AM[1]|2:INTernal[1]:FUNCtion:SHAPe SWEPtsine allows you to set the swept-sine amplitude modulation waveform for the
AM Path 1 and AM Path 2
configurations. In this mode you can set the start and stop AM rate and the sweep time. You can set the signal generator to a single, externally-triggered sweep on either a negative or positive TTL level or you can choose continuous sweep, triggered immediately. In this menu you can also select either a positive or negative polarity for the TRIGGER OUT signal.
*RST Value: Sine

Wideband Amplitude Modulation State

:AM:WIDeband:STATe ON|OFF|1|0 :AM:WIDeband:STATe?
This command sets the operating state of the wideband amplitude modulation source. The choices are On (1) or Off (0). AM wideband (ESG-D and ESG-DP Series) provides bandwidth beyond the standard AM with fixed depth (100%). The modulation source is the I input.
AM Path 1 and AM P ath 2 are summed internally for composite modulation. Either path can
be switched to any one of the modulation sources: Int, Ext1, or Ext2. All modulation types can be simultaneously enabled, except FM with wideband AM with I/Q. AM, FM, and
ΦM can sum simultaneous inputs from any two
sources (Int, Ext1, and Ext2). Any given source (Int, Ext1, or Ext2) can only be routed to one activated modulation type.
ΦM, AM with burst envelope, and
The wideband AM selection (
AM Path WB) eliminates the bandwidth limitations of the ALC
loop thereby increasing the bandwidth beyond that of the standard amplitude modulation. Typical rates for wideband AM are listed in the technical specifications document. When you select input. The sensitivity is 0.5 V = 100% AM depth. With
AM Path WB in the AM menu, you must apply your modulating signal to the I
AM Path WB selected, the modulated
RF signal will be available at the RF OUTPUT connector when you turn on both
Mod On/Off and RF On/Off.
*RST Value: Off
Programming Guide 2-11
Programming Commands and Examples ESG Family Signal Generators

:CALibration Subsystem

:CALibration Subsystem
The calibration subsystem is used to set the controls and the parameters associated with instrument calibration.
DCFM/DCΦM Calibration
:CALibration:DCFM
There is no query for this command.
This command initiates a DCFM or DC modulation is currently active) and stores the results in the instrument’s firmware. This calibration eliminates the offset in phase (or frequency, as appropriate) modulation so that the carrier phase (or frequency) remains the same with no modulation applied. An external DC-coupled phase (or frequency) modulation must be active when the calibration is performed. After calibration, the DC signal produces no modulation.
There are no initial values associated with this command.
ΦM calibration (depending on which kind of

Default I/Q Calibration

:CALibration:IQ:DEFault
The is no query for this command.
This command will restore the original factory calibration data for the internal I/Q modulator. The latest calibration data from the user calibration is discarded. Although the factory calibration data may not be optimized for the signal generator’s present status, the data can be used as a starting point if the current data is lost (if the I/Q calibration is unable to execute).
There are no initial values associated with this command.

Full I/Q Calibration

:CALibration:IQ:FULL
There is no query for this command.
This command sets and performs a full-frequency range (regardless of the start and stop frequency settings) I/Q calibration and stores the results in the instrument’s firmware.
There are no initial values associated with this command.
2-12 Programming Guide
ESG Family Signal Generators Programming Commands and Examples
:CALibration Subsystem

I/Q Calibration

:CALibration:IQ
There is no query for this command.
This command sets and performs an I/Q calibration and stores the results in the instrument’s firmware.
There are no initial values associated with this command.

I/Q Calibration Start Frequency

:CALibration:IQ:STARt <val><units> :CALibration:IQ:STARt?
This command sets the start frequency for an I/Q calibration. The choices for the variables <val> and <units> range between 250 kHz and the highest specified operating frequency of your source.
I/Q Calibration Start Frequency is a persistent state; it is not affected by an instrument preset or a power cycle. The ESG is initially shipped from the factory with this parameter set to 100 kHz.

I/Q Calibration Stop Frequency

:CALibration:IQ:STOP <val><units> :CALibration:IQ:STOP?
This command sets the stop frequency used for an I/Q calibration. The choices for the variables <val> and <units> range between 250 kHz and the highest specified operating frequency of your source.
I/Q Calibration Stop Frequency is a persistent state; it is not affected by an instrument preset or a power cycle. The ESG is initially shipped from the factory with this parameter set to the maximum specified frequency.
Programming Guide 2-13
Programming Commands and Examples ESG Family Signal Generators

:COMMunicate Subsystem

:COMMunicate Subsystem
The communicate subsystem is used to set the controls and the parameters associated with serial system communication.

GPIB Address

:SYSTem:COMMunicate:GPIB:ADDRess <number> :SYSTem:COMMunicate:GPIB:ADDRess?
This command sets the source’s GPIB address. The choices for the variable <number> are integers 0 through 30.
This is a persistent state set to 19 at the factory.

RS-232 Baud Rate

:SYSTem:COMMunicate:SERial:BAUD <number> :SYSTem:COMMunicate:SERial:BAUD?
This command sets the baud rate for the rear panel RS-232 interface (labeled AUXILIARY INTERFACE). The baud rate must be set to 19200 if an optional remote interface box is connected. The choices for the variable are 300, 1200, 2400, 4800, 9600, 19200, 38400.
This is a persistent state set to 19200 at the factory.

RS-232 Reset

:SYSTem:COMMunicate:SERial:RESet
There is no query for this command.
This command resets the RS-232 buffer. This will discard any unprocessed SCPI input received via the RS-232 port.
There are no initial values associated with this command.

RS-232 RTS Control

:SYSTem:COMMunicate:SERial:CONTrol:RTS ON|OFF|IBFull|RFR :SYSTem:COMMunicate:SERial:CONTrol:RTS?
This command controls the state of the RS-232 RTS line. The choices are ON, OFF, RFR, and IBFull.
Use ON for connecting the optional remote interface box. The instrument ignores the state of the CTS line.
Use OFF for a three-wire remote connection. With this setting, the instrument ignores the state of the CTS line. This setting is not compatible with the optional remote interface box.
Use IBFull or its alias RFR to turn on handshaking. Do not use these settings without a properly configured remote connection that uses hardwire handshaking.
2-14 Programming Guide
ESG Family Signal Generators Programming Commands and Examples
:COMMunicate Subsystem
• With IBFull or RFR, when the receive buffer of the instrument is near overflow, the RTS line is turned off.
• With RFR or IBFull, the instrument monitors the state of the CTS line, and if it goes false discontinues transmitting over RS-232. This setting is not compatible with the optional remote interface box.
This is a persistent state set to ON at the factory.

RS-232 RTS Echo

:SYSTem:COMMunicate:SERial:ECHO ON|OFF|1|0 :SYSTem:COMMunicate:SERial:ECHO?
This command controls the state of the RS-232 echo. The choices are On (1) of Off (0).
This is a persistent state set to Off at the factory.

RS-232 Timeout

:SYSTem:COMMunicate:SERial:TOUT <val> :SYSTem:COMMunicate:SERial:TOUT?
This command sets the value for the RS-232 serial port timeout. If further input is not received within the assigned timeout period while a SCPI command is being processed, then the command is aborted and the input buffer is cleared.
This is a persistent state set to 60 seconds at the factory.

RS-232 XON Handshake Receive State

:SYSTem:COMMunicate:SERial:RECeive:PACE XON|NONE :SYSTem:COMMunicate:SERial:RECeive:PACE?
This command sets XON/XOFF handshaking when the instrument is receiving data. The choices are XON and None.
This is a persistent state, set to None at the factory.

RS-232 XON Handshake Transmit State

:SYSTem:COMMunicate:SERial:TRANsmit:PACE XON|NONE :SYSTem:COMMunicate:SERial:TRANsmit:PACE?
This command sets XON/XOFF handshaking when the instrument is transmitting data. The choices are XON and None.
This is a persistent state, set to None at the factory.
Programming Guide 2-15
Programming Commands and Examples ESG Family Signal Generators

:DIAGnostic Subsystem

:DIAGnostic Subsystem
The diagnostic subsystem is used to set the controls and the parameters associated with instrument operational and tracking data.

Attenuator Cycle Information

:DIAGnostic[:CPU]:INFOrmation:CCOunt:ATTenuator?
This query returns the number of times that the attenuator has been switched.

Display Time-On Information

:DIAGnostic[:CPU]:INFOrmation:DISPlay:OTIMe?
This query returns the number of hours that the source’s display has been activated.

Power Cycle Information

:DIAGnostic[:CPU]:INFOrmation:CCOunt:PON?
This query returns the number of times that the sources line power has been cycled.

Reverse Power Protection Trips Information

:DIAGnostic[:CPU]:INFOrmation:CCOunt:PROTection?
This query returns the number of times that the reverse power protection circuitry has been activated.

Option Information

:DIAGnostic[:CPU]:INFOrmation:OPTions?
This query returns a list of installed instrument options. For instance: UN8, UN7, 300.

Detailed Option Information

:DIAGnostic[:CPU]:INFOrmation:OPTions:DETail?
This query returns information on the installed instrument options.

Installed Board Information

:DIAGnostic[:CPU]:INFOrmation:BOARds?
This query returns a list of the installed boards in the instrument, including the board name, part number, serial number, version number and status.
2-16 Programming Guide
ESG Family Signal Generators Programming Commands and Examples
:DIAGnostic Subsystem

Instrument Firmware Information

:DIAGnostic:INFOrmation:SDATe?
This query returns the instrument’s firmware revision date.

Instrument Time-On Information

:DIAGnostic[:CPU]:INFOrmation:OTIMe?
This query returns the number of hours that the source has had its line power activated.
Programming Guide 2-17
Programming Commands and Examples ESG Family Signal Generators

:DISPlay Subsystem

:DISPlay Subsystem
The display subsystem is used to set the controls and the parameters associated with the signal source’s LCD display.

Display Amplitude Units

:DISPlay:ANNotation:AMPLitude:UNIT DBM|DBUV|DBUVEMF|V|VEMF :DISPlay:ANNotation:AMPLitude:UNIT?
This command sets amplitude units of the signal generator front panel display.
*RST DBM

Display Brightness Configuration

:DISPlay:BRIGhtness <val> :DISPlay:BRIGhtness?
This command sets the brightness of the instrument’s LCD display. Choices for the variable <val> range from 0.02 (dimmest) to 1.0 (brightest).
This is a persistent state, set to 1 at the factory.

Display Contrast Configuration

:DISPlay:CONTrast <val> :DISPlay:CONTrast?
This command sets the contrast of the instrument’s LCD display. Choices for the variable <val> range from 0.0 to 1.0.
This is a persistent state set to 0.768 at the factory.

Display Inverse Video Configuration

:DISPlay:INVerse ON|OFF|1|0 :DISPlay:INVerse?
This command sets the source’s display to inverse video mode. Choices are On (1) or Off (0).
This is a persistent state set to Off at the factory.

Display Remote Configuration

:DISPlay:REMote ON|OFF|1|0 :DISPlay:REMote?
This command sets the source’s display updating off or on, when the remote control bus is in remote.
This is a persistent state in the preset mode. However, it resets to off, the default value, when the power is cycled.
2-18 Programming Guide
ESG Family Signal Generators Programming Commands and Examples

:DM and :BURSt Subsystems (ESG-D and ESG-DP Series)

:DM and :BURSt Subsystems (ESG-D and ESG-DP Series)
These digital modulation subsystems are used to set the I/Q modulation controls and the I/Q parameters associated with I/Q modulated signals.

Burst Envelope State

:BURSt:STATe ON|OFF|1|0 :BURSt:STATe?
This command enables/disables the burst envelope. The choices are On (1) or Off (0).
*RST Value: Off

Burst Source

:BURSt:SOURce EXTernal[1]|INTernal[1] :BURSt:SOURce?
Use this command to select either an internally-generated or an externally-supplied burst source. For an externally-supplied burst source, apply the in-phase and quadrature-phase
signals to the I INPUT and Q INPUT connectors. The signal level is = 0.5 V
22
I+Q
rms
.
*RST Value: External

Digital Modulation Source

:DM:SOURce EXTernal|INTernal[1] :DM:SOURce?
Use this command to change the I/Q source to externally supplied I and Q signals. Apply the in-phase and quadrature-phase signals to the I INPUT and Q INPUT connectors. The
signal level is = 0.5 V
22
I+Q
. If you do not have Option UN8, this is the only I/Q source
rms
and it cannot be changed. If you have Option UN8, the I/Q source can also be set to an internal I/Q source.
*RST Value: External

Digital Modulation Mode State

:DM:STATe ON|OFF|1|0 :DM:STATe?
This command enables/disables the I/Q modulation. The choices are On (1) or Off (0). Notice, however, that although you can enable I/Q modulation with this command, the RF carrier is modulated only when you have the modulation activated. Whenever I/Q modulation is enabled, the I/Q annunciator is turned on in the display.
*RST Value: Off
Programming Guide 2-19
Programming Commands and Examples ESG Family Signal Generators
:DM and :BURSt Subsystems (ESG-D and ESG-DP Series)

External ALC Bandwidth Configuration

:DM:EXternal:ALC:BWIDth|BANDwidth NORMal|NARRow :DM:EXternal:ALC:BWIDth|BANDwidth?
This command is used to toggle between ALC normal and narrow bandwidth modes. The choices are Normal or Narrow. You can choose to set the signal generator to narrow bandwidth mode if you have switched on I/Q modulation, are using an external I/Q source, and the ALC circuit is set to on. Setting the external ALC bandwidth to narrow limits the bandwidth to 100 Hz, which can improve EVM. Narrow bandwidth mode may, however, also slow the settling time for frequency changes as much as 40 ms. Defaults are Normal if IQ modulation is off, Narrow if EXT IQ or HIGH BW AM is on.
*RST Value: Normal

High Crest Mode State

:DM:EXternal:HICrest[:STATe] ON|OFF|1|0 :DM:EXternal:HICrest[:STATe]?
This command is used to change operating conditions to accommodate IQ inputs with high crest factor. Maximum output level is reduced and power level accuracy is degraded. IQ drive levels should be reduced, dB per dB, for crest factors greater than 4 dB.
*RST Value: Off

I Channel Offset Adjustment

:DM:IQADjustment:IOFFset <val><unit> :DM:IQADjustment:IOFFset?
This command is used to set the I channel offset, in percent of full scale. 100% offset is equivalent to 500 mV at the input connector. Choices for the variables <val> and <unit> range from
When using this command to minimize the LO feedthough signal, optimum performance is achieved when the command is sent after all other I/Q path commands are executed, such as those that change the internal phase polarity or adjust the modulator attenuator. If other adjustments are made after minimizing is performed, the LO feedthrough signal may increase.
*RST Value: 0.00%
100.0 to +100.0%.

I/Q Adjustments State

:DM:IQADjustment[:STATe] ON|OFF|1|0 :DM:IQADjustment[:STATe]?
This command is used to enable the I/Q adjustments (I/Q gain, I offset, and Q offset). The choices include On (1) or Off (0).
*RST Value: Off
2-20 Programming Guide
ESG Family Signal Generators Programming Commands and Examples
:DM and :BURSt Subsystems (ESG-D and ESG-DP Series)

I/Q Gain Ratio Adjustment

:DM:IQADjustment:GAIN <val><unit> :DM:IQADjustment:GAIN?
This command is used to set the I/Q gain ratio in dB, by which I gain exceeds Q gain. Choices for the variables <val> and <unit> range from
*RST Value: 0.00 dB
4.0 to +4.0 dB.

I/Q Modulation Phase Polarity

:DM:POLarity[:ALL] NORMal|INVerted :DM:POLarity[:ALL]?
This command sets the polarity of the I/Q modulation signal. The choices are Normal or Inverted. In the inverted mode the input applied to the I INPUT connector is physically routed to the Q input port of the internal I/Q modulator. In addition, the input applied to the Q INPUT connector is physically routed to the I input port of the internal I/Q modulator. This inverts the direction of phase rotation of the I/Q modulation. If you have enabled a digital modulation mode (Option UN8 only), I/Q phase polarity will be automatically set to normal. You can override this setting with this command.
*RST Value: Normal

Q Channel Offset Adjustment

:DM:IQADjustment:QOFFset <val><unit> :DM:IQADjustment:QOFFset?
This command is used to set the Q channel offset, in percent of full scale. 100% offset is equivalent to 500 mV at the input connector. Choices for the variables <val> and <unit> range from
*RST Value: 0.00%
100.0 to +100.0%.

Quadrature Skew Adjustment

:DM:IQADjustment:QSKew <val><unit> :DM:IQADjustment:QSKew?
This command is used to adjust the phase angle between the I and Q vectors. When the quadrature skew is zero, the phase angle is 90 degrees. Positive skew increases the angle from 90 degrees while negative skew decreases the angle from 90 degrees. The range of values allowed is 10 degrees with a minimum increment of 0.1 degrees. However, if you’re operating the signal generator in the 3.3 to 4 GHz frequency range, quadrature skew settings greater than ±5 degrees will not be within specifications.
*RST Value: 0.0 degrees
Programming Guide 2-21
Programming Commands and Examples ESG Family Signal Generators

:FM Subsystem

:FM Subsystem
The frequency modulation subsystem is used to set the modulation controls and the parameters associated with frequency modulated signals.

External Frequency Modulation Source Coupling

:FM[1]|2:EXTernal[1]|2:COUPling AC|DC :FM[1]|2:EXTernal[1]|2:COUPling?
This command sets the external coupling for the frequency modulation source. The choices are AC or DC coupling. This command does not change the currently active source, nor does it switch the current modulation on or off. The modulating signal may be the sum of several signals, either internal or external sources. If the coupling is set to DC, then both the AC and DC signal components pass. AC coupling passes only AC signal components.
The external 1 source has multiple uses but can be used for only one modulation at a time. If, for example, you were using the external 1 source in an amplitude modulation configuration for source, the signal generator would turn off
FM Path 2 configuration. Notice that for these purposes, the external 1 AC-coupled
your source is the same as the external 1 DC-coupled source.
AM Path 1, and then you configured FM Path 2 to also use the external 1
AM Path 1 and assign the external 1 source to
*RST Value: DC

Frequency Modulation Deviation

:FM[1]|2[:DEViation] <val><unit> :FM[1]|2[:DEViation]?
Use this command to set the frequency modulation deviation for the
FM Path 2 configurations. The current value for FM deviation is displayed in the active
entry area. The range of values allowed depends on the carrier frequency. For the ESG-A and ESG-D Series, the maximum peak deviation for a frequency is calculated by multiplying N by 10 MHz. For the ESG-AP and ESG-DP Series, N is multiplied by 1 MHz. (The following table lists the values for N and the resulting maximum peak deviations.)
Maximum Peak
Carrier Frequency N
250 kHz to
> 249.999 MHz to
> 500 MHz to 1 GHz 1 10 MHz 1 MHz
> 1 GHz to
249.999 MHz 1 10 MHz 1 MHz
500 MHz 0.5 5 MHz 0.5 MHz
2 GHz 2 20 MHz 2 MHz
Deviation
(ESG-A & ESG-D)
FM Path 1 and
Maximum Peak
Deviation
(ESG-AP & ESG-DP)
> 2 GHz to 4 GHz 4 40 MHz 4 MHz
2-22 Programming Guide
Loading...