Таймеры в STM32

В микроконтроллерах семейства STM32, как практически и во всех микроконтроллерах, есть таймеры, способные выполнить большое количество функций. К примеру рассмотрим микроконтроллер STM32F103CB серии STM32F103, он оснащен таймером с массой различных возможностей – это таймер TIM1, и таймерами, назначение которых определятся как общее – это таймеры TIM2, TIM3, TIM4. Кроме того, предусмотрено наличие специальных таймеров SysTick и WatchDog.

Структурная схема микроконтроллера серии STM32F103

STM32 таймеры микроконтроллера серии F103

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

STM32 таймеры имеют независимые каналы, всего этих каналов существует четыре, их предназначение – захват сигнала, выполнение сравнений, образование одиночных импульсов, ШИМ. Таймеры с разрядностью 16 бит подходят для работы с датчиками Холла, их можно применить в инкрементальном энкодере. Возможно осуществление синхронизации нескольких таймеров и пауз, связанных с событиями, перечень которых представлен событиями-триггерами, переполнениями, сюда относятся и сравнения, а также захват сигнала.

Рассмотрим разные режимы таймеров

Режим захват сигнала

Это идеальный режим для тех случаев, когда необходимо проверить импульсы путем измерения периода их следования. После получения импульса текущее значение, которое отображает счетчик, передается в регистр TIM_CCR. Этот показатель быстро перемещается в какую-либо переменную. Получив новый импульс, таймер опять выполняет передачу значения, показанного счетчиком. Остается лишь вычесть из второго значения то значение, которое было получено первым. Это простой способ применения режима, он очень удобный и полезный.

Режим сравнения

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

Режим генерации ШИМ

Из названия режима понятно, что, выбрав его, человек позволяет таймеру генерировать ШИМ.

Режим Dead-Time

Этот режим основан на задержке, которая появляется между сигналами на главном выводе и комплементарном. Есть немало информации, о том, зачем был разработан такой режим, и для реализации каких задач его можно применить, ее можно легко найти в интернете. Рассмотренные режимы, с применением которых работают STM32 таймеры, являются основными. Это наиболее распространенные варианты использования таймеров, выбирают их достаточно часто.

Добавить комментарий


Защитный код
Обновить

Последние комментарии

Последнии темы форума

  • Нет сообщений для показа