да, именно так.
а лучше озвучьте причину замены, может проблема совсем в другой плоскости и решается как то иначе.
Нужна точность отсчета времени, конкретно таймкода. 0.2 это промышленная точность, кристаллы с 0.2 ставятся на пром технику, которая в основном работает на esp32 или stm. В этом случае достигается дрейф одного кадра не далее суток.
Нужно просто такое устройство, прошивка написана, все работает, но дрейф слишком большой на стоковом кристалле.
Есть еще вариант с подключением DS3231 с 32KHz выводом на xtal_32, но на DS3231 2ppm, а нужен именно 0.2ppm. Такие кристаллы есть (такого же формфактора), поэтому ищу подобный, но с большей точностью
Этот кристал в учёте времени не используется.
Как это не используется. Используется. Он тактирует ESP, и соответственно таймеры. А дальше они уже считают.
Внутри там никакого RTC нет, это просто счет (время — образно).
Я могу ошибаться, но такие ppm будут стоить вам как крыло от боинга вместе с фюзеляжем и посадочным шасси…
А теперь открой документацию на чип, и прочитай, как на самом деле.
Скорее всего придется использовать внешний кварц, но уже на 32
Настрой синхронизацию по сети и не страдай
Не вижу страданий тут, ищу способы решить задачу. Спасибо
Сети нет и не планируется, все автономное.
В общем мои изыскания продолжаются. На сегодняшний день rkit не прав оказался, и как я говорил: Таймеры тактируются именно от кристалла SOC_MOD_CLK_PLL_F40M 40 МГц. Через PLL. Эту информацию подтвердили на форуме ESP32.
Судя по всему 32 килогерцовый внешний кристалл тут совсем не помощник.
Отпишу еще по мере изыскания информации.
Кхм-кхм. В каком это месте он оказался не прав?
В общем, если бы ТС поставил задачу: “Как получить точный ход часов на ESP32?”, то не долго гугля можно получить ответ, что самым наилучшим решением является использование внешней микросхемы RTC, причем - DS3231.
Ответ подходит как для устройств с сетевым питанием, так и с батарейным. При батарейном питании ESP32 полностью “тушат”, в этом режиме работает только RTC, которая потребляет не более 1 мкА. По будильнику RTC будит ESP32, та собирает/отправляет данные и снова в глубокий сон.
Для наивысшей точности, можно с заданной периодичностью синхронизировать время RTC с внешним NTP-сервером времени. В этом случае, думаю, точность будет стремиться к желанным 0.2ppm. Про батарейное питание, наверное, придется забыть )))
Ну почему же? При пробуждении (можно даже не при каждом) свериться с NTP и дальше спать ))
Я использую хардварные таймеры для счета. Я мог бы сбрасывать таймер каждую секунду по SQW.
Но у DS3231 точность 2ppm, это 63 секунды в год.
246060365/(1000000/2) = 63,072
У кристаллов 0.2ppm
246060365/(1000000/0.2) = 6.3 секунды в год.
У базового кристалла ESP, который заявляет производитель 10ppm, это 315,36 секунд в год.
В общем мне нужен счетчик-таймер с погрешностью не более 0.2ppm, как промышленный стандарт
Это не совсем так. Эта точность общая для всех экземпляров и заявлена как «не хуже». На самом деле лучше. Мой модуль на тестовом стенде после 2 месяцев корректировки - убежал всего на 700мс за 1.5 месяца. То есть в годовом эквиваленте точность приближается к нужным вам 0.2 ppm.
Купите просто с пяток этих модулей и выберите самый наилучший.
Через полгодика))
Да, их можно натренировать
Я об этом и писал. Только наилучший результат получил не сразу…
Хочешь чтобы было хорошо - сделай это сам! Как иначе?))
Зато дешевле половины самолёта )))
ЗЫ: Была у меня как-то идея использовать для тактирования мк калиброванный тактовый модуль, например на Si5351. Но в тестах была билиберда. То всё отлично работало, то «уплывало» в неизвестные погрешности. Могу предположить, что виной была макетная плата, но не уверен. Кстати, ради эксперимента ТС мог бы и опробовать. Вот только о батарейном питании нужно забыть, да и термостабильность я не исследовал.
Есть недорогие Gps модули c выходом pps. Можно реализовать синхронизацию на их основе. ДШ, п 7.2.13 PPS configuration