This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

high data rate communication with SPI ADC

Hello.
We have product based on NRF51822 chip. 24 bit 4 channel ADC connected through SPI to MCU. Data rate is 250 Hz (4 ms). We send two ADC samples evry notification packet. In first realysation ADC was SPI slave, MCU was SPI Master. ADC generate DATA READY event on pin, MCU in interrupt initiate data transfer. Becouse MCU can be busy in SoftDevice routins for 6 ms, some samples were missing.
With some effort i made programm in which ADC and MCU were SPI Slave and SCK and CS were genereted by PWM (using gpiote and PPI).
But now we are developing new product with 6 channel ADC and data rate 1000 Hz. We no need send all data by BLE, but we can not miss any samles. Is it possible to solve this problem using a NRF52 mcu without using the described tweaks?

Parents Reply
  • thanks for the answer. Yes, i need external ADC. I read documentation, EasyDMA array list may help me for receive several consecutive samples. I can’t understand yet how to reset EasyDMA pointer to buffer begin? If SPIM interrupt is delayed by SoftDevice, how can I verify that the no new sample receive process started?

    [EDIT]In other words, is there a safe way to organize a ring buffer for a several (8 or 16) ADC samples?

Children
No Data
Related