Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Коррекция частоты DS3231 возможна?

Вт авг 23, 2022 21:03:56

Решил задействовать этот модуль как источник опорный частоты 32768 Гц, уж больно классно эта частота и ее период делятся по степеням двойки. Но, столкнулся с проблемой, интервал 0,03125 сек получается не очень точным. Решил разобраться, померял частоту, и обнаружил, что вместо 32768 Гц, там 32657Гц.
Я вроде бы слышал, что там можно как-то подстроить частоту, или нет?

Re: Коррекция частоты DS3231 возможна?

Вт авг 23, 2022 21:08:44

Не надо путать следствие и причину. Как раз такая частота была выбрана, потому что легко делится.
3231 не может быть такой неточной, либо подделка/отбраковка из китая, либо...
Чем частоту мерил то?

Re: Коррекция частоты DS3231 возможна?

Вт авг 23, 2022 21:10:19

Однако, вроде всё равно можно корректировать... Смотреть в даташите Aging Offset, вероятно.

Re: Коррекция частоты DS3231 возможна?

Вт авг 23, 2022 21:12:04

GW Instek GFC8270H
Для сравнения, кварц микроконтроллера на 8 МГц он показывает четко.

Re: Коррекция частоты DS3231 возможна?

Вт авг 23, 2022 21:12:58

а ещё там вроде температурная компенсация может быть включена/выключена

Re: Коррекция частоты DS3231 возможна?

Вт авг 23, 2022 21:20:22

Не стесняйтесь читать мануалы и даташиты:

Датчик температуры, генератор и логика управления образуют TCXO. Контроллер считывает выходные данные встроенного датчика температуры и использует справочную таблицу для определения требуемой емкости, добавляет поправку на старение в регистр AGE, а затем устанавливает регистры выбора емкости. Новые значения, включая изменения в регистре AGE, загружаются только тогда, когда происходит изменение значения температуры или когда завершено инициированное пользователем преобразование температуры.
Температура считывается при первоначальном применении VCC и затем каждые 64 секунды.

Convert Temperature (CONV).
Установка этого бита в 1 заставляет датчик температуры преобразовывать температуру в цифровой код и выполнять алгоритм TCXO для обновления массива емкостей в генераторе. Это может произойти только в период простоя. Бит состояния BSY предотвращает установку бита, когда BSY = 1.
Пользователь должен проверить бит состояния BSY, прежде чем заставить контроллер начать новое выполнение TCXO. Преобразование температуры, инициированное пользователем, не влияет на преобразование температуры interA, инициированное пользователем, не влияет на бит BSY в течение примерно 2 мс. Бит CONV остается равным 1 с момента записи до момента преобразования.
Когда преобразование завершено, в это время и CONV, и BSY переходят в 0. Бит CONV следует использовать при отслеживании состояния преобразования, инициированного пользователем.

Crystal Aging
Регистр смещения старения кристалла предоставляет 8-битный код для добавления к кодам в регистрах массива емкостей.
Код закодирован в дополнении до двух. Один LSB представляет собой один небольшой конденсатор, который можно включать или выключать из массива емкостей на выводах кристалла. Регистр смещения добавляется к регистру массива емкостей при следующих условиях: во время нормального преобразования температуры, если температура изменяется по сравнению с предыдущим преобразованием, или во время ручного преобразования пользователем (установка бита CONV). Чтобы немедленно увидеть влияние стареющего регистра на выходную частоту 32 кГц, ручное преобразование следует запускать после каждого
изменение регистра старения.
Положительные значения старения увеличивают емкость массива, замедляя частоту генератора. Отрицательные значения удаляют емкость из массива, увеличивая частоту генератора.
Изменение ppm на LSB различно при разных температурах. Кривая зависимости частоты от температуры смещается на значения, используемые в этом регистре. При +25°C один LSB обычно обеспечивает изменение частоты примерно на 0,1 ppm.

Re: Коррекция частоты DS3231 возможна?

Вт авг 23, 2022 23:04:39

Че-то я пишу в регистр 0x10 (Aging Offset), пишу всякое, и ничего не меняется. Может, не так делаю?
Вложения
sal_i2c.png
(71.86 KiB) Скачиваний: 72

