-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
5x Faster ADC #48
Comments
One simple change made it (partially) work: Setting the ADC clock source in the CLK_ADC_CTRL register to the system clock rather than the ADC's usual 48MHz clock, immediately after adc_init() (around line 715 in pico_sdk_sigrok.c)
The ADC sample rate increased by a factor of 2.5 without changing any of the clk_div code. So far I have only tested 100 samples at 250kHz (and 500kHz) with a 60kHz sine wave as input. We get 2.5x as many samples per cycle, however the displayed sine wave's period is off by the same factor. More work to do on this! Both images below are at 250kHz and ~400uS long. |
This, plus running the flash clock divider at 4 instead of the default 2, should allow clockspeeds of 450MHz or more. My particular Pico runs at 450MHz stable at 1.3V |
I found this recent post in the R Pi forums.
https://forums.raspberrypi.com/viewtopic.php?t=365702
I managed to get the fastest version running with a single ADC channel working with very little fuss at a 240MHz clock rate. ENOB still appears to be > 7-bits. I haven't tried multi-channel ADC, but can't see that the Analog Mux is likely to pose any issues.
5x faster ADC would make a very nice improvement!
The text was updated successfully, but these errors were encountered: