User`s manual
90 OUTPUT @Afg;"*SRE 32"
100 OUTPUT @Afg;"*ESE 60"
110 !
120 !Call the subprograms
130 CALL Rst
140 CALL Wf_del
150 CALL A24_offset
160 !
170 OUTPUT @Afg;"SOUR:FREQ1:FIX 2.048E6;"; !frequency
180 OUTPUT @Afg;":SOUR:FUNC:SHAP USER;"; !function
190 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL 5.11875V" !amplitude
200 OUTPUT @Afg;"SOUR:ARB:DAC:FORM SIGN" !dac data format (signed)
210 OUTPUT @Afg;"SOUR:MARK:FEED ""SOUR:LIST1""" !marker pulse source
220 !
230 CALL Sine_wave
240 CALL Tri_wave
250 CALL Seq_list
260 !
270 OUTPUT @Afg;"SOUR:FUNC:USER WAVE_OUT" !waveform sequence
280 OUTPUT @Afg;"INIT:IMM" !wait-for-arm state
290 !
300 WAIT .1 !allow interrupt to be serviced
310 OFF INTR 16
320 END
330 !
340 SUB Sine_wave
350 Sine_wave: !Subprogram which computes a sine wave and downloads
360 !the corresponding dac codes to segment memory over the
370 !VXIbus. A combined list is used but no marker pulse is
380 !specified.
390 COM @Afg,Base_addr
400 CONTROL 16,25;3 !access A24 space with WRITEIO
410 OUTPUT @Afg;"SOUR:LIST1:SEGM:SEL SINE" !segment name
420 OUTPUT @Afg;"SOUR:LIST1:SEGM:DEF 2048" !segment size
430 !
440 INTEGER Waveform(1:2048)
450 !Calculate sine wave (dac codes) and shift bits to dac code positions
460 FOR I=1 TO 2048
470 Waveform(I)=5.*(SIN(2.*PI*(I/2048.)))/.00125
480 Waveform(I)=SHIFT(Waveform(I),-3)
490 NEXT I
500 !Set last point bit (actual last point - 3)
510 Waveform(2045)=Waveform(2045)+1
520 !
530 !Enable downloading from the VXIbus
540 OUTPUT @Afg;"ARB:DOWN VXI,SINE,2048"
550 OUTPUT @Afg;"*OPC?"
560 ENTER @Afg;Ready
570 !
Continued on Next Page
Chapter 7 High Speed Operation 265