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

nRF52 SPI Manager Need gap between bytes

I'm using nRF52 and SDK 15.2 with SPI Manager (NRF_SPI_MNGR_ENABLED) with EasyDMA disabled. Some of the external chips I'm communicating with via SPI can't handle consecutive bytes back-to-back. They require a time gap between each byte sent. I've tried several routes, but so far the only way I can get a gap is to put only 1 byte in each nrf_spi_mngr_transfer_t and putting several of them in a nrf_spi_mngr_transaction_t.

This is not desired because it quickly fills up my transaction queuing, increases the code to manage simple payloads, and greatly increases the overall communication time.

When putting multiple bytes in 1 transfer, it tends to group the first 2 bytes together and then the rest have gaps (see image). (this is with EasyDMA disabled, with EasyDMA enabled all the bytes are grouped).

Is there a way to ensure always a gap? I know 'gap' is subjective but even a hand full of tCLKs would work Slight smile

I searched the forum and found a couple links related but no solutions:

devzone.nordicsemi.com/.../nrf52832-spi-psel-sck-timing
- devzone.nordicsemi.com/.../spi-transaction-manager---ncs-chip-select-behavior

Thanks for any suggestions.

Related