Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

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

Пт сен 15, 2023 01:55:54

Что касается точности, то тут всё будет зависеть от стабильности опоры.

Первая дельная мысль. А теперь дружно смотрим на цены OCXO генераторов. Можно конечно китайский дешман поставить, но смысл теряется полностью.
С китайским дешманом даже простой часовой кварц подстроить не получится. Ибо прибор будет реагировать на тепло руки.

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

Пт сен 15, 2023 08:02:26

Из Китая есть TCXO 0,5..0,1 ppm (по данным, напр. 26, 13 MHz). Есть частотомер с 13 MHz, приличная точность и темп. стабильность. Сколько раз я проверял изменение времени (GPS). Вначале: несколько Hz, потом года 2-3-5 (почти) не менялось. Правда, не лаб. инструмент, но за КВ и с УКВ (с оговоркой) перекрываются с достаточной точностью. Но есть те же сомнения по поводу OCXO - проверять его ежегодно, например, потому что выбор генератора основан на потребностях. С OCXO не нравятся два момента: ожидание при включении (5 мин ...24 часа?) и большой расход тока.

AD9833 вероятно, это что-то вроде "переменного кварцевого генератора" для облегчения калибровки, дешев и можно разместить где угодно.
The frequency registers are 28 bits wide: with a 25 MHz clock rate, resolution of 0.1 Hz can be achieved; with a 1 MHz clock rate, the AD9833 can be tuned to 0.004 Hz resolution.

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

Пт сен 15, 2023 09:54:38

veso74
Все верно написали.
Добавлю по бюджету
ОCXO более 10 тыс.руб
TCXO +AD9833+датчик Т (коррекция термопрофиля и смещений(F/Uпит) TCXO) -2тыс.руб
простой -300 руб.

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

Пт сен 15, 2023 13:00:11

Дорого для любителя.

Если говорить о стоимости, то вполне годные OCXO имеются по 700р., причём уже "состаренные".
И если не требуется иметь выход "круглого" значения частоты, а нужно только измерять, то всякие AD9833 вообще не потребуются, МК без разницы, какое значение взято за опору. В этом случае можно сделать ещё дешевле, обычный кварцевый генератор в самодельном термостате, например как тут:

Изображение

PS: за 10т.р. можно взять уже готовый GPSDO с антенной, который обеспечит 1E-9 прямо из коробки.

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

Пт сен 15, 2023 13:33:32

Худшая особенность OCXO, что ему приходится ждать после включения. Я пока не могу с этим смириться. Предпочитаю, чтобы все устройства работали с вкл. кнопки ON, а работать круглосуточно без выключения лично не вариант.

AD9833 будет предназначена для переноса одной частоты на другую, с возможностью цифрового ступенчатого изменения 0,1 Hz. Ето как крутить триммер, только в цифровом формате - входите в меню и задаете другую выходную частот с шаг изменения 0.1 Hz. Я предпочитаю другие методы (например мащабирования, даже с float), но все методи возможные.

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

Пт сен 15, 2023 14:31:44

Andrey_B
Спасибо за ответ.
Если Вы использовали ОСХО за 700р.
просьба написать как ведет себя частота после включения и
через сколько времени стабилизируется.

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

Пт сен 15, 2023 17:02:38

OCXO с нагревателем - это очень древняя технология, в с временем готовности за 10 минут.
Новые железяки используют элементы Пельтье, что позволяет удерживать точку 25.00С без насилия над кварцем. Цена кстати ниже.

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

Пт сен 15, 2023 18:11:07

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

Добавлено after 28 minutes 29 seconds:
Andrey_B, частотомер из RLC-71 реально перенести на GD303 ?

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

Сб сен 16, 2023 03:04:43

Кому надо
в 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 KiB) Скачиваний: 29

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

Сб сен 16, 2023 13:29:04

А при тактовой частоте 5 МГц можно сделать? Есть гиацинт

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

Сб сен 16, 2023 13:49:07

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

Добавлено after 4 minutes 58 seconds:
Уважаемый veso74.
Вы писали что использовали в своих проектах si5351.
Подскажите по стабильности частоты по времени и температуре.

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

Сб сен 16, 2023 13:57:37

Два перечисленных параметра зависят только от параметры подключенных кварцевый резонатор/вн. clock/. A сам чип представляет собой комплексный "умножитель" (с целыми и дробными коэффициентами) и последующие делитель/и (с целыми и дробными коэффициентами). Управление на первый взгляд сложное, но после освоения математического аппарата и ознакомления с внутренними регистрами ИС все несложно.

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

Сб сен 16, 2023 20:17:29

Вот только PLL у микроконтроллеров шумный, и высокой точности с внутренней частотной опорой не добиться.

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

Сб сен 16, 2023 20:32:40

OCXO за 700 руб время разогрева 5 мин ток 500-150 ма.
Попробую TCXO 25 мгц 2 ма от KDS 200 руб и для si5351 пойдёт.

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

Вс сен 17, 2023 08:10:48

Вот к примеру настройки таймера с аппаратными связями в Кубе. Жаль, что в нашем 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();
}

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

Вс сен 17, 2023 09:08:46

Это для какого МК?
И какой размер кода и использованной РАМ?
Насколько я знаю куб и хал безбожно жрут флеш и РАМ память.

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

Вс сен 17, 2023 11:24:09

Игорь2111, испытано на H743, идея в том, что бы настаивать таймеры в кубе и переносить настройки на платформу с GD.https://www.radiokot.ru/forum/viewtopic ... 9&t=180991

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

Вс сен 17, 2023 15:09:55

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

Добавлено after 3 hours 18 minutes 2 seconds:
Уважаемый veso74.
Не пробовали ли Вы тактировать si5351a от внешнего генератора
как в даташите на пин1 ХА. ( ~1 в)

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

Вс сен 17, 2023 16:01:48

Пробовал. Даже с вход с параметрами, далекими от заявленных в документации (напр. 10 MHz, 66.666 MHz). Работает.

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

Вс сен 17, 2023 17:07:47

veso74
А напрямую с выхода МК или ТСХО ~3, 3в можно подавать или надо снижать до ~ 1,0 в
Ответить