SAM4S - является ли DMA детерминистом во времени? - PullRequest
0 голосов
/ 20 ноября 2018

Я использую DMA (описанный как PDC в спецификации) SAM4SD16C с периферийным устройством USART 0.Я установил таймер, который генерирует прерывание каждую мс.Каждые 5 мс передача данных должна выполняться через DMA.Другое прерывание должно происходить, когда установлен флаг TXEMPTY.

Чтобы увидеть, когда передача начинается и заканчивается, я переключаю Ouptut и наблюдаю за ним на осциллографе.И тогда я понял, что время окончания приема варьируется во времени на 20 мкс (мои основные часы - 120 МГц) ... Что в моем проекте неприемлемо.Между тем, начало передачи является точным на 100 нс, поэтому никаких проблем в этом вопросе нет.

Мне интересно, есть ли способ лучше контролировать передачу времени DMA.

1 Ответ

0 голосов
/ 22 ноября 2018

Как обсуждалось в комментариях выше, неточность момента окончания приема обусловлена ​​значением скорости передачи.Эта неточность относится к периоду скорости передачи и, возможно, к дополнительному времени простоя автобуса.

...