DS1307: проблемы и решения

Обсуждаем цифровые устройства...
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

DS1307: проблемы и решения

Сообщение ARV »

что-то не могу добиться наличия импульсов на выходе SQW этого чипа... раньше все тестировал в протеусе (там и с этим проектом все хорошо), и с чипом в DIP8, а в текущем проекте применил SO8, и на выходе четкий 0 всегда. сами часы идут.
КЗ дорожки на землю, вроде, нет, тестер не пищит при прозвонке. пин МК настроен на вход с подтяжкой. инициализация тоже по даташиту...
чего ему не хватает?!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
akl
Друг Кота
Сообщения: 4445
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: DS1307: проблемы и решения

Сообщение akl »

DS1307: проблемы и решения
На сегодняшний день, по мне, совершенно не нужна. Обслуживание IIC занимает столько же, сколько программная реализация всех возможностей оной. :)
Реклама
metan
Вымогатель припоя
Сообщения: 593
Зарегистрирован: Ср янв 06, 2010 10:01:46

Re: DS1307: проблемы и решения

Сообщение metan »

Бит SQWE установлен? Внешний резистор присутствует?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15574
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: DS1307: проблемы и решения

Сообщение BOB51 »

Попробовать другой образец кристалла...
Я с DS3231 недавно "некорректность" имел - УВЫ... бывают таки "недоубитые" кристаллы.
:(
Реклама
Эиком - электронные компоненты и радиодетали
metan
Вымогатель припоя
Сообщения: 593
Зарегистрирован: Ср янв 06, 2010 10:01:46

Re: DS1307: проблемы и решения

Сообщение metan »

BOB51 писал(а):с DS3231 недавно "некорректность" имел
я тоже имел, но выяснилось, что это была моя некорректность, т.к. данный чип отличается от классической DS1307, и там другой адрес ячейки с настройками :)
Реклама
Аватара пользователя
VNS
Говорящий с текстолитом
Сообщения: 1627
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Re: DS1307: проблемы и решения

Сообщение VNS »

[uquote="ARV",url="/forum/viewtopic.php?p=4261643#p4261643"]что-то не могу добиться наличия импульсов на выходе SQW этого чипа...[/uquote]
Если часы идут, то бит SQWE (в регистре 07Н) установлен… но ещё дополнительно необходимо установить бит OUT в том же регистре в 1… тогда на выходе пин SQW/OUT, который подтянут через резистор к плюсу питания, появятся прямоугольные импульсы с частотой согласно битам RS1 и RS0… если всё вышеописанное проделано, а импульсы отсутствуют, то проблема в самом чипе – видимо попался брак… :dont_know:
Реклама
metan
Вымогатель припоя
Сообщения: 593
Зарегистрирован: Ср янв 06, 2010 10:01:46

Re: DS1307: проблемы и решения

Сообщение metan »

VNS писал(а):Если часы идут, то бит SQWE (в регистре 07Н) установлен…
Я могу ошибаться, но часам без разницы значение это бита. За старт-стоп часов отвечает старший бит в ячейке с нулевым адресом - CH
А бит OUT отвечает за значение выходного пина при запрещении генерации импульсов на выходе.
Аватара пользователя
VNS
Говорящий с текстолитом
Сообщения: 1627
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Re: DS1307: проблемы и решения

Сообщение VNS »

[uquote="metan",url="/forum/viewtopic.php?p=4261876#p4261876"]Я могу ошибаться[/uquote]
Нет, это я ошибся… малёха забыл... :) всё верно, бит OUT отвечает лишь какой будет логический уровень присутствовать на выходе SQW/OUT когда бит SQWE равен 0… то есть если бит OUT равен 1, то на выходе SQW/OUT лог 1, а если бит OUT равен 0, то на выходе SQW/OUT лог 0. Для генерации прямоугольных импульсов необходимо устанавливать только бит SQWE в 1.
akl
Друг Кота
Сообщения: 4445
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: DS1307: проблемы и решения

Сообщение akl »

