Цитата(Harvester @ Apr 29 2017, 12:05)

Делаю сниффер SPI-шины на STM32F427. Частота процессора 168 МГц, частота исследуемого SPI - 4 МГц.
Использую внешнее прерывание по фронту SCK. Для тестирования посылаю известную посылку из 4-х байт (1
Самый главный вопрос - ЗАЧЕМ?
Есть же совсем дешёвые готовые на CY7C68013 и с гораздо лучшими характеристиками.
И непонятно, что за исследуемый SPI? Сколько бит: single? dual? quad? Сколько рабочих перепадов SCLK: обычный? DDR?
А если уж так хочется слепить свой лисапед, то стоит хотя бы выбирать подходящий МК. Взять хотя-бы любой МК с quad-SPI и FIFO, тогда, если нужно захватить single-SPI, то все его сигналы завести на линии D0-D3 этого quad-SPI и при помощи DMA вытянуть их. Даже и с большей частотой.
А ещё лучше - взять LPC43xx - на его SGPIO не проблема захватить даже очень много параллельных битовых потоков без потерь и с большой частотой.
Ну или даже взять тот же CY7C68013 если нужно просто захватить сигнал в комп.
Делать что-то с захватом ногодрыгом по прерыванию - пустая затея. SPI с SCLK=4МГц невозможно
программно захватить на МК частотой 168МГц. Нужен МК с частотой в несколько раз выше.
Цитата(adnega @ Apr 29 2017, 18:38)

Может, проще с частотой 8 МГц по таймеру через DMA складывать значения
Чтобы более-менее посмотреть сигнал с частотой 4МГц, нужно сэмплирование
в разы больше. Хотя-бы в 4 раза.
Проц 168МГц на прерывании 4МГц уже захлебнётся - слишком много.