TL;DR
- Yesterday the latency and jitter of the SPI “FLASH” frames was a little high: around 80µs for the jitter
- We had originally planned to solve this by bypassing the interrupts with a DMA request, but sadly this turned out to be unfeasible.
- Investigating ways to reduce the interruption jitter revealed two main factors:
- The interrupt priority was too low
- A scheduled flash and a capture at the same time would cause the flash to be handled after the capture event.
- Fixing this reduced the jitter from 80µs to 2.5µs
Unfeasible DMA
Yesterday Vlaya and I ended our post with a plan to use a DMA request line (triggered by a comparison match on our Timer channel) to send the “FLASH” SPI frame instead of doing it by software in an interrupt.… Read more