Казалось бы, без кварца работать как ОЗУ микросхема должна уметь.
Ну, то что ДШ об этом умалчивает, бог с ним, но вообще то там расписано другое - ОЗУ то общее, в т.ч. и для RTC (ячейки 0х00-0х07). По крайней мере раз в секунду ячейка 0х00 (секунды) должна перезаписываться по инициативе RTC. Что-то наводит на мысль, что независимый прямой доступ к ОЗУ с двух сторон от RTC и от шины I2C для такой мелкой бодяги крутовато. Наверняка реализовано какое-нибудь разрешение конфликтов, а значит - если RTC тупо молчит, то и ОЗУ "вздыхает в тряпочку". Видимо без кварца никак.
Заголовок сообщения: Re: Всё по DS1307 и прочим часам Dallas (Maxim)
Добавлено: Ср мар 19, 2014 11:36:36
Друг Кота
Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 18808 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Хммм, возможно.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Так ведь там прямо указан стандартный режим - чтение всего ОЗУ массивом за один раз. А поячейковый доступ с произвольного адреса - это уже моя "недокументированная" самодеятельность - но вполне работоспособно, хотя протокол несколько "покурочен" относительно квитирования... Да и ОЗУ это (относительно части принадлежащей RTC) или регистры общего доступа встроенного МК - суть неведомо... Можно такую штукй на мелколапом PICе сварганить. Ежли маркировку затереть да поддержку протокола обеспечить - то и особой разницы не очень заметно будет, разве что по потреблению... и то весьма относительно.
Заголовок сообщения: Re: Всё по DS1307 и прочим часам Dallas (Maxim)
Добавлено: Ср май 07, 2014 14:55:58
Родился
Зарегистрирован: Ср май 07, 2014 13:32:12 Сообщений: 8 Откуда: UA
Рейтинг сообщения:0
Всем привет! Собрал часики DS1307 + Atmega8 + LCD При питании 5В часы за 20 мин. отстают на 8 мин. Если выключить общее питание и оставить на батарейке, то тикают один в один!
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Заголовок сообщения: Re: Всё по DS1307 и прочим часам Dallas (Maxim)
Добавлено: Чт май 08, 2014 09:31:54
Друг Кота
Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 18808 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
KVN писал(а):
Собрал часики
Ну, экстрасенсы на майских каникулах.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Заголовок сообщения: Re: Всё по DS1307 и прочим часам Dallas (Maxim)
Добавлено: Чт май 08, 2014 09:43:11
Друг Кота
Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 18808 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Схема, код конечно же. А то почему-то у всех работает, а у вас не работает. Пробовали отцеплять МК от часов и питать их от 5 В?
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
// Read the AD conversion result unsigned int read_adc(unsigned char adc_input) { ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); // Delay needed for the stabilization of the ADC input voltage delay_us(10); // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCW; }
// Declare your global variables here unsigned char x1=9, x2=9; unsigned char rom_code[2][9]; //масив с адресами найденых датчиков unsigned char devices; unsigned char lcd_buffer[32]; //переменная в которой количество float temp1,temp2; char *str1="Device Ready"; char *str2="Device No Ready"; float V; int data; unsigned char string[16]; unsigned char hour1,min1,sek1; //часы, минуты, секунды unsigned char w_day1,day1,month1,year1; //день, месяц, год
void main(void) { // Declare your local variables here
if (PINB.4==0) // если нажата первая кнопка { delay_ms(250); // задержка 1/4 сек. (для удобства) выбора min1++; PORTC.5=~PORTC.5; } if (PINB.5==0) // если нажата вторая кнопка { delay_ms(250); // задержка 1/4 сек. (для удобства) выбора min1--; PORTC.5=~PORTC.5; } if (PINB.6==0) // если нажата третья кнопка { delay_ms(250); // задержка 1/4 сек. (для удобства) выбора hour1++; PORTC.5=~PORTC.5; } if (PINB.7==0) // если нажата четвертая кнопка { delay_ms(250); // задержка 1/4 сек. (для удобства) выбора hour1--; PORTC.5=~PORTC.5; } if (min1==60||min1==255) // если мин = 60 или 255 { min1=0; // зануляем переменную "минута" } if (hour1==24||hour1==255) // так как у нас часы имеют 24 часовый формат { // при достыжении 24 часов, онулируем все переменные. hour1=0; } rtc_set_time(hour1,min1,sek1); // установка времени
sprintf(lcd_buffer,"%.1f\xdfC",temp1); lcd_gotoxy(x1,0); // указали место на дисплее lcd_puts(lcd_buffer); // выводим масив на LCD
Заголовок сообщения: Re: Всё по DS1307 и прочим часам Dallas (Maxim)
Добавлено: Чт май 08, 2014 11:32:16
Друг Кота
Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 18808 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
KVN писал(а):
Вот только с питанием какая-то непонятка
Вы проверьте как они от 5 В без контроллера ходят для начала, прежде чем на питание валить.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Заголовок сообщения: Re: Всё по DS1307 и прочим часам Dallas (Maxim)
Добавлено: Чт май 08, 2014 11:42:14
Друг Кота
Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 18808 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:2 Медали: 1
Ну тогда я надеюсь, намёк понят — в какую сторону копать.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Заголовок сообщения: Re: Всё по DS1307 и прочим часам Dallas (Maxim)
Добавлено: Чт май 08, 2014 12:09:55
Друг Кота
Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 18808 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
KVN писал(а):
Непонятно как проц по питанию может влиять на часы?
Да блеать, при чём тут питание??? МК вам наверняка время сбивает.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Проблема: DS1307 считает время только при отключенном основном питании. При работе в активном режиме - все команды и ответы проходят, время переводится, но часы стоят. Перешел на батарею - пошли. Подал основное - остановились. Дело наверно в питании, но что с ним может быть не так? питаю от USB экранированным кабелем, на плате 10 мкФ тантал по входу питания и 1 мкФ кермика около микросхемы. Пробовал разные кварцы в разных вариантах подключения (земля, кондицаторы... ), думаю дело не в этом. Помогите кто чем может.
Заголовок сообщения: Re: Всё по DS1307 и прочим часам Dallas (Maxim)
Добавлено: Пн май 12, 2014 09:51:26
Друг Кота
Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 18808 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
enq писал(а):
При работе в активном режиме - все команды и ответы проходят, время переводится
Может, всё дело в коде как у человека выше? Пробовали отключать МК от часов при основном питании?
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Доброго времени суток. А есть ли кого-нибудь наработка под это дело на ассемблере? Желательно с коментариями, я только учусь. А то я везде натыкаюсь на сишные библиотеки.
Проблема: DS1307 считает время только при отключенном основном питании. При работе в активном режиме - все команды и ответы проходят, время переводится, но часы стоят. Перешел на батарею - пошли. Подал основное - остановились. Дело наверно в питании, но что с ним может быть не так?
Такого быть не должно. DS1307 я купил давно, но пока так руки до неё и не дошли. У меня бытовые часы, календарь (PCF8582) и два термометра (DS1620) все на одной шине I²C работали с МК КР1878ВЕ1. Никаких сюрпризов при этом не было.
Проверьте программу, чтобы в ней без надобности не дёргались линии портов МК используемых для SDA и SCL I²C, и чтобы они в неактивном состоянии имели высокие уровни.
Основное питание и питание генератора хода часов надо развязать диодом и резистором, через которые будет подзаряжаться ионистор/аккумулятор при наличии основного питания, а диод будет предотвращать разряд ионистора всей схемой устройства.
Gudd-Head писал(а):
Коли микра работает с I²С на скоростях до 400 кГц, у неё наверняка есть встроенный генератор. Не верю я в ФАПЧ от 32-х кГц. Хотя в ДШ про это ни слова
Фи!
Ну и зачем для шины I²C генератор именно 400 кГц, да ещё и с ФАПЧ? Частота шины тактирования SCL может быть от >0 Гц до предельной 0.4-1МГц. Её на шине задаёт мастер, и он же может затягивать циклы тактирования по своей инициативе даже в одном цикле обмена, приостанавливая обмен, хоть на неделю. При возобновлении тактирования продолжается обмен. Поэтому этим свойством шины I²C можно активно пользоваться при разработке программ использующих прерывания в других подпрограммах. Единственно надо следить, чтобы в это время не плясали уровни на выводах портов назначенных в качестве SDA и SCL. Иначе мастер должен снова сформировать старт-условие и начинать обмен заново.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения