Например TDA7294

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





Текущее время: Вт апр 16, 2024 23:25:02

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


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



Начать новую тему Ответить на тему  [ Сообщений: 229 ]     ... , , , 10, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Вс дек 21, 2014 15:13:57 
Друг Кота
Аватар пользователя

Карма: 82
Рейтинг сообщений: 1027
Зарегистрирован: Сб апр 02, 2011 12:40:46
Сообщений: 4779
Откуда: Минск
Рейтинг сообщения: 0
Сравнить можно с помощью гистограммы. Или сразу вычислить статистические характеристики. Я для сравнения просто анализировал максимальное отклонение выходного значения интерполятора. Большой джиттер будет у больших ПЛИС, сильно загруженных логикой. Небольшая CPLD и внешняя логика по джиттеру сравнимы, хотя, конечно, наилучшие результаты можно получить на внешней логике. Все зависит от требований. Задача согласования уровней стоит здесь не так остро, потому что не требуется получать минимальные задержки. Лишь бы уложиться в период тактового сигнала микроконтроллера. По входам серия 74ACT напрямую совместима с логикой 3.3 В, а выходной сигнал можно согласовать с помощью одногейтового элемента 74LVC. Хотя пойдут даже просто резисторы. С точки зрения минимизации напряжения питания интерполятор с переключателем тока на транзисторах имеет некоторые преимущества. Но надо отдавать себе отчет в том, что снижение напряжения питания ведет к ухудшению линейности интерполятора. Если ничего больше в CPLD помещать не планируется, то ставить ее только ради интерполятора смысла нет. Если же в ней будут еще и счетчики, тогда применение оправдано. Самый простой схемотехнически вариант интерполятора - это как в FC-510. У него шум получился порядка 1 нс, зато очень просто.


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

Карма: -18
Рейтинг сообщений: 29
Зарегистрирован: Вс дек 05, 2010 06:10:34
Сообщений: 4583
Откуда: ЮВ
Рейтинг сообщения: 0
pixar писал(а):
Я смог предположить только срыв захвата clock PLL .

Это ни о чём...

_________________
"Я не даю готовых решений, я заставляю думать!"(С)


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср дек 24, 2014 23:21:41 
Опытный кот

Карма: 1
Рейтинг сообщений: 173
Зарегистрирован: Сб сен 12, 2009 15:43:19
Сообщений: 775
Рейтинг сообщения: 0
Вот смотрю на схему интерполятора от SRS DG645 http://www.thinksrs.com/products/DG645.htm -считается одним из самых крутых приборов по джиттеру <25 ps в зависимости от диапазона. Для управления интерполятором используются дискретные триггера SN74AUC1G74 http://www.ti.com/lit/gpn/sn74auc1g74 хотя большая часть логики упрятана в Xilinx Spartan3. Схема управления несколько отличается от канонической чтобы избежать метастабильностей. Вот думаю, может скопировать для частотомера с интерполяторами?


Вложения:
Комментарий к файлу: SRS DG645
Dg645_interpolator.gif [215.8 KiB]
Скачиваний: 1014
Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Чт дек 25, 2014 09:38:56 
Друг Кота
Аватар пользователя

Карма: 82
Рейтинг сообщений: 1027
Зарегистрирован: Сб апр 02, 2011 12:40:46
Сообщений: 4779
Откуда: Минск
Рейтинг сообщения: 0
Если гнаться за рекордными параметрами, то можно что-то подобное скопировать. Но тогда и весь прибор должен соответствовать, иначе нет смысла. Хотя для любительского прибора можно обойтись схемой попроще.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Вт янв 06, 2015 11:01:49 
Друг Кота

Карма: -18
Рейтинг сообщений: 29
Зарегистрирован: Вс дек 05, 2010 06:10:34
Сообщений: 4583
Откуда: ЮВ
Рейтинг сообщения: 0
Перед Новым Годом прицепил TCXO от мобилы на 38.400М к F050F4... без PLL... от "нечего было делать"... Показания стоят как вкопаные... ничего не плавает (нет влияния PLL)... Из-за более низкой опорной верхняя измеряемая частота конечно снизилась... но всё равно выше 100МГц... ~120МГц max...
На STM8S003 было получено 72МГц max... в реале...

_________________
"Я не даю готовых решений, я заставляю думать!"(С)


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

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

Карма: 11
Рейтинг сообщений: 35
Зарегистрирован: Ср окт 15, 2008 09:33:03
Сообщений: 475
Откуда: Воронеж
Рейтинг сообщения: 0
Как я понимаю основная сложность в применении малоногих контроллеров - отсутствие отдельного вывода ETR и небольшое количество таймеров. Можно кончено входную частоту подавать через вход захвата - но тогда не используется делитель (он стоит дальше), и частоты измерения не превышают половины тактовой.
Для stm32f030f4 есть 2 связанных таймера 1 и 3. Если "пробросить" входной сигнал через блок захвата-сравнения, то уже можно использовать входной делитель и измеряемые частоты вырастут в 8 раз. Входной сигнал нужно подавать на вход захвата не того таймера, что считает Fin, а того что считает Fref. Сигнал захвата возможно поделенный на 8 через систему связей таймеров (пульс по захвату) можно уже подать на таймер счета Fin. С него уже отдельные фронты входного сигнала можно подавать обратно на таймер Fref для из захвата. Вот акая идея измерения частот до Fref*4 для stm32f030f4 ( то есть до 32*4МГц).
Для stm8 все еще хуже. Там таймеры не связаны. Поэтому связать их можно с помощью внешнего соединения. И тогда обычным способом (таймер Fin формирует шим, фронт которого захватывается таймером Fref) захватывать фронты входного сигнала. Но опять таки все это будет работать до частоты вполовину опорной (16/2 МГц). Для stm8 отсутствует также блок формирования одиночных импульсов по сигналу захвата, поэтому трюк как с stm32 там не проходит. Зато есть режим измерения ШИМ сигнала (сейчас подумал что можно просто использовать режим сброса). В этом режиме по спаду сигнала происходит сброс таймера. То есть таймер будет сбрасываться каждый период сигнала. А это то что надо! Второй модуль сравнения-захвата можно настроить на генерацию единичных импульсов. Эти единичные импульсы будут совпадать по частоте с входным сигналом или с входным сигналом /8. Их уже можно использовать в качестве входного сигнала для обычного способа измерения с помощью 2 таймеров.
Загвоздка только в том, что есть только еще только 1 таймер с регистрами захвата (всего их 2 но один из них используется как делитель). Нужно заставить таймер-делитель также и считать входные импульсы. То есть считать количество сбросов. А этим как раз может заняться repetition регистр, который можно использовать в качестве счетчика. После заданного в нем значения выработается update event котрое может использоваться для подсчета входных импульсов и для останова входного таймера через one pulse mode. Таймер делитель запускает таймер опорной частоты. Этим же таймером захватываются фронты (или спады) входной делонной частоты. Захват постоянный. Как только входной таймер остановится, захват прекратится. В регистре захвата будет последнее захваченное значение последнего периода вх частоты. Типа gate режима. Вот такая идея измерения для stm8.


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

Карма: -18
Рейтинг сообщений: 29
Зарегистрирован: Вс дек 05, 2010 06:10:34
Сообщений: 4583
Откуда: ЮВ
Рейтинг сообщения: 0
Цитата:
Можно кончено входную частоту подавать через вход захвата - но тогда не используется делитель (он стоит дальше), и частоты измерения не превышают половины тактовой.

Цитата:
Если "пробросить" входной сигнал через блок захвата-сравнения, то уже можно использовать входной делитель и измеряемые частоты вырастут в 8 раз.

Единство противоположностей???
Не удастся "пробросить"... таймер просто не станет считать...

_________________
"Я не даю готовых решений, я заставляю думать!"(С)


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Ср янв 14, 2015 16:22:17 
Опытный кот

Карма: 1
Рейтинг сообщений: 173
Зарегистрирован: Сб сен 12, 2009 15:43:19
Сообщений: 775
Рейтинг сообщения: 0
Не совсем по теме, но может кому пригодится . Полная замена процессора в частотомере HP5370 на самодеьный. Сначала на базе Atmel at91 а вторая версия на базе BeagleBone с эзернетот и прочими штучками. Интересен не только сам проект, но и его исходники. http://www.jks.com/5370/5370.html


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

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


Вложения:
Комментарий к файлу: исходники
fmeter-stm32f030c4p-master.zip [31.93 KiB]
Скачиваний: 504
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Вт сен 29, 2015 12:52:25 
Опытный кот
Аватар пользователя

