Sampling Problems


I am using CW-Lite for capturing a trace, but with the default setting, the precision is not enough for me to get the information. I find that the max sampling rate of CW-Lite is 105MS/s and it relates to the scope.clock.clkgen_freq. I want to know if I want to set the sampling rate to 100MS/s, using the clock sent from CW-Lite board, that means I need to change the rate of scope.clock.clkgen_freq and target.baud. I want to have more samples during my program.

However, I run the default setting of %run "Setup_Scripts/Setup_Generic.ipynb", the default target.baud = 230400, which corresponding scope.clock.clkgen_freq = 7384615.384615385, which is different from 38400, but the program run well in this setting.

If used as intended, ChipWhisperer can only sample 1x or 4x per target clock cycle. This works well because sampling is synchronous to the target clock. This paper by Colin is really interesting to read, it compares 1x and 4x synchronous sampling to much higher asynchronous sampling rates.

If you want to sample at 105 MS/s but clock the target at a lower clock rate, you’ll have to generate either the target clock or the sampling clock using something else (for example, our CW305 FPGA target board can do this since it has its own PLL).

[edited to add missing link to paper!]

I think you’re using SimpleSerial V2_1 here, which runs at 230400bps by default.