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

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

Сообщение DmitryR »

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

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

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

Сообщение veso74 »

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

Сообщение DmitryR »

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

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

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

Сообщение GARMIN »

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

Сообщение jcxz »

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

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

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

Сообщение Zelenyj111 »

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

Сообщение jcxz »

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

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