Например TDA7294

Форум РадиоКот :: Просмотр темы - Управление состоянием таймера
Форум РадиоКот
https://radiokot.ru/forum/

Управление состоянием таймера
https://radiokot.ru/forum/viewtopic.php?f=59&t=198257
Страница 1 из 1

Автор:  DmitryR [ Пн июн 09, 2025 05:24:43 ]
Заголовок сообщения:  Управление состоянием таймера

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

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

Запрещать и разрешать работу таймера не получится, так как запуск происходит до промежутка TIM1, менять постоянно назначение выходного пина TIM8 думаю тоже будет не совсем правильно

Вложения:
12345.png [5.29 KiB]
Скачиваний: 97

Автор:  veso74 [ Пн июн 09, 2025 09:24:54 ]
Заголовок сообщения:  Re: Управление состоянием таймера

Поделитесь значениями времен применительно к работе таймеров (μs, ms, s ...). Допуск в параметрах событий? Также какая тактовая частота МК? Вижу варианты с прерываниями и флагами; с привязкой таймера на основе событий. (update: counter overflow/underflow, counter initialization). И остановка/запуск таймера X вполне применимы.

Автор:  DmitryR [ Пн июн 09, 2025 10:23:20 ]
Заголовок сообщения:  Re: Управление состоянием таймера

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

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

Не знаю насколько это правильно и допустимо, пока не тестировал.
И надо обработать ситуацию, когда выставляется нормальное положение CCR, но при этом счет таймера уже прошел нужную величину

Автор:  GARMIN [ Вт июн 10, 2025 11:46:56 ]
Заголовок сообщения:  Re: Управление состоянием таймера

У СТМ для таймеров есть возможность каскадного соединения, можно на один таймер завести разрешающий сигнал с другого, но не в произвольном порядке.

Автор:  jcxz [ Вт июн 10, 2025 13:28:47 ]
Заголовок сообщения:  Re: Управление состоянием таймера

У СТМ для таймеров есть возможность каскадного соединения, можно на один таймер завести разрешающий сигнал с другого, но не в произвольном порядке.
Автор даже не удосужился написать - про какой МК идёт речь? Видимо про дефолт-МК: STM32F103 8)
В разных МК есть разные возможности межсоединений сигналов таймеров между собой. В МК XMC4xxx очень богатые настройки таких соединений. Можно с таймера на таймер передавать сигналы:
старта счёта;
стопа счёта;
захвата;
разрешения счёта;
переключения направления счёта;
перезагрузки счётчика таймера;
триггер сигналы (инкремент/декремент);
переполнения;
и т.п. Всё это настраивается соответствующими мультиплексорами в регистрах управления таймеров.

Автор:  Alex-lab [ Ср июн 11, 2025 23:29:51 ]
Заголовок сообщения:  Re: Управление состоянием таймера

Смотрите в сторону бланкирования Таймером 1 разрешающего сигнала для TIM8. Тут нет универсального решения, все зависит от конкретной модели контроллера.

Автор:  Zelenyj111 [ Чт июн 12, 2025 03:33:43 ]
Заголовок сообщения:  Re: Управление состоянием таймера

F103 не может 200 МГц. Если STM32, то тогда H523.

Автор:  jcxz [ Чт июн 12, 2025 17:46:44 ]
Заголовок сообщения:  Re: Управление состоянием таймера

F103 не может 200 МГц.
Некоторые умеют заставить. :)))

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/