User manual
Programmer’s Guide Page 55 of 66
Model
Input
Frequency
range (MHz)
sFmax vs. nbrConvertersPerChannel
1
2
4
DP306 Rev A
100 – 400
½ × inputFrequency
DP308
100 – 400
½ × inputFrequency
DP308 Rev A
100 – 400
1 × inputFrequency
DP310
100 – 420
1 × inputFrequency
DP310 Rev A
100 – 400
1 × inputFrequency
AC210/SC210
20 – 2000
½ × inputFrequency
AC240/SC240
20 – 2000
½ × inputFrequency
1 × inputFrequency
1
st
generation
100 – 500
1 × inputFrequency
Example: When using a DC241 with 2 combined channels, and an external clock frequency of 1800 MHz (=
inputFrequency), the possible sampling frequencies are 3.6 GS/s, 1.8 GS/s, 900 MS/s and 450 MS/s.
The ratio of sFmax to inputFrequency can also be learned at run-time by using a call to
Acqrs_getInstrumentInfo(instrID," ExtCkRatio", &ratio).
The system computes the required memory overhead (in data samples) on the basis of the current sampFrequency
and nbrConvertersPerChannel. Use the function AcqrsD1_bestNominalSamples to obtain the maximum
available memory, after setting these parameters.
The equivalent of delayTime is defined with the value delayNbrSamples, which only applies to external clock
operation. The actual delay value is easily computed as follows:
delay = (delayNbrSamples – nbrSamples) / sampFrequency
Example: In a 1
st
generation module with an external clock running at 200 MHz, if you wanted to acquire 2000 data
points at 50 MS/s with the trigger point at the end of the first quarter of the time window, you would use the code:
AcqrsD1_configMemory(instrID,2000,1);
AcqrsD1_configExtClock(instrID,1,threshold, 1500, 2.0e+8, 5.0e+7);
AcqrsD1_acquire(instrID); // start the acquisition
AcqrsD1_waitForEndOfAcquisition(instrID, timeOut);
The value of delayNbrSamples is 1500 because 500 points need to be acquired before and 1500 points after the
trigger, in order to position the trigger point at the 1
st
quarter of the time window.
Equivalently, you could have computed the time window to be 2000 x 20 ns = 40 μs. The delay would therefore have
to be -10 μs to get the trigger point to the 1
st
quarter of the time window. Since nbrSamples = 2000 and
sampFrequency = 5.0e+7, you would obtain delayNbrSamples = 1500.
Since the sampling frequency is known in this clock mode, through the variable sampFrequency, any read functions
correctly return the value of the sampling interval.
In addition, if the user-supplied clock frequency inputFrequency is > 800 MHz on DC271-FAMILY digitizers or in
all cases for 10-bit and 12-bit digitizers, the system correctly measures the value horPos and returns it with any
waveform read function, such as AcqrsD1_readData. Thus, the time position of the sampled data points can be
known to within a small fraction of the sampling interval, permitting very precise timing measurements as with the
internal clock. However, the digitizer must be calibrated at the external clock frequency in use, whenever
inputFrequency or sampFrequency are changed. Use this code:
// We assume that a normal calibration has been done, either
// during initialization, or explicitly
AcqrsD1_configExtClk(.. )
// Make sure to apply the same external frequency as the value
// „inputFrequency‟, set in the function call above
Acqrs_calibrateEx(instrID, 2, 0, 0 );
The function Acqrs_calibrateEx with calType = 2 readjusts some timing calibration constants, but does not modify
any vertical adjustment values, such as gain or offset.
In first generation digitizers, or when inputFrequency is ≤ 800 MHz in the second generation digitizers (or
AP/AC/SC analyzers in the digitizer mode), the data read functions will return horPos = 0.0, equivalent to a timing