реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Cчетчик импульсов на STM32
dimone
сообщение Mar 21 2013, 06:49
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 23-02-09
Пользователь №: 45 242



Подскажите пожлуйста, как изящнее одним таймером (любым) аппаратно организовать на STM32 подсчет импульсов с формированием фронта сброса по достижению установленного кол-ва.

Сообщение отредактировал dimone - Mar 21 2013, 07:06
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Mar 21 2013, 07:18
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(dimone @ Mar 21 2013, 07:49) *
Подскажите пожлуйста, как изящнее одним таймером (любым) аппаратно организовать на STM32 подсчет импульсов с формированием фронта сброса по достижению установленного кол-ва.

Без конкретного кода, описательно: таймер программируется в режим тактирования снаружи в режиме compare, регистр capture/compare содержит установленное количество импульсов, а прерывание по совпадению генерирует фронт сброса. Тот же фронт можно сгенерировать и аппаратно, подав сигнал совпадения наружу. Почитайте доку.

Сообщение отредактировал KnightIgor - Mar 21 2013, 07:19
Go to the top of the page
 
+Quote Post
dimone
сообщение Mar 21 2013, 07:28
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 23-02-09
Пользователь №: 45 242



2 'KnightIgor
Спасибо большое за совет, естесственно читал, хотелось узнать возможные варианты для решения даже тривиальной задачи.
Go to the top of the page
 
+Quote Post
dimone
сообщение Mar 24 2013, 19:53
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 23-02-09
Пользователь №: 45 242



Цитата(KnightIgor @ Mar 21 2013, 10:18) *
Без конкретного кода, описательно: таймер программируется в режим тактирования снаружи в режиме compare, регистр capture/compare содержит установленное количество импульсов, а прерывание по совпадению генерирует фронт сброса. Тот же фронт можно сгенерировать и аппаратно, подав сигнал совпадения наружу. Почитайте доку.

Почитал доку еще, получилось, ТІ считает и на нужном импульсе выставляет ОС, но сбрасывать нужно по заднему фронту считаемого импульса, а не от следующег о, который надо считать..на САМ-е я синхрнно запускал еще таймер который отсчитывал импульс сброса, а можно ли тут обойтись одним?

Сообщение отредактировал dimone - Mar 24 2013, 20:04
Go to the top of the page
 
+Quote Post
polyname
сообщение Mar 24 2013, 20:31
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 18-05-12
Пользователь №: 71 915



как вариант - настроить триггер по обоим фронтам, в регистр сравнения записать удвоенное количество импульсов
Go to the top of the page
 
+Quote Post
dimone
сообщение Mar 25 2013, 11:02
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 23-02-09
Пользователь №: 45 242



Цитата(polyname @ Mar 24 2013, 23:31) *
как вариант - настроить триггер по обоим фронтам, в регистр сравнения записать удвоенное количество импульсов

боюсь не проидет, так как в любом врианте сравнеине и сброс(релоад) считают от одного источника, вот если бы можно было их
развести -одного на нарастающй, другого на низпадающий то думается всё бы вышло.
Впринципе достаточно что-бы после нужного кол-ва импульсов формировался фронт, и до следующего совпадения его надо как то сбросить
-придумалос как вариант задействовать ООС подав сигнал выхода на вход принудительного сброса через RC цепочку(если понадобится), но все равно
криво выходит
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 07:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01402 секунд с 7
ELECTRONIX ©2004-2016