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

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

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

Сообщение AlexRyg »

Alias писал(а): 25 май 2020, 11:33 Я имел в виду то, что блок вывода на экран можно вынести на отдельную плату
Я понял. Я так тоже делал.
Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27 ноя 2017, 13:15
Откуда: Rus44
Имя: Michael
Контактная информация:

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

Сообщение Alias »

av писал(а): 25 май 2020, 14:02 Вот в этот момент потери и происходят
Я не программист, но очень любопытен до хотя бы поверхностного понимания сути вещей. Как мне кажется, задержка работы по шине конечно же может приводить к устаревшим получаемым данным с часов, но, как я понял, речь идет о набегающей, накапливающейся ошибке, то есть проблема не в задержке ответа RTC, а отставании времени в них. Разве часы не живут своей жизнью, передавая запрашиваемые значений через регистры в изолированном шлюзе?
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

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

Сообщение seri0shka »

max38 писал(а): 23 май 2020, 13:36 Столкнулся с той же проблемой в своей "звонилке"...
Меня интересует "звонилка", если это то , о чём я подумал.
AlexRyg
Рядовой
Сообщения: 18
Зарегистрирован: 19 апр 2020, 19:35
Имя: Алексей

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

Сообщение AlexRyg »

av писал(а): 25 май 2020, 15:27 Явно есть связь между тем что когда шина занята модуль часов тормозит
Да связь явно есть, и это считаю недостаток огромный. Считаю смысл модуля в том, чтоб получать реальное время, нее зависимо от сложности кода программы.
И то, что модуль стал корректно работать после использования текстовой библиотеки для дисплея... Звучит как бред, но получается текстовая библиотека более лояльна к модулю и дает ему выполнять свою работу корректно и вовремя
Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25 янв 2018, 22:23
Откуда: Bukovyna
Имя: Василий

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

Сообщение Labu559 »

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

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

Кто сейчас на конференции

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