Управление состоянием таймера

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
DmitryR
Встал на лапы
Сообщения: 100
Зарегистрирован: Ср авг 31, 2022 12:10:34

Управление состоянием таймера

Сообщение DmitryR »

Добрый день, хотел бы реализовать следующий функционал таймера:

Есть таймер 8 настроенный в режиме one pulse mode, который запускается от внешнего сигнала. Сам импульс генерируется спустя некоторое время с момента запуска таймера.
Есть временной промежуток TIM1, за пределами которого не допускается, чтобы был сгенерирован импульс TIM8.
Как можно разрешать и запрещать генерацию импульса one pulse mode таймера TIM8?

Запрещать и разрешать работу таймера не получится, так как запуск происходит до промежутка TIM1, менять постоянно назначение выходного пина TIM8 думаю тоже будет не совсем правильно
Вложения
12345.png
(5.29 КБ) 181 скачивание
Реклама
veso74
Поставщик валерьянки для Кота
Сообщения: 1906
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Управление состоянием таймера

Сообщение veso74 »

Поделитесь значениями времен применительно к работе таймеров (μs, ms, s ...). Допуск в параметрах событий? Также какая тактовая частота МК? Вижу варианты с прерываниями и флагами; с привязкой таймера на основе событий. (update: counter overflow/underflow, counter initialization). И остановка/запуск таймера X вполне применимы.
Последний раз редактировалось veso74 Пн июн 09, 2025 10:36:49, всего редактировалось 1 раз.
Реклама
DmitryR
Встал на лапы
Сообщения: 100
Зарегистрирован: Ср авг 31, 2022 12:10:34

Re: Управление состоянием таймера

Сообщение DmitryR »

veso74, Частота мк 200 МГц, временные периоды десятки-сотни мксек. Но точность, с которой требуется управлять TIM8 максимальна, т.е. 5 нсек

Пока у меня идея зайти через ARR и CCR. Таймер TIM8 формирует импульс в режиме LOW потом HIGH. Т.е. стартует с LOW и при достижении CCR на выбранном канале он переключается в HIGH и считает до значения ARR.
Допустим изначально я выставляю нерабочую конфигурацию (CCR > ARR) по логике он не должен сформировать импульс. Но сам таймер при этом запустится и будет считать. Теперь при начале импульса TIM1, когда разрешается работа TIM8 я меняю CCR на рабочее значение и все срабатывает как надо. Ну и затем опять меняю CRR > ARR.

Не знаю насколько это правильно и допустимо, пока не тестировал.
И надо обработать ситуацию, когда выставляется нормальное положение CCR, но при этом счет таймера уже прошел нужную величину
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 953
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: Управление состоянием таймера

Сообщение GARMIN »

У СТМ для таймеров есть возможность каскадного соединения, можно на один таймер завести разрешающий сигнал с другого, но не в произвольном порядке.
Реклама
Эиком - электронные компоненты и радиодетали
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Управление состоянием таймера

Сообщение jcxz »

[uquote="GARMIN",url="/forum/viewtopic.php?p=4723121#p4723121"]У СТМ для таймеров есть возможность каскадного соединения, можно на один таймер завести разрешающий сигнал с другого, но не в произвольном порядке.[/uquote]Автор даже не удосужился написать - про какой МК идёт речь? Видимо про дефолт-МК: STM32F103 8)
В разных МК есть разные возможности межсоединений сигналов таймеров между собой. В МК XMC4xxx очень богатые настройки таких соединений. Можно с таймера на таймер передавать сигналы:
старта счёта;
стопа счёта;
захвата;
разрешения счёта;
переключения направления счёта;
перезагрузки счётчика таймера;
триггер сигналы (инкремент/декремент);
переполнения;
и т.п. Всё это настраивается соответствующими мультиплексорами в регистрах управления таймеров.
Реклама
Аватара пользователя
Alex-lab
Потрогал лапой паяльник
Сообщения: 308
Зарегистрирован: Ср ноя 20, 2013 11:29:26
Откуда: Манчестер
Контактная информация:

Re: Управление состоянием таймера

Сообщение Alex-lab »

Смотрите в сторону бланкирования Таймером 1 разрешающего сигнала для TIM8. Тут нет универсального решения, все зависит от конкретной модели контроллера.
При решение наиболее сложных задач, большинство, как правило, ошибается...
Реклама
Zelenyj111
Родился
Сообщения: 13
Зарегистрирован: Пт янв 05, 2024 13:43:29

Re: Управление состоянием таймера

Сообщение Zelenyj111 »

F103 не может 200 МГц. Если STM32, то тогда H523.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Управление состоянием таймера

Сообщение jcxz »

[uquote="Zelenyj111",url="/forum/viewtopic.php?p=4723482#p4723482"]F103 не может 200 МГц.[/uquote]Некоторые умеют заставить. :)))
Ответить

Вернуться в «ARM»