Skew DAC Adjustment Procedure (cont’d)
Example Program (cont’d)
890 !Set variables for next loop
900 MAT SEARCH Meas_array,LOC MIN;Loc_min !Get location of min rdg
910 Cal_word=Word_array(Loc_min)
920 Min_word=Word_array(MAX(0,Loc_min-1))
930 Max_word=Word_array(MIN((SIZE(Word_array,1)-1),Loc_min+1))
940 Step_size=Step_size/INT(SQRT(Start_step_s ize)+ .5 ) !Reduce step size
950 !
960 PRINT
970 PRINT
980 !
990 DEALLOCATE Meas_array(*),Word_array(*)
1000 Search_loop=Search_loop+1
1010 UNTIL Step_size<1
1020 !
1030 PRINT "CAL CONSTANT =";Cal_word
1040 PRINT
1050 Wrt_skew_con(Cal_word) !Write word to eeprom
1060 !
1070 !---------- Q u it ----------
1080 OUTPUT @Afg;"*RST;*CLS"
1090 ASSIGN @Afg TO *
1100 ASSIGN @Analyzer TO *
1110 STOP
1120 END
1130 !
1140 Load_delay_dac:SUB Load_delay_dac(INTEGER Delay_dac)
1150 COM @Afg,@Analyzer,Secure_code$
1160 INTEGER Lower_8,Benign_chn1
1170 !
1180 Benign_chn1=1
1190 Lower_8=BINAND(Delay_dac,255)
1200 !
1210 OUTPUT @Afg;"DIAG:POKE #HE0000B,8,2"
1220 OUTPUT @Afg;"DIAG:POKE #HE0000D,8,"&VAL$(Lower_8)
1230 OUTPUT @Afg;"DIAG:POKE #HE0000B,8,7"
1240 OUTPUT @Afg;"DIAG:POKE #HE0000D,8,"&VAL$(Benign_chn1+7)
1250 WAIT .1
1260 SUBEND
1270 !
(Continued on next page)
Agilent E1445A Service Manual Adjustments 113