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

 
 
> Сброс EEPROM, при коммутации питания
smk
сообщение Oct 22 2007, 08:35
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Контроллер Tiny24. В программе предусмотрен счетчик включений питания. Значение хранится в EEPROM. Инкремент счетчика происходит при инициализации контроллера, сначала наращивается счетчик, затем разрешаются глобально прерывания. Так вот один раз обнаружилось, что значение счетчика обнулилось именно в момент выключения (включения??? возможен дребезг) питания. Кто сталкивался сподобным, может подскажите что делать и ждать ли повторения подобного?
Спасибо всем заранее!


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
mse
сообщение Oct 22 2007, 08:53
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(smk @ Oct 22 2007, 12:35) *
Контроллер Tiny24. В программе предусмотрен счетчик включений питания. Значение хранится в EEPROM. Инкремент счетчика происходит при инициализации контроллера, сначала наращивается счетчик, затем разрешаются глобально прерывания. Так вот один раз обнаружилось, что значение счетчика обнулилось именно в момент выключения (включения??? возможен дребезг) питания. Кто сталкивался сподобным, может подскажите что делать и ждать ли повторения подобного?
Спасибо всем заранее!

Ессно, жди ещо. Сделай выдержку при фкл. для подавления и пиши.
Go to the top of the page
 
+Quote Post
shamray
сообщение Oct 22 2007, 09:04
Сообщение #3


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

Группа: Свой
Сообщений: 114
Регистрация: 31-08-05
Из: Украина, Одесса
Пользователь №: 8 105



А еще должен быть включен Brown-out, а лучше внешняя микруха на Reset. И еще, бывают проблемы при записи в eeprom по адресу 0. Лучше вообще не использовать эту ячейку. Для надежности можно ввести проверку с помощю CRC или просто хранить несколько копий переменной и потом при старте по мажоритарному призноку определять. Хранить лучше инвертированные и неивертированные значения, тогда при порче памяити (чаще всего сбросе в 0) не будет ложной загрузки.
Go to the top of the page
 
+Quote Post
smk
сообщение Oct 22 2007, 09:28
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Цитата
бывают проблемы при записи в eeprom по адресу 0

хм... вообщето там и находится этот счетчик... смотрел когда-то возможность указания адреса размещения переменной в EEPROM при написании программы в CVAVR, так и не нашел.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
mse
сообщение Oct 22 2007, 09:50
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(smk @ Oct 22 2007, 13:28) *
хм... вообщето там и находится этот счетчик... смотрел когда-то возможность указания адреса размещения переменной в EEPROM при написании программы в CVAVR, так и не нашел.

А-а-а...точно. Это-ж classic Mega. Так что желательно ещё, помимо указанного, грузить в указатель адреса ЕЕПРОМ адрес непользуемой ячейки. Например, "0" А сам счётчик хоть с "1".
Go to the top of the page
 
+Quote Post
D H
сообщение Oct 22 2007, 10:10
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 62
Регистрация: 1-11-06
Пользователь №: 21 847



Цитата(smk @ Oct 22 2007, 13:28) *
хм... вообщето там и находится этот счетчик... смотрел когда-то возможность указания адреса размещения переменной в EEPROM при написании программы в CVAVR, так и не нашел.

В даташите, с примерами на C, показано как писать/читать в/из eeprom по произвольному адресу. Стр 21-22. Rev.2486
Go to the top of the page
 
+Quote Post
smk
сообщение Oct 22 2007, 11:14
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Цитата
В даташите, с примерами на C, показано как писать/читать в/из eeprom по произвольному адресу. Стр 21-22. Rev.2486

Уже читаю.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post

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

 


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


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