Часы DS1302 сильно отстают

На этом форуме Вы можете задать вопросы знатокам программы и автору.
AlexRyg
Рядовой
Сообщения: 18
Зарегистрирован: 19.04.2020{, 19:35}
Репутация: 0
Имя: Алексей

Часы DS1302 сильно отстают

#21

Сообщение AlexRyg » 25.05.2020{, 13:24}

Alias писал(а):
25.05.2020{, 11:33}
Я имел в виду то, что блок вывода на экран можно вынести на отдельную плату
Я понял. Я так тоже делал.

Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Часы DS1302 сильно отстают

#22

Сообщение Alias » 25.05.2020{, 14:30}

av писал(а):
25.05.2020{, 14:02}
Вот в этот момент потери и происходят
Я не программист, но очень любопытен до хотя бы поверхностного понимания сути вещей. Как мне кажется, задержка работы по шине конечно же может приводить к устаревшим получаемым данным с часов, но, как я понял, речь идет о набегающей, накапливающейся ошибке, то есть проблема не в задержке ответа RTC, а отставании времени в них. Разве часы не живут своей жизнью, передавая запрашиваемые значений через регистры в изолированном шлюзе?

seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09.04.2016{, 12:17}
Репутация: 22
Откуда: Кременчуг
Имя: Сергей

Часы DS1302 сильно отстают

#23

Сообщение seri0shka » 25.05.2020{, 17:59}

max38 писал(а):
23.05.2020{, 13:36}
Столкнулся с той же проблемой в своей "звонилке"...
Меня интересует "звонилка", если это то , о чём я подумал.

AlexRyg
Рядовой
Сообщения: 18
Зарегистрирован: 19.04.2020{, 19:35}
Репутация: 0
Имя: Алексей

Часы DS1302 сильно отстают

#24

Сообщение AlexRyg » 25.05.2020{, 19:33}

av писал(а):
25.05.2020{, 15:27}
Явно есть связь между тем что когда шина занята модуль часов тормозит
Да связь явно есть, и это считаю недостаток огромный. Считаю смысл модуля в том, чтоб получать реальное время, нее зависимо от сложности кода программы.
И то, что модуль стал корректно работать после использования текстовой библиотеки для дисплея... Звучит как бред, но получается текстовая библиотека более лояльна к модулю и дает ему выполнять свою работу корректно и вовремя

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Часы DS1302 сильно отстают

#25

Сообщение Labu559 » 25.05.2020{, 20:19}

av писал(а):
25.05.2020{, 14:02}
Специфика шины I2C как раз тормозит работу ведомого
DS1302 использует интерфейс 3Ware, который больше похож на интерфейс SPI (см.Datasheet ниже).
av писал(а):
25.05.2020{, 15:27}
А схема формирующая запись в регистр секунд ожидает разрешения записи
Я тоже так предполагаю, хотя для DS1307 или DS3231, при появлении сигнала старт, что-бы сравнительно медленная передача данных по шине I2C не мешала обновлению регистров времени, данные копируются в буфер, и от-туда считываются в шину. Но вполне возможно что опрос 4 раза в секунду "слегка" избыточен о чем писал в теме по указаной ссылке под спойлером ниже, или в сообщении №13 здесь.
В DS1302 похоже буфера нет,Показать
DS1302.png
что явно должно усугублять проблему обновления регистров одновременной двойной попыткой доступа. Эта версия подходит для отставания, но если спешат как в теме ниже? Короче это другая тема, кому интересно,- заходите.
AlexRyg писал(а):
23.05.2020{, 12:41}
Этот модуль подключается к I2C (пин 20 и 21), но они заняты дисплеем OLED I2C 0,96″. Можно было бы заморочиться и подключить параллельно. Но будет ли толк? Или тоже будет отставать из-за работы программы?
По поводу применения DS1307 или DS3231 с I2C: Устройства I2C имеют адресацию, или можно применить софтовый I2C (Bit-banging или т.н. "ногодрыг" ) на любых цифровых выводах Ардуино, но...
Проблема с нарушением точности хода часовПоказать
, если хотите верить сообщениям от сюда возникает и на DS1307 и на DS3231, при чем с дисплеем HD44780 (2004 /1602) c паралельным подключением (не I2C). Потому я дал ссылку на похожую тему, где в сообщении №26, ТС утверждает следующее: "...получатся, что вывод информации на дисплей как-то влияет на работу с модулем времени...". Более месяца пытался собрать собственную статистику, но столкнулся с самопроизвольным сбросом всех регистров 1-го модуля DS3231 и 2-х модулей DS1307 в результате обнаружил непостоянное замыкание минусового контакта держателя батареи на шину I2C, которое совершенно не влияет на работу модулей от батареи (когда не задействуется I2C). Я не смог получить существенное отличие хода часов с дисплеем и без дисплея, зато точно могу утверждать, что есть незначительное влияние на точность хода частота опроса модулей. Это же подтвердил ТС в указанной теме.
Вложения
DS1302.pdf
(368.54 КБ) 48 скачиваний

Ответить

Вернуться в «Спросить у знатоков»