реклама на сайте
подробности

 
 
> M41T56 аналог DS1307, проблема при сбое питания
masterpc
сообщение Feb 29 2008, 08:51
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 1-03-07
Из: Винница
Пользователь №: 25 788



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


//Инициализация часов
void rtc_init(void)
{
unsigned char temp;
i2c_start();
i2c_tx_addr(DS1307_ADDR|WR);
i2c_tx(0); //адрес регистра состояния
i2c_start();
i2c_tx_addr(DS1307_ADDR|RD);
temp=i2c_rx(NOT_ACK); //читаем его
i2c_stop();

if(temp & (1<<CH)) //если питание часов пропадало
{
rtc_set_time(0, 0, 0); //устанавливаем время
rtc_set_date(1, 1, 2000); //устанавливаем дату

i2c_start();
i2c_tx_addr(DS1307_ADDR|WR);
i2c_tx(DS1307_CONTROL);
i2c_tx(0x90);
i2c_stop();

}
}



Даже когда питание пропадало, я все равно не попадаю в начальную инициализацию... 07.gif

Сообщение отредактировал masterpc - Feb 29 2008, 08:51
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bzx
сообщение Feb 29 2008, 10:33
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 482
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528



Цитата(masterpc @ Feb 29 2008, 11:51) *
Когда вынимаю батарейку и выключаю питание...

А как вообще Вы умудряетесь запустить устройство без питания?

rtc без всякой инициализации при подачи питания или Vbat начинают тикать. Выбросьте Вы "исходники", в t56 нет бита CH. Обычно, пропадание питания или отсутствие Vbat проверяют по совпадению "волшебного" слова, которое должно сидеть в ram. Т.е. подали питание, слово не обнаружили, значит, либо это первое включение вообще, либо проблемы с Vbat, далее, заносим в ram своё словечко и выставляем часы.


--------------------
Для связи email: info собака qbit.su
Go to the top of the page
 
+Quote Post
masterpc
сообщение Feb 29 2008, 10:43
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 1-03-07
Из: Винница
Пользователь №: 25 788



Цитата(bzx @ Feb 29 2008, 12:33) *
Выбросьте Вы "исходники", в t56 нет бита CH. Обычно, пропадание питания или отсутствие Vbat проверяют по совпадению "волшебного" слова, которое должно сидеть в ram. Т.е. подали питание, слово не обнаружили, значит, либо это первое включение вообще, либо проблемы с Vbat, далее, заносим в ram своё словечко и выставляем часы.


Зато в даташите для М41T56 есть вот, что:
3.3 Initial power-on defaults
Upon initial application of power to the device, the FT Bit will be set to a '0' and the OUT Bit
will be set to a '1.' All other Register bits will initially power-on in a random state.


Я теперь смотрю не за "волшебным словом" (хотя была такая идея), а за OUT Bit.

Сообщение отредактировал masterpc - Feb 29 2008, 10:44
Go to the top of the page
 
+Quote Post
bzx
сообщение Feb 29 2008, 11:01
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 482
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528



Цитата(masterpc @ Feb 29 2008, 13:43) *
Я теперь смотрю ... за OUT Bit.

А как контролировать Vbat планируется?


--------------------
Для связи email: info собака qbit.su
Go to the top of the page
 
+Quote Post
masterpc
сообщение Feb 29 2008, 12:02
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 1-03-07
Из: Винница
Пользователь №: 25 788



Цитата(bzx @ Feb 29 2008, 13:01) *
А как контролировать Vbat планируется?


Да вот так и контролирую, уже проверял, все ок.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 12:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01404 секунд с 7
ELECTRONIX ©2004-2016