Hello Guys,
I am running an application which is sampling 3 ADC channels at 50 MHz. I am using sample buffers of size 150 and PPI to generate a sample event every 20 microseconds. At lower sampler rates, the data position in the buffers is consistent. But as I go below a sample period of 100 microseconds, the buffer order is corrupted.
This seems to be a very common and important issue but there is really no clear cut instructions on how to fix the issue.
I have tried the tips provided here, but none of them seem to work.
The SAADC runs with priority level = 2, and there is not much else that interrupts it other than the softdevice. In the near future I will incoorporate a feature to send a BLE packet every 10 ms.
Please can you shed more light on how the solution 1 (Use PPI to trigger START task on an END event. This will avoid the delayed triggering og the START task due to a queued interrupt generated by the END event,) from the link above should be implemented. I have tried the implied implementation but this doesnt solve this problem.
I am using the latest nRF17.0.0 SDK so I am suprised this issue still persists after soo many years.
Please what is the best workaround for this?
Is a sample rate of 50 kHz achievable using CPU interrupts?