So I am developing SPI communication (using spidev device) with NXP i.MX8M and I have encountered that the SPI stops in long transmissions (> 4096 bytes). I have also discovered that this is a uP limitation and a lot of people is having the same problem.
What I'm noticing that works differently from the questions people are asking is the following: typically, people have this problem and the gap they experience is around 5 us. The problem is that in my case, sometimes the gap is 5 us, but in other cases, it can extend to 500 us. All of this seems to happen randomly.
In the image, it can be observed that there are 8 short pauses, until the 9th one occupies a long period of time, and so on.
Any ideas why this might be happening?
Hi @zianuro_,
I hope you are doing well.
There could be several reasons why you are experiencing varying gaps in SPI communication.
Here are a few possibilities:
1. Timing Issues: If there are timing issues in either the master or slave device, it can result in inconsistent gaps. check if the clock signals and timing parameters are set correctly for both devices.
2. Bus Congestion: If there are other devices connected to the SPI bus, it can lead to delays and varying gaps. make sure there are no unnecessary devices connected to the bus.
3. Signal Integrity: Poor signal integrity can cause data corruption and timing issues. Ensure that the signal lines are not excessively long or prone to interference.
4. Software issues: Check your software or firmware implementation for any bugs, race conditions, or incorrect configuration settings that could lead to timing variations.
Thanks & Regards,
Dhruvit Vasavada