How to increase SPI speed above 8 Mhz

I'm trying to increase the SPI speed to drive a DAC that can go up to 50 Mhz. I'm using an nRF52840 DK and SDK V17.

Even if I can set up SPIM3, there is a limit I need to overcome in the firmware, which data rate is limited to 8 Mhz, in the follwing structure in nrf_drv_spi.h:

typedef enum
{
NRF_DRV_SPI_FREQ_125K = NRF_SPI_FREQ_125K, ///< 125 kbps.
NRF_DRV_SPI_FREQ_250K = NRF_SPI_FREQ_250K, ///< 250 kbps.
NRF_DRV_SPI_FREQ_500K = NRF_SPI_FREQ_500K, ///< 500 kbps.
NRF_DRV_SPI_FREQ_1M = NRF_SPI_FREQ_1M, ///< 1 Mbps.
NRF_DRV_SPI_FREQ_2M = NRF_SPI_FREQ_2M, ///< 2 Mbps.
NRF_DRV_SPI_FREQ_4M = NRF_SPI_FREQ_4M, ///< 4 Mbps.
NRF_DRV_SPI_FREQ_8M = NRF_SPI_FREQ_8M ///< 8 Mbps.
} nrf_drv_spi_frequency_t;

In the above typedef enum, I can't go above 8 Mhz. I'll be happy to go up to 32 Mhz or 48 Mhz.

Parents Reply Children
No Data
Related