Например TDA7294

Форум РадиоКот • Просмотр темы - DS3231 регистр смещения старения (Aging Offset)
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн июл 28, 2025 01:55:26

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 43 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Ср мар 24, 2021 20:20:59 
Открыл глаза
Аватар пользователя

Карма: 3
Рейтинг сообщений: 0
Зарегистрирован: Вт сен 27, 2011 07:28:44
Сообщений: 59
Откуда: Москва
Рейтинг сообщения: 0
Здравствуйте коты и кошки!
Хотелось бы живой информации об этом регистре, кто применял его в своих разработках и есть ли смысл с ним связываться.
З.Ы. Точность не плывет, часы нормально ходят, просто хочу вывести как дополнительную фишку к часам.

_________________
ИзвЕните от слова - веник, ИзвИните от слова - вина.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Ср мар 24, 2021 22:08:31 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Корректор "точности хода" работает и в режиме питания от батарейки (когда основное питание снято).
Собственно в том и особенность данного кристалла.
Имеет значение если неточный ход в частности при длительном хранении устройства в выключенном состоянии.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт мар 25, 2021 05:52:14 
Друг Кота

Карма: 64
Рейтинг сообщений: 1013
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4332
Откуда: Ижевск
Рейтинг сообщения: 1
AGING регистром можно скорректировать неточность формирования частоты 32768, если температура близка к +25°С. Но нужно готовиться к отклонению частоты в диапазоне температур.
СпойлерИзображение

Ниже формирование интервала 1сек при 0 значении регистра
СпойлерИзображение

Ниже формирование интервала 1сек при значении регистра, отличном от 0. Кстати, расчетное значение у меня не совпало с требуемым, которое было определено тупой подгонкой. :oops:
Изображение


Вложения:
ds3231_3V.jpg [53.04 KiB]
Скачиваний: 784
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Вс апр 18, 2021 14:15:09 
Открыл глаза
Аватар пользователя

Карма: 3
Рейтинг сообщений: 0
Зарегистрирован: Вт сен 27, 2011 07:28:44
Сообщений: 59
Откуда: Москва
Рейтинг сообщения: 0
akl, большое спасибо, такую информацию я и хотел узнать.

_________________
ИзвЕните от слова - веник, ИзвИните от слова - вина.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 14:34:38 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 9
Рейтинг сообщений: 27
Зарегистрирован: Сб янв 29, 2011 21:43:38
Сообщений: 163
Откуда: Чернь, Тульская обл
Рейтинг сообщения: 0
попытка изменить частоту 32693 на 32768 в ds3231M посредством регистров была безуспешной.
вот кусочек кода :
Спойлер
Код:
// Устанавливаем смещение времени
void DS3231::setAgingOffset(int8_t offset) {
   uint8_t temp;
   // Преобразовать 8-битное знаковое значение в значение регистра
   if (offset < 0) {
      // Вычислить дополнение до двух для отрицательного значения
      temp = ~(-offset) + 1;
      } else {
      // Положительное значение регистра
      temp = (uint8_t)offset;
   }
   // Запись регистра смещения старения
   writeRegister(DS3231_AGING_OFFSET, temp);
   // Для применения изменения смещения старения требуется преобразование температуры
   startTemperatureConversion();
}

// Читаем значение смещения времени
int8_t DS3231::getAgingOffset() {
   uint8_t temp;
   // Чтение регистра старения
   temp = readRegister(DS3231_AGING_OFFSET);
   // Преобразовать в 8-битное знаковое значение
   if (temp & 0x80) {
      // Вычислить дополнение до двух для отрицательного значения регистра старения
      return (int8_t)(temp | 0x80);
      } else {
      // Положительное значение регистра старения
      return (int8_t)temp;
   }
}

// Запуск преобразования температуры
void DS3231::startTemperatureConversion() {
   uint8_t controlReg;
   // Проверяем, установлен ли флаг занятости температуры
   if (readRegister(DS3231_STATUS) & (1 << DS3231_BSY)) {
      // Если флаг занятости установлен, выходим из функции
      return;
   }
   // Начать преобразование температуры
   controlReg = readRegister(DS3231_CONTROL) | (1 << DS3231_CONV);
   // Запись регистра управления
   writeRegister(DS3231_CONTROL, controlReg);
}


микросхема китайская ? код ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 14:56:21 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1217
Рейтинг сообщения: 0
Код вполне. Только комментариев много, тупые и лишние. Достаточно описания в начале методов.
С логикой не разбирался.


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 15:00:30 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 9
Рейтинг сообщений: 27
Зарегистрирован: Сб янв 29, 2011 21:43:38
Сообщений: 163
Откуда: Чернь, Тульская обл
Рейтинг сообщения: 0
ну, комментарии больше для себя. старость, знаете ли ... это мелочи, главное, что бы работало. пож


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 15:09:01 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 2
У этой микросхемы с помощью содержимого aging offset меняется точность хода часов (вывод прерывания /int/sqw и точность хода внутренних часов) , но не частота на выходе 32kHz !!!
8)
Как то уже разбирали сей вопрос по блок схемам.
Кстати... их тоже два варианта -старого выпуска и нового.
Довольно существенно отличаются.
:wink:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 15:45:39 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 9
Рейтинг сообщений: 27
Зарегистрирован: Сб янв 29, 2011 21:43:38
Сообщений: 163
Откуда: Чернь, Тульская обл
Рейтинг сообщения: 1
СпойлерРегистр aging offset (дословно переводится как "смещение по возрасту") получает значение, определяемое пользователем, которое добавляется или вычитается из кодов в регистрах массива корректирующих емкостей. Значение в этом регистре закодировано в формате двоичного целого числа со знаком с дополнением до 2, где бит 7 представляет бит знака числа. Остальные биты соответствую маленькому конденсатору из массива, который будет либо подключен, либо отключен от выводов кварца генератора. Значение коррекции старения будет добавлять или отнимать емкость из значение емкости, которое устройство вычисляет на каждой процедуре компенсации частоты по температуре. Регистр смещения добавляется к массиву емкостей по время обычного преобразования значения датчика температуры, если температура поменялась от своего последнего преобразования, или при ручном запуске преобразования пользователем (установкой бита CONV). Чтобы немедленно увидеть эффект от работы регистра старения на выходе 32kHz, после каждого изменения регистра Aging Offset должно быть вручную запущена процедура преобразования температуры.


читал тута https://microsin.net/adminstuff/hardwar ... e-rtc.html


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 16:35:50 
Друг Кота

Карма: 64
Рейтинг сообщений: 1013
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4332
Откуда: Ижевск
Рейтинг сообщения: 0
попытка изменить частоту 32693 на 32768 в ds3231M посредством регистров была безуспешной.
DS3231M заточена на выдачу 1 секунды. Точность 32кГц не очень.


Вложения:
DS3231M.png [41.55 KiB]
Скачиваний: 39
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 16:50:26 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1217
Рейтинг сообщения: 0
Почитае ещё тута, может чего почерпнёшь:
https://arduino.ru/forum/obshchii/konso ... 42-modulei


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 17:14:57 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 9
Рейтинг сообщений: 27
Зарегистрирован: Сб янв 29, 2011 21:43:38
Сообщений: 163
Откуда: Чернь, Тульская обл
Рейтинг сообщения: 0
Всем спасибо за информацию. Буду думать о другом способе увеличения точности .


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 17:25:43 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Первые выпускались с кварцем (подстройка переключением конденсаторов)
Вложение:
DS3231_версия с конденсаторами.pdf [824.05 KiB]
Скачиваний: 29

блок -схема на стр.8.
Более поздние - МЭМС
Вложение:
DS3231M.pdf [1.28 MiB]
Скачиваний: 30

блок - схема на стр.8
Вот там и видно разницу в отношении вывода 32kHz
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 17:36:14 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 9
Рейтинг сообщений: 27
Зарегистрирован: Сб янв 29, 2011 21:43:38
Сообщений: 163
Откуда: Чернь, Тульская обл
Рейтинг сообщения: 1
https://www.drive2.ru/b/500318748519956 ... u802631062 но для меня это очень сложно


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 18:25:33 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Простите уж....
А на кой Вам та "суперточность" то??
У меня стандартный адуринкин модуль с DS3231 в комбочасиках без всякой коррекции дает отклонение в несколько секунд в пол года...
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 18:32:36 
Встал на лапы

