I used my pico 5444B and need a sample rate at 156MS/s, but every time I set it to 156MS/s in ChipWhisperer Capture, it jumped to 250MS/s automaticly.
In fact, I find that if I disconnected the Scope, I can set the sample rate at any number. But once I connected the pico, I can just set at some fixed rate such as 10.4MS/s,12.5MS/s etc. As is mentioned in the vedio, I need a sample rate at 156MS/s but it can’t be done.
The more terrible thing is : If I used a sample rate at 250MS/s(or other fixed rate) and captured some traces, although I can save them to .cwp file, but once I open the file with CWAnalyzer, an error occurs writes “invalid literal for int() with base 10:‘2500000.0’”. And when I save the pico settings at CWCapture and open it again, the same error will show, too.
- The ‘invalid literal for int()’ problem has a fix in GIT repo, you should be able to pull from master. If you want to fix just that bug though it’s in the file software/chipwhisperer/common/api/TraceManager.py. Search for the following line:
sr = int(t.config.attr("scopeSampleRate"))
And replace with this:
sr = int(float(t.config.attr("scopeSampleRate")))
For the actual sample rate issue: does that scope work at the 156MS/s sample rate in the picotech software? If you set a slower sample rate (say ~150MS/s) does it jump up to 156MS/s, or does it always jump to 250MS/s? The sample rate info comes from the picotech DLL, the ChipWhisperer itself doesn’t know what valid sample rates are. But there may be a bug in how it asks the DLL.
Thank you very much, coflynn. After altered the code the error ‘invalid literal for int()’ has been solved. Now I can analyze my traces.
For another issue, my pico can work at the 156MS/s sample rate in the picotech software. In fact it can be set at any sample rate from 50S/s to 2GS/s. But in CWCapture, it can only been set at some fixed sample rate. When I set 150MS/s, it jumped to 250MS/s. When I set between 63MS/s~124MS/s (e.g. 100MS/s ), it jumped to 125MS/s, when I set between 42MS/s~63MS/s, it jumped to 63.5MS/s, etc.
Maybe the bug is really in asking the DLL.