Страница 1 из 1

EEPROM for AVR

Добавлено: Вс дек 01, 2013 22:38:46
Liberty_Prime
Доброго времени суток кошачьему сообществу!
Такой вопрос:
Собираю термостат на 168-й атмеге, имеется необходимость сохранять значение температуры в энергонезависимую память, в следствии чего вопрос - использовать встроенный EEPROM(вроде как 10000 циклов) или применить внешнюю память?

Re: EEPROM for AVR

Добавлено: Вс дек 01, 2013 22:48:48
blackx
Ну вот и посчитайте, насколько хватит вашего устройства.

Re: EEPROM for AVR

Добавлено: Вс дек 01, 2013 22:50:45
Liberty_Prime
2blackx, я хотел знать мнение, людей, собиравших подобные устройства, какие решения они применяли

Re: EEPROM for AVR

Добавлено: Вс дек 01, 2013 22:57:36
Flasher
100 000 циклов.
А какие решения тут применять? Хватит на срок службы-значит и париться не нужно.

Re: EEPROM for AVR

Добавлено: Вс дек 01, 2013 23:01:58
oleg110592
нет условий всех в задаче - с какой частотой писать еепром будете
если 10000 раз в минуту - на минуту и хватит

Re: EEPROM for AVR

Добавлено: Вс дек 01, 2013 23:14:44
Liberty_Prime
нет, писать будет только при изменении значения порога срабатывания - т.е. не особо часто. Т.е. есть смысл использовать встроенный EEPROM и не клеить себе мозги?)

Re: EEPROM for AVR

Добавлено: Вс дек 01, 2013 23:30:21
Flasher
Нет смысла использовать внешнюю память.

Re: EEPROM for AVR

Добавлено: Вс дек 01, 2013 23:36:03
Liberty_Prime
спасибо, это мне и нужно было)

Re: EEPROM for AVR

Добавлено: Пн дек 02, 2013 09:35:53
Smen
Liberty_Prime писал(а):это мне и нужно было
Так это же очевидно из условия.
А ещё можно использовать "размазывание" (последовательную запись в массив памяти), тем самым увеличив срок пропорционально количеству ячеек.

Re: EEPROM for AVR

Добавлено: Пн дек 02, 2013 21:07:06
protoder
Ну, поколдовать можно. Как вариант, придумать чередование ячеек EEPROM, что бы не все время писать в одну, а сдвигая. Сначала используем первую, потом вторую и т.д. Тогда при чтении можно брать последнюю не равную 0xFF (но тогда надо что-то придумывать, как сохранять значение 0xFF. Короче, канитель, но канитель интересная ).

Re: EEPROM for AVR

Добавлено: Пн дек 02, 2013 22:16:33
SmarTrunk
Даже если каждый день будут менять порог срабатывания по нескольку раз, ресурса ЕЕПРОМ хватит лет на десять, и чередования не потребуется, вроде.

Обязательно требуется защита ЕЕПРОМ от повреждения при выключении питания, хотя бы включением "Brown-out Detector". Это упоминается в даташите, раздел "Preventing EEPROM Corruption". Встречаются и более затейливые рекомендации на этот счет. Для параноиков - поставить внешний монитор питания, это дешевая трехвыводная деталь.

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



Гораздо интереснее, если параметр, который надо запоминать, меняется часто. Тогда можно сохранять его в ОЗУ, а записывать в ЕЕПРОМ только в момент выключения. Но это требует усложнения и схемы, и программы (было обсуждение на форуме). Однако, автору темы этого не требуется.

Re: EEPROM for AVR

Добавлено: Вт дек 03, 2013 08:46:59
Smen
SmarTrunk писал(а):Но это требует усложнения и схемы, и программы
Если в EEPROM используется только пара ячеек, такой вариант невыгоден.
Тут как-раз предпочтительнее "размазывание". Если достаточно записывать числа до 127 включительно, то решается вообще элементарно.