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

Random SPI data shifting at ~72kB/s throughput

Hello,

I am using nRF52 with ADS1292, and i am trying to sample at 8kHz with data throughput of 72kB/s, but some data is being randomly shifted giving me random spikes. This occurs on all available clock speeds to some degree. I am using Easy DMA. I am not getting any warnings or errors from the SPI driver as far as I can tell.

This issue does not occur at a lower data rate. Does this have something to do with overhead from the nRF SPIM drivers? I am also using I2C and other resources, but this also occurs with those additional resources disabled.

I'm trying to figure out what the limitation here is; is there a known limit on how many times you can call 'nrf_drv_spi_transfer' every second?

Thanks,

Parents
  • Sorry about the lack of complete info:

    1. It is seemingly random; and does not happen on every transfer. I cannot find a consistent pattern or direction. In some cases part of the data is intact, and the rest is garbled or missing. Since I don't have the correct debugging tools at my disposal (logic analyzer), I am using the internally generated 1-Hz square wave. plot of bad data
    2. Using SDK 13.1.0
    3. I tried both non-blocking and blocking modes, giving same result.
    4. SPI drivers did not report any errors. All transfers returned NRF_SUCCESS. The first few BLE transfers return NRF_ERROR_RESOURCES, but eventually goes away.

    Let me know if there is any other information I can provide that will help.

    Thanks,

Reply
  • Sorry about the lack of complete info:

    1. It is seemingly random; and does not happen on every transfer. I cannot find a consistent pattern or direction. In some cases part of the data is intact, and the rest is garbled or missing. Since I don't have the correct debugging tools at my disposal (logic analyzer), I am using the internally generated 1-Hz square wave. plot of bad data
    2. Using SDK 13.1.0
    3. I tried both non-blocking and blocking modes, giving same result.
    4. SPI drivers did not report any errors. All transfers returned NRF_SUCCESS. The first few BLE transfers return NRF_ERROR_RESOURCES, but eventually goes away.

    Let me know if there is any other information I can provide that will help.

    Thanks,

Children
No Data
Related