Keysight E1445A User's Manual And Scpi Programming Manual

Keysight E1445A User's Manual And Scpi Programming Manual

Arbitrary function generator module
Table of Contents

Advertisement

Quick Links

User Manual and SCPI
Programming Guide
Keysight E1445A Arbitrary
Function Generator Module
75000 Series C

Advertisement

Table of Contents
loading
Need help?

Need help?

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

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Keysight E1445A

  • Page 1 75000 Series C User Manual and SCPI Programming Guide Keysight E1445A Arbitrary Function Generator Module...
  • Page 3 Warranty © Keysight Technologies, Inc. 1997-2019 No part of this manual may be repro- To contact Keysight for sales and techni- THE MATERIAL CONTAINED IN THIS duced in any form or by any means cal support, refer to the support links on DOCUMENT IS PROVIDED “AS IS,”...
  • Page 4 In Case of Damage Cleaning Instruments that appear damaged or Clean the outside of the Keysight mod- defective should be made inoperative ule/chassis with a soft, lint-free, and secured against unintended oper- slightly dampened cloth. Do not use ation until they can be repaired by detergent or chemical solvents.
  • Page 5 Safety Symbols A CAUTION denotes a hazard. It calls attention to an operating pro- cedure or practice, that, if not cor- rectly performed or adhered to could result in damage to the product or loss of important data. Do not proceed beyond a CAUTION notice until the indicated condi- tions are fully understood and met.
  • Page 6 viii...
  • Page 7: Table Of Contents

    BASIC Language Programs........34 Visual BASIC Language Programs Using Keysight SICL ....36 Visual C/C++ Language Programs Using Keysight SICL .
  • Page 8 Using DAC Codes to Send Segment Data ......116 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 9 Driving the TTLTrg<n> Trigger Lines ......163 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 10 Frequency Sweep/List Advance Trigger ......203 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 11 Downloading Segment Data ........264 Downloading Segment Data into Memory......264 Keysight E1445A User Manual and SCPI Programming Guide xiii...
  • Page 12 [:STARt]:LAYer2:SOURce ........301 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 13 :MODE........... . . 334 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 14 :SSEQuence:SEQuence........369 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 15 Subsystem Syntax ......... . . 399 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 16 [:CONFigure]:VME:RECeive:ADDRess:DATA? ..... . . 426 [:CONFigure]:VME:RECeive:ADDRess:READy?..... . 427 xviii Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 17 Memory ........... . 468 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 18 General VXIbus Characteristics ....... . . 483 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 19 The High Speed Data Register........535 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 20 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 21: Getting Started

    Keysight E1445A Arbitrary Function Generator Module User Manual and SCPI Programming Guide Getting Started Chapter Contents This chapter shows you how to configure, install, and begin using the Keysight E1445A Arbitrary Function Generator (AFG). The main sections of this chapter include: Preparation for Use...
  • Page 22: Preparation For Use

    C-Size VXIbus Systems Configuration Guide. VXIbus Factory Settings The Keysight E1445A AFG (shown in Figure 1-1) is configured at the factory as shown in Table 1-1. Figure 1-1 The E1445A Arbitrary Function Generator Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 23: The Afg Logical Address

    The AFG Logical Address The Keysight E1445A AFG logical address is used: – to place the AFG in the servant area of a commander (Keysight E1406A Command Module or an embedded controller, for example); – with the AFG servant area switch to set the AFG servant area;...
  • Page 24: Addressing The Afg (External Controller And Pc)

    Figure 1-2 E1445A Logical Address and Servant Area Switch Location Addressing the AFG (External Controller and PC) Devices in the C-size mainframe and in the servant area of the Keysight E1406A Command Module are located by an GPIB address. The GPIB address is a combination of the controller’s interface select code, the command module’s...
  • Page 25: Setting The Afg Servant Area

    – The Keysight E1445A servant area need only be set when the Keysight E1446A Summing Amplifier/DAC is used with the AFG (factory setting = 0). – The Keysight E1446A must be in the AFG servant area in order for the AFG to control the Summing Amplifier/DAC.
  • Page 26: The Afg Bus Request Level

    The Keysight E1445A AFG servant area switch is shown in Figure 1-2. The AFG Bus Request Level The bus request level is a priority at which the Keysight E1445A can request the use of the Data Transfer Bus. Bus Request Level Guidelines –...
  • Page 27: Afg Installation In A Mainframe

    Getting Started AFG Installation in a Mainframe The Keysight E1445A may be installed in any slot (except slot 0) in a C-size VXIbus mainframe. If an Keysight E1446A Summing Amplifier/DAC is part of your system, the amplifier should be installed in a slot next to the E1445A.
  • Page 28 The extraction levers may be used to guide or remove the module. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 29: Instrument Language (Scpi)

    ASCII command strings and returns ASCII formatted results. SCPI Command Structure The Keysight E1445A SCPI command set is found in Chapter 8. SCPI commands are based on a hierarchical structure, also known as a tree system. In this system, associated commands are grouped together under a common node or root, thus, forming subtrees or subsystems.
  • Page 30: Command Coupling

    Executing uncoupled commands in a coupling group breaks the coupling and can cause a "Settings Conflict" error. The coupling groups and associated commands can be found in Table B-2 in Appendix B. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 31: Executing Coupled Commands

    Note that the semicolon (;) and colon (:) link commands within different subsystems. Only a semicolon (;) is required to link commands within the same subsystem (see “SCPI Command Structure”). See information on suppressing the end-of-line terminator. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 32: Program Languages

    AFG. However, the same programs (except where noted) are also supplied in Visual C/C++ and Visual BASIC using the Keysight Standard Instrument Control Library (SICL). The programs using SICL are Windows® programs. All programs are supplied on the CD that came with this manual (see next section).
  • Page 33 !Subprogram which displays E1445 programming errors 440COM @Afg 450DIM Message$[256] 460!Read AFG status byte register and clear service request bit 470B=SPOLL(@Afg) 480!End of statement if error occurs among coupled commands 490OUTPUT @Afg;"" Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 34: Visual Basic Language Programs Using Keysight Sicl

    Visual BASIC Language Programs Using Keysight SICL These example programs are written in the Visual BASIC language for the Keysight 82340/82341 GPIB Interface Cards using the Keysight Standard Instrument Control Library (SICL). The following identifies the system on which the programs are written, shows how to compile the programs, and gives a typical example program.
  • Page 35 Note that the program can only operate under Windows®. Typical Visual BASIC Example Program Using Keysight SICL The following is an example program written in Visual BASIC using the Keysight Standard Instrument Control Library. The program: – sends commands to the AFG to generate an arbitrary waveform;...
  • Page 36 Dim Cnt As Integer Dim Actual As Long Cnt = 1 While Len(Cmd(Cnt)) ’ Send SCPI command Call iwrite(Addr, ByVal Cmd(Cnt) + Chr$(10), Len(Cmd(Cnt)) + 1, 1, Actual) Cnt = Cnt + 1 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 37 OutCommands(3) = "SOUR:LIST1:SSEQ:SEQ ramp" ’ Set the segment execution order OutCommands(4) = "SOUR:FUNC:USER ramp_out" ’ Define the user name OutCommands(5) = "INIT:IMM" ’ Start waveform generation ’ Use "SegCommand" to store segments Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 38 Action.Text = "Generate Segments" ChkName = "GenSeg" Call GenSeg ’ Query segment and segment/sequence memory Action.Text = "Getting Memory Data" ChkName = "RunQuery" Call RunQuery Action.Text = "DONE!" ’ Close communication with instrument Call iclose(Addr) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 39 Sub TimeOut () ’ Shows timeout message and exits program Dim ShowTimeMsg As String Dim ErrMsg As String ’ Set error routine On Error Resume Next ’ Get error message ErrMsg = igeterrstr(igeterrno()) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 40: Visual C/C++ Language Programs Using Keysight Sicl

    Visual C/C++ Language Programs Using Keysight SICL These example programs are written in the Visual C/C++ language for the Keysight 82340/82341 GPIB Interface Cards using the Keysight Standard Instrument Control Library (SICL). The following identifies the system on which the programs are written, shows how to compile the programs, and gives a typical example program.
  • Page 41 Project | Re-build Allto compile the program Typical Visual C/C++ Example Program Using Keysight SICL Following is an example program written in Visual C/C++ using the Keysight Standard Instrument Control Library. The program: – sends commands to the AFG to generate an arbitrary waveform;...
  • Page 42 // Release SICL resource allocation; not needed for Windows NT _siclcleanup(); printf("\n\nClose the window or press Alt-F4 to exit"); exit(0); //********************************************************************* void gen_seg(void) char*set_commands[] =// Use "set_commands" to setup the AFG "SOUR:LIST1:SSEQ:DEL:ALL",// Clear sequence memory "SOUR:LIST1:SEGM:DEL:ALL",// Clear segment memory Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 43 / sizeof(char*), "gen_seg (out_commands)"); // Call routine to check for AFG errors check_error("gen_seg (out_commands)"); // Free the allocated memory free (Wave_seg); //********************************************************************* void cmd_exe(char *commands[], int length, char *func_tion) intloop; Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 44 (atoi(into)) printf("%s \t- in function %s\n", into, func_tion); ipromptf(addr, "SYSTem:ERRor?\n", "%t", into); // Query error register // Close communication iclose(addr); // Release SICL resource allocation; not needed for Windows NT Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 45 %s", func_name); // Close communication iclose(addr); // Release SICL resource allocation; not needed for Windows NT _siclcleanup(); printf("\n\nClose the window or press Alt-F4 to exit"); exit(1); Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 46: Introductory Programs

    Upon completion of the test, one of the self-test codes listed in Table 1-2 is returned. Table 1-2 Keysight E1445A Self-Test Codes Self-Test Code Description Test passed Test failed. An error message describes the failure. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 47: Resetting And Clearing The Afg

    30COM @Afg 40!Call the subprogram 50CALL Rst_cls 60END 80SUB Rst_cls 90 Rst_cls: !subprogram which resets and clears the AFG. 100 COM @Afg 110 OUTPUT @Afg;"*RST;*CLS;*OPC?" !reset and clear the AFG 120 ENTER @Afg;Complete Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 48: Querying The Power-On/Reset Configuration

    CD that came with your Keysight E1445A. Querying the Power-On/Reset Configuration After resetting the Keysight E1445A or cycling power, the AFG parameters are set to their power-on values. These values are listed in Table B-5 in Appendix B. The command which queries each AFG parameter setting is:...
  • Page 49: Checking For Errors

    80ENABLE INTR 7;2 90!Clear all bits in the standard event status register, unmask the 100!standard event status group summary bit in the E1445A status byte 110!register (decimal weight 32), unmask the query error, device 120!dependent error, execution error, and command error bits 130!(decimal sum 60) in the E1445A standard event status register.
  • Page 50: Generating Sine Waves

    From the power-on/reset configuration you can output a 0.16187 Vp, 10 kHz sine wave by setting the AFG to the wait-for-arm state with the INITiate:IMMediate command. This is done with the RSTSINE program. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 51 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, RSTSINE.FRM, is in directory “VBPROG” and the Visual C/C++ example program, RSTSINE.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 52 Getting Started Introductory Programs Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 53: Generating Standard Waveforms

    Generating Standard Waveforms Chapter Contents This chapter shows how to generate standard waveforms (sinusoid, square, triangle, and ramps) using the Keysight E1445A 13-Bit Arbitrary Function Generator (called the "AFG"). The following sections show how to generate standard waveforms, how to setup the AFG for different output loads, how to select the output amplitude units (for example, V, Vpeak, etc.), and how to set the waveform amplitude and offset.
  • Page 54: Standard Waveforms Flowchart

    Remove the flowchart from the binder for easy accessibility. Refer to the flowchart while doing the examples in this chapter, if desired. Figure 2-1 Commands for Generating Standard Waveforms Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 55 Standard Waveforms Flowchart Generating Standard Waveforms Figure 2-1 Commands for Generating Standard Waveforms (continued from previous page) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 56: Generating Dc Voltages

    “Selecting the Amplitude Levels and Output Units” for more information. BASIC Program Example (DCVOLTS) 1!RE-STORE“DCVOLTS” 2!This program outputs a +5V DC voltage. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 57 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, DCVOLTS.FRM, is in directory “VBPROG” and the Visual C example program, DCVOLTS.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 58: Generating Sine Waves

    “Selecting the Amplitude Levels and Output Units” for more information. 5 5. Initiate the Waveform INITiate[:IMMediate] This command generates an immediate output with the arm source set to IMMediate. Refer to Chapter 5 for triggering information. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 59 Generating Standard Waveforms BASIC Program Example (SINEWAVE) 1!RE-STORE"SINEWAVE" 2!The following program generates a 1 kHz, 5 Vp sine wave. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 60 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, SINEWAVE.FRM, is in directory “VBPROG” and the Visual C example program, SINEWAVE.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 61: Generating Square Waves

    (see “Sample Sources”). 4 Set the Frequency Range [SOURce:]FREQuency[1]:RANGe <range> This command specifies the square wave upper frequency limit (see “DDS Frequency Generator Ranges”). (Since *RST automatically sets the range to Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 62 IMMediate. Refer to Chapter 5 for triggering information. BASIC Program Example (SQUWAVE) 1!RE-STORE“SQUWAVE” 2!This program outputs a 1 MHz, 4V square wave with a 1V DC offset. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 63 450!Read AFG status byte register and clear service request bit 460B=SPOLL(@Afg) 470!End of statement if error occurs among coupled commands 480OUTPUT @Afg;"" 490OUTPUT @Afg;"ABORT"!abort output waveform 500REPEAT 510OUTPUT @Afg;"SYST:ERR?"!read AFG error queue 520ENTER @Afg;Code,Message$ 530PRINTCode,Message$ 540UNTIL Code=0 550STOP 560SUBEND Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 64 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, SQUWAVE.FRM, is in directory “VBPROG” and the Visual C example program, SQUWAVE.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 65: Generating Triangle/Ramp Waves

    TRIangle/RAMP functions can use any of the trigger start sources (see “Sample Sources”). 4 Set the Frequency Range [SOURce:]FREQuency[1]:RANGe <range> This command specifies the triangle/ramp wave upper frequency limit (see “DDS Frequency Generator Ranges”). (Since *RST automatically sets the Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 66 BASIC Program Example (TRIWAVE) 1!RE-STORE“TRIWAVE” 2!This program outputs a 200 point, 10 kHz, 4V triangle wave 3!with a 1V DC offset. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 67 450!Read AFG status byte register and clear service request bit 460B=SPOLL(@Afg) 470!End of statement if error occurs among coupled commands 480OUTPUT @Afg;"" 490OUTPUT @Afg;"ABORT"!abort output waveform 500REPEAT 510OUTPUT @Afg;"SYST:ERR?"!read AFG error queue 520ENTER @Afg;Code,Message$ Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 68 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, TRIWAVE.FRM, is in directory “VBPROG” and the Visual C example program, TRIWAVE.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 69: Selecting The Output Loads

    ONCE – load value tracks output impedance once and then goes to OFF 4 Select the Output Impedance OUTPut[1]:IMPedance <impedance> This command selects the AFG output impedance. The AFG output impedance can be either 50  or 75 . Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 70 BASIC Program Example (OUTPLOAD) 1!RE-STORE“OUTPLOAD” 2!This program sets the AFG’s output impedance and output load 3!to 75 ohms. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910. 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 71 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, OUTPLOAD.FRM, is in directory “VBPROG” and the Visual C example program, OUTPLOAD.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 72: Selecting The Amplitude Levels And Output Units

    IMMediate. Refer to Chapter 5 for triggering information. BASIC Program Example (OUTPUNIT) 1!RE-STORE“OUTPUNIT” 2!This programs sets the output amplitude units to volts peak-to-peak 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking...
  • Page 73 420!End of statement if error occurs among coupled commands 430OUTPUT @Afg;"" 440OUTPUT @Afg;"ABORT"!abort output waveform 450REPEAT 460 OUTPUT @Afg;"SYST:ERR?" !read AFG error queue 470 ENTER @Afg;Code,Message$ 480 PRINTCode,Message$ 490 UNTIL Code=0 500 STOP 510SUBEND Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 74 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, OUTPUNIT.FRM, is in directory “VBPROG” and the Visual C example program, OUTPUNIT.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 75: Using Phase Modulation

    The available sources are: INTernal – [SOURce:]PM:DEViation sets the deviation angle (power-on value) DPORt – The front panel “Dig Port” connector LBUS – The VXI Local Bus VXI – The VXI Backplane Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 76 BASIC Program Example (PHS_MOD) 1!RE-STORE“PHS_MOD” 2!The following program shifts the phase of the output sine wave 3!from 0 degrees to 180 degrees. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 77 470!Read AFG status byte register and clear service request bit 480B=SPOLL(@Afg) 490!End of statement if error occurs among coupled commands 500OUTPUT @Afg;"" 510OUTPUT @Afg;"ABORT"!abort output waveform 520REPEAT 530OUTPUT @Afg;"SYST:ERR?"!read AFG error queue 540ENTER @Afg;Code,Message$ 550PRINTCode,Message$ 560UNTIL Code=0 570STOP 580SUBEND Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 78 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, PHS_MOD.FRM, is in directory “VBPROG” and the Visual C example program, PHS_MOD.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 79: Standard Waveform Program Comments

    However, the DDS frequency generator gives better frequency resolution and should be used for the these functions. The Divide-by-N frequency generator should be used for arbitrary waveform generation where high frequency values are needed. The different sample sources are: Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 80: Dds Frequency Generator Ranges

    – To output to an open circuit, execute OUTPut[1]:LOAD INFinity or 9.9E+37 (this sets the auto load value off). The Keysight E1445A then outputs the correct amplitude and offset for an open circuit. The amplitude and offset range are doubled while resolution worsens by a factor of 2.
  • Page 81: Output Units Comments

    This happens even if the commands are coupled to other commands in a coupling group. This is different than sending the commands with number values, where the commands are executed after a new coupling group is sent. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 82 This happens even though the commands that follow may set the AFG to a state that does not conflict with the MINimum and MAXimum parameters. For best results, use values in the commands and do not use the MINimum and MAXimum parameters. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 83: Generating Arbitrary Waveforms

    User Manual and SCPI Programming Guide Generating Arbitrary Waveforms Chapter Contents This chapter shows how to generate arbitrary waveforms using the Keysight E1445A 13-Bit Arbitrary Function Generator (called the “AFG”). The following sections show how to generate arbitrary waveforms. Also included are example programs that generate various arbitrary waveforms.
  • Page 84: Arbitrary Waveforms Flowchart

    Remove the flowchart from the binder for easy accessibility. Refer to the flowchart while doing the examples in this chapter, if desired. Figure 3-1 Commands for Generating Arbitrary Waveforms Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 85 Arbitrary Waveforms Flowchart Generating Arbitrary Waveforms Figure 3-1 Commands for Generating Arbitrary Waveforms (continued from previous page) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 86: How The Afg Generates Arbitrary Waveforms

    The assigned segment size must be equal to or larger than the actual size of the waveform segment. The AFG generates an error if the waveform segment is larger than the size sent. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 87 The sample rate and the number of points in the waveform segment determine the waveform repetition frequency. The repetition frequency is the sample rate / number of points. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 88: Generating A Simple Arbitrary Waveform

    5 Set the Segment Sample Rate [SOURce:]FREQuency[1][:CW | :FIXed] <frequency> This command sets the rate at which the points in a waveform segment are output by the AFG. The waveform frequency is determined by: Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 89 (next step). 13 Define the Segment Sequence Order [SOURce:]LIST[1]:SSEQuence:SEQuence <segment_list> This command determines the order in which the waveform segments are to Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 90 BASIC Program Example (ARBWAVE) 1!RE-STORE"ARBWAVE" 2!This program demonstrates the procedure for developing and 3!outputting an arbitrary waveform. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg,Seg_mem$[256],Seq_mem$[256] 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 91 520ENTER @Afg;Seq_mem$ 530SUBEND 540! 550SUB Rst 560 Rst:!Subprogram which resets the E1445. 570COM @Afg,Seg_mem$,Seq_mem$ 580OUTPUT @Afg;"*RST;*OPC?"!reset the AFG 590ENTER @Afg;Complete 600SUBEND 610! 620SUB Wf_del 630 Wf_del: !Subprogram which deletes all sequences and segments. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 92 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, ARBWAVE.FRM, is in directory “VBPROG” and the Visual C example program, ARBWAVE.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 93: Executing Several Waveform Segments

    Refer to Table B-3 in Appendix B for the frequency limits. 5 Select the Arbitrary Waveform Function [SOURce:]FUNCtion[:SHAPe] USER This command selects the arbitrary waveform function. Couple the command to the previous frequency command. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 94 Sequences” for more information. 16 Define the Waveform Segments Repetition Count [SOURce:]LIST[1]:SSEQuence:DWELl:COUNt <repetition_list> This command sets how many times each waveform segment is to be executed. See “Sending Segment Sequences” for more information. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 95 BASIC Program Example (MULSEG) 1!RE-STORE"MULSEG" 2!This program outputs an arbitrary waveform that is comprised of 3!two waveform segments. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 96 660 Seq_def: !Subprogram which defines the output sequence 670COM @Afg 680OUTPUT @Afg;"SOUR:LIST1:SSEQ:SEL WAVE_OUT"!sequence name 690OUTPUT @Afg;"SOUR:LIST1:SSEQ:DEF 2"!sequence size 700OUTPUT @Afg;"SOUR:LIST1:SSEQ:SEQ SINEWAVE,TRI" !execution order 710OUTPUT @Afg;"SOUR:LIST1:SSEQ:DWEL:COUN 2,1"!segment dwell count 720SUBEND 730! 740SUB Rst Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 97 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, MULSEG.FRM, is in directory “VBPROG” and the Visual C example program, MULSEG.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 98: Using Different Frequency Generators

    This command clears all segment sequence data stored in the sequence memory. 3 Clear the AFG Memory of All Segment Data [SOURce:]LIST[1]:DELete:ALL This command clears all segment data stored in the segment memory. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 99 Refer to Table B-4 in Appendix B for the amplitude limits. 10 Name the Waveform Segment [SOURce:]LIST[1][:SEGMent]:SELect <name> This command names the waveform segment. 11 Set the Waveform Segment Size [SOURce:]LIST[1][:SEGMent]:DEFine <length> This command defines the size of the selected waveform segment. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 100 BASIC Program Example (AFGGEN1) 1 !RE-STORE"AFGGEN1" 2 !This program outputs a ramp arbitrary waveform using the 3 !AFG’s frequency1 generator. 10 !Assign I/O path between the computer and E1445A. 20 ASSIGN @Afg TO 70910 30 COM @Afg 40 ! 50 !Set up error checking 60 ON INTR 7 CALL Errmsg 70 ENABLE INTR 7;2...
  • Page 101 530OUTPUT @Afg;"*RST;*OPC?"!reset the AFG 540ENTER @Afg;Complete 550SUBEND 560! 570SUB Wf_del 580 Wf_del: !Subprogram which deletes all sequences and segments. 590COM @Afg 600OUTPUT @Afg;"FUNC:USER NONE"!select no sequences 610OUTPUT @Afg;"LIST:SSEQ:DEL:ALL"!Clear sequence memory 620OUTPUT @Afg;"LIST:SEGM:DEL:ALL"!Clear segment memory 630SUBEND Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 102 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, AFGGEN2.FRM, is in directory “VBPROG” and the Visual C example program, AFGGEN2.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 103: Sample Programs

    The SIN_X program generates a Sin(X)/X waveform using 4096 segments or points. BASIC Program Example (SIN_X) 1!RE-STORE “SIN_X” 2!This program generates the arbitrary waveform Sin(x)/x. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 104 420OUTPUT @Afg;"SOUR:LIST1:SSEQ:DEF 1"!specify # segments in sequence 430OUTPUT @Afg;"SOUR:LIST1:SSEQ:SEQ SIN_X"!set segment order in sequence 440SUBEND 450! 460SUB Rst 470 Rst:!Subprogram which resets the E1445. 480COM @Afg 490OUTPUT @Afg;"*RST;*OPC?" !reset the AFG Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 105: Generating A Damped Sine Wave

    The Visual BASIC example program, SIN_X.FRM, is in directory “VBPROG” and the Visual C example program, SIN_X.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Generating a Damped Sine Wave Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 106 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, SIN_D.FRM, is in directory “VBPROG” and the Visual C example program, SIN_D.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 107: Generating An Exponential Charge/Discharge Waveform

    220OUTPUT @Afg;"SOUR:FUNC:USER CHARGE_OUT" 230OUTPUT @Afg;"INIT:IMM" 280SUB Charge_def 290 Charge_def: !Compute waveform (exponential) and define segment and 300!sequence. 310COM @Afg 320DIM Waveform(1:4096) 330Rc=400 340FOR T=1 TO 4096 350IF T>=0 AND T<2047 THEN 360Waveform(T)=1*(1-EXP(-T/Rc)) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 108: Generating A Sine Wave With Spikes

    Visual C example program, CHARGE.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Generating a Sine Wave with Spikes The SPIKES program generates a sine wave with spikes using 4096 segments or points. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 109 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, SPIKES.FRM, is in directory “VBPROG” and the Visual C example program, SPIKES.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 110: Generating A 1/2 Rectified Sine Wave

    290 Sinr_def: !Compute waveform (rectified sine wave) and define segment. 300COM @Afg 310DIM Waveform(1:4096) 320FOR I=1 TO 4096 330Waveform(I)=SIN(2*PI*(I/4096)) 340NEXT I 350FOR I=2048 TO 4096 360Waveform(I)=0 370NEXT I 380OUTPUT @Afg;"SOUR:LIST1:SEGM:SEL SIN_R"!Define segment name Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 111: Generating Noise

    350NEXT I 360OUTPUT @Afg;"LIST:SEGM:SEL NOISE"!select segment to be defined 370OUTPUT @Afg;" LIST:SEGM:DEF 4096"!reserve memory for segment 380OUTPUT @Afg;" LIST:SEGM:VOLT";Waveform(*)!load waveform points 390! 400OUTPUT @Afg;"SOUR:LIST1:SSEQ:SEL NOISE_OUT"!define sequence 410OUTPUT @Afg;"SOUR:LIST1:SSEQ:DEF 1"!number segments in sequence Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 112 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, NOISE.FRM, is in directory “VBPROG” and the Visual C example program, NOISE.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 113: Arbitrary Waveform Program Comments

    (DAC) codes. This requires that the voltage value of the segment data MUST NOT exceed the AFG’s current amplitude level (set by [SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude]). If it does, the AFG generates an error. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 114: Using Dac Codes To Send Segment Data

    (see Chapters 6 and 7 for marker output information). Reference Oscillator Sources – The USER function can use any of the reference oscillator sources selected by the [SOURce:]ROSCillator:SOURce command. The reference oscillator sources are: Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 115: Sample Sources

    – If set to MAXimum, the maximum sample frequency is the Reference Oscillator frequency / 2 The MAXimum setting worsens the frequency resolution by a factor of two and introduces some sample rate jitter. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 116: Returning The Waveform Segment Names

    Returning the Repetition Count List Length Use [SOURce:]LIST[1]:SSEQuence:DWELl:COUNt:POINts? to determine the length of the currently selected segment sequence’s repetition count list. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 117: Sweeping And Frequency-Shift Keying

    Sweeping and Frequency-Shift Keying Chapter Contents This chapter covers the sweeping, frequency list, and frequency-shift keying (FSK) features of the Keysight E1445A 13-Bit Arbitrary Function Generator (called the “AFG”). The chapter is organized as follows: FSK Programming Flowchart page 121...
  • Page 118 Sweeping and Frequency-Shift Keying Chapter Contents AC Leveling page 161 FSK Control Sources page 162 Frequency-Shift Delay page 162 Driving the TTLTrg<n> Trigger Lines page 163 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 119: Fsk Programming Flowchart

    Remove the flowchart from the binder for easy accessibility. Refer to the flowchart while doing the examples in this chapter, if desired. Figure 4-1 Commands for Frequency Sweeps, Frequency Lists, and FSK Keying Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 120 Sweeping and Frequency-Shift Keying FSK Programming Flowchart Figure 4-1 Commands for Frequency Sweeps, Frequency Lists, and FSK Keying (continued) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 121: Fsk Command Reference

    Using the flowchart in Figure 4-1 as a guide, the steps of this program are: 1 Select the 42.9 MHz reference oscillator [SOURce:]ROSCillator:SOURce <source> 2 Select the frequency generator that allows frequency sweeping TRIGger[:STARt]:SOURce <source> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 122 BASIC Program Example (SMPLSWP1) 1!RE-STORE"SMPLSWP1" 2!This program specifies start and stop frequencies to sweep 3!a sine wave from 0 to 1 MHz. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 123 600!Read AFG status byte register and clear service request bit 610B=SPOLL(@Afg) 620!End of statement if error occurs among coupled commands 630OUTPUT @Afg;"" 640OUTPUT @Afg;"ABORT"!abort output waveform 650REPEAT 660OUTPUT @Afg;"SYST:ERR?"!read AFG error queue Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 124: Specifying A Frequency List

    The Visual BASIC example program, SMPLSWP1.FRM, is in directory “VBPROG” and the Visual C example program, SMPLSWP1.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Specifying a Frequency List The LIST1 program shows the basic steps involved in setting up and “hopping”...
  • Page 125 Sweeping and Frequency Lists Sweeping and Frequency-Shift Keying 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2 80OUTPUT @Afg;"*CLS" 90OUTPUT @Afg;"*SRE 32" 100OUTPUT @Afg;"*ESE 60"...
  • Page 126: Sweeping Using Start And Span Frequencies

    Using the flowchart in Figure 4-1 as a guide, the steps of this program are: 1 Set the frequency sweep mode [SOURce:]FREQuency[1]:MODE <mode> 2 Set the start frequency [SOURce:]FREQuency[1]:STARt <start_freq> 3 Set the frequency span [SOURce:]FREQuency[1]:SPAN <freq_span> 4 Set the number of sweeps [SOURce:]SWEep:COUNt <number> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 127 BASIC Program Example (SMPLSWP2) 1!RE-STORE"SMPLSWP2" 2!This program continuously sweeps from 1 kHz to 21 kHz and specifies 3!a start frequency and a frequency span. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 128 650OUTPUT @Afg;"SYST:ERR?"!read AFG error queue 660ENTER @Afg;Code,Message$ 670PRINTCode,Message$ 680UNTIL Code=0 690STOP 700SUBEND The start, stop, center, and span values returned are: START = +1.000000000E+003 STOP = +2.100000000E+004 CENTER = +1.100000000E+004 SPAN = +2.000000000E+004 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 129: Frequency Lists Using Definite And Indefinite Length Arbitrary Blocks

    The Visual BASIC example program, SMPLSWP2.FRM, is in directory “VBPROG” and the Visual C example program, SMPLSWP2.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Frequency Lists Using Definite and Indefinite Length Arbitrary Blocks When specifying a large frequency list (up to 256 frequencies), the ease in which the list is specified and the speed at which data is loaded into the AFG is enhanced by using definite or indefinite length arbitrary blocks.
  • Page 130 Sweeping and Frequency-Shift Keying Sweeping and Frequency Lists 10!Assign I/O paths between the computer and E1445A. One path sends 20!data in ASCII format to the AFG, the other path sends frequency 30!list data to the AFG in binary format. 40COM @Afg,@Afg1 50ASSIGN @Afg TO 70910 !path for ASCII data 60ASSIGN @Afg1 TO 70910;FORMAT OFF!path for binary data...
  • Page 131 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, LISTDEF.FRM, is in directory “VBPROG” and the Visual C example program, LISTDEF.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 132: Logarithmic Sweeping

    BASIC Program Example (LOG_SWP) 1!RE-STORE"LOG_SWP" 2!This program logarithmically sweeps from 1 Hz to 1 MHz in seven 3!points. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 133 450!Read AFG status byte register and clear service request bit 460B=SPOLL(@Afg) 470!End of statement if error occurs among coupled commands 480OUTPUT @Afg;"" 490OUTPUT @Afg;"ABORT"!abort output waveform 500REPEAT 510OUTPUT @Afg;"SYST:ERR?"!read AFG error queue 520ENTER @Afg;Code,Message$ 530PRINTCode,Message$ 540UNTIL Code=0 550STOP 560SUBEND Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 134: Sweep Points Versus Time

    BASIC Program Example (SWP_PVST) 1!RE-STORE"SWP_PVST" 2!This program sweeps from 5 kHz to 15 kHz in 0.1 seconds to 3!demonstrate how to set the sweep time. The program also sets 4!the direction of the sweep. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 135 Sweeping and Frequency Lists Sweeping and Frequency-Shift Keying 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2 80OUTPUT @Afg;"*CLS" 90OUTPUT @Afg;"*SRE 32" 100OUTPUT @Afg;"*ESE 60"...
  • Page 136: Frequency Lists Versus Time

    The Visual BASIC example program, SWP_PVST.FRM, is in directory “VBPROG” and the Visual C example program, SWP_PVST.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Frequency Lists Versus Time To demonstrates the relationship between the number of frequencies in a...
  • Page 137 1!RE-STORE"LIST_TME" 2!The following program steps through a frequency list at a rate 3!such that a new frequency is output every 1 second. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 138: Sweeping Arbitrary Waveforms

    By sweeping the Sin(x)/x signal, the different frequencies of the signal are swept simultaneously. Starting and stopping sample rates are specified such that Sin(x)/x is swept from 1 kHz to 2 kHz. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 139 3!random noise. The 4096 point waveforms are swept from 4.096 MHz to 4!8.192 MHz which results in an output frequency sweep from 1 kHz to 5!2 kHz. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg...
  • Page 140 710 OUTPUT @Afg;"SOUR:FREQ1:MODE SWE;"; !sweep mode 720 OUTPUT @Afg;" :SOUR:FREQ1:STAR 40.96E3;"; !start sample rate 730 OUTPUT @Afg;" :SOUR:FREQ1:STOP 81.92E3;"; !stop sample rate 740 OUTPUT @Afg;":SOUR:SWE:COUN INF;"; !sweep count 750 OUTPUT @Afg;":SOUR:FUNC:SHAP USER;"; !function (arbitrary) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 141 1100!Read AFG status byte register and clear service request bit 1110B=SPOLL(@Afg) 1120!End of statement if error occurs among coupled commands 1130OUTPUT @Afg;"" 1140OUTPUT @Afg;"ABORT"!abort output waveform 1150REPEAT 1160OUTPUT @Afg;"SYST:ERR?"!read AFG error queue 1170ENTER @Afg;Code,Message$ 1180PRINTCode,Message$ 1190UNTIL Code=0 1200STOP Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 142: Ac Output Leveling

    8 Enable the output filter OUTPut[1]:FILTer[:LPASs][:STATe] <mode> 9 Place the AFG in the wait-for-arm state INITiate[:IMMediate] BASIC Program Example (SWP_LEVL) 1!RE-STORE"SWP_LEVL" 2!This program enables output leveling over the 0 Hz to 10 MHz 3!sweep. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 143 Sweeping and Frequency Lists Sweeping and Frequency-Shift Keying 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2 80OUTPUT @Afg;"*CLS" 90OUTPUT @Afg;"*SRE 32" 100OUTPUT @Afg;"*ESE 60"...
  • Page 144 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, SWP_LEVL.FRM, is in directory “VBPROG” and the Visual C example program, SWP_LEVL.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 145: Frequency-Shift Keying

    [SOURce:]FREQuency[1]:FSKey <frequency1>,<frequency2> 5 Select the FSK control source [SOURce:]FREQuency[1]:FSKey:SOURce <source> 6 Set the output function [SOURce:]FUNCtion[:SHAPe] <shape> 7 Set the signal amplitude [SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude] <amplitude> 8 Place the AFG in the wait-for-arm state INITiate[:IMMediate] Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 146 2!This program shifts between 5 MHz and 10 MHz based on a 1 MHz 3!control signal applied to the “FSK” control source. The 4!program also queries the FSK frequencies and the FSK control 5!source. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 147 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, FSK1.FRM, is in directory “VBPROG” and the Visual C example program, FSK1.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 148: Fsk Using The Ttltrg Control Source

    FSK Using the TTLTrg<n> Control Source The FSK2 program sets up frequency-shift keying using a TTLTrg<n> trigger line as the control source. The TTLTrg trigger line is driven by the Keysight E1406A Command Module. Using the flowchart in Figure 4-1 as a guide, the steps of this program are: 1 Select the frequency-shift keying mode [SOURce:]FREQuency[1]:MODE <mode>...
  • Page 149 520SUBEND 530! 540SUB Rst 550 Rst:!Subprogram which resets the E1445. 560COM @Afg 570OUTPUT @Afg;"*RST;*OPC?"!reset the AFG 580ENTER @Afg;Complete 590SUBEND 600! 610SUB Errmsg 620 Errmsg: !Subprogram which displays E1445 programming errors 630COM @Afg,@Cmd_mod Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 150: Fsk Using An Arbitrary Waveform

    1!RE-STORE “FSK_ARB” 2!This program shifts the frequency of an arbitrary waveform 3!based on a control signal applied to the “FSK In” BNC connector. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 151 460OUTPUT @Afg;"SOUR:LIST1:SSEQ:SEL SIN_X_OUT"!select sequence 470OUTPUT @Afg;"SOUR:LIST1:SSEQ:DEF 1"!number of segments 480OUTPUT @Afg;"SOUR:LIST1:SSEQ:SEQ SIN_X"!segment order 490SUBEND 500! 510SUB Rst 520 Rst:!Subprogram which resets the E1445. 530COM @Afg 540OUTPUT @Afg;"*RST;*OPC?"!reset the AFG 550ENTER @Afg;Complete 560SUBEND 570! 580SUB Wf_del Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 152 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, FSK_ARB.FRM, is in directory “VBPROG” and the Visual C example program, FSK_ARB.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 153: Sweeping And Fsk Program Comments

    – HOLD – Suspends sample generation. – INTernal[1] – The [SOURce:]FREQuency[1] subsystem DDS frequency synthesis. – INTernal2 – The [SOURce:]FREQuency2 subsystem Divide-by-n frequency synthesis. – TTLTrg0 through 7 – The VXIbus TTL trigger lines. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 154: Afg Frequency Modes

    “undoubled” frequency allowed for a given waveform. The maximum undoubled frequencies for the various waveforms are given below. – Arbitrary Waveforms: The maximum undoubled frequency is the current reference oscillator frequency divided by 4. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 155: Sweep Count And Frequency List Repetition Count

    – “non-zero digit” is a single digit number which shows the number of digits contained in “digits”. For example, if the “digits” value is 100 or 2000, the “non-zero digit” value is 3 or 4, respectively. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 156: Frequency Points

    When the direction is down, sampling begins at the stop frequency and stops at the start frequency. You must stop (abort) sampling before changing direction. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 157: Sweep Time

    “Arming and Triggering”. Specifying a Sweep Time The sweep time (set by [SOURce:]SWEep:TIME) is the period from the generation of the first frequency in the sweep or list to the generation of Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 158 Rosc/(4*npts) = 42.94967296E6 / (4 * 1000) = 10.7374 kHz Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 159: Output Frequency And Sample Rate

    0.05 2.62 0.086 Amplitude = 5 Vpk, 10 MHz filter, frequency change =1%, Freq1 = 10.7 MHz, Freq2 = 0.99 * Freq1 Error in Volts Settling Time (ms) % Error dB Error Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 160: Fsk Control Sources

    0.0174 FSK Control Sources The frequency-shift keying control sources are: EXTernal – The Keysight E1445A AFG’s front panel “Stop Trig/FSK/Gate In” BNC connector (TTL levels). TTLTrg<n> – The VXIbus TTL trigger lines TTLTrg0 through TTLTrg7. Both the “FSK” BNC connector and the TTLTrg<n> trigger lines use TTL compatible signal levels.
  • Page 161: Driving The Ttltrg Trigger Lines

    Sweeping and Frequency-Shift Keying Driving the TTLTrg<n> Trigger Lines When driving the TTLTrg<n> trigger lines with the Keysight E1406A Command Module, note that the module uses negative-true logic. Thus, writing a logic ‘1’ to a trigger line sets the line to an electrically low level. This would select FSK frequency2.
  • Page 162 Sweeping and Frequency-Shift Keying Sweeping and FSK Program Comments Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 163: Arming And Triggering

    User Manual and SCPI Programming Guide Arming and Triggering Chapter Contents This chapter shows you how to arm and trigger the Keysight E1445A AFG in order to start and advance standard and arbitrary waveforms. The sections of this chapter include:...
  • Page 164: The Arm-Trig Configuration

    The ARM-TRIG Configuration Each standard and arbitrary waveform is a series of discrete amplitude points (digital-to-analog (DAC) codes). The Keysight E1445A AFG uses an ARM-TRIG triggering configuration to output these points. When initiated, an arm signal enables the AFG to output one amplitude point each time a trigger signal is received.
  • Page 165: Initiating Waveforms

    – – the slope of an external arm signal – – the number of arms per INITiate[:IMMediate] command – – the number of waveform cycles per arm The arming commands include: [:STARt | SEQuence[1]] [:LAYer[1]] Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 166: Setting Arming Sources

    The EXT_ARM program shows how to select the source which arms the AFG. The program selects the AFG’s “Start Arm In” BNC connector as the arming source. When an arming signal is received, a 10 kHz, 1 Vpp square wave is output. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 167 2!This program arms the AFG with an external signal applied to the 3!AFG Start Arm In port. When armed, a 10 kHz, 1 VPP square wave is 4!output 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg...
  • Page 168 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, EXT_ARM.FRM, is in directory “VBPROG” and the Visual C example program, EXT_ARM.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 169: Setting The Arm And Waveform Cycle Count

    4 Set the arm source ARM[:STARt]:LAYer2:SOURce <source> 5 Set the slope of the external arm signal ARM[:STARt]:LAYer2:SLOPe <edge> 6 Set the arm count ARM[:STARt]:LAYer2:COUNt <number> 7 Set the number of waveform cycles (burst count) ARM[:STARt][:LAYer[1]]:COUNt <number> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 170 4!wave is applied to the AFG’s “Start Arm In” BNC connector. The 5!AFG outputs a 5 cycle burst on each positive edge of the external 6!arm signal. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg...
  • Page 171 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, BURST.FRM, is in directory “VBPROG” and the Visual C example program, BURST.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 172: Triggering The Afg

    The trigger count (TRIGger[:STARt]:COUNt) is always equal to the number of amplitude points in the current waveform, multiplied by the number of waveform cycles. This value is not programmable (other than 9.91E37), but is included for SCPI compatibility purposes only. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 173: Using The Divide-By-N Frequency Generator

    The steps of this program are: 1 Select the 40 MHz reference oscillator [SOURce:]ROSCillator:SOURce <source> 2 Select the divide-by-N time base TRIGger[:STARt]:SOURce <source> 3 Set the output frequency [SOURce:]FREQuency2[:CW | :FIXed] <frequency> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 174 2!This program selects the 40 MHz reference oscillator and the 3!SOURce:FREQuency2 subsystem (divide-by-N frequency synthesis) to 4!generate an “exact” square wave frequency of 10 MHz. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 175 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, DIV_N.FRM, is in directory “VBPROG” and the Visual C example program, DIV_N.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 176: Lock-Stepping Multiple Afgs

    TRIGger[:STARt]:SOURce <source> 3 Set the frequency mode [SOURce:]FREQuency[1]:MODE <mode> 4 Set the output frequency of the master [SOURce:]FREQuency[1][:CW | :FIXed] <frequency> [SOURce:]FREQuency2[:CW | :FIXed] <frequency> 5 Set the output function [SOURce:]FUNCtion[:SHAPe] <shape> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 177 4!the slave AFG. Thus, changing the frequency of the master AFG 5!changes the frequency of the slave AFG simultaneously. 10!Assign I/O path between the computer and E1445A, dimension an array 20!variable for the sin(x)/x waveform amplitude points. 30ASSIGN @Afg_m TO 70910...
  • Page 178 610!Define the waveform segment and download the amplitude points. 620!Define the output waveform sequence. 630OUTPUT @Afg_m;"SOUR:LIST1:SEGM:SEL SIN_X"!select segment 640OUTPUT @Afg_m;"SOUR:LIST1:SEGM:DEF 4096"!reserve memory 650OUTPUT @Afg_m;"SOUR:LIST1:SEGM:VOLT";Waveform(*)!load points 660! 670OUTPUT @Afg_m;"SOUR:LIST1:SSEQ:SEL SINX_M"!select sequence 680OUTPUT @Afg_m;"SOUR:LIST1:SSEQ:DEF 1"!specify segments 690OUTPUT @Afg_m;"SOUR:LIST1:SSEQ:SEQ SIN_X"!segment order 700SUBEND 710! Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 179 1070 Wf_del: !Subprogram which deletes all sequences and segments. 1080COM @Afg_m,@Afg_s,Waveform(*) 1090OUTPUT @Afg_m;"FUNC:USER NONE"!select no sequences 1100OUTPUT @Afg_m;"LIST:SSEQ:DEL:ALL"!delete all sequences 1110OUTPUT @Afg_m;"LIST:SEGM:DEL:ALL"!delete all segments 1120! 1130OUTPUT @Afg_s;"FUNC:USER NONE"!select no sequences 1140OUTPUT @Afg_s;"LIST:SSEQ:DEL:ALL"!delete all sequences 1150OUTPUT @Afg_s;"LIST:SEGM:DEL:ALL"!delete all segments 1160SUBEND Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 180: Using Stop Triggers

    The Visual BASIC example program, LOCKSTEP.FRM, is in directory “VBPROG” and the Visual C example program, LOCKSTEP.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Using Stop Triggers The STOPTRIG program shows you how to use stop triggers to abort the remaining cycles of a cycle count (ARM[:STARt][:LAYer[1]]:COUNt).
  • Page 181 4!aborts the remaining cycles of the current burst. An arm signal 5!applied to the “Start Arm In” BNC re-arms the AFG which then 6!outputs the next burst. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg...
  • Page 182 !Subprogram which displays E1445 programming errors 480COM @Afg 490DIM Message$[256] 500!Read AFG status byte register and clear service request bit 510B=SPOLL(@Afg) 520!End of statement if error occurs among coupled commands 530OUTPUT @Afg;"" 540OUTPUT @Afg;"ABORT"!abort output waveform 550REPEAT Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 183: Gating Trigger Signals

    6 Set the output frequency [SOURce:]FREQuency[1][:CW | :FIXed] <frequency> 7 Set the output function [SOURce:]FUNCtion[:SHAPe] <shape> 8 Set the number of waveform points [SOURce:]RAMP:POINts <number> 9 Set the signal amplitude [SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude] <amplitude> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 184 4!is high, the gate is active and the output is suspended at the last 5!amplitude point triggered. When the signal is low, the gate is inactive 6!and the waveform resumes. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 185 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, GATE.FRM, is in directory “VBPROG” and the Visual C example program, GATE.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 186: Arming And Triggering Frequency Sweeps And Lists

    (i.e., .00125 S). For example, using the above calculated time: .1329 / .00125 = 106 points The SWP_TRIG program shows how to output a sweep using a user selected trigger mode. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 187 BASIC Program Example (SWP_TRIG) 1!RE-STORE"SWP_TRIG" 2!This program triggers a sweep using the Group Execute 3!Trigger command. The sweep is from 1 kHz to 1 MHz. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 80910. 30COM @Afg 50!Set up error checking...
  • Page 188 420DISP “Press ’Continue’ when ready to start a sweep” 430PAUSE 440TRIGGER @Afg!trigger AFG 450FOR I=1 TO 10 460DISP “Wait until sweep completes, then press ’Continue’ to start a new sweep” 470PAUSE 480TRIGGER @Afg !trigger AFG 490NEXT I 500DISP “” Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 189: Arming And Triggering A Frequency Sweep

    The Visual BASIC example program, SWP_TRIG.FRM, is in directory “VBPROG” and the Visual C example program, SWP_TRIG.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Arming and Triggering a Frequency Sweep The SWP_STEP program show you how to control the start and advancing of a frequency sweep.
  • Page 190 2!This program sets the AFG arm source and trigger source to 3!HOLD. The AFG is armed and advanced through the sweep points 4!using “arm immediate” and “trigger immediate” commands. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg,Pts...
  • Page 191 560OUTPUT @Afg;" *RST;*OPC?!reset the AFG 570ENTER @Afg;Complete 580SUBEND 590! 600SUB Errmsg 610 Errmsg: !Subprogram which displays E1445 programming errors 620COM @Afg,Pts 630DIM Message$[256] 640!Read AFG status byte register and clear service request bit 650B=SPOLL(@Afg) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 192: Arming And Triggering A Frequency List

    The Visual BASIC example program, SWP_STEP.FRM, is in directory “VBPROG” and the Visual C example program, SWP_STEP.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Arming and Triggering a Frequency List Frequency lists are started and advanced using the same arming and triggering commands used for sweeps.
  • Page 193 BASIC Program Example (LIST_STP) 1!RE-STORE"LIST_STP" 2!The following program configures the AFG to step through a 3!frequency list when an GPIB group execute trigger is received. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg,Pts 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 194 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, LIST_STP.FRM, is in directory “VBPROG” and the Visual C example program, LIST_STP.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 195: Aborting Waveforms

    The command which aborts a waveform is: ABORt Using ABORt, Stop Triggers, or Gating Figure 5-4 compares the effects of aborting a waveform, or using stop triggers or gating to stop or suspend the output. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 196 Arming and Triggering Aborting Waveforms Figure 5-4 Effects of ABORt, Stop Triggers, and Gating Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 197: Arming And Triggering Program Comments

    – INTernal2 (the [SOURce:]FREQuency2 subsystem Divide-by-n frequency synthesis) – TTLTrg0 through 7 (the VXIbus TTL trigger lines) In programs where the time base (trigger source) is not specified, the default DDS time base ([SOURce:]FREQuency[1]) is used. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 198: Divide-By-N Frequency Synthesis

    – BUS – The GPIB Group Execute Trigger (GET) command or the IEEE-488.2 *TRG common command. – ECLTrg0 and ECLTrg1 – The VXIbus ECL trigger lines. – EXTernal – The Keysight E1445A’s front panel “Start Arm In” BNC connector (TTL levels). Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 199: Afg Arm Count

    BNC connector. The edge of the signal on which the AFG is triggered is set with the TRIGger:STOP:SLOPe command. The edges are: – POSitive – Selects the rising edge of the signal. – NEGative – Selects the falling edge of the signal. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 200: Afg Gating Sources

    The source which gates the triggers is specified with the TRIGger[:STARt]:GATE:SOURce command. The available sources are: – EXTernal – The Keysight E1445A’s front panel “Stop Trig/FSK/Gate In” BNC connector (default source). This BNC is driven by TTL levels. – TTLTrg0 through TTLTrg7 – The VXIbus TTL trigger lines.
  • Page 201: Frequency Sweep/List Advance Trigger

    HOLD, the starting frequency is output when the AFG is set to the wait-for-arm state (INITiate[:IMMediate]). Once the sweep or frequency list arm is received ARM:SWEep[:IMMediate], the sweep or list can be advanced when a sweep or list advance trigger (TRIGger:SWEep:IMMediate) is received. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 202 Arming and Triggering Arming and Triggering Program Comments Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 203: Marker Outputs/Multiple Afg Operations

    Keysight E1445A Arbitrary Function Generator Module User Manual and SCPI Programming Guide Marker Outputs/Multiple AFG Operations Chapter Contents This chapter shows how to generate the different signals at the front panel’s “Marker Out” BNC and how to select the ECL trigger lines. Use these signals and trigger lines to synchronize multiple AFGs, generate trigger pulses, etc.
  • Page 204: Marker Pulse Enable Flowchart

    “Marker Out” BNC and the ECL trigger lines. Remove the flowchart from the binder for easy accessibility. Refer to the flowchart while doing the examples in this chapter, if desired. Figure 6-1 Commands for Marker Pulses Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 205: Available Marker Sources

    This shows that the new phase was reached. [SOURce:]ROSCillator The source outputs the reference oscillator selected by [SOURce:]ROSCillator:SOURce. TRIGger[:STARt|:SEQuence[1]] The source outputs a nominal 12 nS marker pulse for each point of a waveform segment. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 206: Arbitrary Generated Marker Pulses

    Generating Multiple Marker Pulses in Multiple Segment Lists The MARKSEG1 program shows how to generate marker pulses using [SOURce:]LIST[1][:SEGMent]:MARKer and [SOURce:]LIST[1]:SSEQuence:MARKer. The program generates a sine wave and Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 207 (Although *RST automatically enables the AFG for marker outputs, it is given here for good programming practice.) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 208 4!wave. The program sets the output sequence to consist of both 5!waveforms, and enables marker pulses to be output with selected 6!triangle waveform amplitude points. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 209 490 SUB Tri_wave 500 Tri_wave:!Subprogram which computes a triangle wave and marker list. 510 COM @Afg 520 DIM Waveform(1:512),Marker_list(1:512) 530 FOR I=1 TO 256 !Calculate triangle wave 540 Waveform(I)=I*.0195313 550 NEXT I Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 210 910 Wf_del: !Subprogram which deletes all sequences and segments. 920COM @Afg 930OUTPUT @Afg;"FUNC:USER NONE"!select no sequences 940OUTPUT @Afg;"LIST:SSEQ:DEL:ALL"!Clear sequence memory 950OUTPUT @Afg;"LIST:SEGM:DEL:ALL"!Clear segment memory 960SUBEND 970! 980SUB Errmsg 990 Errmsg:!Subprogram which displays E1445 programming errors 1000COM @Afg,Seg_mem$,Seq_mem$ Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 211: Generating Single Marker Pulses In Single Waveform Segments

    The Visual BASIC example program, MARKSEG1.FRM, is in directory “VBPROG” and the Visual C example program, MARKSEG1.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Generating Single Marker Pulses in Single Waveform Segments The MARKSEG2 program shows how to generate marker pulses using [SOURce:]LIST[1][:SEGMent]:MARKer:SPOint and [SOURce:]LIST[1]:SSEQuence:MARKer:SPOint.
  • Page 212 530DIM Waveform(1:512) 540FOR I=1 TO 256!Calculate triangle wave 550Waveform(I)=I*.0195313 560NEXT I 570FOR I=257 TO 512 580Waveform(I)=(512-I)*.0195313 590NEXT I 600! 610!Load waveform points and specify a single marker pulse 620OUTPUT @Afg;"SOUR:LIST1:SEGM:SEL TRI"!segment name Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 213 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, MARKSEG2.FRM, is in directory “VBPROG” and the Visual C example program, MARKSEG2.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 214: Generating Marker Pulses For Each Waveform Point

    (See “Available Marker Sources” for the different sources.) 5 Select the Marker Polarity [SOURce:]MARKer:POLarity <polarity> NORMal <polarity> selects active high marker pulses; INVerted selects active low marker pulses. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 215 BASIC Program Example (MARKTRG) 1!RE-STORE“MARKTRG” 2!This program computes a ramp wave as an arbitrary waveform, and 3!outputs a marker pulse with each waveform amplitude point. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Set up error checking 60ON INTR 7 CALL Errmsg 70ENABLE INTR 7;2...
  • Page 216 !Subprogram which deletes all sequences and segments. 600COM @Afg 610OUTPUT @Afg;"FUNC:USER NONE"!select no sequences 620OUTPUT @Afg;"LIST:SSEQ:DEL:ALL"!Clear sequence memory 630OUTPUT @Afg;"LIST:SEGM:DEL:ALL"!Clear segment memory 640SUBEND 650! 660SUB Errmsg 670 Errmsg: !Subprogram which displays E1445 programming errors Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 217 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, MARKTRG.FRM, is in directory “VBPROG” and the Visual C example program, MARKTRG.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 218: Operating Multiple Afgs Together

    4 Enable the ECLTrg0 Line [SOURce:]MARKer:ECLTrg0[:STATe] ON This enables the marker output on the ECLTrg0 trigger line. (Although *RST automatically enables the AFG for marker outputs, it is given here for good programming practice.) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 219 6!output on VXI backplane trigger line ECLT0. 10!Assign I/O paths between the computer and the AFGs. 20ASSIGN @Afg_m TO 70910!master AFG 30ASSIGN @Afg_s TO 70911!servant AFG 40COM @Afg_m,@Afg_s 60!Set up error checking Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 220 440OUTPUT @Afg_m;"SOUR:MARK:ECLT1:FEED "ARM:STAR:LAY2"" !feed arm source 450OUTPUT @Afg_m;"SOUR:MARK:ECLT1:STAT ON"!enable ECLT1 trig line 460SUBEND 470! 480SUB Square_wave_s 490 Square_wave_s:!Subprogram which sets up servant AFG: square wave 500!in phase with master AFG, reference oscillator source Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 221 830!End of statement if error occurs among coupled commands 840OUTPUT @Afg_m;"" 850OUTPUT @Afg_m;"ABORT"!abort output waveform 860PRINT "Master AFG" 870PRINT 880REPEAT 890OUTPUT @Afg_m;"SYST:ERR?"!read AFG error queue 900ENTER @Afg_m;Code,Message$ 910PRINT Code,Message$ 920UNTIL Code=0 930STOP 940ELSE!servant error 950B=SPOLL(@Afg_s) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 222 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, DRIFT.FRM, is in directory “VBPROG” and the Visual C example program, DRIFT.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 223: Marker Program Comments

    Determining the Number of Marker Points of a Segment Sequence Use [SOURce:]LIST[1]:SSEQuence:MARKer:POINts? to determine the length of the marker pulse list selected by [SOURce:]LIST[1]:SSEQuence:MARKer. The command returns the marker list size of the currently selected segment sequence. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 224 Marker Outputs/Multiple AFG Operations Marker Program Comments Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 225: Chapter Contents

    User Manual and SCPI Programming Guide High Speed Operation Chapter Contents This chapter explains how to use the Keysight E1445A Arbitrary Function Generator at faster speeds and other operations. Chapter 3 shows how to transfer waveform segments and segment sequences to the AFG as voltage values and ASCII data, respectively.
  • Page 226: High Speed Operation

    Segment DAC Codes as Block Data [SOURce:]LIST[1][:SEGMent]:VOLTage:DAC Segment Combined List as Block Data [SOURce:]LIST[1][:SEGMent]:COMBined Segment/Sequence Combined List as [SOURce:]LIST[1][:SEGMent]:COMBined/ Block Data [SOURce:]LIST[1]:SSEQuence:COMBined *The time saving percentages are referenced to the speed of the Segment Voltage List method Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 227: Using Signed Data To Generate Waveforms

    Signed DAC number format. The data is transferred to the AFG as a comma (“,”) separated list. The example generates a 200 point -5 V to +5 V positive going ramp. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 228 2!This program downloads arbitrary waveform data as signed 3!(2’s complement) DAC codes. The waveform defined is a 200 point, 4!-5V to +5V ramp wave. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 229 410 OUTPUT @Afg;"SOUR:LIST1:SEGM:SEL RAMP" !segment name 420 OUTPUT @Afg;" SOUR:LIST1:SEGM:DEF 200" !segment size 430OUTPUT @Afg;" SOUR:LIST1:SEGM:VOLT:DAC ";Waveform(*)!waveform pts 440! 450OUTPUT @Afg;"SOUR:LIST1:SSEQ:SEL RAMP_OUT"!sequence name 460OUTPUT @Afg;" SOUR:LIST1:SSEQ:DEF 1"!sequence size 470OUTPUT @Afg;" SOUR:LIST1:SSEQ:SEQ RAMP"!segment order Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 230 These programs are very similar to the example programs used in Chapter 3. The only difference is that this program transfers the segment data as DAC codes in the Signed number format instead of voltage values. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 231: Using Unsigned Data To Generate Waveforms

    Unsigned number format. The data is transferred to the AFG as a comma (“,”) separated list. The example generates a 200 point +5 V to -5 V negative going ramp. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 232 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, UNS_DAT.FRM, is in directory “VBPROG” and the Visual C example program, UNS_DAT.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 233 These program is very similar to the example programs used in Chapter 3. The only difference is that this program transfers the segment data as DAC codes in the Unsigned number format instead of voltage values. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 234: Using Definite Length Arbitrary Blocks To Transfer Data

    16-bit integer must be sent as 2 8-bit values for each 16-bit integer. For example, to send a waveform segment consisting of 1000 DAC codes (1000 points), the actual number of “digits” and “8-bit data bytes” equals: 1000 * 2 = 2000 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 235 3!(2’s complement) DAC codes. The data is sent in an IEEE-488.2 4!definite length block in 16-bit integer format. The waveform is 5!a 200 point, -5V to +5V ramp wave. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30ASSIGN @Afg1 TO 70910.;FORMAT OFF!path for binary data...
  • Page 236 !Subprogram which deletes all sequences and segments. 620COM @Afg,Afg1 630OUTPUT @Afg;"FUNC:USER NONE"!select no sequences 640OUTPUT @Afg;"LIST:SSEQ:DEL:ALL"!Clear sequence memory 650OUTPUT @Afg;"LIST:SEGM:DEL:ALL"!Clear segment memory 660SUBEND 670! 680SUB Errmsg 690 Errmsg: !Subprogram which displays E1445 programming errors 700COM @Afg,Afg1 710DIM Message$[256] Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 237 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, DACBLOK1.FRM, is in directory “VBPROG” and the Visual C example program, DACBLOK1.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 238: Using Indefinite Length Arbitrary Blocks To Transfer Data

    16-bit integer must be sent as 2 8-bit values for each 16-bit integer. For example, to send a waveform segment consisting of 1000 DAC codes (1000 points), the actual number of “digits” and “8-bit data bytes” equals: 1000 * 2 = 2000 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 239 3!DAC codes. The data is sent in an IEEE-488.2 indefinite length 4!block in 16-bit integer format. The waveform is a 200 point, 5!+5V to -5V ramp wave. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30ASSIGN @Afg1 TO 70910.;FORMAT OFF!path for binary data...
  • Page 240 !Subprogram which deletes all sequences and segments. 620COM @Afg,Afg1 630OUTPUT @Afg;"FUNC:USER NONE"!select no sequences 640OUTPUT @Afg;"LIST:SSEQ:DEL:ALL"!Clear sequence memory 650OUTPUT @Afg;"LIST:SEGM:DEL:ALL"!Clear segment memory 660SUBEND 670! 680SUB Errmsg 690 Errmsg: !Subprogram which displays E1445 programming errors Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 241 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, DACBLOK2.FRM, is in directory “VBPROG” and the Visual C example program, DACBLOK2.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 242: Using Combined Signed Data

    Using the Combined List with the Signed Number Format This section shows how to setup the AFG to receive a combined list in the Signed number format and how to generate the list from voltage values. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 243 Definite Length Arbitrary Block Data method. The example generates a 200 point -5 V to +5 V positive going ramp. A marker is output at the zero crossing (or center) of the ramp. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 244 3!(voltage and marker) list of signed (2’s complement) DAC codes. 4!The data is sent in an IEEE-488.2 definite length block in 16-bit 5!integer format. The waveform is a 200 point, -5V to +5V ramp wave. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 245 Using Combined Signed Data High Speed Operation 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30ASSIGN @Afg1 TO 70910;FORMAT OFF!path for binary data 40COM @Afg,@Afg1 60!Set up error checking 70ON INTR 7 CALL Errmsg 80ENABLE INTR 7;2 90OUTPUT @Afg;"*CLS"...
  • Page 246 800!Read AFG status byte register and clear service request bit 810B=SPOLL(@Afg) 820!End of statement if error occurs among coupled commands 830OUTPUT @Afg;"" 840OUTPUT @Afg;"ABORT"!abort output waveform 850REPEAT 860OUTPUT @Afg;"SYST:ERR?"!read AFG error queue 870ENTER @Afg;Code,Message$ 880PRINT Code,Message$ 890UNTIL Code=0 900STOP Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 247 The Visual BASIC example program, COMBSIGN.FRM, is in directory “VBPROG” and the Visual C example program, COMBSIGN.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. This program sends the combined list using Signed data as Definite Length Arbitrary Block Data.
  • Page 248: Using Combined Unsigned Data

    DAC Code = ((voltage value / .00125) shift left by 3) + 32768 For example, to output -2V: DAC Code = ((-2 / .00125) shift left by 3) + 32768 = -12800 + 32768 = 19968 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 249 This command selects the UNSigned data number format. 8 Store the Waveform Segment as Combined Signed DAC Data [SOURce:]LIST[1][:SEGMent]:COMBined <combined_list> This command stores the waveform segment into segment memory in the Unsigned format set by the [SOURce:]ARBitrary:DAC:FORMat UNSigned command. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 250 4!in an IEEE-488.2 indefinite length block in 16-bit integer format. 5!The waveform is a 200 point, +5V to -5V ramp wave. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30ASSIGN @Afg1 TO 70910;FORMAT OFF!path for binary data...
  • Page 251 650! 660SUB Rst 670 Rst:!Subprogram which resets the E1445. 680COM @Afg,Afg1 690OUTPUT @Afg;"*RST;*OPC?"!reset the AFG 700ENTER @Afg;Complete 710SUBEND 720! 730SUB Wf_del 740 Wf_del: !Subprogram which deletes all sequences and segments. 750COM @Afg,Afg1 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 252 The Visual BASIC example program, COMBUNS.FRM, is in directory “VBPROG” and the Visual C example program, COMBUNS.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. This program sends the combined list using Unsigned data as Indefinite Length Arbitrary Block Data.
  • Page 253: Using Combined Waveform Segments And Segment Sequences

    32-Bit Combined List that defines the segment lists to be executed, enables the marker, and defines the repetition count for the segment lists. Figure 7-2 Combined Sequence List Format Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 254: Selecting The Waveform Segments

    Indefinite Length Arbitrary Block Data in the Unsigned number format. The example generates two 5 V sine waves and a single 0 V to +5 V triangle wave. A marker is output at the center of the triangle. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 255 [SOURce:]ARBitrary:DAC:FORMat command. The data is sent as Definite Length Arbitrary Block Data (can also be sent as Indefinite Length Arbitrary Block Data). 8 Setup the Second Waveform Segment [SOURce:]LIST[1][:SEGMent]:SELect <name> [SOURce:]LIST[1][:SEGMent]:DEFine <length> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 256 Sending the Combined Segment Lists is similar to the other BASIC programs in this chapter. However, since BASIC does not support 32-Bit Integer variables, sending a Combined Segment Sequence List is done differently. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 257 5!output sequence is a combined list (repetition count, marker, and 6!waveform segment address) downloaded in an indefinite length 7!arbitrary block. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 70910 30ASSIGN @Afg1 TO 70910;FORMAT OFF!path for binary (block) data...
  • Page 258 450! 460OUTPUT @Afg;"SOUR:LIST1:SEGM:SEL M1"!segment name 470OUTPUT @Afg;" SOUR:LIST1:SEGM:DEF 2048"!segment size 480OUTPUT @Afg USING "#,K";"SOUR:LIST1:SEGM:COMB #44096" 490 OUTPUT @Afg1;Waveform(*) !4096 bytes: 4 digits (2 bytes/ampl point) 500 OUTPUT @Afg !CR LF 510 SUBEND Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 259 920ENTER @Afg;Addrm1 930Addrm1=Addrm1/4! /4 to set starting address (boundary) of segment 940! 950!Sequence (1,1) is the repetition count and marker enable for 960!segment M1. Sequence (1,2) is the starting address of segment M1. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 260 1330 Errmsg:!Subprogram which displays E1445 programming errors 1340COM @Afg,Afg1 1350DIM Message$[256] 1360!Read AFG status byte register and clear service request bit 1370B=SPOLL(@Afg) 1380!End of statement if error occurs among coupled commands 1390OUTPUT @Afg;"" 1400OUTPUT @Afg;"ABORT"!abort output waveform 1410REPEAT Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 261 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, COMBSEQ.FRM, is in directory “VBPROG” and the Visual C example program, COMBSEQ.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 262: Using The Vxibus Backplane

    – Store the list either as Signed or Unsigned Combined Segment Lists into memory. Use either Definite Length or Indefinite Length Arbitrary Block Data to store the data. The list uses a 16-bit word for each point of the waveform segment. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 263: Combined Segment Sequence List Format

    Download the word with the least significant bit into the AFG’s Sequence Register with a 36 decimal (24 hex) offset in the AFG’s A24 address space (see Appendix C for information on registers). Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 264 This commands prevents the AFG from receiving data over the VXIbus until it executes all the previous commands. If *OPC? is not sent, the AFG will try to receive data, and thus generate an error, even before it completes executing the previous commands. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 265 15 Notify the AFG that Downloading is Completed [SOURce:]ARBitrary:DOWNload:COMPlete Send this command to the AFG after all data is downloaded. 16 Select the First Waveform Segment and Return its Address [SOURce:]LIST[1][:SEGMent]:SELect <name> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 266 The command or downloading method used depends on the device that downloads the data. For example, the device may be an embedded controller. (You can also use the command Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 267 4!AFG’s high-speed data register, and loads sequence memory by 5!writing to the Sequence register. The program is written for a 6!Keysight E1480 V/360 embedded controller, which allows direct access 7!the registers via the VXIbus. 10!Assign I/O path between the computer and E1445A.
  • Page 268 580!Download the waveform segment to segment memory using WRITEIO and 590!the AFG’s high-speed data register. The register’s address is 600!located in A24 address space. 610FOR I=1 TO 2048 620WRITEIO -16,Base_addr+IVAL("26",16);Waveform(I) 630NEXT I 640OUTPUT @Afg;"SOUR:ARB:DOWN:COMP"!disable downloading 650SUBEND 660! 670SUB Tri_wave Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 269 1030FOR I=1 TO 2048 1040WRITEIO -16,Base_addr+IVAL("26",16);Waveform(I) 1050NEXT I 1060OUTPUT @Afg;"SOUR:ARB:DOWN:COMP"!disable downloading 1070SUBEND 1080! 1090SUB Seq_list 1100 Seq_list:!This subprogram downloads the sequence list (repetition 1110!count, marker, segment address) to sequence memory over 1120!the VXIbus. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 270 1460!located in A24 address space. 1470WRITEIO -16,Base_addr+IVAL("22",16);Sequence(1,1)!16 MS Bits 1480WRITEIO -16,Base_addr+IVAL("24",16);Sequence(1,2)!16 LS Bits 1490WRITEIO -16,Base_addr+IVAL("22",16);Sequence(2,1)!16 MS Bits 1500WRITEIO -16,Base_addr+IVAL("24",16);Sequence(2,2)!16 LS Bits 1510OUTPUT @Afg;"SOUR:ARB:DOWN:COMP"!disable downloading 1520SUBEND 1530! 1540SUB A24_offset 1550 A24_offset:!Subprogram which determines the base address for Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 271 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, VXIDOWN.FRM, is in directory “VBPROG” and the Visual C example program, VXIDOWN.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 272: Downloading Data Directly Into The Dac

    However, the command module is only used to demonstrate the downloading method for those programs. A better method is to use an embedded controller. If you wish to use the Keysight E1406A Command Module to download data, use the method described in “Using Combined Waveform Segments and Segment Sequences”.
  • Page 273 1!RE-STORE"VXISRCE" 2!This program uses the V/360 embedded controller to send waveform 3!data directly to the AFG dac over the VXIbus backplane. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 1680 30COM @Afg,Addr 50!Call the subprograms which reset the AFG and determine the base 60!address of the registers in A24 address space.
  • Page 274 540!VXIbus and High Speed Data register. 550LOOP 560FOR I=1 TO 128 570WRITEIO -16,Addr;Waveform(I) 580NEXT I 590END LOOP 600SUBEND 610! 620SUB Rst 630 Rst:!Subprogram which resets the E1445. 640COM @Afg,Addr 650OUTPUT @Afg;"*RST;*OPC?"!reset the AFG 660ENTER @Afg;Complete 670SUBEND Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 275 Visual C example program, VXISRCE.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. The above example programs use the Keysight E1406A Command Module to download the data to the DAC. However, the command module is only used to demonstrate the downloading method for those programs.
  • Page 276: Using The Front Panel's "Digital Port In" Connector

    70COM @Cmd,@Afg,@Afg1,Base_addr,Seq1_addr,Seq2_addr,Seq3_addr 90!Subprograms which reset the AFG and erase all existing waveforms. 100CALL Rst 110CALL Wf_del 120! 130!SCPI commands which configure the AFG 140OUTPUT @Afg;"SOUR:FREQ1:FIX 4.096E6;";!Sample rate 150OUTPUT @Afg;":SOUR:FUNC:SHAP USER;";!function 160OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL 2.1V"!amplitude Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 277 540ENTER @Cmd;Offset!AFG A24 base address 550Base_addr=Offset*256!shift offset for 24-bit address 560SUBEND 570! 580SUB Build_ram 590 Build_ram: !This subprogram configures the AFG’s sequence base memory 600!such that there are valid sequence base addresses in memory Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 278 950!combined list (repetition count, marker, and segment address) 960!in an indefinite length arbitrary block. 970COM @Cmd,@Afg,@Afg1,Base_addr,Seq1_addr,Seq2_addr,Seq3_addr 980INTEGER Waveform(1:4096) 990INTEGER Sequence(1:2) 1000REAL Addr_seg1 1010FOR I=-2047 TO 2048 1020IF I=0 THEN I=1.E-38 1030 Waveform(I+2048)=((SIN(2*PI*.53125*I/256))/(.53125*I/256)*.159154943092)/.001 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 279 1360!in an indefinite length block. Download the sequence as a 1370!combined list (repetition count, marker, and segment address) 1380!in an indefinite length arbitrary block. 1390COM @Cmd,@Afg,@Afg1,Base_addr,Seq1_addr,Seq2_addr,Seq3_addr 1400INTEGER Waveform(1:4096) 1410INTEGER Sequence(1:2) 1420REAL Addr_seg2 1430A=4/4096 1440W=(2*PI)/50 1450FOR T=1 TO 4096 1460Waveform(T)=EXP(-A*T)*SIN(W*T)/.00125 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 280 1790!numbers in an indefinite length block. Download the sequence as 1800!a combined list (repetition count, marker, and segment address) 1810!in an indefinite length arbitrary block. 1820COM @Cmd,@Afg,@Afg1,Base_addr,Seq1_addr,Seq2_addr,Seq3_addr 1830INTEGER Waveform(1:4096) 1840INTEGER Sequence(1:2) 1850REAL Addr_seg3 1860FOR I=1 TO 4096 1870Waveform(I)=SIN(2*PI*(I/4096))/.00125 1880NEXT I Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 281 2220OUTPUT @Afg1;Sequence(*)!sequence list in indefinite length block 2230OUTPUT @Afg;CHR$(10);END!terminate with Line Feed (LF) and EOI 2240! 2250OUTPUT @Afg;"SOUR:LIST1:SSEQ:ADDR?"!sequence location 2260ENTER @Afg;Seq3_addr 2270SUBEND 2280! 2290SUB Rst 2300 Rst: !Subprogram which resets the E1445. 2310COM @Cmd,@Afg,@Afg1,Base_addr,Seq1_addr,Seq2_addr,Seq3_addr Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 282 Visual BASIC and Visual C/C++ Program Versions The Visual BASIC example program, WAVSELFP.FRM, is in directory “VBPROG” and the Visual C example program, WAVSELFP.C, is in directory “VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 283: Digital Port In" Connector Pinout

    Using the Front Panel’s “Digital Port In” Connector High Speed Operation Digital Port In” Connector Pinout Figure 7-6 shows a pinout of the “Digital Port In” connector. Figure 7-6 E1445A “Digital Port In” Connector Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 284: Using The "Digital Port In" Connector To Select A Sequence

    (ts). The minimum FPPACE* pulse width (tp) is 20 nS; its width depends on the selected sample rate. To change the sequence, the sequence base memory must be loaded. See the “WAVSELFP” example program to determine how to load the memory with the sequences. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 285: Using The "Digital Port In" Connector To Download Data

    The timing relationship between FPCLK* and FPDDxx is as shown in Figure 7-7, except without the FPPACE* line. The data format is the same that is used to download segment data using the [SOURce:]ARBitrary:DOWNload command. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 286: High Speed Operation Program Comments

    Determining the Size of the Combined Segment Sequence List Use [SOURce:]LIST[1]:SSEQuence:COMBined:POINts? to determine the size of the number of waveform segments, marker pulse enable lists, and repetition count lists of the currently selected segment sequence. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 287: Command Reference

    User Manual and SCPI Programming Guide Command Reference Chapter Contents This chapter describes the Standard Commands for Programmable Instruments (SCPI) command set and the IEEE 488.2 Common Commands for the Keysight E1445A Arbitrary Function Generator (AFG). This chapter includes: Command Types page 290...
  • Page 288: Command Types

    [no query] :LINK <link> :SOURce <source> ARM is the root keyword of the command, :STARt|:SEQuence1 and :SWEep| :SEQuence3 are second level keywords, :LAYer1 and :LAYer2 are third level keywords, and so on. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 289: Command Separator

    Some commands will have what appears to be a variable syntax. For example: [SOURce:]MARKer:ECLTrg<n>[:STATe] <mode> In this command, <n> is replaced by a number. No space is left between the keyword (ECLTrg) and the number because the number is part of the keyword. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 290: Scpi Command Parameters

    2. That the following data block will be terminated upon receipt of a New Line message with the EOI signal true (indefinite length block). The syntax for data in the blocks is as follows: Definite length block: #<non-zero digit><digit(s)><data byte(s)> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 291: Optional Parameters

    The MINimum or MAXimum value of a parameter is determined as follows: SOUR:FREQ1:FIX? MIN SOUR:FREQ1:FIX? MAX The minimum and maximum values returned are based on the settings of other AFG commands at that time. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 292: Scpi Command Execution

    Linking IEEE 488.2 Common Commands. Use a semicolon between the commands. For example: *RST;*CLS;*OPC? Linking Multiple SCPI Commands. Use both a semicolon and a colon between the commands. For example: SOUR:ROSC:SOUR INT1;:TRIG:STAR:SOUR INT1 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 293: Command Choices

    Some commands are listed as two commands separated with a vertical bar (“ |” ). This means that either command name can be used. For example, use either :CW or :FIXed when :CW|:FIXed is shown. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 294: Scpi Command Reference

    SCPI Command Reference SCPI Command Reference This section describes the SCPI commands for the Keysight E1445A Arbitrary Function Generator. Commands are listed alphabetically by subsystem and also within each subsystem. A command guide is printed in the top margin of each page.
  • Page 295: Abort

    – Executable when Initiated: Yes – Coupling Group: None – Related Commands: *OPC, *OPC?, *WAI, INITiate:IMMediate – *RST Condition: *RST places the Keysight E1445A in the trigger idle state, as if executing an ABORt command. Example Aborting a Waveform ABOR Places Keysight E1445A in idle state.
  • Page 296: Arm

    – The number of repetitions of a waveform that will be output for each start arm accepted. – The number of sweep arms the Keysight E1445A will accept before the sweep system returns to the idle state. – The source and slope for arming (starting) a frequency sweep or list generation.
  • Page 297: [:Start]:Layer2:Count

    Setting Waveform Repetitions per Arm ARM:COUN 10Sets 10 repetitions/arm. [:STARt]:LAYer2:COUNt ARM[:STARt]:LAYer2:COUNt <number> specifies the number of waveform start arms the Keysight E1445A will accept after an INITiate:IMMediate command before returning the trigger system to the idle state. Parameters Parameter Name...
  • Page 298: [:Start]:Layer2[:Immediate]

    [:STARt]:LAYer2:SLOPe ARM[:STARt]:LAYer2:SLOPe <edge> selects the edge (rising or falling) on the Keysight E1445A’s front panel “ Start Arm In” BNC which starts waveform generation. This edge is significant only with ARM[:STARt]:LAYer2:SOURce set to EXTernal. The programmed value is retained but not used when other sources selected.
  • Page 299: [:Start]:Layer2:Source

    BUS – The Group Execute Trigger (GET) GPIB command or the IEEE-488.2 *TRG common command. ECLTrg0 and ECLTrg1 – The VXIbus ECL trigger lines. EXTernal – The Keysight E1445A’s front panel “ Start Arm In” BNC connector. HOLD – Suspend arming. Use the ARM[:STARt]:LAYer2[:IMMediate] command to start the waveform.
  • Page 300: Example

    :SWEep:COUNt ARM:SWEep:COUNt <number> specifies the number of sweep arms the Keysight E1445A will accept after an INITiate:IMMediate command before the sweep trigger sequence returns to the idle state. This command is equivalent to the [SOURce:]SWEep:COUNt command; either command may be used, and executing either one changes the value of the other.
  • Page 301: Sweep:link

    Range of Values Default Units <link> string “ARM[:STARt | :SEQuence1]:LAYer2” none Comments – Executable when Initiated: Yes – Coupling Group: None – Related Commands: ARM:SWEep:SOURce – *RST Condition: ARM:SWEep:LINK “ ARM[:STARt | :SEQuence[1]]:LAYer2” Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 302: Sweep:source

    – If ARM:SWEep:SOURce is set to TTLTrg<n> and you want to set TRIGger:SWEep:SOURce to TTLTrg<n>, both must be set to the same trigger line <n>. – Executable when Initiated: Query form only – Coupling Group: Frequency – Related Commands: ARM[:STARt]:LAYer2:SOURce Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 303 Command Reference – *RST Condition: ARM:SWEep:SOURce IMMediate Example Setting the Sweep Arm Source ARM:SWE:SOUR TTLT1 Selects VXIbus trigger line TTLTRG1* as sweep arm source. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 304: Calibration

    Keysight E1445A calibration. Comments – The Keysight E1445A was calibrated before it left the factory. Before using, read the calibration count to determine its initial value. – The Keysight E1445A stores the calibration number in its non-volatile calibration memory which remains intact even with power off.
  • Page 305: Data:ac[1]

    The query form returns this portion of the calibration constants in IEEE-488.2 definite block data format. Both forms require that calibration security have been previously disabled. See the Keysight E1445 Service Manual for detailed information on the use of this command.
  • Page 306: Data[:Dc]

    [:DC]:BEGin CALibration[:DC]:BEGin starts the DC calibration procedure for the Keysight E1445A. It sets the Keysight E1445A up for the first of the 44 measurements in the procedure. Calibration security must have been previously disabled. See the Keysight E1445A Service Manual for detailed information on the use of this command.
  • Page 307: [:Dc]:Point

    The *RST command should be sent after completing the calibration procedure to restore normal operation. Calibration security must have been previously disabled. See the Keysight E1445A Service Manual for detailed information on the use of this command. Comments – Most of the Keysight E1445A’s commands cannot be executed while calibration is in progress.
  • Page 308: Secure:code

    +1002,"Calibration security enabled". Disabling calibration security requires knowledge of the previous security code. – Before shipping, the factory sets the calibration security code to “ E1445A” . You should change it before you use your Keysight E1445A to prevent unauthorized calibration. Record the new security code and store it in a secure place.
  • Page 309: Secure[:State]

    Error -109,"Missing parameter". The value supplied must match the currently programmed security code or Error -224,"Illegal parameter value" will be generated. The Keysight E1445A will then wait 1 second before executing any subsequent commands. – To enable security, the <code> parameter is not not required, but is checked if it is present.
  • Page 310: State

    Range of Values Default Units <state> boolean OFF | 0 | ON | 1 none Comments – Executable when Initiated: Yes – Coupling Group: None – Related Commands: CALibration:STATe – *RST Condition: CALibration:STATe:AC ON Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 311: State:dc

    OFF | 0 | ON | 1 none Comments – Executable when Initiated: Yes – Coupling Group: None – Related Commands: CALibration:STATe – *RST Condition: CALibration:STATe:DC ON Example Disabling DC Calibration Corrections CAL:STAT:DC OFF Disables DC corrections. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 312: Initiate

    INITiate INITiate The INITiate subsystem initiates the trigger subsystem and prepares the Keysight E1445A for waveform generation. Once initiated, a start arm received from the programmed arm source (TRIGger:STARt:SOURce command) starts the waveform output. For frequency sweeping, the initial sample or waveform frequency is the STARt frequency when [SOURce:]FREQuency[1]:MODE SWEep is set, or the first frequency in the frequency list when [SOURce:]FREQuency[1]:MODE LIST is set.
  • Page 313 – Related Commands: *OPC, *OPC?, *RST, *WAI, ABORt, ARM subsystem, STATus:OPC:INITiate, TRIGger subsystem – *RST Condition: The trigger system is in the idle state. Example Initiating Waveform Generation INIT Initiates waveform generation. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 314: Output[1]

    OUTPut[1]:FILTer[:LPASs][:STATe] command to enable or disable the output filter. – Executable when Initiated: Yes – Coupling Group: None – Related Commands: OUTPut[1]:FILTer[:LPASs][:STATe] – *RST Condition: OUTPut1:FILTer:LPASs:FREQuency 250 KHZ Example Setting the Low-pass Filter to 10 MHz Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 315: Filter[:Lpass][:State]

    50 | 75 | MINimum | MAXimum Ohms MINimum selects 50Ω output impedance; MAXimum selects 75Ω. Comments – Executable when Initiated: Yes – Coupling Group: Voltage – Related Commands: OUTPut[1]:LOAD, OUTPut[1]:LOAD:AUTO – *RST Condition: OUTPut1:IMPedance 50 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 316: Load

    :LOAD OUTPut[1]:LOAD <load> indicates whether the actual load applied to the Keysight E1445A’s “ Output 50/75?” is either matched to the output impedance specified by OUTPut[1]:IMPedance or is an open circuit. The output voltage into an open circuit is twice that into a matched load. Setting OUTPut[1]:LOAD...
  • Page 317: Load:auto

    Uncoupling OUTPut[1]:IMPedance and OUTPut[1]:LOAD OUTP:LOAD:AUTO OFF Uncouples impedance and load. [:STATe] OUTPut[1][:STATe] <mode> closes or opens the Keysight E1445A’s output relay to enable or disable the analog output. Disabling the output does not stop waveform generation; however, the output appears as an open circuit.
  • Page 318 Command Reference OUTPut[1] Example Disabling the Output OUTP OFF Disables output. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 319: [Source:]

    [SOURce:] The [SOURce:] subsystem is divided into multiple sections, each of which control a particular aspect of the Keysight E1445A. Each section of the subsystem is separately documented in the following sections of the command reference. The [SOURce:] node itself is optional.
  • Page 320: [Source:]Arbitrary

    [SOURce:]ARBitrary:DAC:FORMat <format> specifies the format for the DAC codes. The format controls how to send and receive DAC codes, and how the Keysight E1445A stores and interprets the waveform segment memory data. The DAC code format cannot be changed after storing the waveform segment data.
  • Page 321: Dac:source

    Comments – The available sources are: -- DPORt: The Keysight E1445A’s front panel “ Digital Port In” connector. -- LBUS: The VXIbus local bus. -- INTernal: The [SOURce:]LIST[1] subsystem or built-in waveforms. -- VXI: The VXIbus data transfer bus.
  • Page 322: Download

    [SOURce:]ARBitrary – When driving the DAC from the VXIbus data transfer bus, the address for writing the data is offset 38 decimal (26 hex) in the Keysight E1445A’s A24 address space. – Setting the DAC data source to a setting other than INTernal disables the...
  • Page 323 1 for the waveform segment’s third-to-last point (actual last point - 3). When downloading waveform segment data from the VXIbus data transfer bus, the address for writing the data is offset 38 decimal (26 hex) in the Keysight E1445A’s A24 address space.
  • Page 324 Set up to download 512 points from the VXI backplane to waveform segment “ABC” LIST:SEL ABC Creates segment name. LIST:DEF 512 Reserves 512 points of segment memory. ARB:DOWN VXI,ABC,512 Sets up for download. download data ARB:DOWN:COMP Indicates download complete. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 325: Download:complete

    Set up to download 512 points from the VXIbus to waveform segment “ ABC” LIST:SEL ABC Creates segment name. LIST:DEF 512 Reserves 512 points of segment memory. ARB:DOWN VXI,ABC,512 Sets up for download. download data ARB:DOWN:COMP Indicates download complete. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 326 Command Reference [SOURce:]FREQuency[1] [SOURce:]FREQuency[1] The [SOURce:]FREQuency[1] subsystem controls the first of the Keysight E1445A’s two frequency generators. ([SOURce:]FREQuency2 controls the second generator.) The first generator uses a direct digital synthesis (NCO) technique to generate the specified frequencies. It has an upper frequency limit of the reference oscillator frequency divided by 4 (the second generator operates up to the reference oscillator frequency).
  • Page 327: [Source:]Frequency[1]

    For non-sine wave outputs, multiply the above values by 2 if frequency doubling is in effect (see the [SOURce:]FREQuency[1]:RANGe command). Subsystem Syntax [SOURce:] FREQuency[1] :CENTer <center_freq> [:CW|:FIXed] <frequency> :FSKey <frequency1>,<frequency2> :SOURce <source> :MODE <mode> :RANGe <range> :SPAN <freq_span> :STARt <start_freq> :STOP <stop_freq> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 328: [Source:]Frequency[1]

    – Related Commands: TRIGger[:STARt]:SOURce, [SOURce:]FREQuency[1]:MODE, RANGe, SPAN, STARt, and STOP, [SOURce:]FUNCtion[:SHAPe], [SOURce:]ROSCillator commands – *RST Condition: SOURce:FREQuency1:CENTer 5.36870912 MHz Example Setting the Center Frequency FREQ:CENT 1E3 Sets the center frequency to 1000 Hz. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 329: [:Cw|:Fixed]

    – Coupling Group: Frequency – Related Commands: TRIGger[:STARt]:SOURce, [SOURce:]FREQuency[1]:MODE, [SOURce:]FUNCtion[:SHAPe], [SOURce:]ROSCillator commands – *RST Condition: SOURce:FREQuency1:FIXed 10 kHz Example Setting the Sample Rate or Waveform Frequency FREQ 1E3 Sets the frequency to 1000 Hz. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 330: Fskey

    – Related Commands: TRIGger[:STARt]:SOURce, [SOURce:]FREQuency[1]:MODE, [SOURce:]FREQuency[1]:RANGe, [SOURce:]FUNCtion[:SHAPe], [SOURce:]ROSCillator commands – *RST Condition: SOURce:FREQuency1:FSKey 10 kHz, 10 MHz Example Setting the Frequency-Shift Frequencies FREQ:FSK 1E6,1 KHZ Sets 1 MHz and 1 kHz frequencies. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 331: Fskey:source

    TTLTrg7 Comments – The available sources are: -- EXTernal: The Keysight E1445A’s front panel “ Stop Trig/FSK/Gate In” BNC connector. -- TTLTrg0 through TTLTrg7: The VXIbus TTL trigger lines. – The front panel’s “ Stop Trig/FSK/Gate In” BNC is a three-use connector;...
  • Page 332: Mode

    – Coupling Group: Frequency – Related Commands: TRIGger[:STARt]:SOURce, [SOURce:]FREQuency[1] subsystem, [SOURce:]LIST2 subsystem, [SOURce:]SWEep subsystem – *RST Condition: SOURce:FREQuency1:MODE FIXed Example Setting the Frequency Sweep Mode FREQ:MODE LIST Sets the frequency sweep mode. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 333: Range

    – Executable when Initiated: Query form only – Coupling Group: Frequency – Related Commands: TRIGger[:STARt]:SOURce, [SOURce:]FREQuency[1]:CENTer, MODE, STARt, and STOP, [SOURce:]FUNCtion[:SHAPe], [SOURce:]ROSCillator commands – *RST Condition: SOURce:FREQuency1:RANGe 0.0 Hz Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 334: Span

    – Related Commands: TRIGger[:STARt]:SOURce, [SOURce:]FREQuency[1]:CENTer, MODE, RANGe, STARt, and STOP, [SOURce:]FUNCtion[:SHAPe], [SOURce:]ROSCillator commands – *RST Condition: SOURce:FREQuency1:SPAN 10.73741824 MHz Example Setting the Frequency Span FREQ:SPAN 1E3 Sets the frequency span to 1000 Hz. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 335: Start

    – Related Commands: TRIGger[:STARt]:SOURce, [SOURce:]FREQuency[1]:CENTer, MODE, RANGe, SPAN, and STOP, [SOURce:]FUNCtion[:SHAPe], [SOURce:]ROSCillator commands – *RST Condition: SOURce:FREQuency1:STARt 0.0 Hz Example Setting the Starting Frequency FREQ:STAR 1 KHZ Sets the starting frequency to 1000 Hz. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 336: Stop

    – Related Commands: TRIGger[:STARt]:SOURce, [SOURce:]FREQuency[1]:CENTer, MODE, RANGe, SPAN, and STARt, [SOURce:]FUNCtion[:SHAPe], [SOURce:]ROSCillator commands – *RST Condition: SOURce:FREQuency1:STOP 10.73741824 MHz Example Setting the Stopping Frequency FREQ:STOP 1E3 Sets the stopping frequency to 1000 Hz. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 337: [Source:]Frequency2

    Either generator may be used for square, ramp, triangle and arbitrary waveform output. The values programmed by this subsystem are only used when TRIGger:STARt:SOURce is set to INTernal2. Subsystem Syntax [SOURce:] FREQuency2 [:CW|:FIXed] <frequency> [SOURce:]FREQuency2 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 338: [:Cw | :Fixed]

    – Coupling Group: Frequency – Related Commands: TRIGger[:STARt]:SOURce, [SOURce:]FUNCtion[:SHAPe], [SOURce:]ROSCillator commands, STATus subsystem – *RST Condition: SOURce:FREQuency2:FIXed 10E3 Example Setting the Sample Rate or Waveform Frequency FREQ2 1E3 Sets frequency to 1000 Hz. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 339: [Source:]Function

    [SOURce:]FUNCtion Command Reference [SOURce:]FUNCtion The [SOURce:]FUNCtion subsystem controls what waveform shape (arbitrary, sinusoid, etc.) the Keysight E1445A generates. For arbitrary waveforms generation, the subsystem controls which of the 128 possible segment sequences are selected. Subsystem Syntax [SOURce] :FUNCtion [:SHAPe] <shape>...
  • Page 340 Error +1000,"Out of memory". – Executable when Initiated: Query form only – Coupling Group: Frequency and voltage – *RST Condition: SOURce:FUNCtion:SHAPe SINusoid Example Selecting Square Wave Generation Mode FUNC SQU Selects square wave mode. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 341: User

    [SOURce:]FUNCtion Command Reference :USER [SOURce:]FUNCtion:USER <name> selects which one of the 128 possible stored segment sequences the Keysight E1445A generates when arbitrary waveform generation is selected by [SOURce:]FUNCtion[:SHAPe] USER. Parameters Parameter Name Parameter Type Range of Values Default Units <name>...
  • Page 342: [Source:]List[1]

    Command Reference [SOURce:]LIST[1] [SOURce:]LIST[1] The [SOURce:]LIST[1] subsystem defines the waveform segments and segment sequence for arbitrary waveform generation. The Keysight E1445A can simultaneously store up to 256 waveform segments and up to 128 segment sequences. Subsystem syntax [SOURce:] LIST[1] :FORMat [:DATA] <format>[,<length>]...
  • Page 343: Format[:Data]

    If ASCII format is specified, <length> must either be omitted or must be 9 (or MINimum or MAXimum). Packed format ignores the <length> parameter. Comments – Executable when Initiated: Query form only – Coupling Group: None Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 344: [:Segment]:Catalog

    Comments – Executable when Initiated: Yes – Coupling Group: None – *RST Condition: None – Power-On Condition: No waveform segment names are defined Example Cataloging Waveform Segment Names LIST:CAT? Catalog waveform segments. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 345: [:Segment]:Combined

    1. – Using combined lists is faster than separately defining the voltage point and marker pulse lists. – Executable when Initiated: No – Coupling Group: None Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 346: [:Segment]:Combined:points

    – Coupling Group: None – *RST Condition: None – Power-On Condition: No waveform segments are defined Example Query Combined Point List Length LIST:SEL ABC Selects waveform segment ABC. LIST:COMB:POIN? Queries combined point list length. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 347: [:Segment]:Define

    – *RST Condition: Unaffected – Power-On Condition: No waveform segments are defined Example Reserving Memory for a Waveform Segment LIST:SEL ABC Selects waveform segment ABC. LIST:DEF 1024 Reserves 1024 points for ABC. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 348: [:Segment]:Delete:all

    – After deleting the currently selected waveform segment, no waveform segment is SELected. – Use [SOURce:]LIST[1][:SEGMent]:DELete:ALL to delete all waveform segment definitions with one command. – Executable when Initiated: No – Coupling Group: None – Related Commands: [SOURce:]LIST[1][:SEGMent]:DELete:ALL, [SOURce:]LIST[1][:SEGMent]:SELect Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 349: [:Segment]:Free

    – Executable when Initiated: Yes – Coupling Group: None – *RST Condition: None – Power-On Condition: All of the waveform segment memory is available Example Querying Waveform Segment Memory Usage LIST:FREE? Queries segment memory usage. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 350: [:Segment]:Marker

    [:SEGMent]:MARKer [SOURce:]LIST[1][:SEGMent]:MARKer <marker_list> defines, for each voltage point of a waveform segment, whether the Keysight E1445A may output a marker pulse. To actually output a marker pulse, the marker enable list value for the segment sequence entry for the segment must also be set to 1.
  • Page 351: [:Segment]:Marker:points

    – Coupling Group: None – *RST Condition: None – Power-On Condition: No waveform segments are defined Example Query Marker Pulse List Length LIST:SEL ABC Selects waveform segment ABC. LIST:MARK:POIN? Queries the marker pulse list length. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 352: [:Segment]:Marker:spoint

    Creating a Single Point Marker List LIST:SEL ABC Selects waveform segment ABC. LIST:DEF 8 ABC is 8 points long. LIST:VOLT -1,.5,.5.,5.,.5,0,-.5,-1 Defines waveform voltages. LIST:MARK:SPO 5 Outputs a marker pulse on the fifth voltage point. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 353: [:Segment]:Select

    – Executable when Initiated: Yes – Coupling Group: None – *RST Condition: Unaffected Example Selecting a Waveform Segment LIST:SEL ABC Selects waveform segment ABC. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 354: [:Segment]:Voltage

    – Executable when Initiated: No – Coupling Group: None – Related Commands: [SOURce:]LIST[1][:SEGMent]:COMBined, [SOURce:]LIST[1][:SEGMent]:VOLTage:DAC, [SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude] – *RST Condition: Unaffected – Power-On Condition: No waveform segments are defined Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 355: [:Segment]:Voltage:dac

    INITiate:IMMediate command generates Error +1104,"Segment lists of different lengths". – Changing marker pulse values preserves the waveform segment’s voltage point list, and vice versa. – Executable when Initiated: No – Coupling Group: None Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 356: [:Segment]:Voltage:points

    Comments – Executable when Initiated: Yes – Coupling Group: None – *RST Condition: None – Power-On Condition: No segment sequences are defined Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 357: Ssequence:catalog

    The repetition count is 12-bit unsigned value that is (4096 - the desired repetition count): a value of 4095 in these bits indicates 1 repetition; a value of 0 indicates Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 358 – Power-On Condition: No segment sequences are defined Example Defining a Segment Sequence Combined List LIST:SSEQ:SEL ABC Selects sequence ABC. LIST:SSEQ:DEF 1 ABC is 1 point long. LIST:SSEQ:COMB -786432 Outputs segment at address 0 one time with markers enabled. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 359: Ssequence:combined:points

    Selects sequence ABC. LIST:SSEQ:COMB:POIN? Queries combined point list length. :SSEQuence:DEFine [SOURce:]LIST[1]:SSEQuence:DEFine <length> reserves enough segment sequence memory for a segment sequence of length segment names for the sequence currently selected by [SOURce:]LIST[1]:SSEQuence:SELect. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 360 – Related Commands: [SOURce:]LIST[1]:SSEQuence:SELect – *RST Condition: Unaffected – Power-on Condition: No segment sequences are defined. Example Reserving Memory for a Segment Sequence LIST:SSEQ:SEL ABC Selects sequence ABC. LIST:SSEQ:DEF 1024 Reserves 1024 points for ABC. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 361: Ssequence:delete:all

    – Coupling Group: None – Related Commands: [SOURce:]LIST[1]:SSEQuence:DELete:ALL, [SOURce:]LIST[1]:SSEQuence:SELect – *RST Condition: None – Power-On Condition: No segment sequences are defined Example Deleting a Segment Sequence LIST:SSEQ:SEL ABC Selects segment sequence ABC. LIST:SSEQ:DEL Deletes segment. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 362: Ssequence:dwell:count

    Defining a Segment Sequence Repetition Count List LIST:SSEQ:SEL ABC Selects sequence ABC. LIST:SSEQ:DEF 8 ABC is 8 points long. LIST:SSEQ:SEQ A,B,C,D,E,F,G,H Defines segment sequence. LIST:SSEQ:DWEL:COUN 6,1,1,1,1,1,1,1 Outputs segment A six times, others once. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 363: Ssequence:dwell:count:points

    – Coupling Group: None – *RST Condition: None – Power-On Condition: No segment sequences are defined Example Query Repetition Count List Length LIST:SSEQ:SEL ABC Selects segment sequence ABC. LIST:SSEQ:DWEL:COUN:POIN? Queries repetition count list length. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 364: Ssequence:free

    Queries segment memory usage. :SSEQuence:MARKer [SOURce:]LIST[1]:SSEQuence:MARKer <marker_list> defines, for each waveform segment of a segment sequence, whether the Keysight E1445A may output the marker pulses defined by the marker list for that waveform segment. Parameters The <marker_list> may be either a comma-separated list of values or an IEEE-488.2 definite or indefinite length block containing the values in 16-bit...
  • Page 365: Ssequence:marker:points

    Comments – Executable when Initiated: Yes – Coupling Group: None – *RST Condition: None – Power-On Condition: No segment sequences are defined Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 366: Ssequence:marker:spoint

    Example Creating a Single-Segment Marker List LIST:SSEQ:SEL ABC Selects segment sequence ABC. LIST:SSEQ:DEF 8 ABC is 8 points long. LIST:SSEQ:SEQ A,B,C,D,E,F,G,H Defines segment sequence. LIST:SSEQ:MARK:SPO 3 Enables marker pulse on segment C. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 367: Ssequence:select

    [SOURce:]LIST[1]:SSEQuence:SEQuence <segment_list> defines the ordered sequence of waveform segments that constitute a full waveform. Parameters The <segment_list> is a comma-separated list of waveform segment names. The waveform segment names must have been previously defined. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 368: Ssequence:sequence:segments

    Comments – Executable when Initiated: Yes – Coupling Group: None – *RST Condition: None – Power-On Condition: No segment sequences are defined Example Query Segment Sequence Length LIST:SSEQ:SEQ:SEGM? Queries segment sequence length. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 369: [Source:]List2

    MAXimum). If REAL format is specified, <length> must either be omitted or must be 64 (or MINimum or MAXimum). Comments – Executable when Initiated: Query form only – Coupling Group: None – Related Commands: [SOURce:]LIST2:FREQuency – *RST Condition: SOURce:LIST2:FORMat:DATA ASCii Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 370: Frequency

    The other value is changed based on the new frequency list length. – Executable when Initiated: Query form only – Coupling Group: Frequency – Related Commands: TRIGger[:STARt]:SOURce, [SOURce:]FREQuency[1]:MODE, [SOURce:]SWEep Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 371: Frequency:points

    – Executable when Initiated: Yes – Coupling Group: None – *RST Condition: Unaffected – Power-On Condition: No frequency list is defined Example Query the Frequency List Length LIST:FREQ2:POIN? Queries frequency list length. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 372: [Source:]Marker

    [SOURce:]FUNCtion[:SHAPe] USER (i.e., arbitrary waveform output). – “ [SOURce:]PM:DEViation:CHANge”: Outputs a one sample period wide marker pulse that is output after a phase change occurs. This shows that the new phase has been reached. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 373 – Coupling Group: None – Related Commands: [SOURce:]MARKer:ECLTrg<n>[:STATe] – *RST Condition: [SOURce:]MARKer:ECLTrg0:FEED “ ARM[:STARt|:SEQuence[1]][:LAYer[1]]”, [SOURce:]MARKer:ECLTrg1:FEED “ TRIGger[:STARt|:SEQuence[1]]” Example Setting the VXI ECLTRG0 Trigger Line Source MARK:ECLT0:FEED “SOUR:LIST” Sets marker list as source. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 374: Ecltrg[:State]

    ABORt. – “ [SOURce:]FREQuency[1]:CHANge”: Outputs a one sample period wide marker pulse that is output after a frequency change occurs. This shows that the new steady state frequency has been reached. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 375 – Executable when Initiated: Yes – Coupling Group: None – Related Commands: [SOURce:]MARKer:POLarity, [SOURce:]MARKer[:STATe] – *RST Condition: SOURce:MARKer:FEED “ ARM[:STARt|:SEQuence[1]][:LAYer[1]]” Example Setting the “ Marker Out” BNC Source MARK:FEED “SOUR:LIST” Sets marker list as source. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 376: Polarity

    Default Units <mode> boolean OFF | 0 | ON | 1 none Comments – Executable when Initiated: Yes – Coupling Group: None – Related Commands: [SOURce:]MARKer:FEED, [SOURce:]MARKer:POLarity – *RST Condition: SOURce:MARKer:STATe ON Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 377 [SOURce:]MARKer Command Reference Example Enabling Marker Output to “Marker Out” BNC MARK ON Enables “Marker Out” BNC. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 378: [Source:]Pm

    Acceptable units are <suffix_multiplier>RAD (radians) and <suffix_multiplier> DEG (degrees). Comments – Executable when Initiated: Yes – Coupling Group: None – Related Commands: [SOURce:]PM:SOURce, [SOURce:]PM:UNIT[:ANGLe] – *RST Condition: SOURce:PM:DEViation 0 Example Setting Phase Deviation Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 379: Source

    DPORt | INTernal | LBUS | VXI none Comments The available sources are: -- DPORt: The Keysight E1445A’s front panel “ Digital Port In” connector. -- LBUS: The VXIbus local bus. -- INTernal: The [SOURce:]PM[:DEViation] command. -- VXI: The VXIbus data transfer bus.
  • Page 380: State

    -- RAD: Radians Parameters Parameter Name Parameter Type Range of Values Default Units <units> discrete DEG | RAD none Comments – Executable when Initiated: Yes – Coupling Group: None – Related Commands: [SOURce:]PM[:DEViation] Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 381 [SOURce:]PM Command Reference – *RST Condition: SOURce:PM:UNIT:ANGLe RAD Example Setting the Default Angle Units PM:UNIT:ANGL DEG Sets default units to degrees. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 382: [Source:]Ramp

    Error +1000,"Out of memory". – Executable when Initiated: Query form only – Coupling Group: Frequency and voltage – Related Commands: [SOURce:]FUNCtion[:SHAPe] Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 383: Polarity

    – Executable when Initiated: Query form only – Coupling Group: Voltage – Related Commands: [SOURce:]FUNCtion[:SHAPe] – *RST Condition: SOURce:RAMP:POLarity NORMal Example Selecting Ramp Polarity FUNC:SHAP RAMP Selects ramp output. RAMP:POL INV Selects negative-going ramp. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 384: [Source:]Roscillator

    [SOURce:]ROSCillator The [SOURce:]ROSCillator subsystem controls the reference oscillator’s source and indicates the frequency of an external oscillator. The Keysight E1445A uses the source and frequency information to generate sample output rate for arbitrary waveforms or waveform frequency for ramp, sine, square, and triangle wave output.
  • Page 385: Source

    – The available sources are: -- CLK10: The VXIbus CLK10 (10 MHz) line. -- EXTernal: The Keysight E1445A’s front panel “ Ref/Sample In” BNC. -- ECLTrg0 and ECLTrg1: The VXIbus ECL trigger lines. -- INTernal[1]: The internal 42.94967296 MHz oscillator. Using this oscillator in conjunction with the [SOURce:]FREQuency[1] subsystem gives a resolution of .01 Hz for sine waves and arbitrary waveform...
  • Page 386: [Source:]Sweep

    SWEep:COUNt [SOURce:]SWEep:COUNt <number> specifies the number of sweeps or repetitions of a frequency list the Keysight E1445A will perform after an INITiate:IMMediate command before the sweep subsystem returns to the idle state. This command is equivalent to the ARM:SWEep:COUNt command; either command may be used, and executing either one changes the value of the other.
  • Page 387: Direction

    -- UP: The sweep starts at the start frequency specified by [SOURce:]FREQuency[1]:STARt and STOP, or CENTer and SPAN and ends at the stop frequency. – Executable when Initiated: Query form only – Coupling Group: Frequency Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 388: Points

    SWEep:POINts value. – Executable when Initiated: Query form only – Coupling Group: Frequency – Related Commands: [SOURce:]FREQuency[1]:CENTer, MODE, SPAN, START, and STOP, [SOURce:]SWEep:DIRection and SPACing – *RST Condition: SOURce:SWEep:POINts 800 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 389: Spacing

    – Coupling Group: Frequency – Related Commands: [SOURce:]FREQuency[1]:CENTer, MODE, SPAN, START, and STOP, [SOURce:]SWEep:DIRection and POINts – *RST Condition: SOURce:SWEep:SPACing LINear Example Setting the Frequency Sweep Spacing SWE:SPAC LOG Selects logarithmic spacing. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 390: Time

    – Thus, to set a repetition time of 1 S for a 5 point sweep, SWEep:TIME should be set to .8 S. – Executable when Initiated: Query form only – Coupling Group: Frequency – Related Commands: [SOURce:]LIST2:FREQuency, [SOURce:]SWEep:POINts, TRIGger:SWEep:SOURce, TRIGger:SWEep:TIMer – *RST Condition: SOURce:SWEep:TIME 1 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 391 [SOURce:]SWEep Command Reference Example Setting the Duration of the Sweep SWE:TIME 10 Sets sweep to take 10 seconds. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 392: [Source:]Voltage

    DC must be programmed in volts; for arbitrary waveform output, volts or peak volts. The query form returns the amplitude in terms of the default units, specified by the SOURce:VOLTage[:LEVel][:IMMediate][:AMPLitude]:UNIT[:VOLTage] command. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 393 – Related Commands: OUTPut[1]:LOAD, [SOURce:]FUNCtion[:SHAPe], [SOURce:]VOLTage[:LEVel][:IMMediate]:OFFSet – Executable when Initiated: Yes – Coupling Group: Voltage – *RST Condition: SOURce:VOLTage:LEVel:IMMediate:AMPLitude .16187 V Example Setting Output Voltage VOLT 5 VPP Sets output amplitude to 5 volts peak-to-peak. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 394: [:Level][:Immediate][:Amplitude]:Unit[:Voltage]

    – Executable when Initiated: Yes – Coupling Group: None – Related Commands: OUTPut[1]:IMPedance, OUTPut[1]:LOAD, [SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude] – *RST Condition: SOURce:VOLTage:LEVel:IMMediate:AMPLitude:UNIT:VOLTage V Example Setting the Default Voltage Units VOLT:UNIT:VOLT VPP Sets default units to volts peak-to-peak. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 395: [:Level][:Immediate]:Offset

    Comments – Related Commands: [SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude] – Executable when Initiated: Yes – Coupling Group: Voltage – *RST Condition: SOURce:VOLTage:LEVel:IMMediate:OFFSet 0 V Example Setting Offset Voltage VOLT:OFFS 3 Sets offset voltage to 3 volts. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 396: Status

    Operation Status Register Only bits 0 (calibrating), 3 (sweeping), 6 (waiting for arm), and 8 (initiated) are defined for the Keysight E1445A. All other bits are always zero. Bit 0 - Calibrating: Set (1) during the execution of the CALibration[:DC]:BEGin command. Cleared (0) at the end of DC calibration or if calibration is aborted.
  • Page 397: Subsystem Syntax

    – Coupling Group: None – Related Commands: *OPC, *OPC?, *RST, *WAI, ABORt, INITiate:IMMediate, STATus:PRESet – *RST Condition: Unaffected – Power-on Condition: STATus:OPC:INITiate ON Example Setting Immediate Completion Mode STAT:OPC:INIT OFF Completes immediately for *OPC, etc. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 398: Operation:condition

    The non-decimal numeric forms are the #H, #Q, or #B formats specified by IEEE-488.2. Comments – Executable when Initiated: Yes – Coupling Group: None – Related Commands: STATus commands, *SRE, *STB? – *RST Condition: Unaffected – Power-on Condition: STATus:OPERation:ENABle 0 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 399: Operation[:Event]

    Range of Values Default Units <unmask> numeric or 0 through +32767 none non-decimal numeric The non-decimal numeric forms are the #H, #Q, or #B formats specified by IEEE-488.2. Comments – Executable when Initiated: Yes Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 400: Operation:ptransition

    – Related Commands: STATus commands, *SRE, *STB? – *RST Condition: Unaffected – Power-on Condition: STATus:OPERation:PTRansition 32767 Example Setting the Operation Register Positive Transition Mask STAT:OPER:PTR #H0040 Sets the event bit when Waiting for Arm condition is set. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 401: Preset

    – *RST Condition: All bits of the Condition Register are cleared as a result of the state present after *RST, except for the Calibration bit, which will remain set if the condition persists. Example Querying the Questionable Signal Condition Register STAT:QUES:COND? Queries Questionable Signal Condition Register. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 402: Questionable:enable

    – The Event Register is also cleared to 0 by the *CLS common command. – Executable when Initiated: Yes – Coupling Group: None – Related Commands: STATus commands, *SRE, *STB? – *RST Condition: Unaffected – Power-on Condition: The Event Register is cleared to 0. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 403: Questionable:ntransition

    – Related Commands: STATus commands, *SRE, *STB? – *RST Condition: Unaffected – Power-on Condition: STATus:QUEStionable:NTRansition 0 Example Setting the Questionable Signal Register Negative Transition Mask STAT:QUES:NTR #H0008 Sets the Event bit when sweeping condition is cleared. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 404: Questionable:ptransition

    – Related Commands: STATus commands, *SRE, *STB? – *RST Condition: Unaffected – Power-on Condition: STATus:QUEStionable:PTRansition 32767 Example Setting the Questionable Signal Register Positive Transition Mask STAT:QUES:PTR #H0040 Sets the event bit when Waiting for Arm condition is set. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 405: System

    Appendix B for a listing of possible error numbers and messages. Comments – The Keysight E1445A places any generated errors into the error queue. The queue is first-in, first out. With several errors waiting in the queue, the SYSTem:ERRor? command returns the oldest unread error message first.
  • Page 406: Version

    Command Reference SYSTem :VERSion? SYSTem:VERSion? returns the SCPI version number to which the Keysight E1445A complies: “ 1991.0” . Comment – Executable when Initiated: Yes – *RST Condition: None Example Querying the SCPI Revision SYST:VERS? Queries SCPI revision. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 407: Trigger

    :GATE :POLarity <polarity> :SOURce <source> :STATe <state> [:IMMediate] [no query] :SLOPe <edge> :SOURce <source> :STOP|:SEQuence2 [:IMMediate] [no query] :SLOPe <edge> :SOURce <source> :SWEep|:SEQuence3 [:IMMediate] [no query] :LINK <link> :SOURce <source> :TIMer <period> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 408: [:Start]:Count

    [:STARt]:COUNt TRIGger[:STARt]:COUNt <number> would normally specify the number of triggers the Keysight E1445A would accept after an INITiate:IMMediate command before returning the start trigger sequence to the wait-for-arm state. However, since this is equal to the length of the current waveform, and is not configurable here, the only legal value for this command is 9.91e37 or NaN (not a...
  • Page 409: [:Start]:Gate:polarity

    [:STARt]:GATE:POLarity TRIGger[:STARt]:GATE:POLarity <polarity> selects the polarity of the Keysight E1445A’s front panel “ Stop Trig/FSK/Gate In” BNC which gates the TRIGger:STARt subsystem. NORMal polarity selects an active high gate; INVerted polarity selects an active low gate. This polarity is significant only when TRIGger[:STARt]:GATE SOURce is set to EXTernal.
  • Page 410: [:Start]:Gate:state

    Default Units <mode> boolean OFF | 0 | ON | 1 none Comments – Executable when Initiated: Query form only – Coupling Group: Frequency – Related Commands: TRIGger[:STARt]:GATE:SOURce – *RST Condition: TRIGger:STARt:GATE:STATe OFF Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 411: [:Start][:Immediate]

    [:STARt]:SLOPe TRIGger[:STARt]:SLOPe <edge> selects the edge (rising or falling) at the Keysight E1445A’s front panel “ Ref/Sample In” BNC to advance the waveform. This edge is significant only with TRIGger[:STARt]:SOURce set to EXTernal. The programmed value is retained but not used when other sources are selected.
  • Page 412: [:Start]:Source

    -- BUS: The Group Execute Trigger (GET) GPIB command or the IEEE-488.2 *TRG common command. -- ECLTrg0 and ECLTrg1: The VXIbus ECL trigger lines. -- EXTernal: The Keysight E1445A’s front panel “ Ref/Sample In” BNC connector. -- HOLD: Suspends sample generation. Use the TRIGger[:STARt][:IMMediate] command to advance the waveform.
  • Page 413: Stop[:Immediate]

    – Related Commands: ABORt, INITiate[:IMMediate], TRIGger[:STARt]:COUNt – *RST Condition: None Example Stopping an Arm Cycle ARM:LAY2:COUN 5 Allows 5 arms. ARM:LAY2:SOUR HOLD Sets manual start arm. ARM:COUN 100 Sets 100 repetitions per arm. INIT Initiates trigger system. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 414: Stop:slope

    :STOP:SLOPe TRIGger:STOP:SLOPe <edge> selects the edge (rising or falling) on the Keysight E1445A’s front panel “ Stop Trig/FSK/Gate In” BNC which terminates the current start arm cycle at the end of the current waveform repetition. This edge is significant only with TRIGger:STOP:SOURce set to EXTernal. The programmed value is retained but not used when other sources are selected.
  • Page 415: Stop:source

    When the Keysight E1445A receives a stop trigger, the start trigger sequence is placed into the wait-for-arm state at the end of the current waveform repetition, aborting the remaining ARM[:STARt][:LAYer[1]]:COUNt repetitions of the current arm cycle.
  • Page 416: Sweep[:Immediate]

    Sets 1 kHz steps. ARM:LAY2:SOUR IMM Sets output to start immediately. ARM:SWE:SOUR IMM Sets sweep to start immediately. TRIG:SWE:SOUR HOLD Sets sweep to advance sweep manually. INIT Initiates trigger system. TRIG:SWE Advances to next frequency. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 417: Sweep:link

    Parameters Parameter Name Parameter Type Range of Values Default Units <source> discrete BUS | HOLD | LINK | TIMer | TTLTrg0 none through TTLTrg7 Comments – The available sources are: Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 418: Sweep:timer

    LIST is set, or the [SOURce:]SWEep:POINts value when any other MODE is set, the TIME or TIMer value remains the same, depending on which command, [SOURce:]SWEep:TIME or TRIGger:SWEep:TIMer respectively, was most recently sent. The other value is changed based on the new points value. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 419 – Related Commands: [SOURce:]LIST2:FREQuency, [SOURce:]SWEep:POINts, [SOURce:]SWEep:TIME, TRIGger:SWEep:SOURce – *RST Condition: SOURce:SWEep:TIME 1 is set; TRIGger:SWEep:TIMer is the dependent value. Example Setting the Sweep Advance Period TRIG:SWE:TIM .1 Sets .1 S per frequency value. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 420: Vinstrument

    The VINStrument subsystem operates with the [SOURce:]ARBitrary and [SOURce:]PM subsystems to control the virtual instrument features of the Keysight E1445A. These features include the ability to use the VXIbus Local Bus and normal data transfer bus to download data to the segment and segment sequence memories, directly drive the main output DAC, and provide phase deviations for sine waves.
  • Page 421: [:Configure]:Lbus[:Mode]:Auto

    -- OFF: The Local Bus interface is disabled. Local Bus data is neither used nor passed through. -- PIPeline: Local Bus data is passed through and not used. Select this mode when data should be transparently passed through the Keysight E1445A. – With VINStrument[:CONFigure]:LBUS[:MODE]:AUTO ON set, the Local...
  • Page 422: [:Configure]:Test:configure

    E1445A for Local Bus testing. The <length> parameter indicates that, during the test, that number of bytes will be sent to the Keysight E1445A. The data will be placed into unused waveform segment memory. When all data has been sent, use the VINStrument[:CONFigure]:TEST:DATA? query to retrieve what the Keysight E1445A received.
  • Page 423: [:Configure]:Test:data

    VXIbus data transfer bus. The only available mode is CONSume. There is no need to send this command since there is only one available mode. The command is only included for compatibility with the Keysight Virtual Instrument/Local Bus System Specification.
  • Page 424: [:Configure]:Vme:receive:address:data

    [:CONFigure]:VME:RECeive:ADDRess:DATA? VINStrument[:CONFigure]:VME:RECeive:ADDRess:DATA? returns two values: A24,offset. A24 indicates that the Keysight E1445A’s A24 address space should be used for writing waveform segment, segment sequence, DAC, or phase deviation data, and offset is the offset into the A24 address space to be written to.
  • Page 425: [:Configure]:Vme:receive:address:ready

    112 is the offset into the A24 address space to be checked. Actually, this indicated Status Register need never be checked. The Keysight E1445A will always handshake any data written to it; however, the data will be ignored if none of the above operations are active. Nevertheless, bit 1 of the Status Register indicates whether the Keysight E1445A is in the initiated state or the idle state: 1 indicates initiated, 0 indicates idle.
  • Page 426 Command Reference VINStrument Example Querying Virtual Instrument Capability VINS:IDEN? Queries capability. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 427: Scpi Command Quick Reference

    CALibration:COUNt CALibration:DATA:AC[1] <block> CALibration:DATA:AC2 <block> CALibration:DATA[:DC] <block> CALibration[:DC]:BEGin CALibration[:DC]:POINt? <value> CALibration:SECure:CODE <code> CALibration:SECure[:STATe]<mode>[,<code>] CALibration:STATe <state> CALibration:STATe:AC <state> CALibration:STATe:DC <state> INITiate INITiate[:IMMediate] OUTPut[1] OUTPut[1]:FILTer[:LPASs]:FREQuency <frequency> OUTPut[1]:FILTer[:LPASs][:STATe] <mode> OUTPut[1]:IMPedance <impedance> OUTPut[1]:LOAD <load> OUTPut[1]:LOAD:AUTO <mode> OUTPut[1][:STATe] <mode> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 428 [SOURce:]FREQuency[1]:RANGe <range> [SOURce:]FREQuency[1]:SPAN <freq_span> [SOURce:]FREQuency[1]:STARt <start_freq> [SOURce:]FREQuency[1]:STOP <stop_freq> [SOURce:] FREQuency2 [SOURce:]FREQuency2[:CW|:FIXed] <frequency> [SOURce:]FUNCtion [SOURce:]FUNCtion[:SHAPe] <shape> [SOURce:]FUNCtion:USER <name> [SOURce:]LIST[1] [SOURce:]LIST[1]:FORMat[:DATA] <format> [,<length>] [SOURce:]LIST[1][:SEGMent]:ADDRess? [SOURce:]LIST[1][:SEGMent]:CATalog? [SOURce:]LIST[1][SEGMent]:COMBined <combined list> [SOURce:]LIST[1][SEGMent]:COMBined:POINts? [SOURce:]LIST[1][:SEGMent]:DEFine <length> [SOURce:]LIST[1][:SEGMent]:DELete:ALL [SOURce:]LIST[1][:SEGMent]:DELete[:SELected] [SOURce:]LIST[1][:SEGMent]:FREE? Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 429 [SOURce:]LIST[1][:SEGMent]:VOLTage:POINts? [SOURce:]LIST[1]:SSEQuence:ADDRess? [SOURce:]LIST[1]:SSEQuence:CATalog? [SOURce:]LIST[1]:SSEQuence:COMBined <combined_list> [SOURce:]LIST[1]:SSEQuence:COMBined:POINts? [SOURce:]LIST[1]:SSEQuence:DEFine <length> [SOURce:]LIST[1]:SSEQuence:DELete:ALL [SOURce:]LIST[1]:SSEQuence:DELete[:SELected] [SOURce:]LIST[1]:SSEQuence:DWELl:COUNt <repetition list> [SOURce:]LIST[1]:SSEQuence:DWELl:COUNt:POINts? [SOURce:]LIST[1]:SSEQuence:FREE? [SOURce:]LIST[1]:SSEQuence:MARKer <marker_list> [SOURce:]LIST[1]:SSEQuence:MARKer:POINts? [SOURce:]LIST[1]:SSEQuence:MARKer:SPOint <point> [SOURce:]LIST[1]:SSEQuence:SELect <name> [SOURce:]LIST[1]:SSEQuence:SEQuence <segment_list> [SOURce:]LIST[1]:SSEQuence:SEQuence:SEGMents? [SOURce:]LIST2 [SOURce:]LIST2:FORMat[:DATA] <format> [,<length>] [SOURce:]LIST2:FREQuency <freq_list> [SOURce:]LIST2:FREQuency:POINts? Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 430 [SOURce:]ROSCillator:SOURce <source> [SOURce:]SWEep [SOURce:]SWEep:COUNt <number> [SOURce:]SWEep:DIRection <direction> [SOURce:]SWEep:POINts <number> [SOURce:]SWEep:SPACing <mode> [SOURce:]SWEep:TIME <number> [SOURce:]VOLTage [SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude] <amplitude> [SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude]:UNIT[:VOLTage] <units> [SOURce:]VOLTage[:LEVel][:IMMediate]:OFFSet <offset> STATus STATus:OPC:INITiate <state> STATus:OPERation|:QUEStionable:CONDition? STATus:OPERation|:QUEStionable:ENABle <unmask> STATus:OPERation|:QUEStionable[:EVENt]? STATus:OPERation|:QUEStionable:NTRansition <unmask> STATus:OPERation|:QUEStionable:PTRansition <unmask> STATus:PRESet Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 431 TRIGger[:STARt]:GATE:STATe <mode> TRIGger[:STARt][:IMMediate] TRIGger[:STARt]:SLOPe <edge> TRIGger[:STARt]:SOURce <source> TRIGger:STOP[:IMMediate] TRIGger:STOP:SLOPe <edge> TRIGger:STOP:SOURce <source> TRIGger:SWEep[:IMMediate] TRIGger:SWEep:LINK <link> TRIGger:SWEep:SOURce <source> TRIGger:SWEep:TIMer <period> VINStrument VINStrument[:CONFigure]:LBUS[:MODE] <mode> VINStrument[:CONFigure]:LBUS[:MODE]:AUTO <mode> VINStrument[:CONFigure]:TEST:CONFigure <length> VINStrument[:CONFigure]:TEST:DATA? VINStrument[:CONFigure]:VME[:MODE] <mode> VINStrument[:CONFigure]:VME:RECeive:ADDRess:DATA? VINStrument[:CONFigure]:VME:RECeive:ADDRess:READy? VINStrument:IDENtity? Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 432: Scpi Conformance Information

    Command Reference SCPI Conformance Information SCPI Conformance Information The Keysight E1445A Arbitrary Function Generator conforms to the SCPI-1991.0 standard. Tables 8-2 and 8-3 list all the SCPI confirmed, approved, and non-SCPI commands that the Keysight E1445A can execute. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 433 TRIGger [:CW|:FIXed] <frequency> [:STARt|:SEQuence[1]] FUNCtion :COUNt <number> [:SHAPe] <shape> [:IMMediate] :SLOPe <edge> LIST2 :SOURce <source> :FREQuency <freq_list> :STOP :POINts? [:IMMediate] :SLOPe <edge> :SOURce <source> :SWEep [:IMMediate] :LINK <link> :SOURce <source> :TIMer <period> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 434 :CATalog? :OPC :COMBined <combined_list> :INITiate <state> :POINts? TRIGger :DEFine <length> [:STARt|:SEQuence[1]] :DELete :GATE :ALL :POLarity <polarity> [:SELected] :SOURce <source> :FREE? :STATe <state> :MARKer <marker_list> :POINts? :SELect <name> :VOLTage <voltage_list> :DAC <dac_list> :POINts? Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 435: Ieee-488.2 Common Commands

    The SCPI command will be executed if macro usage is disabled. – Executable when Initiated: Yes – Coupling Group: None – Related Commands: *EMC, *GMC, *LMC, *RMC Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 436: Emc And *Emc

    Default Units <mask> numeric 0 through 255 none A 1 in a bit position enables the corresponding event; a 0 disables it. Comments – Executable when Initiated: Yes – Coupling Group: None Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 437: Esr

    – Executable when Initiated: Yes – Coupling Group: None – Related Commands: *DMC – *RST Condition: None – Power-On Condition: No macros are defined Example Query Macro Definition *GMC? "RESTART"Queries macro definition. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 438: Idn

    Keysight (Keysight was spun off from Hewlett-Packard in 1999 and firmware will return Hewlett-Packard). The third field is 0 since the serial number of theKeysight E1445A is unknown to the firmware. The last field indicates the revision level of the firmware.
  • Page 439: Lrn

    – Related Commands: *RCL, *RST, *SAV – *RST Condition: None *OPC *OPC causes the Keysight E1445A to wait for all pending operations to complete. The Operation Complete bit (bit 0) in the Standard Event Status Register is then set. If STATus:OPC:INITiate OFF is set, the Operation Complete bit will be set when all commands received prior to the *OPC have been executed.
  • Page 440: Pmc

    – Related Commands: *DMC, *RMC – *RST Condition: None *PUD and *PUD? *PUD <data> stores the specified data in the Keysight E1445A’s non-volatile calibration memory. The data must be sent in IEEE-488.2 definite or indefinite block format. Calibration security must have been previously disabled.
  • Page 441: Rcl

    Comments – Executable when Initiated: No – Coupling Group: None – Related Commands: *LRN?, *RST, *SAV – *RST Condition: all saved states set to the same state as the *RST state Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 442: Rmc

    -- Calibration security state -- Protected user data -- The DAC code format (signed vs. unsigned) -- Waveform segment, segment sequence, and frequency list definitions Comments – Executable when Initiated: Yes – Coupling Group: None Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 443: Sav

    Range of Values Default Units <mask> numeric 0 through 255 none A 1 in a bit position enables service request generation when the corresponding Status Byte Register bit is set; a 0 disables it. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 444: Stb

    – Related Commands: ARM and TRIGger subsystem, [SOURce:] commands – *RST Condition: None *TST? *TST? causes the Keysight E1445A to execute its internal self-test and return a value indicating the results of the test. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 445: Wai

    – Coupling Group: None – *RST Condition: None *WAI *WAI causes the Keysight E1445A to wait for all pending operations to complete before executing any further commands. If STATus:OPC:INITiate OFF is set, command execution resumes when all commands received prior to the *WAI have been executed. If ON is set, *WAI waits for waveform generation to complete before resuming command execution.
  • Page 446: Common Commands Quick Reference

    Common Commands Quick Reference This section describes the IEEE-488.2 Common Commands implemented in the Keysight E1445A. The table below shows the commands listed by functional group; however, commands are listed alphabetically in the reference. Examples are shown in the reference when the command has parameters or returns a non-trivial response;...
  • Page 447: Afg Status

    User Manual and SCPI Programming Guide AFG Status Introduction This chapter describes the Keysight E1445A Arbitrary Function Generator status system. Included is information on the status groups used by the AFG, the conditions monitored by each group, and information on how to enable a condition to interrupt the computer.
  • Page 448 -- Status Byte Register -- Service Request Enable Register The relationship between the registers and filters in these groups is shown in Figure 9-1. Figure 9-1 E1445A Status Groups and Associated Registers Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 449: The Questionable Signal Status Group

    STATus:QUEStionable:NTRansition <unmask> STATus:QUEStionable:PTRansition <unmask> NTRansition sets the negative transition. For each bit unmasked, a 1 to 0 transition of that bit in the Condition Register sets the associated bit in the Event Register. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 450 The steps of the program are: 1 Set the bit transition which will latch the event (frequency error) in the Event Register. STATus:QUEStionable:NTRansition <unmask> STATus:QUEStionable:PTRansition <unmask> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 451 2!This program generates a service request when the output frequency 3!generated by the SOURce:FREQuency2 subsystem differs from the 4!programmed frequency by more than 1%. 10!Assign an I/O path between the computer and the E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg...
  • Page 452 Register. Clearing the service request bit (bit 6 (RQS)) in the Status Byte Register (line 440) when the interrupt is serviced allows the bit to be set again when the next summary bit is received. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 453: The Operation Status Group

    The Visual BASIC example program, QSSG_RQS.FRM, is in directory “ VBPROG” and the Visual C example program, QSSG_RQS.C, is in directory “ VCPROG” on the CD that came with your Keysight E1445A. The Operation Status Group The Operation Status Group monitors current operating conditions within the AFG.
  • Page 454 Enable Register bit to be unmasked. (Bits 0, 3, 6, and 8 have corresponding decimal values of 1, 8, 64, and 256.) The Enable Register is cleared at power-on, or by specifying an <unmask> value of 0. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 455 BASIC Program Example (OSG_RQS) 1!RE-STORE "OSG_RQS" 2!This program generates a service request when the AFG enters the 3!wait-for-arm state. 10!Assign an I/O path between the computer and the E1445A. 20ASSIGN @Afg TO 70910 30COM @Afg 50!Reset the AFG 60CALL Rst 80!Set up the computer to respond to the service request.
  • Page 456 490DISP "AFG is in the wait-for-arm state, press ’Continue’ to send ARM" 500PAUSE 510DISP "" 520SUBEND 530! 540SUB Rst 550 Rst:!Subprogram which resets the E1445. 560COM @Afg 570OUTPUT @Afg;"*RST;*OPC?"!reset the AFG 580ENTER @Afg;Complete 590SUBEND Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 457: The Standard Event Status Group

    The Visual BASIC example program, OSG_RQS.FRM, is in directory “ VBPROG” and the Visual C example program, OSG_RQS.C, is in directory “ VCPROG” on the CD that came with your Keysight E1445A. The Standard Event Status Group The Standard Event Status Group monitors command execution, programming errors, and the power-on state.
  • Page 458 1 Unmask bits 5 (CME), 4 (EXE), 3 (DDE), 2 (QYE) in the Standard Event Status Enable Register so that the error will generate a Standard Event Status Group summary bit. *ESE <unmask> Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 459 80ENABLE INTR 7;2 90!Clear all bits in the Standard Event Status Register, unmask the 100!Standard Event Status Group summary bit in the E1445A Status Byte 110!register (decimal weight 32), unmask the query error, device 120!dependent error, execution error, and command error bits 130!(decimal sum 60) in the E1445A Standard Event Status Register.
  • Page 460: The Status Bytestatus Group

    The Visual BASIC example program, ERRORCHK.FRM, is in directory “ VBPROG” and the Visual C example program, ERRORCHK.C, is in directory “ VCPROG” on the CD that came with your Keysight E1445A. The Status ByteStatus Group The registers in the Status Byte Status Group enable conditions monitored by the other status groups to generate a service request.
  • Page 461 All bits in the Enable Registers are masked (i.e. <unmask> is 0), and all bits in the Condition Registers set corresponding bits in the Event Registers on positive (0 to 1) transitions. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 462 AFG Status Status System Registers Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 463: Block Diagram Description

    Keysight E1445A Arbitrary Function Generator Module User Manual and SCPI Programming Guide Block Diagram Description Chapter Contents This chapter shows how the Keysight E1445A 13-Bit Arbitrary Function Generator (AFG) operates. The sections are as follows: AFG Description page 465 Arbitrary Waveform Description...
  • Page 464: Arbitrary Waveform Description

    For the user generated waveforms, the user transfers the waveform segments and segment sequences to the AFG which stores them into memory. (See “ Generating Sinusoid Waveforms” for sinusoid waveforms.) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 465: Generating Non-Sinusoid Arbitrary Waveforms

    DAC’s output is set to the value in the new code. Thus, the waveform frequency depends on the rate at which the DAC receives the codes. The output DAC’s voltage range is from -5.12 V to +5.11875 V. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 466: Memory

    DDS Frequency Generator (Frequency1 Generator) Refer to Figure 10-3. This generator has excellent resolution and allows for frequency sweeping, frequency-shift-keying, and output frequency lists. However, its maximum frequency is the Reference Oscillator frequency divided by 4. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 467 Refer to Figure 10-4. This generator has better phase noise characteristics and permits higher frequency operation (up to the Reference Oscillator Frequency). The output of this filter directly clocks the memory and output DAC. Figure 10-4 Generating Waveforms Using a Frequency2 Generator Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 468: Trigger Circuitry

    250 kHz and a 10 MHz low-pass filter. (See “ Output Circuitry Description” for more information.) Microprocessor The AFG uses a Motorola 68000 microprocessor to generates the waveform segments and segment sequences for the standard waveforms. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 469: Generating Sinusoid Waveforms

    Refer to Figure 10-5. The AFG uses the DDS (Frequency1) frequency generator to generate Sinusoid waveforms. The generator output directly supplies the DAC data for the output DAC to generate the waveforms. Figure 10-5 Generating Sinusoid Waveforms Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 470: Output Circuitry Description

    “ Output” connector. For open circuit outputs, the amplitude range is twice the matched load values. Offset Circuitry This circuitry offsets the output amplifier to provide an offset voltage. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 471: Afg Memory Description

    To change the number format to a different format, the memory must be completely empty before selecting the different format. Because of hardware restrictions, the segment space in memory allocates for a multiple of 8 words for each waveform segment. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 472 Block Diagram Description AFG Memory Description Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 473: A Keysight E1445A Specifications

    Keysight E1445A Arbitrary Function Generator Module User Manual and SCPI Programming Guide Keysight E1445A Specifications Appendix Contents This appendix contains the Keysight E1445A Arbitrary Function Generator operating specifications. Except as noted, the specifications apply under the following conditions: Period: 1 year 0 ...
  • Page 474: Frequency And Sample Rate Characteristics

    0.03% + 3 nsec (typical rms) Extended Range: Minimum : 0.02 Sa/s Maximum : 21.47483648 MSa/s Resolution : 0.02 Sa/s Jitter: 0.06% + 3 nsec (typical rms) Pertinent SCPI Commands: [SOURce:]ROSCillator:SOURce INTernal1 [SOURce:]FREQuency1 subsystem TRIGger:STARt:SOURce INTernal1 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 475 0.0001 Hz to 107.3741824 kHz (normal range) 0.0002 Hz to 214.7483648 kHz (doubled range) Higher frequencies are possible with fewer than 100 points per cycle. Points per cycle can be 4 to 262144. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 476 Waveform repetitions per ARM:STARt: 1 to 65536 or INFinity Not specified for built-in sine waves. For other waveforms, the final waveform repetition stops at the last sample point. ARM:STARt events per INITiate: 1 to 65535 or INFinity Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 477: Amplitude Characteristics

     0.2 dB 1 kHz to 10.73741824 MHz: (These flatness values are achieved by active compensation for filter frequency response in sine wave mode only, and do not imply dynamic characteristics of arbitrary waveforms.) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 478 As used in this table, “waveform peak volts” means the voltage corresponding to DAC full-scale. Accuracy:1% of setting + 0.2% of limit Beyond Tcal  5  C, add 0.015% of limit per  C. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 479: Interface Characteristics

    Start Arm) - FSK Input - waveform clock gate NOTE: High impedance pulled up to +5 V through 4.7 K  resistor. External source must be able to sink 1 Ma. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 480: Vxi Ecltrg Functions

    16 data, ext clock, int clock Logic Compatibility: Functions: - data to DAC - download to segment memory - waveform select (Note 2) - phase modulation (8 bits) Data Rate: 1M transfers/s typical Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 481: Local Bus

    VXIbus Revision Compliance: Register Level Documentation: Subset SCPI Revision: 1991.0 Manufacturer Code: 4095 Decimal Model Code: 418 Decimal Slave: A16/A24 D08/D16 Master: A16/A24 D08/D16 (The Keysight E1445A can control the Keysight E1446A Summing Amplifier/DAC.) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 482 -12 V +24 V -24 V -5.2 V -2 V 3.50 0.20 0.12 0.10 0.13 0.06 0.28 0.17 0.34 0.17 2.50 0.12 1.20 0.20 Average Watts/Slot: 40-44 dPressure (mm H2O): Air Flow (liters/s): Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 483: Appendix Contents

    Keysight E1445A Arbitrary Function Generator Module User Manual and SCPI Programming Guide Useful Tables Appendix Contents The tables in this appendix contain information often referred to during Keysight E1445A programming. The tables in this appendix include: Example Program Listing page 486...
  • Page 484: Example Program Listing

    Sin(x)/x arbitrary waveform. SIN_D " Damped sine wave arbitrary waveform. CHARGE " Exponential charge/discharge waveform. SPIKES " Sine wave with spikes. SIN_R " 1/2 wave rectified sine wave. NOISE " Pseudo-random noise. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 485 Example Program Listing Useful Tables Table B-1 Keysight E1445A Example Program Listing (continued) Program Type Program Name Language Description Sweeping, SMPLSWP1 BASIC, Visual BASIC, 0 Hz to 1 MHz sweep using start and stop frequencies. Frequency Visual C/ C++ Lists,...
  • Page 486 Useful Tables Example Program Listing Table B-1 Keysight E1445A Example Program Listing (continued) Program Type Program Name Language Description High-Speed SIGN_DAT BASIC, Visual BASIC, Downloads arbitrary waveform data as signed DAC codes. Data Transfer Visual C/ C++ (Chapter 7) UNS_DAT "...
  • Page 487 Example Program Listing Useful Tables Table B-1 Keysight E1445A Example Program Listing (continued) Register-Based FREQ1REG BASIC, Visual BASIC, Changes the output frequency generated by the DDS (Direct-Digital-Synthesis) chip (Frequency1 generator) by Applications Visual C/ C++ writing directly to the registers.
  • Page 488: Command Coupling Groups

    [SOURce:]MARKer:POLarity [SOURce:]MARKer[:STATe] [SOURce:]:PM[:DEViation] [SOURce:]:PM:UNIT[:ANGLe] [SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude]:UNIT[:VOLTage] STATus:OPC:INITiate STATus:OPERation:CONDition? STATus:OPERation:ENABle STATus:OPERation[:EVENt]? STATus:OPERation:NTRansition STATus:OPERation:PTRansition STATus:QUEStionable:CONDition? STATus:QUEStionable:ENABle STATus:QUEStionable[:EVENt]? STATus:QUEStionable:NTRansition STATus:QUEStionable:PTRansition STATus:PRESet TRIGger[:STARt][:IMMediate] TRIGger[:STARt]:SLOPe TRIGger:STOP[:IMMediate] TRIGger:SWEep[:IMMediate] VINStrument[:CONFigure]:LBUS[:MODE] VINStrument[:CONFigure]:LBUS[:MODE]:AUTO VINStrument[:CONFigure]:TEST:CONFigure VINStrument[:CONFigure]:TEST:DATA? VINStrument[:CONFigure]:VME[:MODE] VINStrument[:CONFigure]:VME:RECeive:ADDRess:DATA? VINStrument[:CONFigure]:VME:RECeive:ADDRess:READy? VINStrument:IDENtity? Frequency ARM:SWEep:COUNt ARM:SWEep:SOURce Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 489 Command Coupling Groups Useful Tables Table B-2 Keysight E1445A Command Coupling Groups (continued) Coupling Group Commands Frequency [SOURce:]FREQuency[1]:CENTer (continued) [SOURce:]FREQuency[1][:CW|:FIXed] [SOURce:]FREQuency[1]:FSKey [SOURce:]FREQuency[1]:FSKey:SOURce [SOURce:]FREQuency[1]:MODE [SOURce:]FREQuency[1]:RANGe [SOURce:]FREQuency[1]:SPAN [SOURce:]FREQuency[1]:STARt [SOURce:]FREQuency[1]:STOP [SOURce:]FREQuency2[:CW|:FIXed] [SOURce:]LIST2:FREQuency [SOURce:]PM:SOURce [SOURce:]PM:STATe [SOURce:]ROSCillator:FREQuency:EXTernal [SOURce:]ROSCillator:SOURce [SOURce:]SWEep:COUNt [SOURce:]SWEep:DIRection [SOURce:]SWEep:POINts [SOURce:]SWEep:SPACing [SOURce:]SWEep:TIME TRIGger[:STARt]:GATE:POLarity T...
  • Page 490 Useful Tables Command Coupling Groups Table B-2 Keysight E1445A Command Coupling Groups (continued) Coupling Group Commands Frequency & Voltage [SOURce:]ARBitrary:DAC:SOURce [SOURce:]FUNCtion[:SHAPe] [SOURce:]RAMP:POINts None ABORt ARM[:STARt][:LAYer[1]]:COUNt ARM[:STARt]:LAYer2:COUNt Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 491 Command Coupling Groups Useful Tables Table B-2 Keysight E1445A Command Coupling Groups (continued) None ARM[:STARt]:LAYer2[:IMMediate] ARM[:STARt]:LAYer2:SLOPe ARM[:STARt]:LAYer2:SOURce ARM:SWEep[:IMMediate] INITiate[:IMMediate] OUTPut[1]:FILTer[:LPASs]:FREQuency OUTPut[1]:FILTer[:LPASs][:STATe] OUTPut[1][:STATe] [SOURce:]ARBitrary:DAC:FORMat [SOURce:]ARBitrary:DOWNload [SOURce:]ARBitrary:DOWNload:COMPlete [SOURce:]FUNCtion:USER [SOURce:]LIST[1]:FORMat[:DATA] [SOURce:]LIST[1][:SEGMent]:ADDRess? [SOURce:]LIST[1][:SEGMent]:CATalog? [SOURce:]LIST[1][:SEGMent]:COMBined [SOURce:]LIST[1][:SEGMent]:COMBined:POINts? [SOURce:]LIST[1][:SEGMent]:DEFine [ SOURce:]LIST[1][:SEGMent]:DELete:ALL [SOURce:]LIST[1][:SEGMent]:DELete[:SELected] [SOURce:]LIST[1][:SEGMent]:FREE? [SOURce:]LIST[1][:SEGMent]:MARKer [SOURce:]LIST[1][:SEGMent]:MARKer:POINts? [SOURce:]LIST[1][:SEGMent]:MARKer:SPOint [SOURce:]LIST[1][:SEGMent]:SELect...
  • Page 492: Frequency Limits

    USER INTernal[1]* 0 Hz Ref Osc freq/4 INTernal2 Ref Osc freq/ Ref Osc freq 131072 * Multiply High Limit frequency values by 2 if frequency doubling is selected by the [SOURce:]FREQuency[1]:RANGe command. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 493: Amplitude Limits

    +22.4223658 +20.6614532 RAMP +.000174677344 to +.000116451562 to -7.57763421 to -9.33854680 to +.174677344 +.116451562 +22.4223658 +20.6614532 *Double the values for Open Circuit Loads selected by OUTPut[1]:LOAD INFinity. **Not available with OUTPut[1]:LOAD INFinity selected Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 494: Power-On/Reset Configuration

    Useful Tables Power-On/Reset Configuration Power-On/Reset Configuration Table B-5 Keysight E1445A Power-On/Reset Configuration (as returned by *LRN?) Parameter Command Power-on/Reset Setting Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 495 Power-On/Reset Configuration Useful Tables Table B-5 Keysight E1445A Power-On/Reset Configuration (as returned by *LRN?) Macro usage *EMC Calibration state :CAL:STAT 1 (enabled) AC calibration :CAL:STAT:AC 1 (enabled) DC calibration :CAL:STAT:DC 1 (enabled) DAC data source :ARB:DAC:SOUR INTernal Phase modulation units...
  • Page 496 Useful Tables Power-On/Reset Configuration Table B-5 Keysight E1445A Power-On/Reset Configuration (continued) Parameter Command Power-on/Reset Setting Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 497 Marker routing (ECLT0 line) :MARK:ECLT0:STAT 0 (off) ECL trigger line 1 marker source :MARK:ECLT1:FEED "TRIG" Marker routing (ECLT1 line) :MARK:ECLT1:STAT 0 (off) "Marker Out" BNC source :MARK:FEED "ARM" "Marker Out" signal polarity :MARK:POL NORM Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 498 Phase modulation source :PM:SOUR INTernal Phase modulation state :PM:STAT 0 (off) External waveform advance trigger TRIG:SLOP slope TRIG:STOP:SLOP External stop trigger slope :VINS:LBUS:REC:MODE Local bus mode :MODE:AUTO 1 (on) Local bus automatic mode Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 499: Error Messages

    The string data specified (e.g. for the SOUR:MARK:FEED <source> command is not a valid choice. -158 String data not allowed A string was specified when another parameter type (i.e. discrete, numeric, boolean) is required. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 500 -241 Hardware missing Command was intended for the Keysight E1446A which was not present, or is outside the servant area of the Keysight E1445A AFG. -270 Macro error *RMC <name> was executed and name is not defined.
  • Page 501 Keysight E1445A without having first sent a complete query command. -430 Query DEADLOCKED The E1445A’s input and output buffers are full and the AFG cannot continue. -440 Query UNTERMINATED after indefinite Occurs when the *IDN? query is not the last query executed in response a command string.
  • Page 502 Commands cannot be sent to the Keysight E1445A while the device is calibrating. +1019 Illegal while not calibrating The command is only valid while the Keysight E1445A is calibrating. +1020 Illegal while initiated and Frequency changes during phase modulation can only occur when SOUR:PM:SOUR is INTernal.
  • Page 503 SOUR:LIST1:SSEQ:SEL. +1121 Frequency list has zero length SOUR:FREQ1:MODE LIST is set and no frequency list exists. +1122 Frequency list has less than two frequencies. Frequency list length less than minimum Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 504: Settings Conflict Error Messages

    Useful Tables Settings Conflict Error Messages Settings Conflict Error Messages Table B-7 Keysight E1445A Settings Conflict Error Messages Settings Conflict Error Messages SOUR:FREQ1:FIX frequency < minimum; SOUR:FREQ1:FIX MIN set SOUR:FREQ1:FIX frequency > maximum; SOUR:FREQ1:FIX MAX set SOUR:FREQ2:FIX frequency < minimum; SOUR:FREQ2:FIX MIN set SOUR:FREQ2:FIX frequency >...
  • Page 505 Settings Conflict Error Messages Useful Tables Table B-7 Keysight E1445A Settings Conflict Error Messages (continued) Settings Conflict Error Messages SOUR2:VOLT:OFFS > maximum; SOUR2:VOLT:OFFS MAX set SOUR:FUNC:SHAP SIN and TRIG:STAR:SOUR not INT1; TRIG:STAR:SOUR INT1 set SOUR:FREQ1:START > SOUR:FREQ1:STOP; values exchanged SOUR:FREQ1:STAR frequency < minimum; SOUR:FREQ1:STAR MIN set SOUR:FREQ1:STAR frequency >...
  • Page 506 Settings Conflict Error Messages Table B-7 Keysight E1445A Settings Conflict Error Messages (continued) Settings Conflict Error Messages (when Keysight E1445A is used with the Keysight E1446A Amplifier) OUTP2:ATT 20 and OUTP2:IMP 0; OUTP2:IMP 50 set SOUR2:VOLT:OFFS < minimum; SOUR2:VOLT:OFFS MIN set SOUR2:VOLT:OFFS >...
  • Page 507: C Register-Based Programming

    Register-Based Programming Appendix Contents The Keysight E1445A Arbitrary Function Generator (AFG) is a message-based device. As such, it supports the VXI word-serial protocol used to transfer ASCII command strings and is capable of converting the SCPI commands it receives to reads and writes of its hardware registers.
  • Page 508: System Configuration

    AFG’s Offset Register and multiplying the value by 256 (10016). This converts the 16-bit value of the Offset Register to a 24-bit address. The register number is identified in the register descriptions found in the following sections. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 509: Reading The Afg's Offset Register

    As shown in Figure C-1, the AFG's configuration registers are mapped into the upper 25% of A16 address space. The Offset Register is one of the AFG's configuration registers. Figure C-1 E1445A AFG Registers within A16 Address Space Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 510 Register-Based Programming Accessing the Registers In a system using a V/360 (Keysight E1480) controller, for example, the base address of the configuration registers is computed as: C000 + (LADDR * 64) 49,152 + (LADDR * 64) where C000 (49,152) is the starting location of the register addresses, LADDR is the AFG’s logical address, and 64 is the number of address bytes in A16 per VXI...
  • Page 511: Changing The Output Frequency

    Register A5: Bits 23–16 of the phase increment value. Register A3: Bits 15–8 of the phase increment value. Register A1: Bits 7–0 of the phase increment value. These are the least significant bits (LSBs). Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 512: The Frequency Load Strobe Register

    4. The reference oscillator (ROSC) will be divided by 4 through 131,072 when the registers are loaded with 1 through 65,535. Address 15–8 base + 7D through unused value base + 7F Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 513: Frequency Control Programs

    160!frequency, and the frequency range (SOUR:FREQ1:RANGe command). 170!(Note: sine waves and arb waves: npts=1, square waves: npts=4, 180!ramp/triangle waves: npts=RAMP:POINts value.) 190! 200CALL Freq_change(2000.,1,4.294967296E+7,0) 210END 220! 230SUB A24_offset 240 A24_offset: !Subprogram which determines the base address for Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 514 620!Write the first byte of the frequency value to register A7, the 630!second byte to register A5, the third byte to register A3, and the 640!fourth byte to register A1. 650WRITEIO -16,Base_addr+IVAL("A7",16);IVAL(Phase$[1;2],16) 660WRITEIO -16,Base_addr+IVAL("A5",16);IVAL(Phase$[3;2],16) 670WRITEIO -16,Base_addr+IVAL("A3",16);IVAL(Phase$[5;2],16) 680WRITEIO -16,Base_addr+IVAL("A1",16);IVAL(Phase$[7;2],16) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 515 The Visual BASIC example program, FREQ1REG.FRM, is in directory “ VBPROG” and the Visual C example program, FREQ1REG.C, is in directory “ VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 516: Divide-By-N Frequency Control

    240 A24_offset: !Subprogram which determines the base address for 250!the AFG registers in A24 address space. 260COM @Afg,Base_addr 270CONTROL 16,25;2!access A16 space with READIO and WRITEIO 280A16_addr=DVAL("D400",16)!AFG A16 base address 290Offset=READIO(-16,A16_addr+6)!read AFG offset register 300Base_addr=Offset*256!shift offset for 24-bit address 310SUBEND Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 517 630!Set the reference oscillator divider based on the new frequency. 640!Also load the new divider value if n is greater than 3. 650Divider=Reference_osc/Frequency/Points 660SELECT Divider 670CASE 1 680Sample_hold=BINAND(Sample_hold,248)+0 690CASE 2 700Sample_hold=BINAND(Sample_hold,248)+1 710CASE 3 720Sample_hold=BINAND(Sample_hold,248)+2 730CASE ELSE 740Sample_hold=BINAND(Sample_hold,248)+3 750Divider=Divider/2-1 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 518 The Visual BASIC example program, FREQ2REG.FRM, is in directory “ VBPROG” and the Visual C example program, FREQ2REG.C, is in directory “ VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 519: Changing The Signal Phase

    Writing any value to the Phase Load Strobe Register adds the data in the Phase Modulation Registers to the output of the phase accumulator. Address 15–8 base + 8B unused Strobe Data Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 520: Phase Control Program

    220!the AFG registers in A24 address space. 230COM @Afg,Base_addr 240CONTROL 16,25;2!access A16 space with READIO and WRITEIO 250A16_addr=DVAL("D400",16)!AFG A16 base address 260Offset=READIO(-16,A16_addr+6)!read AFG offset register 270Base_addr=Offset*256!shift offset for 24-bit address 280SUBEND 290! Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 521 650!received, it takes 14 reference oscillator clock cycles before 660!the new phase appears at the output. 670WRITEIO -16,Base_addr+IVAL("8B",16);0 680SUBEND 690! 700SUB Rst 710 Rst:!Subprogram which resets the E1445. 720COM @Afg,Base_addr 730OUTPUT @Afg;"*RST;*OPC?"!reset the AFG Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 522 The Visual BASIC example program, PHASCHNG.FRM, is in directory “ VBPROG” and the Visual C example program, PHASCHNG.C, is in directory “ VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 523: Selecting The Waveform Sequence

    The source specified in the Sequence Selection program is the Waveform Select Register. Note that when the sequencer data source is specified, the contents of the other register fields must remain unchanged. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 524 WFUSED: A ‘0’ to ‘1’ transition of this bit indicates that a new waveform can be selected from sequence base memory. This bit is cleared by reading, and then writing to the Waveform Select Register. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 525: Waveform Sequence Selection Program

    240!Select an output sequence, and initiate (start) waveform output. 250OUTPUT @Afg;"SOUR:FUNC:USER SEQ1"!waveform sequence 260OUTPUT @Afg;"INIT:IMM"!wait-for-arm state 270! 280!Subprogram which changes the output sequence with register writes. 290CALL Wave_change 300END 310! 320SUB Waveform_def 330COM @Afg,@Afg1,Base_addr,Seq1_addr,Seq2_addr,Seq3_addr Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 526 640!of the sequence in sequence memory to the Sequence Base register. 650! 660Wav_sel=BINAND(READIO(-16,Base_addr+IVAL("A",16)),IVAL("00FF",16)) 670WRITEIO -16,Base_addr+IVAL("A",16);BINIOR(Wav_sel,IVAL("0100",16)) 680WRITEIO -16,Base_addr+IVAL("20",16);Seq1_addr !sequence mem base addr 690! 700Wav_sel=BINAND(READIO(-16,Base_addr+IVAL("A",16)),IVAL("00FF",16)) 710WRITEIO -16,Base_addr+IVAL("A",16);BINIOR(Wav_sel,IVAL("0200",16)) 720WRITEIO -16,Base_addr+IVAL("20",16);Seq2_addr !sequence mem base addr 730! 740Wav_sel=BINAND(READIO(-16,Base_addr+IVAL("A",16)),IVAL("00FF",16)) 750WRITEIO -16,Base_addr+IVAL("A",16);BINIOR(Wav_sel,IVAL("0300",16)) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 527 1110!in an indefinite length block. Download the sequence as a 1120!combined list (repetition count, marker, and segment address) 1130!in an indefinite length arbitrary block. 1140COM @Afg,@Afg1,Base_addr,Seq1_addr,Seq2_addr,Seq3_addr 1150INTEGER Waveform(1:4096) 1160INTEGER Sequence(1:2) 1170REAL Addr_seg1 1180FOR I=-2047 TO 2048 Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 528 1520!as a combined list (voltage and marker) of signed numbers 1530!in an indefinite length block. Download the sequence as a 1540!combined list (repetition count, marker, and segment address) 1550!in an indefinite length arbitrary block. 1560COM @Afg,@Afg1,Base_addr,Seq1_addr,Seq2_addr,Seq3_addr 1570INTEGER Waveform(1:4096) 1580INTEGER Sequence(1:2) Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 529 1950!data as a combined list (voltage and marker) of signed 1960!numbers in an indefinite length block. Download the sequence as 1970!a combined list (repetition count, marker, and segment address) 1980!in an indefinite length arbitrary block. 1990COM @Afg,@Afg1,Base_addr,Seq1_addr,Seq2_addr,Seq3_addr Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 530 2370 OUTPUT @Afg;"SOUR:LIST1:SSEQ:DEF 1" !sequence size 2380 OUTPUT @Afg USING "#,K";"SOUR:LIST1:SSEQ:COMB #0" !segm execution order 2390 OUTPUT @Afg1;Sequence(*) !sequence list in indefinite length block 2400 OUTPUT @Afg;CHR$(10);END !terminate with Line Feed (LF) and EOI 2410 ! Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 531 Waveform Select Register (selected by the Traffic Register) contains the waveform index which is the location in sequence base memory where the base address of the sequence in sequence memory is located. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 532 The Visual BASIC example program, WAVE_SEL.FRM, is in directory “ VBPROG” and the Visual C example program, WAVE_SEL.C, is in directory “ VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 533: Loading The Dac From The Vxibus

    1!RE-STORE"VXISRCE" 2!This program uses the V/360 embedded controller to send waveform 3!data directly to the AFG dac over the VXIbus backplane. 10!Assign I/O path between the computer and E1445A. 20ASSIGN @Afg TO 1680 30COM @Afg,Addr 50!Call the subprograms which reset the AFG and determine the base 60!address of the registers in A24 address space.
  • Page 534 510NEXT I 520! 530!Continuously write data (in 16-bit words) to the dac via the 540!VXIbus and High Speed Data register. 550LOOP 560FOR I=1 TO 128 570WRITEIO -16,Addr;Waveform(I) 580NEXT I 590END LOOP 600SUBEND 610! Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 535 The Visual BASIC example program, VXISRCE.FRM, is in directory “ VBPROG” and the Visual C example program, VXISRCE.C, is in directory “ VCPROG” on the CD that came with your Keysight E1445A. Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 536 Register-Based Programming Loading the DAC from the VXIbus Keysight E1445A User Manual and SCPI Programming Guide...
  • Page 538 This information is subject to change without notice. © Keysight Technologies, 2019 Printed in Malaysia Edition 4, October 2019 *E1445-90005* E1445-90005 www.keysight.com...

Table of Contents