Jump to content

    
Herz

RTC DS3231: сбивается время

Recommended Posts

Да нет же. И плата чистая, и пайка качественная, и все контакты в порядке. Не первый год замужем. :)

Устройство не в корпусе, в виде платы. Лежит в картонной коробочке. Шкаф исключительно рабочий, для радиокомпонентов, никаких шмоток, никакой синтетики. Да и как статика изменит значения регистров календаря?

Share this post


Link to post
Share on other sites
2 минуты назад, Herz сказал:

Да и как статика изменит значения регистров календаря?

Это так мысли в слух. 

Есть же методы взлома основанные на подаче иголок на сброс например когда часть регистров успевает измениться а часть ещё нет. Может и тут что-то похожее. Например статика может давать аналог импульса который что-то сбрасывает внутри кристалла :( 

Share this post


Link to post
Share on other sites

За 3-4 года работы в нескольких устройствах дефектов замечено не было...

Хотя у меня DS3232, он тоже I2C. Они, вроде как, похожи. DS3234 (SPI) тоже не глючит.

P.S. Может, действительно брак. Китайцы не брезгуют таким на Али (сам натыкался сто раз).

Share this post


Link to post
Share on other sites
4 часа назад, Herz сказал:

 проблемы с пониманием прочитанного?

Где-то далее получилось прочесть определение, что такое "backup power source"? Я такого не нашёл, а значит, поставил бы два конденсатора.

Share this post


Link to post
Share on other sites

Поскольку вывод 14, о котором речь, назван Vbat и предназначен для Backup Power-Supply Input, то логично предположить, что батарейка, используемая для хранения записей в календаре, это и есть backup power source.

Другого толкования просто не возникает, хотя определения в тексте и не дано.

Откровенно говоря, будь я разработчик этого чуда, тоже поставил бы два. Не жалко. Но, мопед не мой (с).

 

 

П.С. Оставил на четыре часа без основного питания. Не сбилось.

Share this post


Link to post
Share on other sites
09.11.2021 в 20:11, Herz сказал:

Встречалось такое поведение кому, или только мне так повезло?

Несколько лет назад делали уличные часы на этой М\С и контроллере АТмега.  Использовалось на улице, было выпущено пара сотен экземпляров, ни в одном время не сбивалось. Походу у вас "левое" попалось, либо что-то в программе (ошибки в протоколе или запросах)... 

Share this post


Link to post
Share on other sites

Да программа то всегда одна. Считывает время адекватно. Проблема в том, что содержимое регистров как-то загадочно меняется...

Опять пролежала плата на столе несколько дней. (До этого многократно проверялась - сбоев не было). И сбросились часы таки. До дифолтных 01.01.2000г, 00:00:00. Ну ладно, можно предположить, что контакт между платой и батарейкой виноват. Тогда всё, вроде, логично.

Собрал, между тем, второй экземпляр платы, с часами из той же партии. Сколько не проверял - идут безупречно. Стал я уже радоваться и грешить на случайность первого блина.

Но, вот, полежала и эта плата без основного питания на столе три дня, и что я вижу? Год 2021, всё верно. Время соответствует. Но вот месяц, оказывается, сейчас 14-ый, а число не 19-е, а 16-е.

Как такое может быть?

Share this post


Link to post
Share on other sites

Сварганьте на любом другом МК (на отладке) сниффер I2C, который, обнаружив транзакцию записи в регистры RTC будет мигать или пищать. Насколько я помню, писать в RTC после настройки, вроде как, не надо. ПО только читает I2C-slave.

Share this post


Link to post
Share on other sites

Да, это так. Но когда устройство лежит без питания (исключая батарейку самих часов), то и писать некому, что бы там в ПО не было. Да и нет в тексте, насколько я вижу, команд записи.

Осталось мне выдержать устройство в течение нескольких дней, не отсоединяя основное питание.

Прискорбно только, что из-за этой проблемы я не могу сдать устройство заказчику, все сроки уж прошли...

Share this post


Link to post
Share on other sites
2 часа назад, Herz сказал:

Да программа то всегда одна. Считывает время адекватно. Проблема в том, что содержимое регистров как-то загадочно меняется...

Опять пролежала плата на столе несколько дней. (До этого многократно проверялась - сбоев не было). И сбросились часы таки. До дифолтных 01.01.2000г, 00:00:00. Ну ладно, можно предположить, что контакт между платой и батарейкой виноват. Тогда всё, вроде, логично.

Как показывает опыт: в большистве багов виноват софт. Особенно если он с помойки инета. Вам же уже советовали по этому поводу.

То что "Да программа то всегда одна. Считывает время адекватно." - ни о чём не говорит. Баг может быть такого рода, что проявляется только иногда или при определённых условиях.

 

Цитата

Но, вот, полежала и эта плата без основного питания на столе три дня, и что я вижу? Год 2021, всё верно. Время соответствует. Но вот месяц, оказывается, сейчас 14-ый, а число не 19-е, а 16-е.

Как такое может быть?

Обычное дело при программном баге. Кто знает какой задней пяткой написан некий код с помойки? Большинство таких "творений" выкладывают чайники. Которые даже как правило документацию на чип не читают, а ваяют свои творения по ютубным роликам.

 

30 минут назад, Herz сказал:

Да, это так. Но когда устройство лежит без питания (исключая батарейку самих часов), то и писать некому, что бы там в ПО не было. Да и нет в тексте, насколько я вижу, команд записи.

И что? Но когда Вы его включаете, чтобы посмотреть время, ПО ведь успевает что-то сделать. После старта. Нескольких мсек достаточно.

И в самом чтении времени можно накосячить.

 

PS: Попробуйте проверить правильность перехода основное_питание->батарейка->основное_питание. Подёргать так многократно и непериодически. Лучше не вручную, а поставить на автоматическое управление какой-нить дёргалкой на несколько тысяч таких переходов.

Share this post


Link to post
Share on other sites
3 часа назад, Plain сказал:

Которая припаять конденсатор?

То есть, Вы уверены, что она конденсатором исчерпывается? Буду бесконечно рад убедиться. Сейчас на обе платы установил конденсаторы. Посмотрю, насколько помогут.

 

3 часа назад, jcxz сказал:

Баг может быть такого рода, что проявляется только иногда или при определённых условиях.

Обычное дело при программном баге. Кто знает какой задней пяткой написан некий код с помойки? Большинство таких "творений" выкладывают чайники. Которые даже как правило документацию на чип не читают, а ваяют свои творения по ютубным роликам.

Теоретически - да. Когда код большой, сопряжён с обработкой множества условий и т.д. Это я понимаю.

Но он примитивен. Вот, давайте я выложу его и Вы сами убедитесь - нечему там глючить... И не надо про "помойки". Это, конечно, всегда верно: то, что сделано самим - великолепно. А чужое - по определению написано задней пяткой...

Share this post


Link to post
Share on other sites
8 часов назад, Herz сказал:

уверены, что она конденсатором исчерпывается?

Задачи быстрее решаются методом исключения. Я сильно удивлюсь действительно ненужному конденсатору на единственных ближайших к кристаллу и рядом расположенных выводах.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.