По FSMC очень нерегулярно обмен происходит. Данные с АЦП будут терятся. Можно конечно поставить FIFO, но мелких микросхем FIFO сейчас найти трудно, да и обвязки логикой они требуют. Поэтому получается FPGA. Если FIFO все таки удалось найти, то там получается сложная система прерываний и запросов DMA, чтобы не было ни переполнения, ни опустошения FIFO. Заводили сигналы записи-чтения в FIFO на таймеры STM32 чтобы аппаратно считать обьем данных для обмена.
А на DCMI этих проблем нет. Скорость обмена до половины тактовой процессора, FIFO встроеное.
https://www.st.com/content/ccc/resource/tec....DM00373474.pdfСобираем до 64 к выборок с АЦП, потом неспешно крутим фурье в оффлайне или еще какую цифровую обработку.
Проблема, если надо 2 и более АЦП на DCMI поставить или если вывыедены только 8 бит DCMI ( на многих макетных платах так сделано) . Тогда пришлось мультиплексор из мелкой CPLD делать.