I'll refer to the device we are facing issues with as the "main micro-controller".
System Description
- In the system the main micro-controller interfaces with 2 devices.
- The first device is a THVD1450DGKR with which the main micro-controller interfaces using SCI.
- The second device is a TMS320F280023C and the main micro-controller interfaces with this device as an SPI slave.
- Both the SPI and the SCI module are operated using an interrupt based code. SCI is operated with addressing enabled. SPI is operated with FIFO enabled.
Observations and Problem - When a clock speed of 10Mhz is used on the SPI bus the SCI module stops generating interrupts after an indeterminate amount of time.
- In the SCI module, the RXRDY flag is set but the interrupts do not propagate to the CPU. The code never enters the SCI_RX ISR. The SPI module however, continues to operate normally.
- As stated before the code operates normally i.e (both SPI and SCI interrupts are generated) for some time before this condition/problem occurs.
- If a clock speed of 1Mhz is used on the SPI bus, these problems are eliminated. Both the modules work as expected without stopping.
I want to understand what causes the SCI module to stop generating interrupts after a while when the SPI Slave is operated at a higher clock speed and how should I resolve this problem.
Please let me know if I can provide any further information regarding the code.