bva_rzn
Jul 8 2013, 08:47
Доброго времени!
Подскажите в следующей задачи:
Каждые 20 мс внешнее устройство параллельно (16 разрядов) выдаёт 100 слов с частотой 10 МГц (в принципе данной частотой могу управлять).
Как эти данные загрузить в STM32f4 для обработки в рельном времени?
На форуме нашёл несколько путей:
1) внешнее FIFO;
2) использование FSMC;
3) DCMI + DMA
И ещё вопрос. Можно ли использовать для этого GPIO и DMA?
Спасибо
DCMI лучший вариант, полностью аппаратный прием.
На голом GPIO возможен такой вариант: читаем порт с данными и сигналом синхронизации с максимально-возможной частотой(ЕМИП с использованием DMA в режиме M2M - такта 4 на сэмпл уходит), после разбираем сигнал, выделяя синхронизацию вручную.
Если не жалко еще таймер отдать под сие дело - сигнал синхронизации заводим на Input capture, от Input Capure толкаем DMA который читает порт.