Вот у самого такая же проблема была. Я делал грязный хак: Настраивал таймер на нужную частоту. В прерывании по таймеру дергал CS запускал DMA транзакцию разрешал прерывание по отсутствию движений на линии получал прерывание от SPI возвращал CS обратно запрещал прерывание от пустого SPI
есть возможность померять сколько времени проходит от конца последнего байта до входа в прерывание?