Re: Коррекция частоты DS3231 возможна?

Вт авг 23, 2022 23:10:34

ну дык надо после этого CONV установить, вроде бы.

Re: Коррекция частоты DS3231 возможна?

Вт авг 23, 2022 23:28:07

установил, не помогло.
Вложения
sal_i2c-2.png
(74.38 KiB) Скачиваний: 70

Re: Коррекция частоты DS3231 возможна?

Вт авг 23, 2022 23:38:08

я не совсем понимаю, как картинка и2ц показывает изменение частоты?

Re: Коррекция частоты DS3231 возможна?

Вт авг 23, 2022 23:47:45

Картинка не показывает, показывает частотомер. А он показывает одно и тоже, чтобы я туда не писал. Либо это не работает, либо влияет очень мало, меньше сотых герца. Картинка с и2ц на всякий случай, вдруг я как-то не так в микруху пишу.

Re: Коррекция частоты DS3231 возможна?

Ср авг 24, 2022 00:04:53

так Вы всего -1 послали.

Добавлено after 2 minutes 21 second:
там ведь шиворот-навыворот при дополнении до двух, с отрицательными-то числами. Отправьте 0x7F или 0x80 (я сам запутался, два раза правил... )

Re: Коррекция частоты DS3231 возможна?

Ср авг 24, 2022 04:02:00

Нуууу если честно, у вас расхождение составляет -0,3% или -3000 ppm. Многовато что-то, при диапазоне коррекции 12,7 ppm. Напряжение питания в норме? Покупали на Али? мож, палёнка попалась..

Re: Коррекция частоты DS3231 возможна?

Ср авг 24, 2022 05:24:04

MLX90640 писал(а):расхождение составляет -0,3% или -3000 ppm
По мне -0,003%.

Возможно попалась DS3231M, которая заточена на генерацию частоты 1Гц, а 32768Гц формируются ±2,5%, в отличие от DS3231S.
Думаю, правильнее измерять не частоту, а период и его корректировать регистром "aging offset", готовясь к повышению температурной нестабильности.

Re: Коррекция частоты DS3231 возможна?

Ср авг 24, 2022 06:51:53

Calibrating the DS3231 and PCF8523 RTCs
https://emergent.unpythonic.net/01594923755

Re: Коррекция частоты DS3231 возможна?

Ср авг 24, 2022 07:39:51

MLX90640 писал(а):расхождение составляет -0,3% или -3000 ppm
По мне -0,003%.
.

А я калькулятором уже научился пользоваться :)

Частота 1 Гц получается простым счётчиком-делителем внутри, поэтому не может иметь другую погрешность, отличную от погрешности кварца.

Регистр корректировки Aging, как следует из его названия, это компенсация старения кварца, а температурнаяикомпенсация производится автоматически. Мануал надо читать

Re: Коррекция частоты DS3231 возможна?

Ср авг 24, 2022 09:04:47

...Мануал надо читать
Возвращаю!

viewtopic.php?p=4003764#p4003764

Re: Коррекция частоты DS3231 возможна?

Ср авг 24, 2022 11:15:51

MLX90640 писал(а):А я калькулятором уже научился пользоваться
akl писал(а):MLX90640 писал(а):
расхождение составляет -0,3% или -3000 ppm
По мне -0,003%.
оба не умеете пользоваться калькулятором.
указанная разница составляет 11 Гц.
умножаем на 100% и делим на 32768 и получаем 0,03%.

Re: Коррекция частоты DS3231 возможна?

Ср авг 24, 2022 11:20:27

Поздравляю, сеньор, третим будете! :))) Ма-ла-дэц! Впрочем, сделаю скидку просто на невнимательность :) В том числе, и автор вопроса мог неверно прочесть частоту, не исключаем вариант.

Изображение

Re: Коррекция частоты DS3231 возможна?

Ср авг 24, 2022 11:26:18

тогда извиняюсь, что я прозевал сотню в разнице частот.
я обратил внимание только на 2 последние цифры.
Ответить