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

 
 
> 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
Ответов (1 - 6)
masterpc
сообщение Feb 29 2008, 10:21
Сообщение #2


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

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



Разобрался сам, но другим способом. Управляющий регистр в M41T56 отличается от управляющего регистра DS1307. У первого есть калибровка, кроме того, 7-й бит после отключения питаниявыставляется в уровень лог. 1. Вот по этому признаку я и отслеживаю состояние батарейки.
Go to the top of the page
 
+Quote Post
bzx
сообщение Feb 29 2008, 10:33
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #4


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

Группа: Участник
Сообщений: 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
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #6


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

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



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


Да вот так и контролирую, уже проверял, все ок.
Go to the top of the page
 
+Quote Post
masterpc
сообщение Mar 3 2008, 10:52
Сообщение #7


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

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



Цитата(masterpc @ Feb 29 2008, 14:02) *
Да вот так и контролирую, уже проверял, все ок.


Каюсь, ниче оно так не работает, пришлось применять запись в RAM и потом проверять. Простите за упрямство smile.gif
Go to the top of the page
 
+Quote Post

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

 


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


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