STM32 - частотомер.

Кто любит RISC в жизни, заходим, не стесняемся.
Galizin
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Re: STM32 - частотомер.

Сообщение Galizin »

HHIMERA писал(а):Для Reciprocal Counting понадобится PWM input mode, PWM mode/One-pulse mode (Gate) и Slave timer in Gated mode... никаких прерываний...

Что то не очень прозрачно.
PWM INPIT: Таймер тактируется опорным сигналом. На него на два входа захвата, настроенных на противоположные полярности, приходит измеряемый сигнал. В оригинале этот таймер настроен также на сброс по одному из уровней входного сигнала. Таким образом измеряется период сигнала и величина например положительной части периода.
PWM mode: Выходной сигнал генерируется с периодом, заданным регистром автозагрузки. Скважность определяется содержимым регистра захвата-сравнения.
One-pulse mode: Означает что таймер досчитывает до значения регистра автозагрузки и останавливается.
Slave timer in Gated mode: Означает, что тот таймер что делает PWM может включать и выключать второй таймер, который считает входной сигнал.

Один таймер будет просто считать входные импульсы, второй таймер захватит фронт первого импульса сигнала в gate, третий таймер захватит последний фронт (первый фронт после окончания gate) а четвертый таймер будет формировать этот самый gate с помощью PWM для первых двух таймеров в положительной полярности а для последнего в отрицательной. Правильно?
Первый таймер будет показывать количесво периодов входного сигнала за интервал gate.
Второй таймер в регистре захвата будет содержать время фронта первого импульса сигнала. Третий таймер в регистре захвата будет содержать время последнего, не посчитанного по причине окнчания gate фронта входного сигнала. Разница захватов второго и третьего таймеров даст точное время между первым и последним фронтом входного сигнала в периодах опорного сигнала. Количество периодов сигнала нужно будет увеличить на 1, поскольку последний период не посчитался. Все данные для подстановки в формулу есть.
Теперь как сделать таким образом, что бы один таймер управлят сразу тремя? Внешние соединения?
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: STM32 - частотомер.

Сообщение HHIMERA »

Не... так никаких таймеров не хватит...
Да и не все таймера, что надо помнить, могут в цепочку выстраиваться...
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: STM32 - частотомер.

Сообщение Леонид Иванович »

Galizin писал(а):как сделать таким образом, что бы один таймер управлят сразу тремя?


Вот и я думаю ,что никак. HHIMERA гонит, не разобравшись в вопросе.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: STM32 - частотомер.

Сообщение HHIMERA »

Танунах!!! :)))
Леонид Иванович... ну от вас я этого не ожидал!!! :)))
Спорить "гоню" я или "не гоню" может только компетентный в STM32 человек... и это, увы, не Вы!!!
Так, что... сами Вы гоните... беспросветно!!! :)))

P.S: За "вброс говна на вентилятор" - отдельное спасибо!!! :)))
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: STM32 - частотомер.

Сообщение HHIMERA »

Galizin писал(а):
HHIMERA писал(а):Для Reciprocal Counting понадобится PWM input mode, PWM mode/One-pulse mode (Gate) и Slave timer in Gated mode... никаких прерываний...

Что то не очень прозрачно.

Всё прозрачно...
Или PWM mode... или One-pulse mode... или-или... зависит от реализации... (Gate)...
Один 32-ух разрядный таймер и два 16-ти разрядных(как один 32-ух разрядный)... всё !!!
На 1хх можно попытаться обойтись тремя 16-ти разрядными... но не уверен...
Вся остальная тягомотина, с бОльшим количеством таймеров, просто лишена смысла... хотя... и имеет право на жизнь...

P.S: Вы мне ещё попробуйте доказать, для смеха, что непрерывный 9-ти битный SPI на PIC24F и STM32F1xx невозможен (хотя по даташиту, действительно, только 8 и 16bit)... :)))
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
SergeBS
Вымогатель припоя
Сообщения: 683
Зарегистрирован: Пт апр 11, 2008 11:24:53
Откуда: Владимир

Re: STM32 - частотомер.

Сообщение SergeBS »

HHIMERA писал(а):У этих есть один 32bit таймер... другой можно набрать из двух других...

И налететь на те же грабли, что и в
http://we.easyelectronics.ru/STM32/chas ... mment87310
Из-за "плавания" опорного кварца "плавают" младшие разряды. Оно тебе надо?

Леонид Иванович писал(а):Если нет желания что-то изучать, то никто Вас не заставит. А я себе частотмер уже сделал, нет повода дальше заниматься этой проблемой. http://www.youtube.com/watch?v=VNKCnef-ynU

И слава богу, что никто не заставит. А то ведь кое-кто (не буду показывать пальцем :) ) уже "изучил". В результате "за базар не отвечает", но пальцы по-прежнему раздвигает. Халява не прокатила :). Но до кой-кого это до сих пор не дошло :(.
Насчет "уже сделал частотмер": я себе в 1984-1985 частотомер на 176 серии сделал. До сих пор живой. А в позапрошлом году - еще 2 на PIC-ах. Они там правда бонусом идут, основное там - мерять L,C. Почему и повторялись неоднократно. Догоняйте со своим "уже" :). И этой проблемой не занимайтесь - результат предсказуем. По этим самым "частотмеру" и распальцовке про "современные технологии". Зато дарю бесплатно рекламную идею: "не знаете как из конфетки какашку сделать - обращайтесь! Результат гарантируется!" И ссылочку на этот "частотмер" приложить. Принципиальной схемы вполне хватит. Она же с "изюминками" :).

2All:
Ну задачу для себя хотя бы определите. Даю вводную: у легко покупаемых кварцев стабильность +- 30 ppm. Дальше продолжать?
Человек - это звучит гордо, а обезьяна - объективно...
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: STM32 - частотомер.

Сообщение Леонид Иванович »

HHIMERA писал(а):Спорить "гоню" я или "не гоню" может только компетентный в STM32 человек... и это, увы, не Вы!!!


Все равно ничего не выйдет. Здесь два таймера должны работать от общего гейта. Без внешней логики не обойтись.

SergeBS писал(а):я себе в 1984-1985 частотомер на 176 серии сделал. До сих пор живой. А в позапрошлом году - еще 2 на PIC-ах.


Не сомневаюсь, что все частотомеры, которые Вы делали, примитивны и используют метод прямого счета.
Аватара пользователя
SergeBS
Вымогатель припоя
Сообщения: 683
Зарегистрирован: Пт апр 11, 2008 11:24:53
Откуда: Владимир

Re: STM32 - частотомер.

Сообщение SergeBS »

Леонид Иванович писал(а):
SergeBS писал(а):я себе в 1984-1985 частотомер на 176 серии сделал. До сих пор живой. А в позапрошлом году - еще 2 на PIC-ах.


Не сомневаюсь, что все частотомеры, которые Вы делали, примитивны и используют метод прямого счета.

"Телепат". Этот частотомер еще и период меряет. Я и тогда знал, когда частоту, а когда период мерять надо. :)

HHIMERA писал(а):Может и на STM32F1xx найдётся решение... сильно не вникал...

AN2592
Application note
How to achieve 32-bit timer resolution using the link system in STM32F10x microcontrollers
(Пример использования 2-х 16-разрядных таймеров как один 32-разрядный)
Человек - это звучит гордо, а обезьяна - объективно...
Galizin
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Re: STM32 - частотомер.

Сообщение Galizin »

Леонид Иванович писал(а):Все равно ничего не выйдет. Здесь два таймера должны работать от общего гейта. Без внешней логики не обойтись.

Таймер может работать от внешнего гейта. Так что нужно только правильно соединить снаружи выход PWM и вход гейта.

Я описал как это можно сделать на 4 таймерах. Это stm32 может себе позволить. Я буду признателен, если Химера поделится, как это сделать на 2 таймерах. А то я уж и так и так прикидывал - не получается. Уж умираю от любопытства.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: STM32 - частотомер.

Сообщение Леонид Иванович »

SergeBS писал(а):Этот частотомер еще и период меряет. Я и тогда знал, когда частоту, а когда период мерять надо. :)


Вот я и говорю, что примитивный, раз ручками режимы переключать надо было. Да еще потом на калькуляторе период в частоту переводить. В моем частотомере точность не зависит от частоты, ничего переключать не надо. К тому же, у него разрешение еще как минимум в 20 раз выше благодаря интерполятору. Да что тут спорить? Так строятся все современные частотомеры. Весь мир к этому пришел, кроме консервативных радиолюбителей.

Galizin писал(а):Таймер может работать от внешнего гейта.


А разве можно без внешней логики сделать так, чтобы сигнал гейта разрешал захват, а не счет таймера?

Кстати, гейт в данном частотомере не нужно формировать прецизионно, можно сформировать программно на любом порту, пользуясь системным таймером, например.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: STM32 - частотомер.

Сообщение HHIMERA »

Леонид Иванович писал(а):В моем частотомере точность не зависит от частоты, ничего переключать не надо.

А причём здесь Ваш допотопный частотомер с ограниченными функциями??? :))
Тема про "STM32 - частотомер"... если Вы ещё не забыли...
А разве можно без внешней логики сделать так, чтобы сигнал гейта разрешал захват, а не счет таймера?

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

:facepalm:
"И эти люди мне запрещают ковыряться в носу!" (С)
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: STM32 - частотомер.

Сообщение HHIMERA »

Galizin писал(а): Я буду признателен, если Химера поделится, как это сделать на 2 таймерах. А то я уж и так и так прикидывал - не получается. Уж умираю от любопытства.

Уже всё написал...
HHIMERA писал(а):Для Reciprocal Counting понадобится PWM input mode, PWM mode/One-pulse mode (Gate) и Slave timer in Gated mode... никаких прерываний...

Думайте, пробуйте...
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Re: STM32 - частотомер.

Сообщение shads »

HHIMERA писал(а):"И эти люди мне запрещают ковыряться в носу!" (С)
Где то я уже видел твои жалобы по этому поводу.....
Смотри ато проковыряеш до дыр.....
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: STM32 - частотомер.

Сообщение HHIMERA »

Спасыба, "дарагой"!!! :)))
Иди... слушай лекции SWG "О вреде СИ и пользе Паскаля", "Нет такой задачи для одного STM32, которую нельзя было бы сделать на 20-ти PIC'ах или на 30-ти AVR'ах" и "Mein Kampf - РОБОТ"...
:)))
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: STM32 - частотомер.

Сообщение Леонид Иванович »

HHIMERA писал(а):Уже всё написал...


Понятно. Получается, Вы тоже не знаете, как реализовать этот метод измерения частоты на STM32. Иначе разложили бы всё по полочкам. А так только общие слова и самоуверенность в речах.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: STM32 - частотомер.

Сообщение HHIMERA »

Леонид Иванович писал(а):
HHIMERA писал(а):Уже всё написал...


Понятно. Получается, Вы тоже не знаете, как реализовать этот метод измерения частоты на STM32. Иначе разложили бы всё по полочкам. А так только общие слова и самоуверенность в речах.

Знаю... и уже сказал как... "на 99% получится"...
А вот проверять в железе... пока желания нет... как, похоже, и у остальных... мне, ведь, частотомер не нужен...
"Я не даю готовых решений, я заставляю думать!"(С)
polyname
Прорезались зубы
Сообщения: 249
Зарегистрирован: Пт май 18, 2012 23:12:23

Re: STM32 - частотомер.

Сообщение polyname »

Из-за "плавания" опорного кварца "плавают" младшие разряды. Оно тебе надо?
накопление и усреднение никто не отменял
Аватара пользователя
SergeBS
Вымогатель припоя
Сообщения: 683
Зарегистрирован: Пт апр 11, 2008 11:24:53
Откуда: Владимир

Re: STM32 - частотомер.

Сообщение SergeBS »

HHIMERA писал(а):
Леонид Иванович писал(а):Понятно. Получается, Вы тоже не знаете, как реализовать этот метод измерения частоты на STM32. Иначе разложили бы всё по полочкам. А так только общие слова и самоуверенность в речах.

Знаю... и уже сказал как... "на 99% получится"...
А вот проверять в железе... пока желания нет... как, похоже, и у остальных... мне, ведь, частотомер не нужен...

Не бери в голову. "Крютой" опять пальцы раздвигает. С рекламой своего "супер-пупер частотомера" и своих "супер-пупер крютых способов". Один раз огреб за шведскую рекламку - видимо мало. Мазохист или тролль... Забить на это - самое правильное... Не лечится...
Человек - это звучит гордо, а обезьяна - объективно...
Аватара пользователя
SergeBS
Вымогатель припоя
Сообщения: 683
Зарегистрирован: Пт апр 11, 2008 11:24:53
Откуда: Владимир

Re: STM32 - частотомер.

Сообщение SergeBS »

polyname писал(а):
Из-за "плавания" опорного кварца "плавают" младшие разряды. Оно тебе надо?
накопление и усреднение никто не отменял

Систематическую ошибку тоже. Если уж глубже копать захотелось :)
Человек - это звучит гордо, а обезьяна - объективно...
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: STM32 - частотомер.

Сообщение Леонид Иванович »

SergeBS писал(а):С рекламой своего "супер-пупер частотомера" и своих "супер-пупер крютых способов".


Способ крутой, но он разработан не мной, а известен уже много лет. Моя лишь реализация. Плохая или хорошая - решайте сами. Все схемы, платы, прошивки и даже исходники - в открытом доступе. Реализация этого способа на STM32 с минимальными затратами - очень интересная тема, причем она не является здесь офтопиком.
Ответить

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