Agilent 75000 Series CAgilent E1445A Arbitrary Function Generator ModuleUser’s Manual and SCPI Programming GuideWhere to Find it - Online and Printed
Chapter 8. Command Reference (continued):SSEQuence:DEFine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
950 !End of statement if error occurs among coupled commands960 OUTPUT @Afg;""970 OUTPUT @Afg;"ABORT" !abort output waveform980 RE
Using Different Frequency GeneratorsThe AFG can use either the DDS (Frequency1) Frequency Generator or theDivide-by-N (Frequency2) Frequency Generator
4. Select the Reference Oscillator[SOURce:]ROSCillator:SOURce INTernal[1]This command selects the 42.9 MHz (Internal1) reference oscillatorsource to
10. Name the Waveform Segment[SOURce:]LIST[1][:SEGMent]:SELect <name>This command names the waveform segment.11. Set the Waveform Segment Size
BASIC Program Example (AFGGEN1) 1 !RE-STORE"AFGGEN1" 2 !This program outputs a ramp arbitrary waveform using the 3 !AFG’s frequency1 ge
450 OUTPUT @Afg;"SOUR:LIST1:SSEQ:SEL RAMP_OUT"460 OUTPUT @Afg;" SOUR:LIST1:SSEQ:DEF 1"470 OUTPUT @Afg;" SOUR:LIST1:SSEQ:S
BASIC Program Example (AFGGEN2)This program is similar to the AFGGEN1 program on page 102 except itselects different reference oscillator and sample s
Generating aSin(X)/X WaveformThe SIN_X program generates a Sin(X)/X waveform using 4096 segmentsor points.BASIC Program Example (SIN_X) 1 !RE-STORE “
280 SUB Sinx_def290 Sinx_def: !Define Sin(x)/x waveform and output sequence.300 COM @Afg310 DIM Waveform(1:4096)320 FOR I=-2047 TO 2048330 IF I=0 THE
Generating aDamped Sine WaveThe SIN_D program generates a Damped sine wave using 4096 segments orpoints.BASIC Program Example (SIN_D)This program is s
Chapter 8. Command Reference (continued):QUEStionable:CONDition? . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Visual BASIC andVisual C/C++ ProgramVersionsThe Visual BASIC example program, SIN_D.FRM, is in directory“VBPROG” and the Visual C example program, SIN
380 IF T>=2047 THEN390 Waveform(T)=1*(1-EXP(-2048/Rc))-1*(1-EXP(-(T-2047)/Rc))400 END IF410 NEXT T420 OUTPUT @Afg;"SOUR:LIST1:SEGM:SEL CHARGE
300 Spike_def: !Compute waveform (sine wave with spike) and define segment.310 COM @Afg320 DIM Waveform(1:4096)330 FOR I=1 TO 4096340 Waveform(I)=SIN
Generating a 1⁄2Rectified Sine WaveThe SIN_R program generates a Rectified sine wave using 4096 segmentsor points.BASIC Program Example (SIN_R)This pr
Visual BASIC andVisual C/C++ ProgramVersionsThe Visual BASIC example program, SIN_R.FRM, is in directory“VBPROG” and the Visual C example program, SIN
Arbitrary Waveform Program CommentsThe following comments give additional details on the program examples inthis chapter.Determining theAmount ofSegme
Using DAC Codesto Send SegmentDataBesides sending the points in a waveform segment as voltage data, they canalso be sent as signed or unsigned DAC cod
ReferenceOscillator Sources• The USER function can use any of the reference oscillator sourcesselected by the [SOURce:]ROSCillator:SOURce command. Th
Frequency1Generator Range• The [SOURce:]FREQuency[1]:RANGe command allows for highersample frequency operations of the USER function. This commandis
Chapter 4Sweeping and Frequency-Shift KeyingChapter ContentsThis chapter covers the sweeping, frequency list, and frequency-shift keying(FSK) feature
Chapter 8. Command Reference (continued)*SAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FSK Programming FlowchartThe flowchart in Figure 4-1 shows the commands used to program the AFGfor frequency sweeps, frequency lists, and for frequenc
Figure 4-1. Commands for Frequency Sweeps, Frequency Lists, and FSK Keying(continued from previous page)Chapter 4 Sweeping and Frequency-Shift Keyin
FSK Command ReferenceDetailed information on the commands introduced in this chapter can befound in Chapter 8, “Command Reference”. The commands in t
Sweeping UsingStart and StopFrequenciesThe SMPLSWP1 program specifies a start frequency and a stop frequencyand continuously sweeps between 0 and 1 MH
BASIC Program Example (SMPLSWP1) 1 !RE-STORE"SMPLSWP1" 2 !This program specifies start and stop frequencies to sweep 3 !a sine wave f
450 OUTPUT @Afg;"SOUR:FREQ1:CENT?"460 ENTER @Afg;Center$470 OUTPUT @Afg;"SOUR:FREQ1:SPAN?"480 ENTER @Afg;Span$490 OUTPUT @Afg;&quo
Specifying aFrequency ListThe LIST1 program shows the basic steps involved in setting up and“hopping” through a frequency list. The program also show
BASIC Program Example (LIST1) 1 !RE-STORE “LIST1” 2 !The following program outputs the frequencies 1 kHz, 10 kHz, 3 !100 kHz, and 1 MHz in a (d
440 ENTER @Afg;Points$450 DISP “Number of frequencies in list: ”;Points$460 SUBEND470 !480 SUB Errmsg490 Errmsg: !Subprogram which displays E1445 pr
Sweeping UsingStart and SpanFrequenciesThe SMPLSWP2 program specifies a start frequency and a frequency spanto continuously sweep from 1 kHz to 21 kHz
Appendix B. Useful Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463Example Progr
BASIC Program Example (SMPLSWP2) 1 !RE-STORE"SMPLSWP2" 2 !This program continuously sweeps from 1 kHz to 21 kHz and specifies 3 !a st
450 ENTER @Afg;Center$460 OUTPUT @Afg;"SOUR:FREQ1:SPAN?"470 ENTER @Afg;Span$480 OUTPUT @Afg;"SOUR:FREQ1:STAR?"490 ENTER @Afg;Start
Frequency ListsUsing Definite andIndefinite LengthArbitrary BlocksWhen specifying a large frequency list (up to 256 frequencies), the ease inwhich the
BASIC Program Example (LISTDEF) 1 !RE-STORE"LISTDEF" 2 !This program sends a definite length arbitrary block of frequencies 3 !to the
440 SUB Rst450 Rst: !Subprogram which resets the E1445.460 COM @Afg,Afg1470 OUTPUT @Afg;"*RST;*OPC?" !reset the AFG480 ENTER @Afg;Complete4
LogarithmicSweepingThe LOG_SWP program shows you how to select logarithmic spacingbetween the frequencies in a frequency sweep. The program sets up a
110 !120 !Call the subprograms130 CALL Rst140 CALL Swp_pvss150 !160 WAIT .1 !allow interrupt to be serviced170 OFF INTR 7180 END190 !200 SUB Swp_pvss2
Sweep PointsVersus TimeTo demonstrate the relationship between the number of points (frequencies)in a frequency sweep and the time of the sweep, the S
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 h
440 Errmsg: !Subprogram which displays E1445 programming errors450 COM @Afg460 DIM Message$[256]470 !Read AFG status byte register and clear service
Notes12 Agilent E1445A User’s Manual Contents
Frequency ListsVersus TimeTo demonstrates the relationship between the number of frequencies in afrequency list and the time to hop through the list,
BASIC Program Example (LIST_TME) 1 !RE-STORE"LIST_TME" 2 !The following program steps through a frequency list at a rate 3 !such that
450 DIM Message$[256]460 !Read AFG status byte register and clear service request bit470 B=SPOLL(@Afg)480 !End of statement if error occurs among coup
Sweeping ArbitraryWaveformsWhen sweeping arbitrary waveforms, the start and stop frequenciesspecified are start and stop sample rates. The correspond
210 !220 WAIT .1 !allow interrupt to be serviced230 OFF INTR 7240 END250 !260 SUB Wvfm_manage270 Wvfm_manage: !Subprogram which calls the subprograms
710 OUTPUT @Afg;"SOUR:FREQ1:MODE SWE;"; !sweep mode 720 OUTPUT @Afg;" :SOUR:FREQ1:STAR 40.96E3;"; !start sample rate 730 OUTP
Program Modifications To select another waveform, comment out (!) line 180 or 190 depending onthe waveform sequence (S1 or N1) you DO NOT want to outp
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. 4 !
450 DIM Message$[256]460 !Read AFG status byte register and clear service request bit470 B=SPOLL(@Afg)480 !End of statement if error occurs among coup
Frequency-Shift KeyingFrequency-shift keying (FSK) changes the frequency of the outputwaveform or sample rate based on the signal level of the frequen
CertificationAgilent Technologies certifies that this product met its published specifications at the time of shipment from the factory. AgilentTechn
7. Set the signal amplitude[SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude] <amplitude>8. Place the AFG in the wait-for-arm stateINITiate[:IMM
370 SUB Rst380 Rst: !Subprogram which resets the E1445.390 COM @Afg400 OUTPUT @Afg;"*RST;*OPC?" !reset the AFG410 ENTER @Afg;Complete420 SU
FSK Using theTTLTrg<n> ControlSourceThe FSK2 program sets up frequency-shift keying using a TTLTrg<n>trigger line as the control source.
200 END210 !220 SUB Fsk_ttl230 Fsk_ttl: !Subprogram which sets up frequency-shift keying and trigger240 !line TTLTRG 5 as the control source.250 COM
700 REPEAT710 OUTPUT @Afg;"SYST:ERR?" !read AFG error queue720 ENTER @Afg;Code,Message$730 PRINT Code,Message$740 UNTIL Code=0750 STOP760 SU
270 OUTPUT @Afg;"SOUR:FUNC:USER SIN_X_OUT"280 OUTPUT @Afg;"INIT:IMM"290 !300 WAIT .1 !allow interrupt to be serviced310 OFF INTR 7
770 ENTER @Afg;Code,Message$780 PRINT Code,Message$790 UNTIL Code=0800 STOP810 SUBENDVisual BASIC andVisual C/C++ ProgramVersionsThe Visual BASIC exam
• TTLTrg0 through 7 – The VXIbus TTL trigger lines.INTernal[1] is the source selected at power-on or following a reset,but is specified in the program
• Triangle and Ramp Waves: The maximum undoubled frequency isthe current reference oscillator frequency divided by 4, furtherdivided by the [SOURce:]R
In an indefinite length arbitrary block:• “#” indicates the data to be sent is in an arbitrary block.• “0” indicates that an indefinite length block o
Frame or chassis ground terminal—typicallyconnects to the equipment’s metal frame.Alternating current (AC).Direct current (DC). Indicates hazardous vo
Sweep Time The number of frequencies (points) in a sweep and the number of frequenciesin a frequency list change the duration of the sweep or pass thr
Sweep timespecified = Sweep repetition time desired* ((points - 1)/points)Sweep Points Versus TimeIn SWP_PVST (Sweep Points Versus Time) on page 136,
Output Frequencyand Sample RateThe output frequency of an arbitrary waveform is defined as:FO = sample rate/waveform_pointsFor frequency sweeps the sa
Table 4-1. Amplitude Errors Versus Settling TimesAmplitude = 5 Vpk, 10 MHz filter, frequency change =10 %, Freq1 = 10.7 MHz, Freq2 = 0.9 * Freq1Error
Both the “FSK” BNC connector and the TTLTrg<n> trigger lines use TTLcompatible signal levels. A “high” level on the BNC or trigger line selects
Chapter 5Arming and TriggeringChapter ContentsThis chapter shows you how to arm and trigger the Agilent E1445A AFG inorder to start and advance stand
The ARM-TRIG ConfigurationEach standard and arbitrary waveform is a series of discrete amplitudepoints (digital-to-analog (DAC) codes). The Agilent E
Initiating WaveformsAfter the AFG has been configured to output the desired waveform, theAFG is set to the Wait-for-Arm state with the command: INITia
The arming commands for continuous waveforms are uncoupledcommands. They are executed relative to other AFG commands in thesequence of Figure 5-2.Not
5. Set the arm sourceARM[:STARt]:LAYer2:SOURce <source>6. Set the trigger edge of the external trigger signalARM[:STARt]:LAYer2:SLOPe <edge
Declaration of Conformity Declarations of Conformity for this product and for other Agilent products may be downloaded from the Internet. There are
340 Rst: !Subprogram which resets the E1445.350 COM @Afg360 OUTPUT @Afg;"*RST;*OPC?" !reset the AFG370 ENTER @Afg;Complete380 SUBEND390 !40
Setting the Armand WaveformCycle CountThe BURST program shows you how to set the number of arms the AFG isto receive before returning to the Idle stat
BASIC Program Example (BURST) 1 !RE-STORE"BURST" 2 !This program sets the arm count to infinity, and the cycle count 3 !count to 5. T
420 Errmsg: !Subprogram which displays E1445 programming errors430 COM @Afg440 DIM Message$[256]450 !Read AFG status byte register and clear service
Triggering the AFGArming the AFG places the device in the Wait-for-Trigger state (Figure 5-1).When a trigger occurs, the AFG digital-to-analog convert
The commands in the TRIGger subsystem are frequency coupled. They areexecuted relative to other AFG commands in the sequence shown in Figure 5-3.Figu
Using theDivide-by-NFrequencyGeneratorThe DIV_N program shows how to set the AFG trigger source. The programselects the AFG’s divide-by-N frequency g
160 WAIT .1 !allow interrupt to be serviced170 OFF INTR 7180 END190 !200 SUB Squ_wave210 Squ_wave: !Subprogram which selects reference oscillator sou
Lock-SteppingMultiple AFGsThe LOCKSTEP program configures two AFGs such that they share thesame trigger source. A “master” AFG is programmed to outpu
7. Feed the master AFG trigger to the trigger source of the slave AFG[SOURce:]MARKer:ECLTrg<n>:FEED <source>8. Enable the routing of the
Notes16 Agilent E1445A Arbitrary Function Generator User’s Manual
340 END350 !360 SUB Sinx_def370 Sinx_def: !Subprogram which computes the sin(x)/x waveform amplitudes380 !used by both AFGs.390 COM @Afg_m,@Afg_s,Wav
840 OUTPUT @Afg_s;"SOUR:LIST1:SEGM:SEL SIN_X"850 OUTPUT @Afg_s;"SOUR:LIST1:SEGM:DEF 4096"860 OUTPUT @Afg_s;"SOUR:LIST1:SEGM
1340 B=SPOLL(@Afg_s)1350 !End of statement if error occurs among coupled commands1360 OUTPUT @Afg_s;""1370 OUTPUT @Afg_s;"ABORT" !
10. Set the number of waveform cyclesARM[:STARt][:LAYer[1]]:COUNt <number>11. Place the AFG in the wait-for-arm stateINITiate[:IMMediate]BASIC
330 OUTPUT @Afg;" ARM:STAR:LAY2:SLOP POS" !arm slope340 OUTPUT @Afg;" ARM:STAR:LAY2:COUN 5" !arm count350 OUTPUT @Afg;"
Gating TriggerSignalsGating is the process of suspending the output waveform. When the gate isactive, AFG triggering is suspended. The output remain
BASIC Program Example (GATE) 1 !RE-STORE"GATE" 2 !The following program gates the output of a 40 point triangle 3 !wave whose frequen
420 SUB Errmsg430 Errmsg: !Subprogram which displays E1445 programming errors440 COM @Afg450 DIM Message$[256]460 !Read AFG status byte register and
Arming and Triggering Frequency Sweeps and ListsFrequency sweeps and lists are started and advanced using the arm andtrigger signals described in this
The steps of this program are:1. Set the sweep mode[SOURce:]FREQuency[1]:MODE SWEep2. Set the start frequency[SOURce:]FREQuency[1]:STARt <start_f
NotesAgilent E1445A Arbitrary Function Generator User’s Manual 17
BASIC Program Example (SWP_TRIG) 1 !RE-STORE"SWP_TRIG" 2 !This program triggers a sweep using the Group Execute 3 !Trigger command. T
450 FOR I=1 TO 10460 DISP “Wait until sweep completes, then press ’Continue’ to start a new sweep”470 PAUSE480 TRIGGER @Afg !trigger AFG490 NEXT I500
Arming andTriggering aFrequency SweepThe SWP_STEP program show you how to control the start and advancingof a frequency sweep. The program sets the s
BASIC Program Example (SWP_STEP) 1 !RE-STORE"SWP_STEP" 2 !This program sets the AFG arm source and trigger source to 3 !HOLD. The AFG
440 ENTER @Afg;Pts450 FOR I=1 TO (Pts-1)460 DISP “Press ’Continue’ to advance to next frequency”470 PAUSE480 OUTPUT @Afg;"TRIG:SWE:IMM" !ste
Arming andTriggering aFrequency ListFrequency lists are started and advanced using the same arming andtriggering commands used for sweeps. The LIST_S
BASIC Program Example (LIST_STP) 1 !RE-STORE"LIST_STP" 2 !The following program configures the AFG to step through a 3 !frequency lis
450 TRIGGER 7 !advance to next frequency460 NEXT I470 DISP “”480 SUBEND490 !500 SUB Rst510 Rst: !Subprogram which resets the E1445.520 COM @Afg,Pts53
Aborting WaveformsAborting a waveform places the AFG in the Idle state (Figure 5-4). Thewaveform is halted and the output remains at the last amplitu
Arming and Triggering Program CommentsThe following information is associated with arming and triggering theAFG. Included are details on the operatio
Notes18 Agilent E1445A Arbitrary Function Generator User’s Manual
Note Direct frequency control (that is, the [SOURce:]FREQuency commands) isonly available with the INTernal1 and INTernal2 time base sources. For all
AFG ArmingSourcesThe arming sources set by the ARM[:STARt]:LAYer2:SOURce <source>command are:• BUS – The GPIB Group Execute Trigger (GET) comman
External StopTrigger SlopeAn external stop trigger signal is applied to the AFG’s “Stop Trig/FSK/GateIn” BNC connector. The edge of the signal on whi
Frequency Sweep/List ArmingThe source which arms the frequency sweep or list is set with theARM:SWEep:SOURce command. The available sources are:• BUS
Notes202 Arming and Triggering Chapter 5
Chapter 6Marker Outputs/Multiple AFG OperationsChapter ContentsThis chapter shows how to generate the different signals at the front panel’s“Marker O
Marker Pulse Enable FlowchartThe flowchart in Figure 6-1 shows how to select and output the differentmarker pulses at the front panel “Marker Out” BNC
Available Marker SourcesThere are six marker sources available for output at the AFG’s front panel“Marker Out” BNC and the ECL Trigger Lines. Use the
[SOURce:]ROSCillatorThe source outputs the reference oscillator selected by[SOURce:]ROSCillator:SOURce.TRIGger[:STARt|:SEQuence[1]]The source outputs
Generating MultipleMarker Pulses inMultiple SegmentListsThe MARKSEG1 program shows how to generate marker pulses using[SOURce:]LIST[1][:SEGMent]:MARKe
Chapter 1Getting StartedChapter ContentsThis chapter shows you how to configure, install, and begin using theAgilent E1445A Arbitrary Function Genera
6. Enable Marker Outputs[SOURce:]MARKer[:STATe] ONThis commands enables the AFG to output marker pulses. However,before the marker pulses can be out
BASIC Program Example (MARKSEG1) 1 !RE-STORE“MARKSEG1” 2 !This program computes a sine wave and a triangle wave as arbitrary 3 !waveforms. A co
420 NEXT I430 !440 OUTPUT @Afg;"SOUR:LIST1:SEGM:SEL SINE" !segment name450 OUTPUT @Afg;" SOUR:LIST1:SEGM:DEF 512" !segment size
910 Wf_del:!Subprogram which deletes all sequences and segments. 920 COM @Afg 930 OUTPUT @Afg;"FUNC:USER NONE" !select no sequences 940
Generating SingleMarker Pulses inSingle WaveformSegmentsThe MARKSEG2 program shows how to generate marker pulses using[SOURce:]LIST[1][:SEGMent]:MARKe
BASIC Program Example (MARKSEG2)The MARKSEG2 program is the same as the MARKSEG1 program onpage 209 except it selects the marker pulses differently.
Generating Marker Pulses for Each Waveform PointThe MARKTRG program shows how to generate and output a 12 nS widemarker pulse at each point of the wav
5. Select the Marker Polarity[SOURce:]MARKer:POLarity <polarity>NORMal <polarity> selects active high marker pulses; INVerted selects act
190 OUTPUT @Afg;":SOUR:FUNC:SHAP USER;"; !function200 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL 5.1V" !amplitude210 OUTPUT @Afg;"
670 Errmsg: !Subprogram which displays E1445 programming errors680 COM @Afg690 DIM Message$[256]700 !Read AFG status byte register and clear service
VXIbus FactorySettingsThe Agilent E1445A AFG (shown in Figure 1-1) is configured at the factoryas shown in Table 1-1.Table 1-1. Agilent E1445A VXIbus
Operating Multiple AFGs TogetherThe DRIFT program shows how to operate multiple AFGs together tosynchronize their outputs to each other. One AFG (the
4. Enable the ECLTrg0 Line[SOURce:]MARKer:ECLTrg0[:STATe] ONThis enables the marker output on the ECLTrg0 trigger line.(Although *RST automatically e
BASIC Program Example (DRIFT) 1 !RE-STORE"DRIFT" 2 !This program sets up two AFG’s to output 1 MHz square waves. 3 !To prevent these
420 OUTPUT @Afg_m;"SOUR:MARK:ECLT0:FEED "SOUR:ROSC"" !feed ref osc430 OUTPUT @Afg_m;"SOUR:MARK:ECLT0:STAT ON" !enable
910 PRINT Code,Message$ 920 UNTIL Code=0 930 STOP 940 ELSE !servant error 950 B=SPOLL(@Afg_s) 960 !End of statement if error occurs among coupled co
Chapter 7High Speed OperationChapter ContentsThis chapter explains how to use the Agilent E1445A Arbitrary FunctionGenerator at faster speeds and oth
- Downloading Data Directly into the DAC . . . . . . . . . . . . . Page 269• Using the Front Panel’s “Digital Port In” Connector . . . . . . . . .
Using Signed Data to Generate WaveformsTransferring waveform segments as Digital-to-Analog Converter (DAC)Codes to the AFG is faster than transferring
The commands are:1. Reset the AFG*RST2. Clear the AFG Memory of All Sequence and Segment Data[SOURce:]LIST[1]:SSEQuence:DELete:ALL[SOURce:]LIST[1][:
BASIC Program Example (SIGN_DAT)The SIGN_DAT program is very similar to the example programs used inChapter 3. The only difference is that this progr
Note Appendix A has the complete list of Agilent E1445A VXIbus systemspecifications.The AFG LogicalAddressThe Agilent E1445A AFG logical address is us
390 OUTPUT @Afg;"SOUR:ARB:DAC:SOUR INT" !dac data source400 OUTPUT @Afg;"SOUR:ARB:DAC:FORM SIGN" !dac data format (signed)410 OUT
Using Unsigned Data to Generate WaveformsTransferring waveform segments as Digital-to-Analog Converter (DAC) Codesto the AFG is faster than transferri
5. Select the DAC Data Format [SOURce:]ARBitrary:DAC:FORMat UNSignedThis command selects the UNSigned number format. 7. Store the Waveform Segment as
Using Definite Length Arbitrary Blocks to Transfer DataThe AFG can receive DAC codes as Definite Length Arbitrary Block Datausing either the Signed or
BASIC Program Example (DACBLOK1)The DACBLOK1 program shows how to store a waveform segment (i.e., points of an arbitrary waveform) into the AFG’s segm
290 END300 !310 SUB Ramp_wave320 Ramp_wave: !Subprogram which defines a ramp waveform and output330 !sequence.340 COM @Afg,@Afg1350 INTEGER Waveform(
790 ENTER @Afg;Code,Message$800 PRINT Code,Message$810 UNTIL Code=0820 STOP830 SUBENDVisual BASIC andVisual C/C++ ProgramVersionsThe Visual BASIC exam
Using Indefinite Length Arbitrary Blocks to Transfer DataThe AFG can receive DAC codes as Indefinite Length Arbitrary Block Datausing either the Signe
BASIC Program Example (DACBLOK2)The DACBLOK2 program shows how to store a waveform segment (i.e., points of an arbitrary waveform) into the AFG’s segm
260 !270 WAIT .1!allow interrupt to be serviced280 OFF INTR 7290 END300 !310 SUB Ramp_wave320 Ramp_wave: !Subprogram which defines a ramp waveform an
Addressing the AFG (External Controllerand PC)Devices in the C-size mainframe and in the servant area of theAgilent E1406A Command Module are located
760 OUTPUT @Afg;"ABORT" !abort output waveform770 REPEAT780 OUTPUT @Afg;"SYST:ERR?" !read AFG error queue790 ENTER @Afg;Code,Messa
Using Combined Signed DataThe Combined Segment Lists transfers both the arbitrary waveformsegment data and marker pulses to the AFG (see Chapter 6 for
Using the CombinedList with the SignedNumber FormatThis section shows how to setup the AFG to receive a combined list in theSigned number format and h
The COMBSIGN program shows how to store a combined list (i.e., pointsand/or marker bit of an arbitrary waveform) into the AFG’s segmentmemory. The li
6. Set the Marker Output Source[SOURce:]MARKer:FEED “[SOURce:]LIST[1]”This command selects the LIST[1] source as the source that outputs amarker puls
160 CALL Wf_del170 !180 OUTPUT @Afg;"SOUR:FREQ1:FIX 200E3;"; !frequency190 OUTPUT @Afg;":SOUR:FUNC:SHAP USER;"; !function200 OUT
660 SUBEND670 !680 SUB Wf_del690 Wf_del: !Subprogram which deletes all sequences and segments.700 COM @Afg,Afg1710 OUTPUT @Afg;"FUNC:USER NONE&
Using Combined Unsigned DataThe Combined Segment Lists transfers both the arbitrary waveformsegment data and marker pulses to the AFG (see Chapter 6 f
To calculate combined list codes from NEGATIVE voltage values, use theformula:DAC Code = ((voltage value / .00125) shift left by 3) + 32768For example
The commands are the same ones listed on page 241, except on how toselect the Unsigned format and how to generate the data. These exceptionsare as fo
Using an EmbeddedControllerAs a message-based device, the Agilent E1445A can easily be programmedacross the VXIbus backplane from an embedded controll
180 OUTPUT @Afg;"SOUR:FREQ1:FIX 200E3;"; !frequency190 OUTPUT @Afg;":SOUR:FUNC:SHAP USER;"; !function200 OUTPUT @Afg;":SOUR
680 COM @Afg,Afg1690 OUTPUT @Afg;"*RST;*OPC?" !reset the AFG700 ENTER @Afg;Complete710 SUBEND720 !730 SUB Wf_del740 Wf_del: !Subprogram whi
Using Combined Waveform Segments and Segment SequencesUsing Combined Segment Lists and Combined Segment Sequence Lists togenerate arbitrary waveforms
Selecting theWaveform SegmentsTo select a waveform segment, determine the address of the waveformsegment and include the address in the Combined Seque
The COMBSEQ program shows how to transfer multiple CombinedSegment Lists (i.e., waveform segments and/or marker bit of an arbitrarywaveform) and a Com
5. Select the DAC Data Format [SOURce:]ARBitrary:DAC:FORMat SIGNedThis command selects the SIGNed data (or UNSigned) data format.6. Setup the First
13. Add the Marker EnableAdd the value of the marker enable bit of the second waveformsegment to the value in the second element of the data array.14
BASIC Program Example (COMBSEQ)Sending the Combined Segment Lists is similar to the other BASICprograms in this chapter. However, since BASIC does no
40 COM @Afg,@Afg1 50 ! 60 !Set up error checking 70 ON INTR 7 CALL Errmsg 80 ENABLE INTR 7;2 90 OUTPUT @Afg;"*CLS"100 OUTPUT @Afg;"*
540 Tri_wave: !Subprogram which computes a triangle wave and downloads 550 !the corresponding dac codes as signed numbers (in a 560 !definite len
The AFG BusRequest LevelThe bus request level is a priority at which the Agilent E1445A can requestthe use of the Data Transfer Bus.Bus Request LevelG
1040 !1050 !Sequence (2,1) is the repetition count and marker enable for1060 !segment M2. Sequence (2,2) is the starting address of segment M2.1070 Se
Using the VXIbus BackplaneYou can use the VXIbus backplane to download or transfer segment andsequence data to the AFG, and to set the phase modulatio
Combined SegmentSequence List FormatFigure 7-5 shows a single 32-bit integer used to download a CombinedSegment Sequence List. Bits 0 through 16 sele
The VXIDOWN program shows how to download multiple CombinedSegment Lists (i.e., waveform segment and/or marker bit of an arbitrarywaveform) and a sing
8. Place the AFG into Hold Until All Commands are Executed*OPC?This commands prevents the AFG from receiving data over theVXIbus until it executes al
controller. (You can also use the command module, like the E1406ACommand Module, but at a slower data transfer rate.)Be sure to set the last point bi
name of the segment sequence list to be downloaded, and <length>contains the size of the segment sequence list in number of segmentlists (i.e.,
90 OUTPUT @Afg;"*SRE 32"100 OUTPUT @Afg;"*ESE 60"110 !120 !Call the subprograms130 CALL Rst140 CALL Wf_del150 CALL A24_offset160
580 !Download the waveform segment to segment memory using WRITEIO and590 !the AFG’s high-speed data register. The register’s address is600 !located i
1080 !1090 SUB Seq_list1100 Seq_list: !This subprogram downloads the sequence list (repetition1110 !count, marker, segment address) to sequence memor
AFG Installation ina MainframeThe Agilent E1445A may be installed in any slot (except slot 0) in a C-sizeVXIbus mainframe. If an Agilent E1446A Summi
1580 CONTROL 16,25;2 !access A16 space with READIO and WRITEIO1590 A16_addr=DVAL("D400",16) !AFG A16 base address1600 Offset=READIO(-16,A16_
Downloading DataDirectly into theDACThis method disables the AFG’s ARM subsystem and immediately outputsthe DAC data point when received. The DAC cod
[SOURce:]ARBitrary:DAC:FORMat SIGNed command. Thedownloading method used depends on the device that downloads thedata. For example, the device may b
350 !360 SUB Dac_drive370 Dac_drive: !Subprogram which computes a 128 point, 5 Vpp triangle wave and380 !writes the corresponding codes directly to t
Using the Front Panel’s “Digital Port In” ConnectorYou can use the “Digital Port In” connector to download data to thesegment memory ([SOURce:]ARBitra
200 !Subprograms which define waveforms and load them into segment210 !and sequence memory, which determine the AFG’s register locations220 !in A24, a
700 OUTPUT @Cmd;"DIAG:POKE ";Base_addr+8;",16,";Traffic710 !720 !Write the location of the sequence base address (waveform index)7
1200 Sequence(1)=SHIFT(4096-1,-4)+Addr_seg1 DIV 655361210 Sequence(2)=Addr_seg1 MOD 65536-65536*(Addr_seg1 MOD 65536.32767)1220 !1230 OUTPUT @Afg;&quo
1700 OUTPUT @Afg;CHR$(10);END !terminate with Line Feed (LF) and EOI1710 !1720 OUTPUT @Afg;"SOUR:LIST1:SSEQ:ADDR?" !sequence location1730 EN
2200 OUTPUT @Afg;"SOUR:LIST1:SSEQ:DEF 1" !sequence size2210 OUTPUT @Afg USING "#,K";"SOUR:LIST1:SSEQ:COMB #0" !segm ex
Note The extraction levers will not seat and unseat the backplane connectors on olderAgilent VXIbus mainframes and non-Agilent mainframes. You must m
“Digital Port In”Connector PinoutFigure 7-6 shows a pinout of the “Digital Port In” connector.Figure 7-6. E1445A “Digital Port In” Connector278 Hi
Using the “DigitalPort In” Connectorto Select a SequenceFigure 7-7 shows the timing relationship to select a segment sequence.The following explains t
High Speed Operation Program CommentsThe following comments give additional details on the program examples inthis chapter.Amplitude Effectson DAC Cod
Chapter 8Command ReferenceChapter ContentsThis chapter describes the Standard Commands for Programmable Instruments(SCPI) command set and the IEEE 48
[SOURce:]...319 FREQuency[1]...319 :CENTer...
[SOURce:]...368 RAMP...368 :POINts...
Command TypesCommands are separated into two types: IEEE 488.2 Common Commands andSCPI Commands.CommonCommandFormatThe IEEE 488.2 standard defines the
CommandSeparatorA colon (:) always separates one command keyword from a lower level commandkeyword as shown below:ARM:LAY2:SOUR EXTAbbreviatedCommands
SCPI Command ParametersParameters are enclosed in greater than/less than symbols (< >) in the commandsyntax and must always be separated from th
The syntax for data in the blocks is as follows:Definite length block:#<non-zero digit><digit(s)><data byte(s)>Where the value of &l
are third-level keywords, and so on. A colon (:) always separates acommand keyword from a lower-level keyword as shown below.ARM:LAY2:SOUR EXTA semic
SCPI Command ExecutionThe following information should be remembered when executing SCPI commands.CommandCouplingMany of the AFG SCPI commands are val
SCPI Command ReferenceThis section describes the SCPI commands for the Agilent E1445A ArbitraryFunction Generator. Commands are listed alphabetically
ABORtThe ABORt command places the TRIGger subsystem in the idle state, regardless of anyother settings. The command halts waveform generation, but ke
ARMThe ARM subsystem operates with the TRIGger subsystem to control the starting ofwaveform output and frequency sweeps or list generation, as follows
• Executable when Initiated: Query form only• Coupling Group: None• Related Commands: ABORt, TRIGger:STOP[:IMMediate]•*RST Condition: ARM:STARt:LAYer1
[:STARt]:LAYer2[:IMMediate]ARM[:STARt]:LAYer2[:IMMediate] immediately arms the waveform regardless ofthe selected arm source. The trigger system mus
[:STARt]:LAYer2:SOURceARM[:STARt]:LAYer2:SOURce <source> selects the source that will startwaveform output. The available sources are: BUS – T
:SWEep:COUNtARM:SWEep:COUNt <number> specifies the number of sweep arms theAgilent E1445A will accept after an INITiate:IMMediate command befor
Example Starting a Frequency Sweep SWE:START 1E3;STOP 10E3 Sets sweep frequency limits.SWE:POIN 10 Sets 1 kHz steps. ARM:SOUR IMM Sets output to st
:SWEep:SOURceARM:SWEep:SOURce <source> selects the source that starts a frequency sweepor list. The available sources are:BUS – The Group Exec
ContentsAgilent E1445A User’s ManualWarranty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Executing CoupledCommandsCommand coupling determines the AFG programming sequence. Thehigh-level sequence, based on the coupling groups, is shown in
CALibrationThe CALibration subsystem has commands that calibrate the Agilent E1445A. Thesubsystem also includes commands to prevent and detect accide
Example Querying the Calibration CountCAL:COUN? Queries calibration count.:DATA:AC[1]CALibration:DATA:AC[1] <block> transfers the 250 kHz filt
:DATA[:DC]CALibration:DATA[:DC] <block> transfers the DC portion of theAgilent E1445A’s calibration constants in IEEE-488.2 arbitrary block pro
[:DC]:POINt?CALibration[:DC]:POINt? <value> takes the measured value for the current DCcalibration point, computes needed calibration constants
:SECure:CODECALibration:SECure:CODE <code> sets the code which is required to disablecalibration security. Calibration security must have been
:SECure[:STATe]CALibration:SECure[:STATe] <mode>[,<code>] enables or disables calibrationsecurity. Calibration security must be disabled
:STATeCALibration:STATe <state> specifies whether corrections using the calibrationconstants are made or not. If STATe is OFF, then no correct
:STATe:DCCALibration:STATe:DC <state> specifies whether DC corrections using thecalibration constants are made or not. If state is OFF, then n
INITiateThe INITiate subsystem initiates the trigger subsystem and prepares theAgilent E1445A for waveform generation. Once initiated, a start arm re
Comments • Use the ABORt command to prematurely halt the waveform generation and placethe trigger system in the idle state.• Waveform output begins im
Program LanguagesThe program language shown in this manual is BASIC. This language wasselected since it easily shows how to program the AFG.However,
OUTPut[1]The OUTPut[1] subsystem controls the characteristics of the output waveform. Thesubsystem sets the low-pass output filter, sets the output s
:FILTer[:LPASs][:STATe]OUTPut[1]:FILTer[:LPASs][:STATe] <mode> enables or disables the output filter.ParametersParameterNameParameterTypeRange
:LOADOUTPut[1]:LOAD <load> indicates whether the actual load applied to theAgilent E1445A’s “Output 50/75Ω” is either matched to the output imp
:LOAD:AUTOOUTPut[1]:LOAD:AUTO <mode> indicates whether the OUTPut[1]:LOAD valueshould be coupled to (track) the OUTPut[1]:IMPedance value.Param
[SOURce:]The [SOURce:] subsystem is divided into multiple sections, each of which control aparticular aspect of the Agilent E1445A. Each section of t
[SOURce:]ARBitraryThe [SOURce:]ARBitrary subsystem controls:– The data format for the digital-to-analog converter (DAC).– The DAC data source.– Direct
• There is no need to specify the DAC format with waveforms programmed involts. The format should be specified if you are:a. Programming waveforms i
:DAC:SOURce[SOURce:]ARBitrary:DAC:SOURce <source> selects the DAC’s data source.ParametersParameterNameParameterTypeRange ofValuesDefaultUnits&
:DOWNload[SOURce:]ARBitrary:DOWNload <source>,<dest>,<length> enables the directdownload mode to the waveform segment or segment se
When downloading segment sequence data from the VXIbus data transfer bus, themost significant 16 bits should be written to offset 34 decimal (22 hex)
Typical BASICExample ProgramThe structure of an example program in BASIC is shown below. Thisprogram enables output leveling by sweeping. 1 !RE-STOR
:DOWNload:COMPlete[SOURce:]ARBitrary:DOWNload:COMPlete disables direct downloading mode.Send it when downloading is complete.Comments • Executable wh
[SOURce:]FREQuency[1]The [SOURce:]FREQuency[1] subsystem controls the first of the Agilent E1445A’stwo frequency generators. ([SOURce:]FREQuency2 con
([SOURce:]FUNCtion[:SHAPe]), and whether or not frequency doubling isenabled ([SOURce:]FREQuency[1]:RANGe), according to the following rules:– Arbitra
:CENTer[SOURce:]FREQuency[1]:CENTer <center_freq> sets the center sample rate orwaveform frequency for a frequency-swept waveform.ParametersPar
[:CW|:FIXed][SOURce:]FREQuency[1][:CW|:FIXed] <frequency> selects the non-sweptsample rate for arbitrary waveforms or waveform frequency for th
:FSKey[SOURce:]FREQuency[1]:FSKey <frequency1>,<frequency2> sets the twosample rates or waveform frequencies for frequency-shift keying.[
:FSKey:SOURce[SOURce:]FREQuency[1]:FSKey:SOURce <source> sets the source which willcontrol which of the two FSKey sample rates or waveform freq
:MODE[SOURce:]FREQuency[1]:MODE <mode> determines which set of commandscontrol the frequency subsystem.ParametersParameterNameParameterTypeRang
:RANGe[SOURce:]FREQuency[1]:RANGe <range> enables or disables frequencydoubling for non-sine wave outputs. When doubling is enabled, the wavef
Example Enabling Frequency DoublingFUNC:SHAP SQU Selects square wave output.ROSC:SOUR INT1 Selects 42.94 MHz oscillator.FREQ:RANG 5MHZ Sets frequency
450 DIM Message$[256]460 !Read AFG status byte register and clear service request bit470 B=SPOLL(@Afg)480 !End of statement if error occurs among coup
:STARt[SOURce:]FREQuency[1]:STARt <start_freq> sets the starting sample rate orwaveform frequency for a frequency-swept waveform.ParametersPara
:STOP[SOURce:]FREQuency[1]:STOP <stop_freq> sets the stopping sample rate orwaveform frequency for a frequency-swept waveform.ParametersParamet
[SOURce:]FREQuency2The [SOURce:]FREQuency2 subsystem controls the second of theAgilent E1445A’s two frequency generators. ([SOURce:]FREQuency[1] cont
[:CW | :FIXed][SOURce:]FREQuency2[:CW|:FIXed] <frequency> selects the sample rate forarbitrary waveforms or the frequency for the standard wave
[SOURce:]FUNCtionThe [SOURce:]FUNCtion subsystem controls what waveform shape (arbitrary,sinusoid, etc.) the Agilent E1445A generates. For arbitrary
– TRIGger[:STARt:]SOURce selects the sample source. SINusoid requires thatTRIGger[:STARt:]SOURce INTernal1 be selected.– The [SOURce:]FREQuency[1] or
[SOURce:]LIST[1]The [SOURce:]LIST[1] subsystem defines the waveform segments and segmentsequence for arbitrary waveform generation. The Agilent E1445
:FORMat[:DATA][SOURce:]LIST[1]:FORMat[:DATA] <format>[,<length>] specifies the format ofnumeric waveform segment and segment sequence lis
[:SEGMent]:ADDRess?[SOURce:]LIST[1][:SEGMent]:ADDRess? returns the address in the waveformsegment memory at which the currently selected waveform seg
[:SEGMent]:COMBined[SOURce:]LIST[1][:SEGMent]:COMBined <combined_list> defines in one stepboth the output voltage and marker pulse lists that c
Visual BASICLanguagePrograms UsingAgilent SICLThese example programs are written in the Visual BASIC language for theAgilent 82340/82341 GPIB Interfac
Example Defining a Waveform Segment Combined ListLIST:SEL ABC Selects waveform segment ABC.LIST:DEF 8 ABC is 8 points long.LIST:COMB 16000,32000,16000
[:SEGMent]:DEFine[SOURce:]LIST[1][:SEGMent]:DEFine <length> reserves enough waveformsegment memory for a waveform segment of length points for
[:SEGMent]:DELete:ALL[SOURce:]LIST[1][:SEGMent]:DELete:ALL deletes all defined waveform segmentdefinitions from memory and makes all of the waveform
• Power-On Condition: No waveform segments are definedExample Deleting a WaveformLIST:SEL ABC Selects waveform segment ABC.LIST:DEL Deletes segment.[:
[:SEGMent]:MARKer[SOURce:]LIST[1][:SEGMent]:MARKer <marker_list> defines, for each voltagepoint of a waveform segment, whether the Agilent E144
Example Defining a Waveform Segment Marker Pulse ListLIST:SEL ABC Selects waveform segment ABC.LIST:DEF 8 ABC is 8 points long.LIST:VOLT -1,.5,.5.,5.,
• *RST Condition: Unaffected• Power-On Condition: No waveform segments are definedExample Creating a Single Point Marker ListLIST:SEL ABC Selects wave
[:SEGMent]:VOLTage[SOURce:]LIST[1][:SEGMent]:VOLTage <voltage_list> defines the series ofoutput voltage points that constitute a waveform segme
Example Defining a Waveform Segment Voltage Point ListLIST:SEL ABC Selects waveform segment ABC.LIST:DEF 8 ABC is 8 points long.LIST:VOLT .5,1,.5,0,-.
• Power-On Condition: No waveform segments are definedExample Defining a Waveform Segment Voltage Point ListARB:DAC:FORM SIGN Selects signed DAC code
Typical Visual BASICExample ProgramUsing Agilent SICLThe following is an example program written in Visual BASIC using theAgilent Standard Instrument
:SSEQuence:CATalog?[SOURce:]LIST[1]:SSEQuence:CATalog? returns a comma-separated list ofquoted strings, each containing the name of a defined segment
• Using combined lists is faster than separately defining the waveform segment,marker enable, and repetition count lists.• Executing this command with
:SSEQuence:DEFine[SOURce:]LIST[1]:SSEQuence:DEFine <length> reserves enough segmentsequence memory for a segment sequence of length segment nam
:SSEQuence:DELete:ALL[SOURce:]LIST[1]:SSEQuence:DELete:ALL deletes all defined segment sequencedefinitions from memory and makes all of the sequence
:SSEQuence:DWELl:COUNt[SOURce:]LIST[1]:SSEQuence:DWELl:COUNt <repetition_list> defines, foreach waveform segment of a segment sequence, how man
:SSEQuence:DWELl:COUNt:POINts?[SOURce:]LIST[1]:SSEQuence:DWELl:COUNt:POINts? returns a numberindicating the length of the currently selected segment
:SSEQuence:MARKer[SOURce:]LIST[1]:SSEQuence:MARKer <marker_list> defines, for eachwaveform segment of a segment sequence, whether the Agilent E
:SSEQuence:MARKer:POINts?[SOURce:]LIST[1]:SSEQuence:MARKer:POINts? returns a number indicating thelength of the currently selected segment sequence’s
:SSEQuence:SELect[SOURce:]LIST[1]:SSEQuence:SELect <name> selects a segment sequence forsubsequent [SOURce:]LIST[1]:SSEQuence subsystem command
:SSEQuence:SEQuence[SOURce:]LIST[1]:SSEQuence:SEQuence <segment_list> defines the orderedsequence of waveform segments that constitute a full w
Action.Text = "The program generated the following error(s):" ’ Show error message ShowErr.AddItem Work’ Loop until error message
[SOURce:]LIST2The [SOURce:]LIST2 subsystem defines the sample rate or frequencies list to begenerated when [SOURce:]FREQuency[1]:MODE is set to LIST.
:FREQuency[SOURce:]LIST2:FREQuency <freq_list> defines the list of sample rates orfrequencies to be generated when [SOURce:]FREQuency[1]:MODE i
:FREQuency:POINts?[SOURce:]LIST2:FREQuency:POINts? returns a number that shows the length ofthe currently defined frequency list.Comments • Executabl
[SOURce:]MARKerThe [SOURce:]MARKer subsystem controls:– Which signal is routed to the “Marker Out” BNC.– The polarity of the “Marker Out” BNC signal.–
ParametersParameterNameParameterTypeRange ofValuesDefaultUnits<source> string “ARM[:STARt|:SEQuence[1]][:LAYer[1]]” |“ARM[:STARt|:SEQuence[1]]:L
:FEED[SOURce:]MARKer:FEED <source> selects the source for the front panel“Marker Out” BNC. The available sources are:– “ARM[:STARt|:SEQuence[1
Example Setting the “Marker Out” BNC SourceMARK:FEED “SOUR:LIST” Sets marker list as source.:POLarity[SOURce:]MARKer:POLarity <polarity> select
[SOURce:]PMThe [SOURce:]PM (Phase Modulation) subsystem controls the modulation for sinewave output (only). Phase modulation is not possible with oth
:SOURce[SOURce:]PM:SOURce <source> selects the source for phase modulation data. ParametersParameterNameParameterTypeRange ofValuesDefaultUnits
:STATe[SOURce:]PM:STATe <mode> enables or disables phase modulation for sinewave output. Phase modulation is always disabled for other wavefor
Cnt = 1While Len(Cmd(Cnt))’ Send SCPI command Call iwrite(Addr, ByVal Cmd(Cnt) + Chr$(10), Len(Cmd(Cnt)) + 1, 1, Actual) Cnt = Cnt + 1WendEn
[SOURce:]RAMPThe [SOURce:]RAMP subsystem selects the polarity of ramp waveforms, and thenumber of points on generated ramps and triangle waveforms.Sub
:POLarity[SOURce:]RAMP:POLarity <polarity> selects the polarity of the ramp, triangle, orsquare wave. For ramps, NORMal generates a positive-g
[SOURce:]ROSCillatorThe [SOURce:]ROSCillator subsystem controls the reference oscillator’s source andindicates the frequency of an external oscillator
:SOURce[SOURce:]ROSCillator:SOURce <source> selects the reference oscillator source.ParametersParameterNameParameterTypeRange ofValuesDefaultUn
[SOURce:]SWEepThe [SOURce:]SWEep subsystem selects:– The number of frequency sweeps or repetitions of a frequency list to be performed.– The direction
• *RST Condition: SOURce:SWEep:COUNt 1Example Setting the Sweep CountSWE:COUN 10 Sets 10 sweeps per INITiate.:DIRection[SOURce:]SWEep:DIRection <di
:POINts[SOURce:]SWEep:POINts <number> selects the number of points in a frequencysweep.The frequencies generated by the sweep are evenly spaced
:SPACing[SOURce:]SWEep:SPACing <mode> selects either linear or logarithmicfrequency sweep mode.ParametersParameterNameParameterTypeRange ofValu
:TIME[SOURce:]SWEep:TIME <number> selects the duration of the sweep or frequencylist generation when TRIGger:SWEep:SOURce is set to TIMer. The
[SOURce:]VOLTageThe [SOURce:]VOLTage subsystem controls the amplitude and offset values for alloutput waveform shapes.Subsystem Syntax [SOURce:]VOLTag
Dim Actual As Long ’ Use the "SetCommands" array to setup the AFGSetCommands(1) = "SOUR:LIST1:SSEQ:DEL:ALL" ’ Clear sequence m
ParametersParameterNameParameterTypeRange ofValuesDefaultUnits<amplitude> numeric see below | MINimum | MAXimum see belowDC Output: When a match
[:LEVel][:IMMediate][:AMPLitude]:UNIT[:VOLTage][SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude]:UNIT[:VOLTage] <units>sets the default units for
[:LEVel][:IMMediate]:OFFSet[SOURce:]VOLTage[:LEVel][:IMMediate]:OFFSet <offset> sets the output offsetvoltage for all waveform shapes except DC
STATusThe STATus subsystem controls the SCPI-defined Operation and QuestionableSignal status registers. Each is comprised of a Condition Register, an
Subsystem Syntax STATus:OPC:INITiate <state>:OPERation:CONDition? [query only]:ENABle <unmask>[:EVENt]? [query only]:NTRansition <unmas
:OPERation:CONDition?STATus:OPERation:CONDition? returns the contents of the Operation ConditionRegister. Reading the register does not affect its c
:OPERation[:EVENt]?STATus:OPERation[:EVENt]? returns the contents of the Operation EventRegister. Reading the register clears it to 0.Comments • The
:OPERation:PTRansitionSTATus:OPERation:PTRansition <unmask> sets the positive transition mask.For each bit unmasked, a 0-to-1 transition of tha
:QUEStionable:CONDition?STATus:QUEStionable:CONDition? returns the contents of the QuestionableSignal Condition Register. Reading the register does
:QUEStionable[:EVENt]?STATus:QUEStionable[:EVENt]? returns the contents of the Questionable SignalEvent Register. Reading the register clears it to
’ Call sub to check for AFG errorsCall CheckError("GenSeg (OutCommands)")End SubSub Main () ’ Main subDim Actual As Long ’ Set err
:QUEStionable:PTRansitionSTATus:QUEStionable:PTRansition <unmask> sets the positive transition mask.For each bit unmasked, a 0-to-1 transition
SYSTemThe SYSTem subsystem returns error messages and the SCPI version number towhich the Agilent E1445A complies.Subsystem Syntax SYSTem:ERRor? [quer
:VERSion?SYSTem:VERSion? returns the SCPI version number to which theAgilent E1445A complies: “1991.0”.Comment • Executable when Initiated: Yes• *RST
TRIGgerThe TRIGger subsystem operates with the ARM subsystem to control the behavior ofthe trigger system, as follows:– The source and slope for gener
[:STARt]:COUNtTRIGger[:STARt]:COUNt <number> would normally specify the number oftriggers the Agilent E1445A would accept after an INITiate:IMM
[:STARt]:GATE:POLarityTRIGger[:STARt]:GATE:POLarity <polarity> selects the polarity of theAgilent E1445A’s front panel “Stop Trig/FSK/Gate In”
the active level for the front panel’s “Stop Trig/FSK/Gate In” BNC when used asthe gate source.• The front panel’s “Stop Trig/FSK/Gate In” BNC is a t
[:STARt][:IMMediate]TRIGger[:STARt][:IMMediate] immediately advances to the next sample in awaveform regardless of the selected trigger source, provi
[:STARt]:SOURceTRIGger[:STARt]:SOURce <source> selects the source that advances thewaveform to the next sample point.ParametersParameterNamePar
:STOP[:IMMediate]TRIGger:STOP[:IMMediate] terminates the current start arm cycle at the end of thecurrent waveform repetition regardless of the selec
Chapter 2. Generating Standard Waveforms (continued)Selecting the Output Loads . . . . . . . . . . . . . . . . . . . . . . .
Call TimeOutEnd SubSub RstClr ()Dim RdMsg As String * 10Dim Actual As LongDim Length As IntegerLength = 10 ’ Executes the commands that resets the
:STOP:SLOPeTRIGger:STOP:SLOPe <edge> selects the edge (rising or falling) on theAgilent E1445A’s front panel “Stop Trig/FSK/Gate In” BNC which
• If a stop trigger is received while the start trigger sequence is in the idle orwait-for-arm states, it is ignored with no error generated.• If the
• *RST Condition: NoneExample Advancing a Frequency SweepSWE:STAR 1E3;STOP 10E3 Sets sweep frequency limits.SWE:POIN 10 Sets 1 kHz steps.ARM:LAY2:SOUR
:SWEep:SOURceTRIGger:SWEep:SOURce <source> selects the source that causes a frequencysweep or list to advance to the next frequency.ParametersP
:SWEep:TIMerTRIGger:SWEep:TIMer <period> selects the time between frequency values forsweep or frequency list generation when TRIGger:SWEep:SOU
VINStrumentThe VINStrument subsystem operates with the [SOURce:]ARBitrary and[SOURce:]PM subsystems to control the virtual instrument features of theA
• With VINStrument[:CONFigure]:LBUS[:MODE]:AUTO ON set, the Local Busoperation mode is automatically set to CONSume when downloading segment orsegment
• *RST Condition: VINStrument:CONFigure:LBUS:MODE:AUTO ONExample Uncoupling Local Bus Operation ModeVINS:CONF:LBUS:AUTO OFF Uncouple operation mode.[:
[:CONFigure]:TEST:DATA?VINStrument[:CONFigure]:TEST:DATA? returns the received VXIbus Local Bus testdata. The data is returned in 16-bit integer for
[:CONFigure]:VME:RECeive:ADDRess:DATA?VINStrument[:CONFigure]:VME:RECeive:ADDRess:DATA? returns two values:A24,offset. A24 indicates that the Agilen
Dim ShowTimeMsg As StringDim ErrMsg As String ’ Set error routineOn Error Resume Next ’ Get error messageErrMsg = igeterrstr(igeterrno())ShowTim
• *RST Condition: NoneExample Querying the A24 Address Space Ready Indication OffsetVINS:VME:REC:ADDR:READ? Queries A24 offset for ready indication.:I
SCPI Command Quick ReferenceTable 8-1. Agilent E1445A SCPI CommandsSubsystem CommandsTRIGger ABORtARMARM[:STARt][:LAYer[1]]:COUNt <number>ARM[:
Table 8-1. Agilent E1445A SCPI Commands (continued)Subsystem Commands[SOURce:]ARBitrary [SOURce:]ARBitrary:DAC:FORMat <format>[SOURce:]ARBitrar
Table 8-1. Agilent E1445A SCPI Commands (continued)Subsystem Commands[SOURce:]LIST[1](Cont’d)[SOURce:]LIST[1][:SEGMent]:MARKer <marker_list>[SO
Table 8-1. Agilent E1445A SCPI Commands (continued)Subsystem Commands[SOURce:]MARKer[SOURce:]MARKer:ECLTrg<n>:FEED <source>[SOURce:]MARKe
Table 8-1. Agilent E1445A SCPI Commands (continued)Subsystem CommandsSYSTem SYSTem:ERRor?SYSTem:VERsion?TRIGgerTRIGger[:STARt]:GATE:POLarity <pola
SCPI Conformance InformationThe Agilent E1445A Arbitrary Function Generator conforms to the SCPI-1991.0standard.Table 8-2 and 8-3 list all the SCPI co
Table 8-3. Non-SCPI CommandsCALibration :COUNt? :DATA :AC[1] <block> :AC2 <block> :[DC] <
IEEE-488.2 Common Commands*CLS*CLS clears the Standard Event Status Register, the Operation Status Register, theQuestionable Signal Register, and the
• Power-On Condition: No macros are definedExample Define Macro to Restart Waveform*DMC "RESTART",#19ABOR;INIT Defines macro.*EMC and *EMC?
Visual C/C++LanguagePrograms UsingAgilent SICLThese example programs are written in the Visual C/C++ language for theAgilent 82340/82341 GPIB Interfac
• Power-On Condition: No events are enabledExample Enable All Error Events*ESE 60 Enables error events.*ESR?*ESR? returns the value of the Standard E
*IDN?*IDN? returns identification information for the Agilent E1445A. The responseconsists of four fields:HEWLETT-PACKARD,E1445A,0,A.01.00The first
*LRN?*LRN? returns a sequence of commands that may be resent to the Agilent E1445Ato return it to its current programming state.Only those commands t
*OPC?*OPC? causes the Agilent E1445A to wait for all pending operations to complete.A single ASCII “1” is then placed in the output queue.If STATus:OP
*PUD and *PUD?*PUD <data> stores the specified data in the Agilent E1445A’s non-volatilecalibration memory. The data must be sent in IEEE-488.
*RCL*RCL <number> restores a previously stored programming state from one of the 10 possible stored state areas. The <number> indicates w
*RST*RST resets the Agilent E1445A as follows:– Sets all commands to their *RST state.– Aborts all pending operations including waveform generation.*R
• Related Commands: *LRN?, *RCL, *RST•*RST Condition: unaffected• Power-on Condition: all saved states set to the same state as the *RST state*SRE and
*STB?*STB? returns the value of the Status Byte Register. Bit 6 (decimal weight 64) isset if a service request is pending. STB? should not be used t
*WAI*WAI causes the Agilent E1445A to wait for all pending operations to completebefore executing any further commands.If STATus:OPC:INITiate OFF is s
• For Borland compilers, type:MAKE <project_name>>.MAK and press Enter• For Microsoft® compilers used in Windows, type:NMAKE <project_name
Common Commands Quick ReferenceThis section describes the IEEE-488.2 Common Commands implemented in theAgilent E1445A. The table below shows the comm
Chapter 9AFG StatusIntroductionThis chapter describes the Agilent E1445A Arbitrary Function Generatorstatus system. Included is information on the s
Figure 9-1. E1445A Status Groups and Associated Registers430 AFG Status Chapter 9
The QuestionableSignal Status GroupThe Questionable Signal Status Group monitors the quality of variousaspects of the output signal. In the AFG, the
<unmask> is the decimal, hexadecimal (#H), octal (#Q), or binary (#B)value of the Condition Register bit to be unmasked. (The decimal values of
2. Unmask bit 4 (FREQ) in the Enable Register so that the event latchedinto the Event Register will generate a Questionable Signal StatusGroup summar
310 OUTPUT @Afg;":SOUR:FREQ2 10E6;"; !frequency320 OUTPUT @Afg;":SOUR:FUNC:SHAP SQU;"; !function330 OUTPUT @Afg;":SOUR:VOLT
The OperationStatus GroupThe Operation Status Group monitors current operating conditions withinthe AFG. The specific conditions include: calibrating
PTRansition sets the positive transition. For each bit unmasked, a 0 to 1transition of that bit in the Condition Register sets the associated bit in t
2. Unmask bit 6 (ARM) in the Enable Register so that the event latchedinto the Event Register will generate an Operation Status Groupsummary bit.STAT
INST addr; // GPIB Address identifier//**********************************************************************void main(void) // R
320 OUTPUT @Afg;"SOUR:ROSC:SOUR INT1;"; !reference oscillator330 OUTPUT @Afg;":TRIG:STAR:SOUR INT1;"; !frequency generator340 OU
The Standard EventStatus GroupThe Standard Event Status Group monitors command execution,programming errors, and the power-on state. It is the status
The Standard EventStatus Enable RegisterThe Standard Event Status Enable Register specifies which bits in theStandard Event Status Register can genera
BASIC Program Example (ERRORCHK) 1 !RE-STORE"ERRORCHK" 2 !This program represents the method used to check for programming 3 !errors in
Visual BASIC andVisual C/C++ ProgramVersionsThe Visual BASIC example program, ERRORCHK.FRM, is in directory“ VBPROG” and the Visual C example program,
The Service RequestEnable RegisterThe Service Request Enable Register specifies which (status group)summary bit(s) will send a service request message
Notes444 AFG Status Chapter 9
Chapter 10Block Diagram DescriptionChapter ContentsThis chapter shows how the Agilent E1445A 13-Bit Arbitrary FunctionGenerator (AFG) operates. The s
Arbitrary Waveform DescriptionRefer to Figure 10-1. An arbitrary waveform is equally divided into pointsthat are the actual voltage points of the wav
Generating Non-Sinusoid Arbitrary WaveformsRefer to Figure 10-2. The following describes the blocks that generatenon-sinusoid waveforms.Output DAC Th
":SOUR:VOLT:LEV:IMM:AMPL 5.1V", // Set the amplitude"SOUR:LIST1:SEGM:SEL ramp", // Define the "ramp"
Memory Concurrent with the DAC, the frequency generator also clocks the segmentmemory to output the next code to set the DAC bits to the next point on
DDS FrequencyGenerator (Frequency1Generator)Refer to Figure 10-3. This generator has excellent resolution and allows forfrequency sweeping, frequency
Trigger Circuitry The trigger circuitry advances the waveform to the next segment. Theexternal trigger sources advances the waveform directly. Thus,
Output Circuitry DescriptionRefer to Figure 10-6. The output circuitry consists of an output amplifier,attenuator, offset circuitry, and filter. The
AFG Memory DescriptionThe segment memory that stores the segment list as DAC codes can storethe codes either in the Signed or Unsigned number format.
Appendix AAgilent E1445A SpecificationsAppendix ContentsThis appendix contains the Agilent E1445A Arbitrary Function Generatoroperating specification
Sequence Memory (This memory concatenates segments into largerwaveforms):Size: 32768 entriesSequence Length: 1 to 32768 entriesNumber of Sequences: 1
Frequency Generator #2:Internal Reference: 40.000000 MHzRate Generation Method: Divide-by-N, or direct use of referenceRange: Minimum : Maximum : R
Frequency Agility:The capabilities in this section apply to all built-in standard waveforms and to all arbitrary waveforms generated with Frequency Ge
AmplitudeCharacteristicsLow-Pass Filtering: Programmable choice of three configurations:250 kHz (nominal 3 dB point) 5th-order Bessel 10 MHz (nominal
// Call routine to check for AFG errorscheck_error("gen_seg (out_commands)");// Free the allocated memoryfree (Wave_seg);}//****************
Sine Wave Spectral PurityOutput frequencies less than 250 kHz are characterized using the 250 kHz filter, higher output frequencies with the 10 MHz fi
InterfaceCharacteristicsBNC ConnectorFunctions TTL levels, except for analog output Outputs“Output 50/75 Ohm” - analog output 50 Ω or 75 Ω nominal; o
VXI ECLTrg FunctionsInput Functions- reference frequency in trigger source in (i.e. the waveform clock) start arm in (enables waveform clock)Outp
VME Register Access All hardware registers are mapped directly into VME A24 space, permittingadvanced users to bypass the on-board uP. The manual docu
Notes462 Agilent E1445A Specifications Appendix A
Appendix BUseful TablesAppendix ContentsThe tables in this appendix contain information often referred to duringAgilent E1445A programming. The tabl
Example Program ListingTable B-1. Agilent E1445A Example Program ListingProgram Type Program Name Language DescriptionIntroductory(Chapter 1)SLFTSTRS
Table B-1. Agilent E1445A Example Program Listing (continued)Program Type Program Name Language DescriptionSweeping,Frequency Lists,Frequency-ShiftKe
Table B-1. Agilent E1445A Example Program Listing (continued)Program Type Program Name Language DescriptionHigh-SpeedDataTransfer(Chapter 7)SIGN_DATU
Command Coupling GroupsTable B-2. Agilent E1445A Command Coupling GroupsCoupling Group CommandsNone [SOURce:]LIST2:FORMat[:DATA][SOURce:]LIST2:FREQue
ipromptf(addr, "SYSTem:ERRor?\n", "%t", into); // Query error register if (atoi(into)) // Determine if er
Table B-2. Agilent E1445A Command Coupling Groups (continued)Coupling Group CommandsFrequency(continued)[SOURce:]FREQuency[1]:CENTer[SOURce:]FREQuenc
Table B-2. Agilent E1445A Command Coupling Groups (continued)Coupling Group CommandsNone ARM[:STARt]:LAYer2[:IMMediate]ARM[:STARt]:LAYer2:SLOPeARM[:S
Frequency LimitsTable B-3. Agilent E1445A Frequency LimitsTrigger Start FrequencyFunction Source Low Limit High LimitDC N/A N/A N/ASINusoid INTernal[
Amplitude LimitsTable B-4. Agilent E1445A Amplitude LimitsAmplitude Limits for Volts*Function V (volts) VPK (volts peak)VPP(volts peak-to-peak) VRMS
Power-On/Reset ConfigurationTable B-5. Agilent E1445A Power-On/Reset Configuration (as returned by *LRN?)Parameter Command Power-on/Reset SettingMacr
Table B-5. Agilent E1445A Power-On/Reset Configuration (continued)Parameter Command Power-on/Reset SettingSweep spacing (points)Sweep timeStop trigge
Table B-5. Agilent E1445A Power-On/Reset Configuration (continued)Parameter Command Power-on/Reset Setting"Marker Out" BNC stateOutput stat
Error MessagesTable B-6. Agilent E1445A Error MessagesCode Message Description-101 Invalid character Unrecognized character in parameter.-102 Syntax
Table B-6. Agilent E1445A Error Messages (continued)Code Message Description-161 Invalid block data The number of bytes in a definite length data blo
Table B-6. Agilent E1445A Error Messages (continued)Code Message Description-312 PUD memory lost The protected user data saved by the *PUDcommand has
Introductory ProgramsThe introductory programs in this section include:– AFG Self-Test– Resetting the AFG and clearing its status registers– Querying
Table B-6. Agilent E1445A Error Messages (continued)Code Message Description+1015 Illegal when SOUR:ARB:DAC notINTSOUR:LIST1 commands cannot be execu
Table B-6. Agilent E1445A Error Messages (continued)Code Message Description+1109 Segment list length less thanminimumWaveform segment has less than
Settings Conflict Error MessagesTable B-7. Agilent E1445A Settings Conflict Error MessagesSettings Conflict Error MessagesSOUR:FREQ1:FIX frequency &l
Table B-7. Agilent E1445A Settings Conflict Error Messages (continued)Settings Conflict Error MessagesSOUR2:VOLT:OFFS > maximum; SOUR2:VOLT:OFFS M
Table B-7. Agilent E1445A Settings Conflict Error Messages (continued)Settings Conflict Error Messages(when Agilent E1445A is used with the Agilent E
Appendix CRegister-Based ProgrammingAppendix ContentsThe Agilent E1445A Arbitrary Function Generator (AFG) is amessage-based device. As such, it sup
SystemConfigurationThe example programs and programming techniques shown in this appendixare based on the following system configuration:Mainframe:
Reading the AFG’sOffset RegisterAs shown in Figure C-1, the AFG’s configuration registers are mapped intothe upper 25% of A16 address space. The Offs
In a system using a V/360 (Agilent E1480) controller, for example, the baseaddress of the configuration registers is computed as:C00016 + (LADDR * 64)
Changing the Output FrequencyThis section explains how the frequency of the output signal is changedinstantaneously by writing frequency codes to the
BASIC Program Example (SLFTST) 1 !RE-STORE “SLFTST” 10 !Send the self-test command, enter and display the result. 20 DIM Message$[256] 30 OUTPUT 709
The Frequency LoadStrobe RegisterWriting any value to the Frequency Load Strobe Register loads the contentsof the Phase Increment Registers into the D
Frequency ControlProgramsThe following programs demonstrate how to change the signal frequencywhile the waveform is currently at the AFG output.DDS Fr
340 Output_function: !Subprogram which uses SCPI commands to set the350 !42.94967296 MHz reference oscillator, to set DDS360 !frequency synthesis, to
Comments • To simplify the program, SCPI commands are included to select thereference oscillator, the DDS subsystem, and to start the waveform.This re
Divide-by-N FrequencyControlThe FREQ2_REG program changes the signal frequency that is generatedusing the Divide-by-N ([SOURce:]FREQuency2) subsystem
340 Output_function: !Subprogram which uses SCPI commands to set the350 !40 MHz reference oscillator, to set divide-by-n360 !frequency synthesis, to
830 WRITEIO -16,Base_addr+IVAL("63",16);BINAND(Sample_hold,127)840 SUBEND850 !860 SUB Rst870 Rst: !Subprogram which resets the E1445.880 CO
Changing the Signal PhaseThis section explains how the phase of a sine wave generated by the DDS([SOURce:]FREQuency[1]) subsystem is changed by writin
Phase ControlProgramThe PHAS_CHNG program demonstrates how to change the sine wavesignal phase while the waveform is currently at the AFG output.BASIC
410 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL 5V" !amplitude420 OUTPUT @Afg;"SOUR:PM:DEV 0DEG" !phase modulation angle430 OUTPUT @Afg
Chapter 3. Generating Arbitrary Waveforms (continued)Returning the Waveform Segment Names . . . . . . . . . . . . . . . . . . .
Querying thePower-On/ResetConfigurationAfter resetting the Agilent E1445A or cycling power, the AFG parametersare set to their power-on values. These
Selecting the Waveform SequenceThis section shows how to select and output an arbitrary waveform withoutaborting the current waveform and re-initializ
The Waveform SelectRegisterThe Waveform Select Register contains the location of the outputsequence’s base address in sequence base memory. Address 15
Sequence SelectionProgramThe WAVE_SEL program shows how to change the output waveform(sequence) without aborting the current waveform and re-initializ
400 A24_offset: !Subprogram which determines the base address for410 !the AFG registers in A24 address space.420 COM @Afg,@Afg1,Base_addr,Seq1_addr,S
900 Wav_sel=READIO(-16,Base_addr+IVAL("A",16)) 910 WRITEIO -16,Base_addr+IVAL("A",16);Wav_sel 920 ! 930 !Select a waveform by wr
1390 !1400 OUTPUT @Afg;"SOUR:LIST1:SSEQ:SEL SEQ1" !sequence name1410 OUTPUT @Afg;"SOUR:LIST1:SSEQ:DEF 1" !sequence size1420 OUTP
1880 !1890 OUTPUT @Afg;"SOUR:LIST1:SSEQ:ADDR?" !sequence location1900 ENTER @Afg;Seq2_addr1910 SUBEND1920 !1930 SUB Spike_def1940 Spike_def
2370 OUTPUT @Afg;"SOUR:LIST1:SSEQ:DEF 1" !sequence size2380 OUTPUT @Afg USING "#,K";"SOUR:LIST1:SSEQ:COMB #0" !segm ex
Loading the DAC from the VXIbusThis section shows how to load waveform data into the AFG’s DACdirectly from the VXIbus backplane. For additional info
180 CALL Dac_drive190 END200 !210 SUB A24_offset220 A24_offset: !Subprogram which determines the base address for230 !the AFG registers in A24 addres
Checking for Errors The following BASIC program shows the lines and subprogram which areadded to the BASIC programs to check for errors. Line 140 cle
Comments • To simplify the program, SCPI commands are included so that theonly register written to is the High-Speed Data Register. Thisprogram execu
IndexAgilent E1445A User’s Manual*CLS, 47, 416*DMC, 416*EMC, 417*EMC?, 417*ESE, 417*ESE?, 417*ESR?, 418*GMC?, 418*IDN?, 419*LMC?, 419*LRN?, 48, 420*O
A (continued)output, default voltage units, 379output, setting, 72-74, 377-380voltage list effect, 113Arbitrary Blockdata, 156-157frequency lists usin
B (continued)BASIC Language Programs (continued)FSK2, 150-151FSK_ARB, 152-153GATE, 184-185LIST1, 125-126LIST_STP, 194-195LIST_TME, 139-140LISTDEF, 131
C (continued)Combined (continued)segment sequence list, 250, 348-349determining size, 280format, 250, 260query, 349segments and sequences, 250-258sequ
C (continued)Commands (continued)[SOURce:]FREQuency[1], 319-329[SOURce:]FREQuency2, 330-331[SOURce:]FUNCtion, 332-333[SOURce:]LIST[1], 334-357[SOURce:
D (continued)DAC Codesamplitude effects on, 280incorrect, 280output voltage points, 346sending segment data with, 114specifying format, 313-314transfe
D (continued)Downloading (continued)into memory, 259-268using backplane, 259sources, 280DRIFT Example Program, 220-222Driving TTLTrg<n> Trigger
E (continued)Example Programs (continued)SQUWAVE, 63-64STOPTRIG, 181-182SWP_ARB, 141-143SWP_LEVL, 30-31, 145-146SWP_PVST, 136-137SWP_STEP, 191-192SWP_
F (continued)Frequency (continued)sweepadvance source, 158advance trigger, 201arming, 190-192, 201, 295commands flowchart, 118-119count, 372direction,
230 !240 SUB Errmsg250 Errmsg: !Subprogram which displays E1445 programming errors260 COM @Afg270 DIM Message$[256]280 !Read AFG status byte register
G (continued)Generating (continued)ramp waves, 65-68selecting amplitude levels, 72-74selecting output loads, 69-71selecting output units, 72-74sine wa
G (continued)Lock-Stepping Multiple AFGs, 176-180LOCKSTEP Example Program, 177-180LOG_SWP Example Program, 133-134Logarithmic Sweeping, 133-134, 319,
M (continued)Multiple (continued)SCPI commands, linking, 288segment lists, 207-211NNaming Segment Sequences, query, 348Naming Waveform Segments, 86que
PPACKed Data Format, 335Parametersarbitrary block, 286boolean, 286discrete, 286MAXimum, using, 81MINimum, using, 81numeric, 286optional, 287query sett
Q (continued)Query (continued)virtual instrument capacity, 408VXIbus local bus test data, 406waveform segmentaddress, 336combined list, 338marker puls
R (continued)Repetition Count, 251segment sequencelist, 353output, 352Repetition Frequency, determining, 87Reset Configurationlist, 472-474query, 48Re
S (continued)Secondary GPIB Address, 22Security Codeenabling/disabling, 303setting, 302Segmentdata, downloadinginto DAC, 269-271, 506-508into memory,
S (continued)SettingAFG bus request level, 24armingsources, 166-168, 294sweeps, 295-296, 372 sources, 297frequency lists, 124-126logical address swit
S (continued)[SOURce:]LIST[1] Subsystem (continued)[:SEGMent]:FREE?, 341[:SEGMent]:MARKer, 342[:SEGMent]:MARKer:POINts?, 343[:SEGMent]:MARKer:SPOint,
S (continued)Standard Waveformscommands flowchart, 54-55frequencies, setting, 331generating, 53-82ramp waves, 65-68sine waves, 58-60square waves, 61-6
GeneratingSine WavesFrom 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 wi
S (continued)Sweepadvancesource, 158trigger, 201, 399 linking, 400 source, 401 time, 402arm, linking, 296arming, 190-192, 201, 295-297, 372count, 1
T (continued)TRIGger Subsystem, 391-402TRIG[:STARt]:COUNt, 392TRIG[:STARt]:GATE:POLarity, 393TRIG[:STARt]:GATE:SOURce, 393TRIG[:STARt]:GATE:STATe, 394
V (continued)Visual BASIC Language Programs, 32-39ARBWAVE.FRM, 33-39list of, 464-466running a program, 32system configuration, 32using SICL, 32Visual
W (continued)waveforms segment (continued) marker points, 222 memory, 113freeing memory, 113marker pulses, 337-338, 342-343multiple marker pulses,
Notes532 Agilent E1445A User’s Manual Index
Notes52 Getting Started Chapter 1
Chapter 2Generating Standard WaveformsChapter ContentsThis chapter shows how to generate standard waveforms (sinusoid, square,triangle, and ramps) us
Standard Waveforms FlowchartThe flowchart in Figure 2-1 shows the sequence used to generate standardwaveforms. The reset (power-on) values of each co
Figure 2-1. Commands for Generating Standard Waveforms (continued from previous page)Chapter 2 Generating Standard Waveforms 55
Generating DC VoltagesThe DCVOLTS program outputs a +5 Vdc voltage. The commands are:1. Reset the AFG*RSTThis command aborts any waveform output and
250 SUBEND260 !270 SUB Rst280 Rst: !Subprogram which resets the E1445.290 COM @Afg300 OUTPUT @Afg;"*RST;*OPC?" !reset the AFG310 ENTER @Af
Chapter 5. Arming and Triggering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163Chapter Contents .
Generating Sine WavesThe SINEWAVE program outputs a Sine Wave at 1 kHz and 5 V outputlevel. The commands are:1. Reset the AFG*RSTThis command aborts
BASIC Program Example (SINEWAVE) 1 !RE-STORE"SINEWAVE" 2 !The following program generates a 1 kHz, 5 Vp sine wave. 3 ! 10 !Assign I/O
460 OUTPUT @Afg;"SYST:ERR?" !read AFG error queue470 ENTER @Afg;Code,Message$480 PRINT Code,Message$490 UNTIL Code=0500 STOP510 SUBENDVisual
Generating Square WavesThe SQUWAVE program outputs a square wave at 1 Mhz, 4 V output level,and +1 V offset. The commands are:1. Reset the AFG*RSTTh
5. Set the Frequency[SOURce:]FREQuency[1][:FIXed] <frequency>This command specifies the frequency. Refer to Table B-3 inAppendix B for the fre
BASIC Program Example (SQUWAVE) 1 !RE-STORE“SQUWAVE” 2 !This program outputs a 1 MHz, 4V square wave with a 1V DC offset. 3 ! 10 !Assign I/O pat
460 B=SPOLL(@Afg)470 !End of statement if error occurs among coupled commands480 OUTPUT @Afg;""490 OUTPUT @Afg;"ABORT" !abort outp
Generating Triangle/Ramp WavesThe TRIWAVE program outputs a triangle wave at 10 kHz, 4 V outputlevel, and +1 V offset. The commands are:1. Reset the
5. Set the Frequency[SOURce:]FREQuency[1][:FIXed] <frequency>This command specifies the frequency. Refer to Table B-3 inAppendix B for the fre
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. 4 !
Chapter 6. Marker Outputs/Multiple AFG Operations . . . . . . . . . . . . . . . . . . . 203Chapter Contents . . . . . . .
450 !Read AFG status byte register and clear service request bit460 B=SPOLL(@Afg)470 !End of statement if error occurs among coupled commands480 OUTPU
Selecting the Output LoadsThe OUTPLOAD program sets the AFG’s output impedance to the outputload value of 75 Ω. The commands are:1. Setup the AFG*RS
5. Select the Output Load ValueOUTPut[1]:LOAD <load>This command selects the load value expected at the "Output 50/75 Ω"terminals. T
300 SUB Rst310 Rst: !Subprogram which resets the E1445.320 COM @Afg330 OUTPUT @Afg;"*RST;*OPC?" !reset the AFG340 ENTER @Afg;Complete350 SU
Selecting the Amplitude Levels and Output UnitsThe OUTPUNIT program shows how to set the output amplitude using the VPP (volts peak-to-peak) output un
BASIC Program Example (OUTPUNIT) 1 !RE-STORE“OUTPUNIT” 2 !This programs sets the output amplitude units to volts peak-to-peak 3 ! 10 !Assign I/O
460 OUTPUT @Afg;"SYST:ERR?" !read AFG error queue470 ENTER @Afg;Code,Message$480 PRINT Code,Message$490 UNTIL Code=0500 STOP510 SUBENDVisual
Using Phase ModulationPhase modulation allows you to change the output deviation or phase of asinusoid wave while it is output. This only works in th
5. Select the Function[SOURce:]FUNCtion[:SHAPe] SINusoidThis command selects the sinusoid function. (Although *RSTautomatically selects this functio
190 !200 SUB Phase_mod210 Phase_mode: !Subprogram which outputs a sine wave220 COM @Afg230 OUTPUT @Afg;“SOUR:FREQ1:FIX 60;”; !frequency240 OUTPUT @A
Chapter 7. High Speed Operation (continued)Using the Front Panel’s “Digital Port In” Connector . . . . . . . . . . . . . . . . . .
Standard Waveform Program CommentsThe following comments give additional details on the program examples inthis chapter.Sinusoid FunctionRequirementsT
ECLTrg0 or 1 (the VXIbus ECL trigger lines)HOLD (suspends sample generation)TTLTrg0 through 7 (the VXIbus TTL trigger lines)DDS FrequencyGenerator Ran
Output UnitsComments• The selected unit type can be overridden by sending a unit suffixwith the amplitude command. For example, if the selected unit
Using MINimumand MAXimumParametersYou can execute many commands (like [SOURce:]FREQuency[1][:CW|:FIXed])using the MINimum or MAXimum parameters instea
Notes82 Generating Standard Waveforms Chapter 2
Chapter 3Generating Arbitrary WaveformsChapter ContentsThis chapter shows how to generate arbitrary waveforms using theAgilent E1445A 13-Bit Arbitrar
Arbitrary Waveforms FlowchartThe flowchart in Figure 3-1 shows the commands and the commandexecution order to generate arbitrary waveforms. The reset
Figure 3-1. Commands for Generating Arbitrary Waveforms(continued from previous page)Chapter 3 Generating Arbitrary Waveforms 85
How the AFG Generates Arbitrary WaveformsRefer to Figure 3-2. An arbitrary waveform consists of two parts, awaveform segment (or all points on a wave
The segment sequence determines the order in which the waveformsegments in memory are to be output, which order is assigned by the user(use [SOURce:]L
Chapter 8. Command Reference (continued)INITiate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Generating a Simple Arbitrary WaveformThe ARBWAVE program shows how to generate an arbitrary waveformwith a single waveform segment. The example gene
5. Set the Segment Sample Rate[SOURce:]FREQuency[1][:CW | :FIXed] <frequency>This command sets the rate at which the points in a waveformsegme
11. Name the Segment Sequence[SOURce:]LIST[1]:SSEQuence:SELect <name>This command names the segment sequence. Each sequence storedinto memory
BASIC Program Example (ARBWAVE) 1 !RE-STORE"ARBWAVE" 2 !This program demonstrates the procedure for developing and 3 !outputting an arb
450 OUTPUT @Afg;" SOUR:LIST1:SEGM:FREE?"460 ENTER @Afg;Seg_mem$470 !480 OUTPUT @Afg;"SOUR:LIST1:SSEQ:SEL RAMP_OUT" !sequence nam
Executing Several Waveform SegmentsThe MULSEG program shows how to generate an arbitrary waveform usingtwo different waveform segments. One waveform
5. Select the Arbitrary Waveform Function[SOURce:]FUNCtion[:SHAPe] USERThis command selects the arbitrary waveform function. Couple thecommand to th
15. Define the Segment Sequence Order[SOURce:]LIST[1]:SSEQuence:SEQuence <segment_list>This command determines the order in which the waveform
BASIC Program Example (MULSEG) 1 !RE-STORE"MULSEG" 2 !This program outputs an arbitrary waveform that is comprised of 3 !two waveform s
450 !460 OUTPUT @Afg;"SOUR:LIST1:SEGM:SEL TRI" !segment name470 OUTPUT @Afg;" SOUR:LIST1:SEGM:DEF 2048" !segment size480 OUTPUT
Kommentare zu diesen Handbüchern