How to sample the SAADC at 200Khz?

We are porting to the nrf52832 an application that needs to sample the SAADC continuously at 200Khz (alternating between two inputs) with dual buffering DMA of let's say 1k samples each and having each completed buffer processed by a computation logic that tracks the state of an external process. The tracked state is then reported externally at a slow rate via BLE.  

Our questions are about the 200Khz dual buffering saadc sampling. We assume that the zephyr saadc driver can't handle this rate (?) so plan to implement something of our own, either a zephyr driver or possibly a simple implementation that bypasses the zephyr driver model. 

 

1. Can the nrf52832 handle this sampling rate or are we facing a dead end?

2. Is there an example of a fast continuous dual buffering saadc  sampling that uses a known time base (5us in our case) and doesn't require CPU attention until a buffer is filled?

3. Can this approach be compatible with zephyr?  (It's ok if the saadc sampling will bypass the zephyr driver model, portability across MCUs is not an issue for us).

4. Anything else we should be aware of?


Thanks.

Parents Reply Children
No Data
Related