Hi everyone, I discovered an issue with SPI communication issues with LPC54608 today.
We consider i.MX8 as the Master SPI and LPC54608 as the Slave SPI, and the communication with CS is effective at low voltage levels. The CS pins of i.MX8 and LPC54608 are pulled up by default. When i.MX8 needs to transmit data to LPC54608 through SPI, i.MX8 will configure the CS pin to output 0.
CS configurations of NXP LPC54608
Currently, most of the 18000 machines we tested have normal SPI communication, but there are still 20 machines that may experience communication issues between i.MX8 and LPC54608.
The problem is that LPC54608's SPI interrupt cannot enter. Using an oscilloscope to measure the machine with SPI communication failure, it was found that LPC54608’s DI pin can receive data, but LPC54608’s DO pin cannot send data. I would like to ask for your insights.
SPI Connection
We tried to set LPC54608’s CS pin to pull down, and surprisingly, SPI communication became possible between i.MX8 and LPC54608. However, it is puzzling that whether LPC54608’s CS pin is set to pull down or pull up, the voltage waveform of LPC54608’s CS is correct. For some unknown reason, when LPC54608’s CS pin is set to pull up, communication between i.MX8 and LPC54608 of this machine cannot be achieved.
LPC54608 CS pull_down
LPC54608 CS pull_up
Can it be possible if we want to set LPC54608’s CS pin to pull down, which will result in the current flowing from i.MX8 and LPC54608?
Or do you have any more reasonable suggestions for correction?