Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ATxmega EEPROM
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
queet
Приветствую всех.
Возникла проблема с ATxmega128A1. При выключении/включении питания слетает информация в EEPROM.
Подскажите, кто в курсе, как с этим бороться.
Спасибо.
MDD
Цитата(queet @ Sep 22 2010, 09:30) *
Подскажите, кто в курсе, как с этим бороться.

BOD во фьюзах включить и правильно настроить не забыли?
queet
Цитата(MDD @ Sep 22 2010, 10:03) *
BOD во фьюзах включить и правильно настроить не забыли?

BODLVL менял от 1.6 до 2.9. Не помогает...
Правильно настроить - это как?
MDD
Кроме установки уровня его еще и включить нужно.
Почитайте о фьюзах BODPD и BODACT.
queet
BODPD и BODACT тоже не спасают в любых комбинациях...
Кроме фьюзов еще какие-нибудь причины могут быть?
MDD
Может тогда свой софт куролесит? Например, при старте куда не надо залетает...
Не пробовали ставить ловушку в функцию записи в EEPROM?
И вообще - какой характер повреждения записей?
queet
С софтом, вроде, нормально... Пока программатор подключен (кирпич подпитывается) рестартует нормально. EEPROM нормально и пишется и читается. Если питание оключается полностью, тогда проблема. В EEPROM забиваются всегда одни и те же значения...
Когда-то давно похожие проблемы были с простыми AVR-ами. Тогда проблему решил с помощью MC33064. Здесь, вроде, BOD должен решать эту проблему, но.... sad.gif
MDD
Цитата(queet @ Sep 22 2010, 19:22) *
проблемы были с простыми AVR-ами... Здесь, вроде, BOD должен решать эту проблему, но.... sad.gif

Да собственно про BOD я и вспомнил из-за этой старой болезни. Но автомат работы с энергонезависимой памятью у Хмеги существенно отличается. На практике у меня макет с Xmega32 по недосмотру пару месяцев отлаживался в выключенным BODом. И ничего не слетало.
Я бы все-таки смотрел в первую очередь софт. Запись одних и тех же значений - это весьма подозрительно. Например, я бы для начала поставил вместо функции записи "заглушку" и посмотрел бы результаты.
V_G
Я BOD не включаю, и ничего не слетает. Проц. Xmega32A4.
Смотрите разводку платы, блокировки...
Снаружи никакие лог. единицы плату не запитывают?
xelax
Посмотрите errata на eeprom для этого камня. Я пока не реализовал описанный там workaround, поведение было очень странным от порчи данных до слетания pc. С workaround всё работает стабильно, проблем с eeprom не наблюдаю. У меня были инженерный сэмплы, в серийных образцах той же ревизии проблем не наблюдал.
MDD
Цитата(V_G @ Sep 23 2010, 07:53) *
Я BOD не включаю, и ничего не слетает.

Кстати, а почему такой странный осознанный выбор?
У себя на макете при выключенном BODе я замечал одну странность - изредка контроллер не стартовал при включении питания.
V_G
Цитата(MDD @ Sep 24 2010, 16:32) *
Кстати, а почему такой странный осознанный выбор?
У себя на макете при выключенном BODе я замечал одну странность - изредка контроллер не стартовал при включении питания.

Меня не устраивает ресет при активации BODa. Внутрипроцессорный BOD служит лично процессору. У меня внешний монитор, который бережет девайс в целом (а там разные ИС с разными порогами отказа по питанию - критическими питающимим напряжениями). При сработке внешнего монитора я пишу статус девайса в EEPROM проца (вполне успевает записаться 1 страница из 32 байт), и после восстановления питания потери информации минимальны.
Другой девайс (упрощенный вариант на той же плате) менее критичен к сбоям питания, и монитор я там не паяю. Но и BOD не включаю. И тут почему-то проблем с EEPROM не имею. Здесь, правда, запись в EEPROM - очень редкая операция, которая производится в основном в ходе настройки. А при боевой работе в основном только чтение.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.