Обсуждаем цифровые устройства...
Ответить

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

Пт июл 22, 2022 23:22:11

Спасибо за оперативность, только уточню некоторые детали которые до поры до времени были в тени. В моих часах DS1307 используется для хранения текущего времени и календаря при отключенном питании микроконтроллера. При подачи питания на микроконтроллер или общего сброса содержимое времени и календаря DS-ки служит для контроллера как отправная точка отсчета (исходные данные для программного учета времени для микроконтроллера), далее DS-ка служит как источник импульсов 1 сек и энергонезависимое ОЗУ для хранения некоторых служебных констант микроконтроллера. Т. е. у меня отсчитываются целые секунды сформированные из импульсов часового кварца посредством DS-ки, это мне позволяет таймеры-счетчики контроллера использовать для других целей, например формирование специальных звуков и мелодий без существенного увеличения объема программы. Раз ARV упомянул про интервалы в 10 мс, то могу предположить что для учета времени по полной использует один из таймеров-счетчиков, это так или иначе несколько увеличивается объем программы для процедуры учета времени. У меня объем кода составил около 3,6 КБ для древнего AT89C51 для динамической индикации 4-х индикаторов на 17 сегментов (там мне было необходимо высвечивать и буквы, не только цифры), при этом я не особо воевал за оптимизацию программного кода, при желании этот объем можно ужать до 2,0 ... 2,5 КБ, особенно для варианта применения обычных 7-сегментных индикаторов (традиционно я применяю таблицы для перекодировки, они съедают многовато памяти для программ).

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

Пт июл 22, 2022 23:30:31

у меня проект несколько сложнее... на текущий момент прошивка atmega328 имеет размер около 23 килобайт... так что сотня байт больше, сотня байт меньше уже ничего не решает.
интервалы 10 мс нужны для других задач, вот заодно на них же и время считаю... зато коррекция получается "размазанная" по суткам: если надо 1 секунду прибавить, то делается это за 100 поправок на 10 мс через каждые 86400 прерываний таймера...

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

Сб июл 23, 2022 16:58:52

Добро, с этим вопросов нет. И последний вопрос, за год какая ошибка по времени накапливаетса в вашем устройстве?

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

Сб июл 23, 2022 20:22:18

моему устройству еще и недели от роду нет, даже батарейку пока не вставил

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

Сб июл 23, 2022 21:51:49

Хороошо, думаю что через месяц непрерывной работы вашего устройства будут нужные сведения про погрешность.
Ответить