Hi
I'm currently look into the noise floor of the SAADC samples on a custom PCB with a nRF52
I'm running the ADC at maximum sensitivity (4x gain, Vref=0.6V) differential sampling two pins connected to ground at a rate of 200kHz
I let the ADC time the sampling using the SAMPLERATE register and order a limited number of samples by setting the RESULT.MAXCNT
After each sampling (on EVENTS_END) I transmit the data over BLE (bandwitdh permitting)
I restart the SAADC sampling using a looping app timer, the ADC is it self started by writing directly to the ADC registers.
If I don't call TASK_STOP I get a relatively low noise floor:
The base current consumption is however around 1 mA (Probably the easy dma not switching off)
If I call TASK_STOP from the END interrupt handler the base current consumption drops down to ~0
However after a power cycle of the board the noise floor is a lot higher:
The image above is after sampling an additional 1000 samples (5 ms) per block of data,
the first 1000 samples are then discarded before sending the remaining samples over BLE.
This have been done in an attempt to avoid any noise from the HF clk, band gap and other things powering up.
But the result is the same if the only change is to call TASK_END.
The additional and larger noise spikes only seem to occur after the power cycle,
that disables the debug interface activated by programming using a j-link adapter.
I have until now not been able to remove or explain the additional noise observed by calling the TASK_STOP.
Experiments include but is not limited to.
Requesting the HF clock using sd_clock_hfclk_request();
Turning on a few LEDs to load the power supply.
Trying both a lab PSU, batteries and a nrf power profiler as a power source.
Both keeping the j-link connected and disconnecting it.
Does anyone have an idea to what is causing the noise and how to remove it without using lots of current?
In advance thank you for your time.
Regards Visti Andresen