I am currently using RPI3b and RPI3b+. I am trying to drive an external acquisition IC (ads1299) which is connected to the RPI boarda via SPI.
I tried to use the SPI @4 MHz @8 MHz and @16MHz: the system seems to be unreliable when the SCLK frequency is greater than 8 MHz.
The datasheet shows that the maximum frequency should reach 125MHz (if the source clock is @250 MHz) or 200MHz (if the source clock is @400MHz).
I acquired the SCLK waveform with my oscilloscope and it seems to be highly distorted when the frequency increases.
A similar problem has been highlighted in viewtopic.php?t=137817
Do you experienced the same problem?
Is this a problem of the PCB design?
Is there any way to remove this limitation?
Moreover I found that the SPI behavior is not always the same: if I send a few bits, the generated SCLK clock is less than the one I set. If I send many bits (about 27 bytes) the clock frequency is that I set. Is this related to the DMA/non DMA functionality? Some forums say that the linux driver use the DMA only when many bits are sent, otherwise the DMA is not used. Could it be this the problem?
Thanks in advance!