Зарегистрирован: Пн янв 13, 2025 15:24:02
Сообщений: 148
Рейтинг сообщения: 0
но для меня это очень сложно

да он тоже, "загнул", его послушаешь так поверишь что с DS1307 прям нужно секунды чтобы время посмотреть. )))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 19:11:14 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 9
Рейтинг сообщений: 27
Зарегистрирован: Сб янв 29, 2011 21:43:38
Сообщений: 163
Откуда: Чернь, Тульская обл
Рейтинг сообщения: 0
viewtopic.php?f=66&t=173963 мои тоже работают уже более 4 лет. просто заморочился еще одними часиками, ну и решил уточнить кое-что из возможностей ds3231. решил так
Спойлер
Код:
// коррекция хода часов
static void set_correct() {
   // Если нажата кнопка bt0, сбрасываем счетчик и переходим к настройке корр. температуры
   if (bt2.isClick()) count = 0, menu = TemperCorect, pisk(), _delay_ms(2);
   uint8_t tmp = 0;
   if (bt3.isClick()) {
      pisk();
      count = 0;
      if (Corect < 100) {                     // если число положительное
         Corect++;
         if (Corect > 55) Corect = 55;       // при переполнении не выходить за пределы (max = +5,5 сек/сутки)
         } else {                            // если число отрицательное
         Corect--;
         if (Corect < 129) Corect = 0;       // при приближении к 0 перейти в положительную часть
      }
      cor_ten_day = 0;                        // сбросить счетчик дней корректировки
      at24c_write_byte(0x50, MEM_CORECT, Corect);   // сохранить в EEPROM
      at24c_write_byte(0x50,MEM_COR_TEN_DAY, cor_ten_day);  // сохранить в EEPROM
   }

   if (bt4.isClick()) {
      pisk();
      count = 0;
      if (Corect < 100) {                     // если число положительное
         if (Corect == 0) Corect = 129;      // при 0 перейти в отрицательную часть
         else Corect--;
         } else {                            // если число отрицательное
         Corect++;
         if (Corect > 183) Corect = 183;     // при переполнении не выходить за пределы (max = -5.5 сек/сутки)
      }
      cor_ten_day = 0;                        // сбросить счетчик дней корректировки
      at24c_write_byte(0x50, MEM_CORECT, Corect);   // сохранить в EEPROM
      at24c_write_byte(0x50,MEM_COR_TEN_DAY, cor_ten_day);  // сохранить в EEPROM
   }


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 19:29:31 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Уж слишком избыточно... Автокорректор - так можно раз скорректировать значение в Aging Offset и того достаточно...
Термокоррекцию RTC самостоятельно делает...
Если встроенный "дублер часеек/секундомер/таймер" в МК то вполне достаточно его от прерывания по секунде менять. Для бытовых таймеров/будильников точность +/-1 секунда вполне достаточна. Читать содержимое RTC разве только при запуске соответствующего устройства для установки начальных показаний...
Правда у меня непрерывное питание от аккумулятора с подзарядом разок в неделю и ЖКИ.
Для светодиодных условия кормежки чуток пожестче - но там можно гашение индикации заложить...
Лучше больше внимания самому устройству уделить...
:dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 20:30:52 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 9
Рейтинг сообщений: 27
Зарегистрирован: Сб янв 29, 2011 21:43:38
Сообщений: 163
Откуда: Чернь, Тульская обл
Рейтинг сообщения: 0
всё в куче. лишнее буду убирать потихоньку.


Вложения:
test_watch.rar [236.87 KiB]
Скачиваний: 30
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS3231 регистр смещения старения (Aging Offset)
СообщениеДобавлено: Чт фев 27, 2025 22:14:43 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1217
Рейтинг сообщения: 0
...но для меня это очень сложно

Не, Погребняк расписывает кардинально.) Простой вариант +/- сек за сутки, но это для 1307 подобных.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 43 ]  1, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y