Iron писал(а):Проверил оба блока. Пишут и читают изменения.НО!
При чтении вижу 0. Пишу 120, пишу 250 это не влияет на выход 32K. Частота остается неизменной 32,76кГц. Может я в чем то ошибаюсь.
Посмотрим, что пишут о DS3231
" На DS3231 является серийным RTC обусловлен температурной компенсацией кварцевый генератор 32 кгц. В TCXO обеспечивает точность и стабильность опорного тактового сигнала, а также поддерживает часы реального времени с точностью ±2 минуты в год точность от -40°C до +85°C."
365 дней / 120 сек = 3 дня/сек; один день 0.3 сек; один день = 86400 сек.
86400 * 32768 = 2 831 155 200 норма(герц в день)
86400,3 * 32768 = 2 831 165 030,4 +0.3 сек в день
86400 * 32767 = 2 831 068 800 если станет 32767
Думаю, Вам теперь видна точность кварца после запятой( мили-доли герца) ?
А Вы пытаетесь уловить коррекцию частотомером за 1 секунду?
Надеюсь, не перегрузил циферками и понятно объяснил, насколько хороша DS3231.
Добавлено (05.10.2017, 09:13)
---------------------------------------------
P.S. Но Вы всё-таки можете проверить работу данного регистра другим способом:
Делаете счётчик импульсов либо частотомер с тактированием от выхода микросхемы, предварительно разделив его вначале на 32768, а затем, например, на 10. В итоге 10 сек интервал.
На вход устройства подаёте 10-50 МГц от высоко-стабильного образцового генератора.
При коррекции регистра изменения результатов будут видны, в герцах.
Добавлено (05.10.2017, 09:29)
---------------------------------------------
Блоки корректные, адреса тоже. Проверил на железе.
Добавлено (05.10.2017, 09:45)
---------------------------------------------
Возможно, также из даташита:
The offset register is added to the capacitance array during a normal temperature conversion, if the temperature changes from the previous conversion, or during a manual user conversion (setting the CONV bit).
Контрольный регистр (0Eh)
.
Бит 5: Температура преобразования (Conv). Установка этого бита равным 1 заставляет датчик температуры преобразовать температуру в цифровой код и выполнить алгоритм TCXO для обновления блока емкости генератора. Это может произойти только в том случае, если преобразование еще не выполняется. Пользователь должен проверить бит состояния BSY перед тем, как заставить контроллер запустить новое выполнение TCXO. Преобразование температуры, инициированное пользователем, не влияет на внутренний 64-секундный цикл обновления.
Пользователь инициировал преобразования температуры не влияет на BSY bit примерно 2мс. CONV bit остается на 1 от момента записи до завершения преобразования, в которой как раз и BSY bit идти к 0. Бит Conv должен использоваться при мониторинге состояния преобразования, инициированного пользователем
Перевод тындекса
Значение в регистре 10h со знаком
Пост будет удалён через пару дней - не к месту...