[uquote="akl",url="/forum/viewtopic.php?p=4261667#p4261667"]...Обслуживание IIC занимает столько же, сколько программная реализация всех возможностей оной.[/uquote]Чтобы не быть голословным, вариант часов с календарём для tiny2313. Жалкие 114 байт и DS1307 не нужна. :)
CLOCK_CALENDAR.zip
(1.22 КБ) 144 скачивания
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15574
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: DS1307: проблемы и решения

Сообщение BOB51 »

Чаще нужен независимый высокостабильный "генератор секунды" с возможностью корректировки точности хода
и сверхмалым энергопотреблением.
Остальное в современных МК уже имеется.
8)
akl
Друг Кота
Сообщения: 4445
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: DS1307: проблемы и решения

Сообщение akl »

Bit 7 of Register 0 is the clock halt (CH) bit. When this bit is set to 1, the oscillator is disabled. When cleared to 0, the oscillator is enabled. On first application of power to the device the time and date registers are typically reset to 01/01/00 01 00:00:00
(MM/DD/YY DOW HH:MM:SS). The CH bit in the seconds register will be set to a 1.
Пока бит CH не сброшен, а это делается через интерфейс, генератор DS1307 будет остановлен.
В итоге
-независимости от интерфейса нет
-как только подключается I²C сверхмалое потребление DS1307 улетучивается
-корректировки точности хода отродясь не бывало...
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15574
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: DS1307: проблемы и решения

Сообщение BOB51 »

Так ни один RTC без внешнего интерфейса не запускается.
Всегда при подключении "чистой новорожденной" к самоделке требуется однократная первичная загрузка параметов.
Это, к примеру, удержание одной из кноп при подаче питания (или перед нажатием аппаратной кнопы reset).
8)
Насчет точности хода 1307 вполне себе удовлетворительная, ежли иметь возможность подстройки показаний раз в недельку.
Да и работают на обмен данными RTC только при основном питании - там особо с экономией не заморачиваемся.
:roll:
Аватара пользователя
VNS
Говорящий с текстолитом
Сообщения: 1627
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Re: DS1307: проблемы и решения

Сообщение VNS »

ARV, хоть бы муркнул, решена задача или нет… и если решена, то в чём была причина… а то задал вопрос и потерялся…
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: DS1307: проблемы и решения

Сообщение ARV »

да я с телефона слежу за темой, отвечать неудобно...

пока ничего нового для себя не открыл. подтяжка внешняя этого выхода путем включения внутренней подтяжки пина AVR, никогда ранее проблем не было. все биты установлены... меандра нет.

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

Мой уютный бложик... заходите!
Аватара пользователя
VNS
Говорящий с текстолитом
Сообщения: 1627
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Re: DS1307: проблемы и решения

Сообщение VNS »

Значит бракованная попалась… или стоит внимательнее прозвонить дорожки (не на прозвонке)… :dont_know:
Аватара пользователя
Alex_641
Поставщик валерьянки для Кота
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Re: DS1307: проблемы и решения

Сообщение Alex_641 »

Единственное что есть хорошего в ДС1307 , это 56 байт энергонезависимого ОЗУ для хранения данных. А как часы , без аппаратной коррекции хода - полное говно. Тоже сначала сделал часы на ней, но переустановка раз в две недели не устроила. Нашёл в ништяках M41T81, и теперь год не думаю ни о чём !
Не спрашивай по ком звонит колокол, он звонит по тебе !
akl
Друг Кота
Сообщения: 4445
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: DS1307: проблемы и решения

Сообщение akl »

[uquote="Alex_641",url="/forum/viewtopic.php?p=4262469#p4262469"]...56 байт энергонезависимого ОЗУ для хранения данных...[/uquote]
Уточню. Энергонезависимость озу обеспечивается батарейкой.
Battery-Backed
Посмотрел цены в магазине шаговой доступности
M41MT81 320р
DS3231SN 320р
DS1307 40р
ATmega48a 150р
Подключил плату вторичных часов на mega48a с кварцем 32'769,06Гц и ...
Двухминутный интервал
120'000'011us
120'000'004us
199'999'993us
120'000'007us
...
В бытовых условиях сложно оправдать применение RTC
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15574
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: DS1307: проблемы и решения

