Я понял. Я так тоже делал.Alias писал(а): 25 май 2020, 11:33 Я имел в виду то, что блок вывода на экран можно вынести на отдельную плату
Часы DS1302 сильно отстают
Часы DS1302 сильно отстают
- Alias
- Лейтенант
- Сообщения: 481
- Зарегистрирован: 27 ноя 2017, 13:15
- Откуда: Rus44
- Имя: Michael
- Контактная информация:
Часы DS1302 сильно отстают
Я не программист, но очень любопытен до хотя бы поверхностного понимания сути вещей. Как мне кажется, задержка работы по шине конечно же может приводить к устаревшим получаемым данным с часов, но, как я понял, речь идет о набегающей, накапливающейся ошибке, то есть проблема не в задержке ответа RTC, а отставании времени в них. Разве часы не живут своей жизнью, передавая запрашиваемые значений через регистры в изолированном шлюзе?
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Часы DS1302 сильно отстают
Да связь явно есть, и это считаю недостаток огромный. Считаю смысл модуля в том, чтоб получать реальное время, нее зависимо от сложности кода программы.av писал(а): 25 май 2020, 15:27 Явно есть связь между тем что когда шина занята модуль часов тормозит
И то, что модуль стал корректно работать после использования текстовой библиотеки для дисплея... Звучит как бред, но получается текстовая библиотека более лояльна к модулю и дает ему выполнять свою работу корректно и вовремя
Часы DS1302 сильно отстают
DS1302 использует интерфейс 3Ware, который больше похож на интерфейс SPI (см.Datasheet ниже).
Я тоже так предполагаю, хотя для DS1307 или DS3231, при появлении сигнала старт, что-бы сравнительно медленная передача данных по шине I2C не мешала обновлению регистров времени, данные копируются в буфер, и от-туда считываются в шину. Но вполне возможно что опрос 4 раза в секунду "слегка" избыточен о чем писал в теме по указаной ссылке под спойлером ниже, или в сообщении №13 здесь. [spoiler title=В DS1302 похоже буфера нет,] [/spoiler] что явно должно усугублять проблему обновления регистров одновременной двойной попыткой доступа. Эта версия подходит для отставания, но если спешат как в теме ниже? Короче это другая тема, кому интересно,- заходите.av писал(а): 25 май 2020, 15:27 А схема формирующая запись в регистр секунд ожидает разрешения записи
По поводу применения DS1307 или DS3231 с I2C: Устройства I2C имеют адресацию, или можно применить софтовый I2C (Bit-banging или т.н. "ногодрыг" ) на любых цифровых выводах Ардуино, но...AlexRyg писал(а): 23 май 2020, 12:41Этот модуль подключается к I2C (пин 20 и 21), но они заняты дисплеем OLED I2C 0,96″. Можно было бы заморочиться и подключить параллельно. Но будет ли толк? Или тоже будет отставать из-за работы программы?
[spoiler title= Проблема с нарушением точности хода часов], если хотите верить сообщениям от сюда возникает и на DS1307 и на DS3231, при чем с дисплеем HD44780 (2004 /1602) c паралельным подключением (не I2C). Потому я дал ссылку на похожую тему, где в сообщении №26, ТС утверждает следующее: "...получатся, что вывод информации на дисплей как-то влияет на работу с модулем времени...". Более месяца пытался собрать собственную статистику, но столкнулся с самопроизвольным сбросом всех регистров 1-го модуля DS3231 и 2-х модулей DS1307 в результате обнаружил непостоянное замыкание минусового контакта держателя батареи на шину I2C, которое совершенно не влияет на работу модулей от батареи (когда не задействуется I2C). Я не смог получить существенное отличие хода часов с дисплеем и без дисплея, зато точно могу утверждать, что есть незначительное влияние на точность хода частота опроса модулей. Это же подтвердил ТС в указанной теме. [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость