Например TDA7294

Форум РадиоКот • Просмотр темы - STM32. Быстрый частотомер. Reciprocal counter.
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Сб мар 06, 2021 15:02:54

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 229 ]     ... , , , 11,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср ноя 18, 2015 14:05:45 
Мучитель микросхем

Карма: 11
Рейтинг сообщений: 34
Зарегистрирован: Ср окт 15, 2008 09:33:03
Сообщений: 456
Откуда: Воронеж
Рейтинг сообщения: 0
В той версии к которому относится сообщение так оно и было. В последней версии потенциально до F/2*8 = 192. Только вот я этого не проверял. Не на чем. Если вдруг соберетесь проверять, пишите, вышлю ссылку на схему.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср ноя 18, 2015 14:53:40 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вс ноя 01, 2015 13:13:49
Сообщений: 616
Рейтинг сообщения: 0
Не. Спасибо. До F/2 мне не интересно. Последний вариант в виде HEX тоже. А из вашего описания вообще ничего не понятно что там куда пробрасывается и как. Зачем там ДМА что оно делает?


Вернуться наверх
 
Друзья! Скоро Новый Год! Китайский! Но мы работаем и в праздники тоже!

JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср ноя 18, 2015 14:59:03 
Мучитель микросхем

Карма: 10
Рейтинг сообщений: 77
Зарегистрирован: Чт янв 08, 2015 00:58:11
Сообщений: 410
Рейтинг сообщения: 0
Цитата:
Спасибо. До F/2 мне не интересно.
мне одному непонятно - зачем мерить ШИМ на частотах >1 МГц ? А прямым методом с внутренним делителем спокойно ловит 80..100 МГц
Цитата:
Зачем там ДМА что оно делает?
очевидно, контроллер программно не успевает обработать такую частоту прерываний


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср ноя 18, 2015 15:05:36 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вс ноя 01, 2015 13:13:49
Сообщений: 616
Рейтинг сообщения: 0
Мне тоже не понятно. Вообще ничего не понятно. Поэтому и спросил.


Вернуться наверх
 
Запускаем новый BLE 5.2-чип BlueNRG-LP от STMicroelectronics

Любая разработка начинается с чтения документации и изучения доступных средств разработки. Данный материал целиком посвящен средствам разработки, включая детальные инструкции по запуску вашего первого приложения на BlueNRG-LP. Описана работа с отладкой STEVAL-IDB011V1, набором инструментов и пакетом ПО позволяющим разработчику быстро войти в курс дела.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср ноя 18, 2015 16:07:53 
Мучитель микросхем

Карма: 11
Рейтинг сообщений: 34
Зарегистрирован: Ср окт 15, 2008 09:33:03
Сообщений: 456
Откуда: Воронеж
Рейтинг сообщения: 0
В тех исходниках что я выложил не хватает только включения делителя, для того что бы увеличить частоту измерения в 8 раз.


Последний раз редактировалось Galizin Чт ноя 19, 2015 01:14:02, всего редактировалось 2 раз(а).

Вернуться наверх
 
Революция в силовой электронике. Начало

Что привлекает в SiC по сравнению с кремнием, и какие особенности делают компоненты SiC часто используемыми, несмотря на более высокую стоимость в сравнении с кремниевыми высоковольтными устройствами? – Объясняет специалист ведущего разработчика силовых приборов из карбида кремния, компании Infineon.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср ноя 18, 2015 16:12:41 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вс ноя 01, 2015 13:13:49
Сообщений: 616
Рейтинг сообщения: 0
Уточните про какой делитель речь.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср ноя 18, 2015 16:36:21 
Мучитель микросхем

Карма: 11
Рейтинг сообщений: 34
Зарегистрирован: Ср окт 15, 2008 09:33:03
Сообщений: 456
Откуда: Воронеж
Рейтинг сообщения: 0
CCMR1->IC1PSC


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср ноя 18, 2015 16:47:55 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вс ноя 01, 2015 13:13:49
Сообщений: 616
Рейтинг сообщения: 0
Но он не пропустит частоту выше Fclk/2. Вот в чём вопрос.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Чт ноя 19, 2015 09:42:42 
Мучитель микросхем

Карма: 11
Рейтинг сообщений: 34
Зарегистрирован: Ср окт 15, 2008 09:33:03
Сообщений: 456
Откуда: Воронеж
Рейтинг сообщения: 0
Значит только до f/2 (;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Пт ноя 20, 2015 00:44:42 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вс ноя 01, 2015 13:13:49
Сообщений: 616
Рейтинг сообщения: 0
Не зацвёл цветочек каменный. Включение отключение CCMR1->IC1PSC ни на чём не отразилось. Как будто его и нет. В общем без ETR никак.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср сен 06, 2017 11:35:05 
Мучитель микросхем

Карма: 11
Рейтинг сообщений: 34
Зарегистрирован: Ср окт 15, 2008 09:33:03
Сообщений: 456
Откуда: Воронеж
Рейтинг сообщения: 5
Вероятно я не сделаю частотомер с интерполятором на stm32. Поэтому изложу основную идею, вдруг кому понадобится.
Идея в общем не моя и лежит здесь
http://leoniv.livejournal.com/129151.html
То есть использовать интерполятор на простых триггерах. Измерить напряжение на конденсаторе интерполятора до разряда и после разряда. По разнице судить о величине отставания фронта сигнала от фронта образцового генератора. Два таких измерения дадут две временные метки между фронтами измерительного сигнала. Временные метки определяются с помощью интерполятора с высокой точностью, так в 100-1000 превышающей период образцовой частоты.
Собственно после этого остается подсчитать количество периодов измеряемой частоты между этими двумя метками - и дело в шляпе. остается разделить одно на другое и получить требуемую частоту.
Вот тут то и заключена основная идея. Прямой подсчет вполне возможен, но при попадании фронта сигнала где то близко к фронту образцового возможна неточность в подсчете +-1 единица, связано с неопределенными задержками в контроллере и неизвестностью точного времени когда в каком такте контроллера будет точно захвачен фронт. Кроме того если сигнал измеряется с делением, то прямой подсчет вообще невозможен так как измерительная частота больше образцовой.
Поэтому предлагаю подсчитывать количество импульсов косвенно. Сначала подсчитать с помощью описанного здесь метода частоту приблизительно с достаточной степенью точности. Потом на основании подсчитанной частоты и временных меток путем расчета (деления) получаем количество периодов измерительного сигнала. Количество периодов округляется до целого (по смыслу это целое число), а потом уже на основании этого количества рассчитываем точное значение частоты или периода.
Точность измерения частоты цифровым способом должна быть такой что бы подсчет количества давал бы точность лучше чем +-0.5 периода частоты входного сигнала. Для сокращения времени измерения можно также применить регрессию по нескольким точкам. По моим прикидкам получалось что вполне можно измерять частоты до 100 мегагерц в течение примерно 100 микросекунд или даже лучше. Основная задержка была в необходимости перезарядки ищмерительного конденсатора в течение этого времени, ну и в мощности вычислителя, что бы успеть сделать все прикидки. С другой стороны можно сделать измерение всех значений, а расчет уже производить потом, вне измерительного интервала. Данный принцип применим не только к stm32, но и к любому другому, который реализует обратный частотомер. Просто на stm32 это можно сделать без каких либо внешних компонент. Также можно увеличивать точность делая регрессию по нескольким точкам измерения уже периода. То есть делать накопление данных как цифрового измерителя так и аналогового с последующим их обсчетом (или на лету если позволит мощность вычислителя).
Была даже идея калибровки нелинейности интерполятора. Нелинейность возникает из-за нелинейности зависимости емкости от напряжения на p-n переходах. Для этого нужно было использовать 2 близко настроенных кварцевых генератора, один как образцовый а второй как измерительный. Разность частот установить герц в 1-3. После измерить интерполятором расстояние от фронта измерительного сигнала до фронта образцового. Это расстояние нарастает линейно от измерения к измерению. Отсюда можно сделать выводы о линейности интерполятора и при необходимости скорректировать ее на основании таблицы или формулы полученной при калибровке и таким образом увеличить точность.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Пт окт 27, 2017 19:15:36 
Родился

Зарегистрирован: Пт окт 27, 2017 19:11:18
Сообщений: 9
Рейтинг сообщения: 0
Проверил идею с пробросом входного сигнала. Работает. Собственно вот код Reciprocal counter stm32f030c4, lcd - nokia1202, keil 5. Должен мерить до f/2 то есть до 24 мегагерц. Проверял где то до 11 на макете.
Если есть заинтересованные в продолжении проекта - пишите. Для готовой конструкции нужно разработать схему входной части, печатную плату всего, ну и дописать всякие сервисные возможности, как то регулировка времени измерения, калибровка, включение делителя ну и т.д. насколько хватит фантазии. Я могу взять на себя программную часть.
Возможно потом можно будет приделать аналоговый интерполятор. Я прикидывал, сделать вроде можно (а может и нет, макетирования не проводил).


Нашел проблему, в 16 битный регистр пишем 32битное значение

Код:
    TIM3->CCR3 = MeasureInterval; // в 16 битный счетчик пишем 48000000????? по факту 27648
    RefNextCheck = MeasureInterval;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Пн окт 30, 2017 17:24:58 
Мучитель микросхем

Карма: 11
Рейтинг сообщений: 34
Зарегистрирован: Ср окт 15, 2008 09:33:03
Сообщений: 456
Откуда: Воронеж
Рейтинг сообщения: 0
Цобачкин писал(а):
Нашел проблему, в 16 битный регистр пишем 32битное значение

У всех бывают ошибки ...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Вт окт 20, 2020 19:47:51 
Открыл глаза

Зарегистрирован: Ср май 16, 2012 20:44:38
Сообщений: 41
Откуда: Украина.Харьков.
Рейтинг сообщения: 0
PWM input mode

Извините за глупые вопросы, есть уже период входного сигнала в тиках тактирующего , можно ведь сразу перевести его в частоту. Зачем ещё gate вычислять. По одному периоду входящей , что нельзя считать частоту. Точность , изменение частоты, что мешает?

Добавлено after 6 minutes 21 second:
Изображение
От количества измеренных периодов входной частоты, точность не изменится. Погрешность возникает от несовпадения фронтов тактируемой и входной частоты. Так это пол периода тактируемой и от неё не избавится никак по принципу Reciprocal counter.

Добавлено after 2 hours 18 minutes:


"В Reciprocal counting увеличение точности достигается накоплением измерительных импульсов за некоторое количество периодов входной частоты."
Кто обоснует это формулами ,графиками, поподробнее. Какая разница в точности между одним периодом и несколькими периодами. Частота может убежать в любой момент, хоть одна хоть другая


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср окт 21, 2020 04:52:44 
Друг Кота

Карма: 59
Рейтинг сообщений: 866
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3884
Откуда: Ижевск
Рейтинг сообщения: 0
Начинал с этого.


Вложения:
book5.GIF [37.58 KiB]
Скачиваний: 122
book3.GIF [63.44 KiB]
Скачиваний: 111
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср окт 21, 2020 08:23:19 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 154
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
akl, книжку озвучь, плиз...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср окт 21, 2020 08:33:19 
Друг Кота

Карма: 59
Рейтинг сообщений: 866
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3884
Откуда: Ижевск
Рейтинг сообщения: 2


Вложения:
book1.GIF [18.7 KiB]
Скачиваний: 104
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср окт 21, 2020 12:22:47 
Открыл глаза

Зарегистрирован: Ср май 16, 2012 20:44:38
Сообщений: 41
Откуда: Украина.Харьков.
Рейтинг сообщения: 0
Спасибо.Формулы красивые. Погрешность квантования входит в формулу(50) в знаменателе, чем больше период измерения, тем меньше погрешность.Появление этой формулы для меня не очевидно. По временным графикам для таймеров это не очень очевидно.Если частота входящая кратна опорной , так погрешность буде одна не зависимо от колличества периодов. Что то формула эта меня не убедилаПОгрешность квантования это у нас погрешность из-за ресинхронизации таймеров, я так понял. У нас берётся системная частота,она от кварца внешнего умножается делится(вообщем в Кубе там хорошо видно-больше куб не на что не годится, а ещё ножки сразу все видны и усё). Вот этот кварц , чтобы точно мерить нужно поместить в герметичный сосуд всунуть туда печку на градусов 40С . Это получатся термостат. Так делал частотомеры Бирюков при Союзе. А так просто от кварца на плате мерить частоту, это так, что один период возьмём входящей что 10 периодов. Эту погрешность потом какими то программными манипуляциями надо вычислять. Я так понял. Как железом поймать вот эту разность в фронтах между тактовой и входной?Ведь входная может немножко плавать.И погрешность будет плавать. За 10 периодов она конечно сильно не уплывёт. Вообщем я прямой счёт на 176 ещё в 1984 делал. Часовой кварц. 176ие12 опорная секунда, АЛС324Б индикация. Шото мерял. Разобрал. А жаль память о молодости.... :cry: На STM32 не пойму как за счёт увеличения периодов улучшается точность..... :)))Пример с цифрами ппостенький кто то кинет. Допустим входящая 9000 герц опорная 100мгц для примера. И разность в одном периоде и в 10 периодах входящей


Последний раз редактировалось shalfey Ср окт 21, 2020 13:52:33, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср окт 21, 2020 13:46:10 
Друг Кота

Карма: 59
Рейтинг сообщений: 866
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3884
Откуда: Ижевск
Рейтинг сообщения: 0
Один период
100'000'000*1/11'111=9000,09Гц при погрешности квантования ±0,81Гц
10 периодов
100'000'000*10/111'111=9000,009Гц при погрешности квантования ±0,081Гц


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср окт 21, 2020 14:04:27 
Открыл глаза

Зарегистрирован: Ср май 16, 2012 20:44:38
Сообщений: 41
Откуда: Украина.Харьков.
Рейтинг сообщения: 0
Если брать формулу 50 за чистую монету то правильно.Но меня смущает сама эта формула.Ладно надо пробовать кодить, а то это пустая трата времени.Есть f4 discоvery ухожу кодить


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 229 ]     ... , , , 11,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y