Strange sampling rate on CW Lite

Hey, I’m using the CW Lite to supply a 32MHz signal clock to a device, but the values I’m getting for the sampling rate seem odd, as the max sampling rate for the CW Lite is said to be 105MHz.

Anyone has any idea what the problem might be?
I’m able to acquire traces using the CW Lite with this config, but can’t understand why the adc_freq exceed 105MHz.

Here are the scope.clock attributes:
adc_src = clkgen_x1
adc_phase = 0
adc_freq = 276164062
adc_rate = 276164062.0
adc_locked = True
freq_ctr = 0
freq_ctr_src = extclk
clkgen_src = system
extclk_freq = 10000000
clkgen_mul = 2
clkgen_div = 6
clkgen_freq = 32000000.0
clkgen_locked = True

Thanks!

Do things return to normal if you run scope.clock.reset_adc()?

If not, can you provide a reproducible set of commands that result in this?

Hi, thank you for your prompt response!
I’ll try to run the scope.clock.reset_adc().
For the clkgen_freq=32MHz should the adc_freq be automatically set to the max 105MHz?

The set of commands that I run are as follows:

scope = cw.scope()
target = cw.target(scope, cw.targets.SimpleSerial)
scope.default_setup()
target.flush()
scope.clock.clkgen_freq = 32e6
scope.clock.adc_src = “clkgen_x1”
scope.clock.reset_dcms()
while scope.clock.clkgen_locked == False:
print(“wait”)
print(scope.clock)

No.

  • scope.clock.clkgen_freq = 32e6 causes CW to generate an internal 32 MHz clock. This clock can be provided to the target if you set e.g. scope.io.hs2 = 'clkgen'.
  • scope.clock.adc_src = “clkgen_x1” means take that internal clock, multiply it by 1 (the other option being to multiply it by 4, by setting it to clkgen_x4), and use that as the ADC sampling clock. So, scope.clock.adc_freq would be 32e6.

Thank you so much for the clarification! Very clear :slight_smile: