IT-словарь › Оборудование › Циклический DMA

Циклический DMA

Оборудование Svenska → Обновлено: 2026-11-03

Режим DMA, в котором передача сама возвращается в начало буфера, так что аппаратура бесконечно заполняет кольцевой буфер без участия процессора.

Обычная передача DMA завершается, и её приходится запускать заново. В циклическом режиме канал сам перезагружает адрес и счётчик, поэтому поток не прекращается. Это подходит для АЦП, непрерывно измеряющего сигнал, и для UART, принимающего данные в непредсказуемом темпе. Большинство микроконтроллеров генерирует за круг два прерывания: на середине и в конце. Процессор обрабатывает одну половину, пока DMA пишет в другую, — это двойная буферизация в одном массиве.

Убывающий счётчик канала заодно служит указателем записи кольцевого буфера, так что прошивка в любой момент видит, докуда дошла аппаратура. Подвох в том, что каждую половину нужно обработать до следующего полукруга. Не успели — данные молча перезаписаны: ни ошибки, ни прерывания, только странные числа.

← Назад к словарю