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

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Прорезались зубы
Аватара пользователя
Сообщения: 202
Зарегистрирован: Сб янв 09, 2016 15:51:17

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

OCXO с нагревателем - это очень древняя технология, в с временем готовности за 10 минут.
Новые железяки используют элементы Пельтье, что позволяет удерживать точку 25.00С без насилия над кварцем. Цена кстати ниже.
Контактная информация:
Реклама
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Сообщение linkov1959 »

Наш частотомер кот, ЗГ - хвост, таймеры - усы. Пока тянем за хвост, а нужно дергать за усы:)

Добавлено after 28 minutes 29 seconds:
Andrey_B, частотомер из RLC-71 реально перенести на GD303 ?
Реклама
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

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

Кому надо
в stm32f для таймера 1 есть режим обновления всех регистров записью массива через ДМА
Timer DMA burst
на простой демке видно как меняется скважность при перезаписи трех регистров сравнения таймера 1

фото результатов
https://img.radiokot.ru/files/149432/38kbeq2nbn.jpg
Вложения
n8-GD32F303C осцил 3кан + ген3фазыN-tim1f3 -DMA burst.rar
(21.19 КБ) 92 скачивания
Мудрый кот
Сообщения: 1756
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

А при тактовой частоте 5 МГц можно сделать? Есть гиацинт
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

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

Конечно можно переписав настройки тактовой SetSysClok280 от кварца не 8 мгц а 5.
Но как согласовывать выход 250 мВ с контроллером не знаю.

Добавлено after 4 minutes 58 seconds:
Уважаемый veso74.
Вы писали что использовали в своих проектах si5351.
Подскажите по стабильности частоты по времени и температуре.
Реклама
Поставщик валерьянки для Кота
Сообщения: 1981
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Два перечисленных параметра зависят только от параметры подключенных кварцевый резонатор/вн. clock/. A сам чип представляет собой комплексный "умножитель" (с целыми и дробными коэффициентами) и последующие делитель/и (с целыми и дробными коэффициентами). Управление на первый взгляд сложное, но после освоения математического аппарата и ознакомления с внутренними регистрами ИС все несложно.
Контактная информация:
Реклама
Держит паяльник хвостом
Аватара пользователя
Сообщения: 960
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда

Сообщение GARMIN »

Вот только PLL у микроконтроллеров шумный, и высокой точности с внутренней частотной опорой не добиться.
Контактная информация:
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

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

OCXO за 700 руб время разогрева 5 мин ток 500-150 ма.
Попробую TCXO 25 мгц 2 ма от KDS 200 руб и для si5351 пойдёт.
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Сообщение linkov1959 »

Вот к примеру настройки таймера с аппаратными связями в Кубе. Жаль, что в нашем GD нет 32разр. таймера.
htim5.Instance = TIM5;
htim5.Init.Prescaler = 0;
htim5.Init.CounterMode = TIM_COUNTERMODE_UP;
htim5.Init.Period = 4294967295;
htim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim5.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
if (HAL_TIM_Base_Init(&htim5) != HAL_OK)
{
Error_Handler();
}
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
if (HAL_TIM_ConfigClockSource(&htim5, &sClockSourceConfig) != HAL_OK)
{
Error_Handler();
}
if (HAL_TIM_IC_Init(&htim5) != HAL_OK)
{
Error_Handler();
}
sSlaveConfig.SlaveMode = TIM_SLAVEMODE_RESET;
sSlaveConfig.InputTrigger = TIM_TS_TI1FP1;
sSlaveConfig.TriggerPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
sSlaveConfig.TriggerFilter = 0;
if (HAL_TIM_SlaveConfigSynchro(&htim5, &sSlaveConfig) != HAL_OK)
{
Error_Handler();
}
sMasterConfig.MasterOutputTrigger = TIM_TRGO_ENABLE;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
if (HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK)
{
Error_Handler();
}
sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;
sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;
sConfigIC.ICFilter = 0;
if (HAL_TIM_IC_ConfigChannel(&htim5, &sConfigIC, TIM_CHANNEL_1) != HAL_OK)
{
Error_Handler();
}
sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_FALLING;
sConfigIC.ICSelection = TIM_ICSELECTION_INDIRECTTI;
if (HAL_TIM_IC_ConfigChannel(&htim5, &sConfigIC, TIM_CHANNEL_2) != HAL_OK)
{
Error_Handler();
}
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

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

Это для какого МК?
И какой размер кода и использованной РАМ?
Насколько я знаю куб и хал безбожно жрут флеш и РАМ память.
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Сообщение linkov1959 »

Игорь2111, испытано на H743, идея в том, что бы настаивать таймеры в кубе и переносить настройки на платформу с GD.https://www.radiokot.ru/forum/viewtopic ... 9&t=180991
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

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

Для этого нужен GD32H737 а он пока на Али не продаётся.
Недавно только появился GD32E505 с аппаратным CORDIC

Добавлено after 3 hours 18 minutes 2 seconds:
Уважаемый veso74.
Не пробовали ли Вы тактировать si5351a от внешнего генератора
как в даташите на пин1 ХА. ( ~1 в)
Поставщик валерьянки для Кота
Сообщения: 1981
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Пробовал. Даже с вход с параметрами, далекими от заявленных в документации (напр. 10 MHz, 66.666 MHz). Работает.
Контактная информация:
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

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

veso74
А напрямую с выхода МК или ТСХО ~3, 3в можно подавать или надо снижать до ~ 1,0 в
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Сообщение linkov1959 »

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

Сообщение veso74 »

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

Сообщение 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 пробовал такое, с внешним тактированием на некоторых частотах появлялись поражённые точки, в проблеме так и не разобрался, перешёл на отдельный кварц, проблемы исчезли. Посмотрите в этой теме.
Прорезались зубы
Аватара пользователя
Сообщения: 202
Зарегистрирован: Сб янв 09, 2016 15:51:17

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

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

Сообщение linkov1959 »

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

Сообщение Andrey_B »

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

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

Рекомендую почитать это. Там описан алгоритм и пример реализации частотомера обратного счёта, ещё и непрерывного (конвейерного). Там же описаны все проблемы, которые нужно решить, чтоб реализовать такой алгоритм аппаратно.
Ответить

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