Сообщение BOB51 »

Это уж по возможным ресурсам.
Ежли не иметь RTC все равно точность кварца может иметь отклонения.
Придется в любом случае корректировку точности хода делать - а это как минимум 16-разрядный счетчик с автоперезагрузкой.
У АВРки С/Т1, у 51й С/Т2...
Ежли задача позволяет без них обходиться - вполне себе применимо.
В то же время "генератор секунды" с заложенной коррекцией хода в энергонезависимом режиме да еще и с питанием от 3 вольт...
И нет возможности (или интереса) аппаратную начинку "докапывать"
Таки придется на DS3231 раскошеливаться...
:roll:
ST_A
Нашел транзистор. Понюхал.
Сообщения: 150
Зарегистрирован: Вт окт 05, 2010 15:25:41
Откуда: г. Кишинев

Re: DS1307: проблемы и решения

Сообщение ST_A »

[uquote="akl",url="/forum/viewtopic.php?p=4262270#p4262270"][uquote="akl",url="/forum/viewtopic.php?p=4261667#p4261667"]...Обслуживание IIC занимает столько же, сколько программная реализация всех возможностей оной.[/uquote]Чтобы не быть голословным, вариант часов с календарём для tiny2313. Жалкие 114 байт и DS1307 не нужна. :)
CLOCK_CALENDAR.zip
[/uquote]

Спасибо за приведенный вариант, кое чего могу сказать и с моей стороны, тоже сделал часики с применением DS1307, там я до предела многие вещи скинул на железо, но про программную коррекцию слегка поизвращался. При подаче питания или общем сбросе содержимое ячеек часов (секунды, минуты, часы и т.д. до месяца и года) перекачивается в служебные ячейки памяти микроконтроллера и вывод SQW программируется на формирование импульсов 1 сек, этот сигнал в свою очередь заводится на один из входов прерывания микроконтроллера (сам тип контроллера особой роли не играет, здесь я провожу саму концепцию и алгоритм). Далее при каждом прерывании контроллер программно ведет учет времени и календарь. В саму программу вводится коррекция до +/- 14 секунд один раз в сутки, один раз в неделю и один раз в месяц. Величину коррекции придется определить опытным путем, вычисляется разница с эталоном и выставляется соответсвующая коррекция (для суток, недели и месяца, всего 3 константы для коррекции). При 2-х годичном прогоне данная тактика коррекции обеспечила погрешность +/- 2 сек. в любой момент года для полностью автономного режима. Упомянутые часы были предусмотрены для звонков по расписанию для ВУЗов, там учитываетса четная и нечетная неделя, автоматический переход на летнее/зимнее время и установка параметров от телевизионного пульта управления на ИК лучах.

P.S. Подобная тактика учета времени и календаря применена в компьютерах, включая и нынешние на 10-й винде...
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: DS1307: проблемы и решения

Сообщение ARV »

ST_A писал(а):вывод SQW программируется на формирование импульсов 1 сек, этот сигнал в свою очередь заводится на один из входов прерывания микроконтроллера
вот и я так всегда делал... до этого раза.

пришлось заменить прерывание от SQW на прерывание от таймера.

следующим этапом извращения пришлось отказаться от вычитывания времени из DS1307, оставив его только в качестве резервных часов на случай пропадания питания. раз в сутки в чип записываю дату и время, а считываю только при старте...
ST_A писал(а):В саму программу вводится коррекция до +/- 14 секунд один раз в сутки, один раз в неделю и один раз в месяц.
пока решил для коррекции задавать количество секунд "подводки" в сутки (от 0 до плюс-минус 125) и растягиваю эту коррекцию равномерно по суткам, считаю не секунды, а 10мс-ые интервалы и по одному в нужные моменты добавляю или вычитаю. протестировать длительно еще не успел, но алгоритм представляется рабочим...

короче, из-за этого бракованного DS1307 такого наворотил... :facepalm: но работает!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Ответить

Вернуться в «Цифровая техника»