Removing noises from ADC reading through SPI

Hi,

We have a custom board (powered by nRF52840 with Softdevice and nRF5 SDK 16) that has an external ADC module to sample 30 kHz ADC continuously for 1-2 seconds. What we have got so far is that we are experiencing noise caused by the BLE noise (When it is connected to a central device).

After doing some survey, I think we would need to improve the ADC data through the window timeslot - But since we have a burst sampling that lasts for 1-2 seconds (And we would hope to have small CONN interval to maximise the BLE throughput), I am not too sure the timeslot method is the way proceed? I tried the radio notification event handler method and seems that we would miss several sampling in between the BLE radio window, which is not advisable in our case.

Any suggestion will be much appreciated.

Many thanks!

  • Timing apart, noise is mostly coupled to the external ADC via VDD, both as a voltage dip and high-frequency noise both of which which will alias into ADC sample data even if the ADC has a high CMRR. The trick is to use separate reservoir capacitances for nRF and ADC which cannot back-drive (pull down) the other; this can be done using a separate regulator to the ADC, or a simple ideal diode (MAX40203) to the ADC to allow the nRF VDD to droop on BLE transmission without affecting the ADC VDD supply which will hold up by the local ADC bulk capacitance. A quick sanity test would be to supply the ADC with a separate coin cell battery with only a common GND but no common VDD. Should most of the noise disappear then that would indicate VDD coupling indeed be the primary culprit, and simple circuits exist to handle that. This is a frequent issue with low-level biological signals.

  • Hi hmolesworth,

    Thanks for the quick reply. In our current design, we do have a separate regulator to supply to the external ADC module. But I will try the separate power source for the ADC with a separate coin cell battery and see how it goes. 

    Meanwhile, it would be great to find out whether such timeslot method would be suffice to tackle the BLE noise or not.

    Many thanks!

Related