Карма: 16
Рейтинг сообщений: 166
Зарегистрирован: Вс дек 02, 2012 16:58:33
Сообщений: 826
Откуда: Уже не город Белых гор
Рейтинг сообщения: 0
Всё это очень интересно и занимательно. Использовать таймеры микроконтроллера для частотомера с приличной точностью весьма интересно и востребовано.
Однако, я никак не пойму, почему никто не делает правильный двухканальный вариант?
По моему опыту, просто частотомер нужен совсем не всегда. Нужно измерять и длительность, время нарастания, отношение частот, фазу, время между импульсами и т.д. Всё это возможно только с применением двух каналов. Можно третий - с делителем ВЧ. Вот на такую штуку с интерполятором на каждый канал я хочу потратить своё время.
Я думаю, что без связки МК-CPLD тут не обойдётся.
У меня есть опыт программирования и того, и другого, а также опыт создания электронных схем. Свободного времени немного, но найдётся. Наработки по входной части тоже есть. Могу скооперироваться с кем-нибудь для получения рабочего прототипа.


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

Карма: 4
Рейтинг сообщений: 14
Зарегистрирован: Пн апр 06, 2009 18:32:14
Сообщений: 63
Рейтинг сообщения: 0
Galizin писал(а):
Если есть заинтересованные в продолжении проекта - пишите.

Мне проект интересен. Но практической помощи от меня мало. Я только учусь :dont_know:
Можно ли мне скомпилировать под STM32F030F4P6? Можно ли привести схему(таблицу) подключения lcd - nokia1202?

Спасибо.


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

Карма: 11
Рейтинг сообщений: 35
Зарегистрирован: Ср окт 15, 2008 09:33:03
Сообщений: 475
Откуда: Воронеж
Рейтинг сообщения: 2
Спасибо откликнувшимся.
Я как раз экспериментировал с STM32F030F4P6. Что то заклинило меня написал про С4.
Посмотреть подключение индикатора и всего остального можно в файле hw.h
LCD_CLK A4
LCD_DA A2
LCD_RESET A3
LCD_CE A1
LCD_PWR A0 - питание индикатора через эту ногу, так было проще подключить к макетке.

Применение одноканального варианта легко объяснимо - оно требует в 2 раза меньше усилий на входной формирователь, в 2 раза меньше деталей, и в несколько раз менее сложную программу. А если еще учесть что все это нужно синхронизировать с высокой точностью то сложность и трудоемкость возрастает на порядок.
Идея как раз была сделать частотомер без применения плис, только с одним контроллером и с его аппаратными возможностями. Сейчас я даже не представляю можно ли сделать 2 канала на 1 контроллере, а на 2 - тут уже надо думать как синхрнизироваться.
Сейчас уперся в отсутствие DMA на 2 канале 3 таймера. Его собирался использовать для оценки входной частоты, что бы включить делитель. Включаю делитель сигнала на этом канале на 8, включаю dma по захвату. Потом оценивать соседние показания в массиве в памяти и судить по ним о частоте и необходимости включения делителя на точном измерительном канале 1. Но DMA не оказалось на 2 канале 3 таймера. Нужно либо переходить на 1 таймер, либо придумывать другой механизм оценки входной частоты.
Пока до проверки интерполятора не добрался совсем. Его симуляцию выложу вечером, если есть необходимость. Собственно идею уже обкатал Леонид Иванович. У него в livejournal есть статья про интерполятор для измерения длительности 1 секундных импульсов gps. Правда он почему то не пошел дальше до частотомера, возможно потому что он уже собрал все на плис, или потому что частотомер не является самым нужным прибором.


Последний раз редактировалось Galizin Ср сен 30, 2015 09:42:39, всего редактировалось 1 раз.

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

Карма: 4
Рейтинг сообщений: 14
Зарегистрирован: Пн апр 06, 2009 18:32:14
Сообщений: 63
Рейтинг сообщения: 0
Galizin писал(а):
Я как раз экспериментировал с STM32F030F4P6.

а НЕХ можно?


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

Карма: 11
Рейтинг сообщений: 35
Зарегистрирован: Ср окт 15, 2008 09:33:03
Сообщений: 475
Откуда: Воронеж
Рейтинг сообщения: 0
HEX могу получить только поздно вечером. Возможно быстрее будет скачать и установить keil 5, открыть проект и нажать F7.


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

Карма: 10
Рейтинг сообщений: 81
Зарегистрирован: Чт янв 08, 2015 00:58:11
Сообщений: 410
Рейтинг сообщения: 2
проще на F050/031 с 32-битным TIM2.
вот прошивка с накопительным режимом:
Вложение:
fc-f050-01.hex [30.77 KiB]
Скачиваний: 735

режимы: прямой счет (3 режима с разными внутренними/внешними делителями), обратный (измерение ШИМа до 100кГц), RPM, и простой счетчик.
схема:
Вложение:
sch.png [33.09 KiB]
Скачиваний: 955

управление энкодер/кнопки.


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

Карма: 11
Рейтинг сообщений: 35
Зарегистрирован: Ср окт 15, 2008 09:33:03
Сообщений: 475
Откуда: Воронеж
Рейтинг сообщения: 0
ncp1400 писал(а):
проще на F050/031 с 32-битным TIM2.

Несомненно проще использовать режим внешнего тактирования через TRG вход. Это уже описал Химера. Я специально проверял идею с пробросом через таймер. На f030f4 TRG не выведен.
Что такое накопительный режим я не очень понял. Усреднение по нескольким измерениям?
По поводу счета я тоже не понял. Реализованы оба режима счета и прямой и обратный? Или речь идет только о отображении информации частота или время?


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

Карма: 10
Рейтинг сообщений: 81
Зарегистрирован: Чт янв 08, 2015 00:58:11
Сообщений: 410
Рейтинг сообщения: 0
да, фактически усреднение - чем дольше меряем, тем выше точность (ессно опора нужна соответствующая).
прямой режим - счет по TIM2_ETR, TIM14 - генератор интервалов (0.1сек для быстрой индикации).
обратный режим - захват по TIM2_CH2/CH3. Низкая частота из-за программной обработки в прерываниях, если задействовать DMA, можно поднять на порядок.


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

Карма: 11
Рейтинг сообщений: 35
Зарегистрирован: Ср окт 15, 2008 09:33:03
Сообщений: 475
Откуда: Воронеж
Рейтинг сообщения: 0
ncp1400 писал(а):
захват по TIM2_CH2/CH3. Низкая частота из-за программной обработки в прерываниях

Я рекомендую почитать идею Химеры по поводу обратного счета в этой ветке. Можно будет сделать частоту одинаковой, такой же как для прямого счета, то есть до F/2 напрямую или до F*4 с встроенным в контроллер делителем. В вашем случае обратный метод будет счет через TIM2_ETR с одновременным захватом одного из фронтов TIM1 или каким либо другим.
Или возможно я недопонял про низкую частоту и с этим все ОК. Дело в том что измерять частоту обратным методом - это одно, а смотреть ШИМ - это несколько совсем другое.
Как обещал приаттачил hex. Кварц на 8МГц. По мне он не представляет ценности, там даже кнопок пока нет.


Вложения:
Комментарий к файлу: hex
fmeter.rar [4.45 KiB]
Скачиваний: 383
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Вс окт 04, 2015 22:03:13 
Мучитель микросхем

Карма: 11
Рейтинг сообщений: 35
Зарегистрирован: Ср окт 15, 2008 09:33:03
Сообщений: 475
Откуда: Воронеж
Рейтинг сообщения: 0
Поменял местами таймер 3 и 1. Это потребовалось потому что у 3 таймера отсутвует связь 2 канала захвата и DMA. Переключил вход на 1 таймер 2 канал (PA9). На T1_CCR1 включется и выключается прескалер в зависимости от входной частоты. На T1_CCR2 прескалер всегда включен на 8. По захвату на CCR2 генерируется запрос к DMA. По запросу сохраняется 6 захваченных значений в массиве. Вычисляем разницу между первым и последним и по этой разнице оцениваем частоту, вернее период. Если частота выше порога - включаем прескалер на 1 канале, ниже - выключаем. Пороги с гистерезисом. Оценка частоты происходит периодически с частотой 48МГц/64K.
hex в аттаче.


Вложения:
fmeter.rar [4.99 KiB]
Скачиваний: 392
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32. Быстрый частотомер. Reciprocal counter.
СообщениеДобавлено: Вт ноя 17, 2015 11:50:42 
Вымогатель припоя
Аватар пользователя

Карма: -2
Рейтинг сообщений: -32
Зарегистрирован: Вс ноя 01, 2015 13:13:49
Сообщений: 616
Рейтинг сообщения: 0
Galizin писал(а):
Проверил идею с пробросом входного сигнала. Работает. Собственно вот код Reciprocal counter stm32f030c4, lcd - nokia1202, keil 5. Должен мерить до f/2 то есть до 24 мегагерц. Проверял где то до 11 на макете.

То есть это максимум и выше 24МГц оно уже не одолеет? Я правильно понял?


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

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


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

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


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

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


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