Question:
What does it mean that the E1332 is a reciprocal counter for (Freq/Per)?

Answer:
The E1332A counter is a reciprocal counter which means that if you ask for a frequency measurement it may actually do a period measurement and then convert period to frequency using math.

When the E1332A counter is programmed using:

 CONFn:FREQ <range>,<resolution> 

 CONFn:PER <range>,<resolution> 

 or 

 MEASn:FREQ <range>,<resolution> 

 MEASn:PER <range>,<resolution>
 

the counter will choose the best method to use based on the range, and resolution parameters. If no resolution is specified a five digit (range/1e5) resolution is assumed. If no range or resolution is specified then the counter auto ranges until it can deliver a five digit resolution answer.

TABLE 1 below which was generated by the below program shows that for frequencies below one mega hertz the period function is actually used.

When the "PER" function is used the parameter NPER is the number of periods used in the measurement.

When the "FREQ" function is used the parameter APER is the aperature or the time period over which the input frequency is counted.

This automatic reciprocal function switching generally gives the best possible result. The easiest programming is to not specify a range or resolution and just let the counter auto range. The one exception is when the frequency is zero, which means that it takes infinite time to make the measurement because it's looking for two time periods.

To force a old fashion frequency measurement that only lasts for one aperature time, use the following sequence:

OUTPUT @CNTR;"SENS1:FUNC:FREQ;:SENS1:FREQ:APER <aperature>;READ?" 

The "Data Questionable" messages in the table means that the specified resolution is not possible to be delivered on the specified range.

============================ TABLE 1 ==================================== 

programmed function actual # of periods aperature time 

 , function 

 

CHARACTERIZING THE FREQUENCY FUNCTION 

CONF1:FREQ 10 ,1 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 10 ,.1 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 10 ,.01 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 10 ,.001 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 10 ,.0001 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 10 ,1.E-5 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 10 ,1.E-6 FUNC="PER" NPER=3.2000E+01 

CONF1:FREQ 10 ,1.E-7 FUNC="PER" NPER=2.5600E+02 

 

CONF1:FREQ 100 ,10 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 100 ,1 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 100 ,.1 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 100 ,.01 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 100 ,.001 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 100 ,.0001 FUNC="PER" NPER=3.2000E+01 

CONF1:FREQ 100 ,1.E-5 FUNC="PER" NPER=2.5600E+02 

CONF1:FREQ 100 ,1.E-6 FUNC="PER" NPER=2.0480E+03 

 

CONF1:FREQ 1000 ,100 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 1000 ,10 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 1000 ,1 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 1000 ,.1 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 1000 ,.01 FUNC="PER" NPER=3.2000E+01 

CONF1:FREQ 1000 ,.001 FUNC="PER" NPER=2.5600E+02 

CONF1:FREQ 1000 ,.0001 FUNC="PER" NPER=2.0480E+03 

CONF1:FREQ 1000 ,1.E-5 FUNC="PER" NPER=3.2768E+04 

 

CONF1:FREQ 10000 ,1000 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 10000 ,100 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 10000 ,10 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 10000 ,1 FUNC="PER" NPER=3.2000E+01 

CONF1:FREQ 10000 ,.1 FUNC="PER" NPER=2.5600E+02 

CONF1:FREQ 10000 ,.01 FUNC="PER" NPER=2.0480E+03 

CONF1:FREQ 10000 ,.001 FUNC="PER" NPER=3.2768E+04 

CONF1:FREQ 10000 ,.0001 FUNC="PER" NPER=6.5536E+04 "Data questionable" 

 

CONF1:FREQ 100000 ,10000 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 100000 ,1000 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 100000 ,100 FUNC="PER" NPER=3.2000E+01 

CONF1:FREQ 100000 ,10 FUNC="PER" NPER=2.5600E+02 

CONF1:FREQ 100000 ,1 FUNC="PER" NPER=2.0480E+03 

CONF1:FREQ 100000 ,.1 FUNC="PER" NPER=3.2768E+04 

CONF1:FREQ 100000 ,.01 FUNC="FREQ" APER=6.5536E+01 "Data questionable" 

CONF1:FREQ 100000 ,.001 FUNC="FREQ" APER=6.5536E+01 "Data questionable" 

 

CONF1:FREQ 1.E+6 ,100000 FUNC="PER" NPER=2.0000E+00 

CONF1:FREQ 1.E+6 ,10000 FUNC="PER" NPER=3.2000E+01 

CONF1:FREQ 1.E+6 ,1000 FUNC="PER" NPER=2.5600E+02 

CONF1:FREQ 1.E+6 ,100 FUNC="PER" NPER=2.0480E+03 

CONF1:FREQ 1.E+6 ,10 FUNC="PER" NPER=3.2768E+04 

CONF1:FREQ 1.E+6 ,1 FUNC="FREQ" APER=1.0240E+00 

CONF1:FREQ 1.E+6 ,.1 FUNC="FREQ" APER=1.6384E+01 

CONF1:FREQ 1.E+6 ,.01 FUNC="FREQ" APER=6.5536E+01 "Data questionable" 

 

 

CHARATERIZING THE PERIOD FUNCTION 

CONF1:PER 1.E-6 ,1.E-7 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 1.E-6 ,1.E-8 FUNC="PER" NPER=3.2000E+01 

CONF1:PER 1.E-6 ,1.E-9 FUNC="PER" NPER=2.5600E+02 

CONF1:PER 1.E-6 ,1.E-10 FUNC="PER" NPER=2.0480E+03 

CONF1:PER 1.E-6 ,1.E-11 FUNC="PER" NPER=3.2768E+04 

CONF1:PER 1.E-6 ,1.E-12 FUNC="FREQ" APER=1.0240E+00 

CONF1:PER 1.E-6 ,1.E-13 FUNC="FREQ" APER=1.6384E+01 

CONF1:PER 1.E-6 ,1.E-14 FUNC="FREQ" APER=6.5536E+01 "Data questionable" 

 

CONF1:PER 1.E-5 ,1.E-6 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 1.E-5 ,1.E-7 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 1.E-5 ,1.E-8 FUNC="PER" NPER=3.2000E+01 

CONF1:PER 1.E-5 ,1.E-9 FUNC="PER" NPER=2.5600E+02 

CONF1:PER 1.E-5 ,1.E-10 FUNC="PER" NPER=2.0480E+03 

CONF1:PER 1.E-5 ,1.E-11 FUNC="PER" NPER=3.2768E+04 

CONF1:PER 1.E-5 ,1.E-12 FUNC="FREQ" APER=6.5536E+01 "Data questionable" 

CONF1:PER 1.E-5 ,1.E-13 FUNC="FREQ" APER=6.5536E+01 "Data questionable" 

 

CONF1:PER .0001 ,1.E-5 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .0001 ,1.E-6 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .0001 ,1.E-7 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .0001 ,1.E-8 FUNC="PER" NPER=3.2000E+01 

CONF1:PER .0001 ,1.E-9 FUNC="PER" NPER=2.5600E+02 

CONF1:PER .0001 ,1.E-10 FUNC="PER" NPER=2.0480E+03 

CONF1:PER .0001 ,1.E-11 FUNC="PER" NPER=3.2768E+04 

CONF1:PER .0001 ,1.E-12 FUNC="PER" NPER=6.5536E+04 "Data questionable" 

 

CONF1:PER .001 ,.0001 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .001 ,1.E-5 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .001 ,1.E-6 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .001 ,1.E-7 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .001 ,1.E-8 FUNC="PER" NPER=3.2000E+01 

CONF1:PER .001 ,1.E-9 FUNC="PER" NPER=2.5600E+02 

CONF1:PER .001 ,1.E-10 FUNC="PER" NPER=2.0480E+03 

CONF1:PER .001 ,1.E-11 FUNC="PER" NPER=3.2768E+04 

 

CONF1:PER .01 ,.001 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .01 ,.0001 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .01 ,1.E-5 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .01 ,1.E-6 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .01 ,1.E-7 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .01 ,1.E-8 FUNC="PER" NPER=3.2000E+01 

CONF1:PER .01 ,1.E-9 FUNC="PER" NPER=2.5600E+02 

CONF1:PER .01 ,1.E-10 FUNC="PER" NPER=2.0480E+03 

 

CONF1:PER .1 ,.01 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .1 ,.001 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .1 ,.0001 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .1 ,1.E-5 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .1 ,1.E-6 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .1 ,1.E-7 FUNC="PER" NPER=2.0000E+00 

CONF1:PER .1 ,1.E-8 FUNC="PER" NPER=3.2000E+01 

CONF1:PER .1 ,1.E-9 FUNC="PER" NPER=2.5600E+02 

 

CONF1:PER 1 ,.1 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 1 ,.01 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 1 ,.001 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 1 ,.0001 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 1 ,1.E-5 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 1 ,1.E-6 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 1 ,1.E-7 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 1 ,1.E-8 FUNC="PER" NPER=3.2000E+01 

 

CONF1:PER 10 ,1 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 10 ,.1 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 10 ,.01 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 10 ,.001 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 10 ,.0001 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 10 ,1.E-5 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 10 ,1.E-6 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 10 ,1.E-7 FUNC="PER" NPER=2.0000E+00 

 

CONF1:PER 100 ,10 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 100 ,1 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 100 ,.1 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 100 ,.01 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 100 ,.001 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 100 ,.0001 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 100 ,1.E-5 FUNC="PER" NPER=2.0000E+00 

CONF1:PER 100 ,1.E-6 FUNC="PER" NPER=2.0000E+00 

 

 

Here is the program which generated the data in TABLE 1: 

 

10 ! re-save "freq_r&r" 

20 ! This main line code is reserved as a error handling shell 

30 ! All application code must be at lower level context in SUB Main 

40 ASSIGN @Sys TO 70900 ! define I/O paths 

50 ASSIGN @Cntr TO 70907 

60 COM /Instr/ @Sys,@Cntr ! Use COM so command line I/O always works 

70 ON TIMEOUT 7,3 GOTO End ! Turn TIMEOUTS to errors--this branch never taken 

80 ON ERROR RECOVER Kaboom !This handles timeouts and errors not handled 

90 ! at lower level contexts 

100 ON KEY 1 LABEL "QUIT& ?" RECOVER Quit !KEY to quit & check for errors 

110 ON KEY 2 LABEL "END!",15 RECOVER End !KEY to END now, no error check 

120 Main ! Put application code in this sub 

130 Quit:PRINT "Checking for E13xx Errors at the end of the program" 

140 E13xx_errors 

150 GOTO End 

160 Kaboom:PRINT "" 

170 PRINT ERRM$ 

180 PRINT "Checking for E13xx Errors as a BASIC Error has occurred" 

190 E13xx_errors 

200 End:END 

210 ! 

220 E13xx_errors:SUB E13xx_errors !This sub reads all errors from E13xx 

instruments 

230 COM /Instr/ @Sys,@Cntr 

240 DIM A$[128] 

250 ABORT 7 ! Free bus handshaking 

260 ! Add a error loop for each instrument 

270 ! 

280 CLEAR @Sys !Terminate instrument activity & clear input/output buffers 

290 REPEAT !Read the entire instrument error que 

300 OUTPUT @Sys;"SYST:ERR?" 

310 ENTER @Sys;A,A$ 

320 PRINT "SYSTEM ERROR ";A$ 

330 UNTIL A=0 

340 ! 

350 CLEAR @Cntr 

360 REPEAT 

370 OUTPUT @Cntr;"SYST:ERR?" 

380 ENTER @Cntr;A,A$ 

390 PRINT "COUNTER ERROR ";A$ 

400 UNTIL A=0 

410 ! 

420 E13xx_errors_:SUBEND 

430 ! 

440 Main:SUB Main !This subroutine is treated as the main line 

450 COM /Instr/ @Sys,@Cntr 

460 !Put application code here 

470 DIM Error$[128] 

480 CLEAR @Cntr 

490 OUTPUT @Cntr;"*RST;*CLS;*OPC?" 

500 ENTER @Cntr;A 

510 ! Characterize the frequency function 

520 PRINT "" 

530 PRINT "CHARACTERIZING THE FREQUENCY FUNCTION" 

540 FOR F=1 TO 6 

550 FOR R=1 TO 8 

560 OUTPUT @Cntr;"CONF1:FREQ 1E"&VAL$(F)&" ,"&VAL$(10^F/10^R)&";*OPC?" 

570 ENTER @Cntr;A 

580 OUTPUT @Cntr;"SENS1:FUNC?" 

590 ENTER @Cntr;Func$ 

600 OUTPUT @Cntr;"SENS1:FREQ:APER?" 

610 ENTER @Cntr;Aper$ 

620 OUTPUT @Cntr;"SENS1:PER:NPER?" 

630 ENTER @Cntr;Nper$ 

640 OUTPUT @Cntr;"SYST:ERR?" 

650 ENTER @Cntr;A,Error$ 

660 IF A=0 THEN Error$="" 

670 IF Func$="""PER""" THEN 

680 PRINT USING "26A,6A,7A,6A,D.DDDDE,19A";"CONF1:FREQ "&VAL$(10^F)&

" ,"&VAL$(10^F/10^R);" FUNC=";Func$;" NPER=";VAL(Nper$);Error$ 

690 ELSE 

700 PRINT USING "26A,6A,7A,6X,6A,D.DDDDE,19A";"CONF1:FREQ 

"&VAL$(10^F)&

" ,"&VAL$(10^F/10^R);" FUNC=";Func$;" APER=";VAL(Aper$);Error$ 

710 END IF 

720 NEXT R 

730 PRINT "" 

740 NEXT F 

750 ! Characterize the period function 

760 PRINT "" 

770 PRINT "CHARATERIZING THE PERIOD FUNCTION" 

780 FOR F=-6 TO 2 

790 FOR R=1 TO 8 

800 OUTPUT @Cntr;"CONF1:PER 1E"&VAL$(F)&" ,"&VAL$(10^F/10^R)&";*OPC?" 

810 ENTER @Cntr;A 

820 OUTPUT @Cntr;"SENS1:FUNC?" 

830 ENTER @Cntr;Func$ 

840 OUTPUT @Cntr;"SENS1:FREQ:APER?" 

850 ENTER @Cntr;Aper$ 

860 OUTPUT @Cntr;"SENS1:PER:NPER?" 

870 ENTER @Cntr;Nper$ 

880 OUTPUT @Cntr;"SYST:ERR?" 

890 ENTER @Cntr;A,Error$ 

900 IF A=0 THEN Error$="" 

910 IF Func$="""PER""" THEN 

920 PRINT USING "26A,6A,7A,6A,D.DDDDE,19A";"CONF1:PER "&VAL$(10^F)&

" ,"&VAL$(10^F/10^R);" FUNC=";Func$;" NPER=";VAL(Nper$);Error$ 

930 ELSE 

940 PRINT USING "26A,6A,7A,6X,6A,D.DDDDE,19A";"CONF1:PER "&VAL$(10^F)&

" ,"&VAL$(10^F/10^R);" FUNC=";Func$;" APER=";VAL(Aper$);Error$ 

950 END IF 

960 NEXT R 

970 PRINT "" 

980 NEXT F 

990 Main_:SUBEND 

1000 !