I'm working with a customer using SPIA in slave mode. The SPI clock rate is 12.5MHz, and the SYSCLK frequency is 100 MHz. We are observing a large transient in the system that sometimes causes the MISO state machine to skip one or more data bits when shifting data. We do not see the issue on the MOSI data. The incidence rate goes up when the board is put in a thermal chamber and heated (but still within spec).
We have placed all of the SPI lines on a scope using high impedance, low capacitance, probes, and they look reasonable clean, including the SPI clock. We started by looking into layout, and as a result have the following E2E thread that addresses possible issues with VDD and VDDIO decoupling capacitors:
https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/885049
Just to eliminate the possibility of an external clock issue, I asked the customer to disable their external oscillator (they are using a TTL output oscillator, not a crystal), and derive the system clocks from the internal 10 MHz RC resonator. When they do this, the SPI MISO state machine glitch disappears completely.
We did identify a possible path in the layout where the large transient could plausibly couple into the oscillator, and the customer is going to probe the oscillator output to have a look at it. Note that the rest of the device seems to be working fine, and the only place we see an issue is in the SPI MISO data.
I've asked the customer to send me some information on the oscillator and to send me their clock subsystem configuration settings when using the external oscillator. I'm waiting on this information.
We are looking for ideas on possible failure modes given what we know. Any ideas are welcome, including ideas to test out in the lab.
Thanks,
Stuart