Режим захвата

Включает предварительную обработку сигнала для уменьшения нагрузки на процессор.

  • Каждый канал может быть настроен индивидуально в режиме захвата со следующими функциями:
    • Переопределение входа (один вход может быть сопоставлен с 2 каналами захвата)
    • Программируемая чувствительность к фронту сигнала (подъем / спад / оба)
    • Предделитель событий (event prescaler) (1 захват каждые 1/2/4/8 события)
  • Событие захвата вызывает перенос значения счетчика в регистр захвата и инициирует запрос прерывания или DMA.
    • Флаг «overcapture» устанавливается, если регистр захвата перезаписан без чтения.

Каждый канал может быть индивидуально настроен на захват с несколькими вариантами формирования сигнала. Вход может быть разделен на два канала захвата (обычно для того, чтобы отделить передний фронт от заднего фронта). Чувствительность к фронту задается и может быть по переднему, заднему или обоим фронтам. Предделитель событий позволяет захватывать одно событие каждые 2, 4 или 8 событий. Это уменьшает нагрузку на ЦП при обработке высокочастотных сигналов и позволяет более точно измерять результат, поскольку он выполняется в течение нескольких периодов входного сигнала.

Ложные события перехода из-за шума или отказов могут быть удалены с помощью программируемого цифрового фильтра. На рисунке показано, как фильтруется сигнал, когда для фильтра установлено значение 4. В верхнем регистре чистый захват переднего фронта запускается через 4 периода выборки после переднего фронта, что можно заметить, глядя на значение внутреннего счетчика. В нижнем регистре сбой приводит к тому, что счетчик фильтра сбрасывается, и захват происходит после подсчета 4 последовательных выборок на высоком уровне.

После запуска триггера захвата счетчик таймера переносится в регистр захвата, и может быть выдано прерывание или запрос DMA. Если новый захват происходит до того, как предыдущий был прочитан, регистр захвата перезаписывается, и для программы устанавливается, если необходимо, флаг перегрузки.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.