- I am having a problem communicating between an NXP MCU S32K344 LPSPI module (Controller) and a Holt HI-35930 (Peripheral).
The code is writing 2 frames, each an 8 bit word. over the LPSPI to an ARINC communication device HI-35930. I verified all settings are correct. cpol = 0, cpha = 0, LSBF = MSB, BYSW=no, RXMSK, TXMSK =0, TCR[FRMSZ]=7.
The code uses the TRC[CONT and TRC[CONTC] bits to control the PCS. The PCS stays asserted for the entire sequence of 2 frames, see picture. The clock, likewise pulses over the 2 frames. The SOUT signal has the expected data on it, frame 1 = opcode 0x80, frame 2 - dummy data 0x00
The problem is with SIN. There is no data back. ( opcode 0x80 is to read a register where I was expecting at least one bit set high).
The RXCOUNT does increment on each frame to a max of 2.
-Using the same settings, I concatenate the same opcode and data into one 16-bit frame, set TRC[CONT and TRC[CONTC] = 0 since there is one frame TRC[FRMSZ]=15. The transmission works and SIN returns real data.
What do you think is wrong here?
Yellow - PCS signal
Pink - Clock signal
Blue - SIN to the MCU
Green - SOUT from the MCU