частотомер на GD32f303c

Кто любит RISC в жизни, заходим, не стесняемся.
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: частотомер на GD32f303c

Сообщение linkov1959 »

Игорь2111, буду отлаживать частотомер на stm32f103, а когда приедет GD попробую разогнать. Я в генераторе FeelTech_FY3200S вместо кварца подавал 3в от TCXO и работает стабильно +-1ppm
veso74
Поставщик валерьянки для Кота
Сообщения: 1905
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: частотомер на GD32f303c

Сообщение veso74 »

Как напрямую, так и через делитель, разницы не нахожу. А и выходы генераторов не имеют низкого импеданса, поэтому, если сигнал будет слишком большим, он будет ограничен внутренней структурой Si подложки чипа, диоды есть.
Аватара пользователя
Andrey_B
Электрический кот
Сообщения: 1097
Зарегистрирован: Пт апр 09, 2010 16:06:38
Откуда: Тула

Re: частотомер на GD32f303c

Сообщение Andrey_B »

[uquote="veso74",url="/forum/viewtopic.php?p=4477124#p4477124"]Предпочитаю, чтобы все устройства работали с вкл. кнопки ON, а работать круглосуточно без выключения лично не вариант.[/uquote]
Это только если погрешности до 1Е-8. Если нужно точнее, то только прогрев, а если точнее 1Е-9 и круглосуточная работа.
Игорь2111 писал(а):Если Вы использовали ОСХО за 700р. просьба написать как ведет себя частота после включения и
через сколько времени стабилизируется.
Пока не использовал, только купил, в планах прикрутить его в FC-71 вместо самодельного термостата.
AVI-crak писал(а):Новые железяки используют элементы Пельтье, что позволяет удерживать точку 25.00С без насилия над кварцем.
Ни какого насилия, применяемые кварцы специально изготавливаются таким образом, чтобы иметь наилучшую стабильность на определённой температуре. Например отечественные кварцы из частотомера Ч3-54 специально затачивались для работы при +55`С.
Интересно, как термостат с Пельте себя ведёт при окружающей температуре выше 25? Ведь для охлаждения кварца ему потребуется на другом конце кучу тепла рассеить.
linkov1959 писал(а):Andrey_B, частотомер из RLC-71 реально перенести на GD303 ?
Напрямую скорее всего нет. Узел частотомера там использует несколько таймеров и компаратор, включённые через внутренние связи. Позволит ли GD32F303 такие связи организовать - неизвестно. А вообще частотомер с подобным алгоритмом реализовать думаю можно.
GARMIN писал(а):Вот только PLL у микроконтроллеров шумный, и высокой точности с внутренней частотной опорой не добиться.
В STM32H750 PLL несколько штук, когда делал FC-71 проводил много экспериментов на этот счет. Ни какого влияния вплоть до 5E-9 джиттер PLL не оказывает даже на коротких интервалах измерения.
Игорь2111 писал(а):Не пробовали ли Вы тактировать si5351a от внешнего генератора
как в даташите на пин1 ХА. ( ~1 в)
В генераторе ГА-71 пробовал такое, с внешним тактированием на некоторых частотах появлялись поражённые точки, в проблеме так и не разобрался, перешёл на отдельный кварц, проблемы исчезли. Посмотрите в этой теме.
Аватара пользователя
AVI-crak
Прорезались зубы
Сообщения: 202
Зарегистрирован: Сб янв 09, 2016 15:51:17
Контактная информация:

Re: частотомер на GD32f303c

Сообщение AVI-crak »

[uquote="Andrey_B",url="/forum/viewtopic.php?p=4477898#p4477898"]Интересно, как термостат с Пельте себя ведёт при окружающей температуре выше 25? Ведь для охлаждения кварца ему потребуется на другом конце кучу тепла рассеить.[/uquote]
Не разбирал, но потребление заявлено 80мА. Достаточно медного полигона на ПП. Там всё крохотное, лёгкое, да ещё и в вакууме за двумя экранами. По температуре до 125С и от -80С. Не космос, хотя и на керамике. Время старта при комнатой температуре меньше секунды.
Вот только с названием изделия помочь не могу, это наши вояки себе делают, и китайцы для американских вояк. Есть вероятность что китайцы работают на два фронта.
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: частотомер на GD32f303c

Сообщение linkov1959 »

Andrey_B, Хочу сделать частотомер на захватах пока на stm32f103 в кубеиде. Тим1 захватывает фронт импульса и в каскаде с тим2 считает тики, тим 3 считает импульсы, тим4 считает секунду и разрешает захват. В колбеке захвата запрещается захват и считается частота. Я правильно мыслю? Обнулять таймеры не нужно?
Аватара пользователя
Andrey_B
Электрический кот
Сообщения: 1097
Зарегистрирован: Пт апр 09, 2010 16:06:38
Откуда: Тула

Re: частотомер на GD32f303c

Сообщение Andrey_B »

linkov1959, хотите реализовать метод обратного счёта? Если да, то алгоритм негодный. Маловато таймеров в 103 для полностью аппаратного решения, было хотя бы штук 5 или хоть один 32х разрядный, можно было бы что-то придумать. Или на крайняк внешнюю логику применить.

Вся сложность сводится к синхронному запуску и остановке двух 32х разрядных таймеров, один из которых считает и захватывает входные перепады, а другой считает системные, а захватывает входные. Таймеры сбросили, первым входным перепадом они все синхронно стартанули. Посчитали примерно секунду. Потом синхронно остановили. Вытаскиваем последние захваченные значения и по ним вычисляем частоту. Это алгоритм из RLC-71.

Рекомендую почитать это. Там описан алгоритм и пример реализации частотомера обратного счёта, ещё и непрерывного (конвейерного). Там же описаны все проблемы, которые нужно решить, чтоб реализовать такой алгоритм аппаратно.
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: частотомер на GD32f303c

Сообщение linkov1959 »

Andrey_B, почитал, конвейер нам не нужен и там слишком все сложно. Буду ждать китайского STM32f303 за 2$. Если там копия STM на меньшем кристалле, то разгон будет не слабый и прога с RLC-71 c коррекцией частоты будет кстати. Сегодня даже сделал плату RLC-71 для проверки китайского проца. Проц 1.9$, экран 1.7$ - RLC-71 актуален!
Игорь2111
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

Re: частотомер на GD32f303c

Сообщение Игорь2111 »

Кому надо
Обновление трех регистров CCR таймера 1 при обновлении в циклическом режиме через ДМА без прерываний.

Добавлено after 1 minute 39 seconds:
фото результата
https://img.radiokot.ru/files/149432/38uk6i8vsv.jpg
Вложения
n9-GD32F303C осцил 3кан+частот + ген3фазыN-tim1f3 -DMA burst 2.rar
(22.71 КБ) 90 скачиваний
Игорь2111
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

Re: частотомер на GD32f303c

Сообщение Игорь2111 »

Попробовал сделать трехфазный генератор ШИМ синуса без прерываний
на двух таймерах 1 и 6 , и двух ДМА 1 2.
Работает , но при определенной загрузке ЦП начинают происходить непонятные глюки с выходным сигналом.
По какому принципу происходит дележ шины BUS между ЦП и двумя ДМА непонятно .
Сделаю с прерываниями ,там хоть понятно распределение времени.

Если на выход припаять три светодиода через резюки
на низкой частоте (ед. гц) можно наблюдать визуально

частотомер пин А0 работает после пропускания через фильтр НЧ

Прошивается в Кокосе под видом stm32f103VC

Добавлено after 1 minute 51 second:
структурная схема генератора
https://img.radiokot.ru/files/149432/3938sqzbes.jpg
Вложения
n21-GD32F303C частот + ген3фазыN-tim1-46f3 -DMA12+ burst.rar
(22.5 КБ) 78 скачиваний
Игорь2111
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

Re: частотомер на GD32f303c

Сообщение Игорь2111 »

Исправлены ошибки предзагрузки CCR.
Вложения
n21-GD32F303C частот + ген3фазыN-tim1-46f3 -DMA12+ burst кор ош.rar
(22.67 КБ) 69 скачиваний
Игорь2111
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

Re: частотомер на GD32f303c

Сообщение Игорь2111 »

Код простейшего частотомера 1-200 гц на одном таймере в режиме Reset Mode
измерение методом подсчета числа системных тиков/коэфф за период сигнала
с одним знаком после запятой.
Может быть использован в простых частотниках.
Практически работает , испытано на GD32F303C.
Вложения
main - измер частоты 1-200 гц.rar
(1.13 КБ) 70 скачиваний
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: частотомер на GD32f303c

Сообщение linkov1959 »

Игорь2111, как отключать прерывание таймеров без их остановки?
Игорь2111
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

Re: частотомер на GD32f303c

Сообщение Игорь2111 »

Переведенный 0008 по регистрам таймеров.
Посмотри регистр DIER.
Вложения
Теория таймера TIM1.rar
(89.61 КБ) 59 скачиваний
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: частотомер на GD32f303c

Сообщение linkov1959 »

Игорь2111,
NVIC_DisableIRQ(IRQn_Type IRQn) должен работать? Для захвата тим1 будет:
NVIC_DisableIRQ(27); или NVIC_DisableIRQ(TIM1_CC_IRQn);
У меня не срабатывает. Может эту функцию нужно еще где-то прописывать?
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: частотомер на GD32f303c

Сообщение linkov1959 »

Уже срабатывает, протупил.
У 103-го всего 4 таймера, перенес всё на 401-й и тут засада, NVIC не работает! Долго возился - ошибка в библиотеке! Заменяю название вектора на номер вектора и работает! На 103-м работает по любому.
Игорь2111
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

Re: частотомер на GD32f303c

Сообщение Игорь2111 »

Я тоже хочу позже попробовать GD32F405 под разгон.
Они по карте памяти должны быть совместимы с stm32f405.
Но там уже другие цены ~700 руб.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25163
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: частотомер на GD32f303c

Сообщение КРАМ »

[uquote="linkov1959",url="/forum/viewtopic.php?p=4483480#p4483480"]ошибка в библиотеке! Заменяю название вектора на номер вектора и работает! На 103-м работает по любому.[/uquote]
А в стартап файле посмотреть не судьба?
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: частотомер на GD32f303c

Сообщение linkov1959 »

КРАМ, конгениально! Нужно писать
NVIC_EnableIRQ(TIM1_UP_TIM10_IRQn);
Там два таймера на один вектор привязаны.

Добавлено after 1 hour 4 minutes 49 seconds:
Игорь2111, stm32f401 дешевле, имеет два 32бит таймера, на 125Мгц работает устойчиво, дальше не пробовал - под частотомер годится, если под захват считать и тики и входные импульсы. Второй таймер под захват фронта входного импульса считает тики 125Мгц, первый считает импульсы, третий выдает счетный интервал. Таймеры работают без остановки. Захват один раз за счетный интервал, в обработчике фиксируются счетчики первого и второго таймера, вычисляется частота и запрещается прерывание 2-го таймера. В колбеке 3-го таймера разрешается захват 2-го таймера.

Добавлено after 2 hours 57 minutes 45 seconds:
Тут ещё беда, под захват прерывание есть только у первого таймера, а он только 16 бит, значит второй будет считать импульсы, а первому прикрутим дополнительный таймер до 32 бит.
Игорь2111
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

Re: частотомер на GD32f303c

Сообщение Игорь2111 »

linkov1959
Отлично . Жаль только я в коде что Куб генерит не разбираюсь.
Нашел GD32F407 по 370 руб. попробую под свое (200 мгц входная частота) такой же сделать.
Если получится буду на 407 переходить.

Если не секрет как LQFP 100 паяете.
Нашел в интернете утюжно-вазелиновую технологию.
Паяльная паста Механик 80 (1 часть)+спирто/каниф флюс насыщ.(1,5 ч)+вазелин из тюбика(4 части)
перемешивается в инсулиновый шприц со срезанной иголкой.
наносится шириной 1,5-2 мм ,центрируется и плата (пустая только с МК) на утюг на максимум.
Попробовал перемычек нет есть непропай. наносим на не пропаянные сверху пасту и второй раз греем.
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: частотомер на GD32f303c

Сообщение linkov1959 »

Игорь2111, NVIC это не куб, а библиотека CMSIS , работает на любом IDE. Приехали процы GD и STM F303cct6. STM в ST-LINK Utility опознался правильно, но Куб с ними работать не хочет. Залил прошивку RLC-71, завтра попробую поставить на плату.
Ответить

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