Прямой доступ к памяти (DMA). В компьютерной архитектуре DMA — это метод передачи данных, который позволяет внешним устройствам напрямую получать доступ к памяти компьютера без вмешательства центрального процессора (ЦП). Это помогает повысить скорость передачи данных и эффективность системы.
Итак, насколько быстро работает DMA?
Практика приносит истинные знания
Так уж получилось, что недавно появился проект многоканального сбора данных. Он ограничен количеством каналов, высоким разрешением и ограниченной пропускной способностью системы. Чтобы максимально эффективно использовать ограниченную пропускную способность. найти способы оптимизировать сроки и оставить время для сбора и передачи данных.
Направление оптимизации — DMA.
Аппаратная связь заключается в том, что АЦП отправляет данные в микроконтроллер STM32 через интерфейс SPI, а затем микроконтроллер отправляет данные на главный компьютер.
Наша цель — оптимизировать сторону SPI. Давайте сначала рассмотрим обычный режим сбора данных.
На рисунке ниже показан нормальный режим сбора данных. После каждого байта, передаваемого SPI, существует период простоя, который тратится впустую.
Давайте посмотрим на эффект после включения DMA. SPI может работать непрерывно, тактовая частота стабильна на уровне 20 МГц и работает эффективно.
В этом сила DMA!
Вопрос в том, почему сигнал на рисунке выше имеет такие большие колебания?