DS1307: проблемы и решения
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18561
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
DS1307: проблемы и решения
что-то не могу добиться наличия импульсов на выходе SQW этого чипа... раньше все тестировал в протеусе (там и с этим проектом все хорошо), и с чипом в DIP8, а в текущем проекте применил SO8, и на выходе четкий 0 всегда. сами часы идут.
КЗ дорожки на землю, вроде, нет, тестер не пищит при прозвонке. пин МК настроен на вход с подтяжкой. инициализация тоже по даташиту...
чего ему не хватает?!
КЗ дорожки на землю, вроде, нет, тестер не пищит при прозвонке. пин МК настроен на вход с подтяжкой. инициализация тоже по даташиту...
чего ему не хватает?!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
Re: DS1307: проблемы и решения
На сегодняшний день, по мне, совершенно не нужна. Обслуживание IIC занимает столько же, сколько программная реализация всех возможностей оной.DS1307: проблемы и решения
Re: DS1307: проблемы и решения
Бит SQWE установлен? Внешний резистор присутствует?
Re: DS1307: проблемы и решения
Попробовать другой образец кристалла...
Я с DS3231 недавно "некорректность" имел - УВЫ... бывают таки "недоубитые" кристаллы.

Я с DS3231 недавно "некорректность" имел - УВЫ... бывают таки "недоубитые" кристаллы.
Re: DS1307: проблемы и решения
я тоже имел, но выяснилось, что это была моя некорректность, т.к. данный чип отличается от классической DS1307, и там другой адрес ячейки с настройкамиBOB51 писал(а):с DS3231 недавно "некорректность" имел
- Реклама
- VNS
- Говорящий с текстолитом
- Сообщения: 1627
- Зарегистрирован: Пт дек 10, 2021 12:48:46
- Откуда: Тюмень
Re: DS1307: проблемы и решения
[uquote="ARV",url="/forum/viewtopic.php?p=4261643#p4261643"]что-то не могу добиться наличия импульсов на выходе SQW этого чипа...[/uquote]
Если часы идут, то бит SQWE (в регистре 07Н) установлен… но ещё дополнительно необходимо установить бит OUT в том же регистре в 1… тогда на выходе пин SQW/OUT, который подтянут через резистор к плюсу питания, появятся прямоугольные импульсы с частотой согласно битам RS1 и RS0… если всё вышеописанное проделано, а импульсы отсутствуют, то проблема в самом чипе – видимо попался брак…
Если часы идут, то бит SQWE (в регистре 07Н) установлен… но ещё дополнительно необходимо установить бит OUT в том же регистре в 1… тогда на выходе пин SQW/OUT, который подтянут через резистор к плюсу питания, появятся прямоугольные импульсы с частотой согласно битам RS1 и RS0… если всё вышеописанное проделано, а импульсы отсутствуют, то проблема в самом чипе – видимо попался брак…
Re: DS1307: проблемы и решения
Я могу ошибаться, но часам без разницы значение это бита. За старт-стоп часов отвечает старший бит в ячейке с нулевым адресом - CHVNS писал(а):Если часы идут, то бит SQWE (в регистре 07Н) установлен…
А бит OUT отвечает за значение выходного пина при запрещении генерации импульсов на выходе.
- VNS
- Говорящий с текстолитом
- Сообщения: 1627
- Зарегистрирован: Пт дек 10, 2021 12:48:46
- Откуда: Тюмень
Re: DS1307: проблемы и решения
[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.
Нет, это я ошибся… малёха забыл...
Re: DS1307: проблемы и решения
[uquote="akl",url="/forum/viewtopic.php?p=4261667#p4261667"]...Обслуживание IIC занимает столько же, сколько программная реализация всех возможностей оной.[/uquote]Чтобы не быть голословным, вариант часов с календарём для tiny2313. Жалкие 114 байт и DS1307 не нужна.
Re: DS1307: проблемы и решения
Чаще нужен независимый высокостабильный "генератор секунды" с возможностью корректировки точности хода
и сверхмалым энергопотреблением.
Остальное в современных МК уже имеется.

и сверхмалым энергопотреблением.
Остальное в современных МК уже имеется.
Re: DS1307: проблемы и решения
Пока бит CH не сброшен, а это делается через интерфейс, генератор DS1307 будет остановлен.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.
В итоге
-независимости от интерфейса нет
-как только подключается I²C сверхмалое потребление DS1307 улетучивается
-корректировки точности хода отродясь не бывало...
Re: DS1307: проблемы и решения
Так ни один RTC без внешнего интерфейса не запускается.
Всегда при подключении "чистой новорожденной" к самоделке требуется однократная первичная загрузка параметов.
Это, к примеру, удержание одной из кноп при подаче питания (или перед нажатием аппаратной кнопы reset).
Насчет точности хода 1307 вполне себе удовлетворительная, ежли иметь возможность подстройки показаний раз в недельку.
Да и работают на обмен данными RTC только при основном питании - там особо с экономией не заморачиваемся.

Всегда при подключении "чистой новорожденной" к самоделке требуется однократная первичная загрузка параметов.
Это, к примеру, удержание одной из кноп при подаче питания (или перед нажатием аппаратной кнопы reset).
Насчет точности хода 1307 вполне себе удовлетворительная, ежли иметь возможность подстройки показаний раз в недельку.
Да и работают на обмен данными RTC только при основном питании - там особо с экономией не заморачиваемся.
- VNS
- Говорящий с текстолитом
- Сообщения: 1627
- Зарегистрирован: Пт дек 10, 2021 12:48:46
- Откуда: Тюмень
Re: DS1307: проблемы и решения
ARV, хоть бы муркнул, решена задача или нет… и если решена, то в чём была причина… а то задал вопрос и потерялся…
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18561
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: DS1307: проблемы и решения
да я с телефона слежу за темой, отвечать неудобно...
пока ничего нового для себя не открыл. подтяжка внешняя этого выхода путем включения внутренней подтяжки пина AVR, никогда ранее проблем не было. все биты установлены... меандра нет.
проблема, конечно, не великая, но неприятно от непонятности
пока ничего нового для себя не открыл. подтяжка внешняя этого выхода путем включения внутренней подтяжки пина AVR, никогда ранее проблем не было. все биты установлены... меандра нет.
проблема, конечно, не великая, но неприятно от непонятности
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- VNS
- Говорящий с текстолитом
- Сообщения: 1627
- Зарегистрирован: Пт дек 10, 2021 12:48:46
- Откуда: Тюмень
Re: DS1307: проблемы и решения
Значит бракованная попалась… или стоит внимательнее прозвонить дорожки (не на прозвонке)… 
Re: DS1307: проблемы и решения
Единственное что есть хорошего в ДС1307 , это 56 байт энергонезависимого ОЗУ для хранения данных. А как часы , без аппаратной коррекции хода - полное говно. Тоже сначала сделал часы на ней, но переустановка раз в две недели не устроила. Нашёл в ништяках M41T81, и теперь год не думаю ни о чём !
Не спрашивай по ком звонит колокол, он звонит по тебе !
Re: DS1307: проблемы и решения
[uquote="Alex_641",url="/forum/viewtopic.php?p=4262469#p4262469"]...56 байт энергонезависимого ОЗУ для хранения данных...[/uquote]
Уточню. Энергонезависимость озу обеспечивается батарейкой.
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
Уточню. Энергонезависимость озу обеспечивается батарейкой.
Посмотрел цены в магазине шаговой доступности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
Re: DS1307: проблемы и решения
Это уж по возможным ресурсам.
Ежли не иметь RTC все равно точность кварца может иметь отклонения.
Придется в любом случае корректировку точности хода делать - а это как минимум 16-разрядный счетчик с автоперезагрузкой.
У АВРки С/Т1, у 51й С/Т2...
Ежли задача позволяет без них обходиться - вполне себе применимо.
В то же время "генератор секунды" с заложенной коррекцией хода в энергонезависимом режиме да еще и с питанием от 3 вольт...
И нет возможности (или интереса) аппаратную начинку "докапывать"
Таки придется на DS3231 раскошеливаться...

Ежли не иметь RTC все равно точность кварца может иметь отклонения.
Придется в любом случае корректировку точности хода делать - а это как минимум 16-разрядный счетчик с автоперезагрузкой.
У АВРки С/Т1, у 51й С/Т2...
Ежли задача позволяет без них обходиться - вполне себе применимо.
В то же время "генератор секунды" с заложенной коррекцией хода в энергонезависимом режиме да еще и с питанием от 3 вольт...
И нет возможности (или интереса) аппаратную начинку "докапывать"
Таки придется на DS3231 раскошеливаться...
-
ST_A
- Нашел транзистор. Понюхал.
- Сообщения: 150
- Зарегистрирован: Вт окт 05, 2010 15:25:41
- Откуда: г. Кишинев
Re: DS1307: проблемы и решения
[uquote="akl",url="/forum/viewtopic.php?p=4262270#p4262270"][uquote="akl",url="/forum/viewtopic.php?p=4261667#p4261667"]...Обслуживание IIC занимает столько же, сколько программная реализация всех возможностей оной.[/uquote]Чтобы не быть голословным, вариант часов с календарём для tiny2313. Жалкие 114 байт и DS1307 не нужна.
[/uquote]
Спасибо за приведенный вариант, кое чего могу сказать и с моей стороны, тоже сделал часики с применением DS1307, там я до предела многие вещи скинул на железо, но про программную коррекцию слегка поизвращался. При подаче питания или общем сбросе содержимое ячеек часов (секунды, минуты, часы и т.д. до месяца и года) перекачивается в служебные ячейки памяти микроконтроллера и вывод SQW программируется на формирование импульсов 1 сек, этот сигнал в свою очередь заводится на один из входов прерывания микроконтроллера (сам тип контроллера особой роли не играет, здесь я провожу саму концепцию и алгоритм). Далее при каждом прерывании контроллер программно ведет учет времени и календарь. В саму программу вводится коррекция до +/- 14 секунд один раз в сутки, один раз в неделю и один раз в месяц. Величину коррекции придется определить опытным путем, вычисляется разница с эталоном и выставляется соответсвующая коррекция (для суток, недели и месяца, всего 3 константы для коррекции). При 2-х годичном прогоне данная тактика коррекции обеспечила погрешность +/- 2 сек. в любой момент года для полностью автономного режима. Упомянутые часы были предусмотрены для звонков по расписанию для ВУЗов, там учитываетса четная и нечетная неделя, автоматический переход на летнее/зимнее время и установка параметров от телевизионного пульта управления на ИК лучах.
P.S. Подобная тактика учета времени и календаря применена в компьютерах, включая и нынешние на 10-й винде...
Спасибо за приведенный вариант, кое чего могу сказать и с моей стороны, тоже сделал часики с применением DS1307, там я до предела многие вещи скинул на железо, но про программную коррекцию слегка поизвращался. При подаче питания или общем сбросе содержимое ячеек часов (секунды, минуты, часы и т.д. до месяца и года) перекачивается в служебные ячейки памяти микроконтроллера и вывод SQW программируется на формирование импульсов 1 сек, этот сигнал в свою очередь заводится на один из входов прерывания микроконтроллера (сам тип контроллера особой роли не играет, здесь я провожу саму концепцию и алгоритм). Далее при каждом прерывании контроллер программно ведет учет времени и календарь. В саму программу вводится коррекция до +/- 14 секунд один раз в сутки, один раз в неделю и один раз в месяц. Величину коррекции придется определить опытным путем, вычисляется разница с эталоном и выставляется соответсвующая коррекция (для суток, недели и месяца, всего 3 константы для коррекции). При 2-х годичном прогоне данная тактика коррекции обеспечила погрешность +/- 2 сек. в любой момент года для полностью автономного режима. Упомянутые часы были предусмотрены для звонков по расписанию для ВУЗов, там учитываетса четная и нечетная неделя, автоматический переход на летнее/зимнее время и установка параметров от телевизионного пульта управления на ИК лучах.
P.S. Подобная тактика учета времени и календаря применена в компьютерах, включая и нынешние на 10-й винде...
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18561
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: DS1307: проблемы и решения
вот и я так всегда делал... до этого раза.ST_A писал(а):вывод SQW программируется на формирование импульсов 1 сек, этот сигнал в свою очередь заводится на один из входов прерывания микроконтроллера
пришлось заменить прерывание от SQW на прерывание от таймера.
следующим этапом извращения пришлось отказаться от вычитывания времени из DS1307, оставив его только в качестве резервных часов на случай пропадания питания. раз в сутки в чип записываю дату и время, а считываю только при старте...
пока решил для коррекции задавать количество секунд "подводки" в сутки (от 0 до плюс-минус 125) и растягиваю эту коррекцию равномерно по суткам, считаю не секунды, а 10мс-ые интервалы и по одному в нужные моменты добавляю или вычитаю. протестировать длительно еще не успел, но алгоритм представляется рабочим...ST_A писал(а):В саму программу вводится коррекция до +/- 14 секунд один раз в сутки, один раз в неделю и один раз в месяц.
короче, из-за этого бракованного DS1307 такого наворотил...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!


