|
EEPROM. Счетчик времени наработки., AT24C02B + mega128 |
|
|
|
 |
Ответов
|
Jul 16 2008, 07:36
|
Местный
  
Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101

|
Вот как я представляю себе это  Прошу критиковать. (применение FRAM, батареек - простите, это другая песня, речь идёт именно об использовании родного ППЗУ в кристалле). В EEPROM выделяем буфер N слов. Слово 4 байта ( 3 байта число минут, хватит на 32 года, 1 байт CRC). При прошивке расписываем буфер нулями с правильным CRC. При включении прибора ищем ближайшее слово с правильным CRC. (адрес P) Его значение переписывааем в RAM, там наращиваем каждую минуту. Дальше ищем от P+1 до P-2 по кольцу слово с правильным нулём (в смысле CRC), адрес Q. Если нет - пишем нуль+CRC в P+1 .. P-2 пока получится. Во время работы каждую минуту записываем значение времени в Q с проверкой. Не получилось - ищем/организуем следующее слово для записи, как описано выше. Что получается. Буфер содержит "хвост" из счётчиков последних включений с правильным CRC. По жизни EEPROM исчерпывает ресурс, и тогда получается неверный CRC. Вся эта байда работает, пока не испортятся все слова буфера, кроме одного. Тогда в нём содержится счётчик наработки на момент исчерпания ресурса. Точность 1 минута, потери возникают при включении меньше, чем на минуту и при каждом выключении. То есть прибор при нормальной работе включается на десятки минут. Чтобы не писать каждую минуту и избежать потерь при выключении, можно организовать контроль питания и буферный кондёр такой, чтобы хватило на запись. Но это уже третья песня  Что хочется узнать. Как портятся ячейки EEPROM - становятся FF, 00 или ещё как-то? Для проверки правильности записи - CRC или ещё что-то?
Сообщение отредактировал Maik-vs - Jul 16 2008, 07:44
|
|
|
|
|
Jul 18 2008, 08:22
|
Участник

Группа: Участник
Сообщений: 54
Регистрация: 25-01-06
Из: Самара
Пользователь №: 13 578

|
Цитата(Maik-vs @ Jul 16 2008, 12:36)  Вот как я представляю себе это  Прошу критиковать. (применение FRAM, батареек - простите, это другая песня, речь идёт именно об использовании родного ППЗУ в кристалле). В EEPROM выделяем буфер N слов. Слово 4 байта ( 3 байта число минут, хватит на 32 года, 1 байт CRC). При прошивке расписываем буфер нулями с правильным CRC. .... Что хочется узнать. Как портятся ячейки EEPROM - становятся FF, 00 или ещё как-то? Для проверки правильности записи - CRC или ещё что-то? Поскольку изначально предлагалось писать в 24С02, то вопрос использования внутреннего EEPROMа не поднимался. Для использования EEPROM я применял лет пять назад следующий алгоритм: 3 зоны памяти - 2 байта, 256 байтов и 4х256. В первой зоне - два старших байта (3 и 2) сохраняемого числа. Они пишутся с разрядкой 1/65536 относительно частоты записи. Во втором блоке - средний байт (1), причем адрес внутри блока определяется байтом (2). Младший байт пишется в массив 1024(4х256) по адресу, определяемому байтом (1) и младшими разрядами байта (2). Запись в каждую зону - строго по изменению соответствующего байта. Таким образом, живучесть каждой записи определяется живучестью записи самого младшего байта - 600 000 Х 1024, что дает порядка 20 лет неперывной записи с периодом в 1 секунду... Естественно, применялась 24С16 - 2К байтов. Свободные ячейки пошли на служебные параметры процессора... Правда, такой вариант применим только при наличии внешней EEPROM, поскольку надежность записи напрямую зависит от объема памяти. Еще одна проблема внутреннего EEPROMа - запись в одну ячейку за раз, в то время, как 24 серия имеет буфер на 8-16-32 байта одновременной записи.
|
|
|
|
Сообщений в этой теме
Spym EEPROM. Счетчик времени наработки. Jul 12 2008, 22:37 defunct Цитата(Spym @ Jul 13 2008, 01:37) (Скорос... Jul 12 2008, 22:56 aaarrr Цитата(defunct @ Jul 13 2008, 02:56) IMHO... Jul 12 2008, 22:57  defunct Цитата(aaarrr @ Jul 13 2008, 01:57) Чем л... Jul 12 2008, 23:03   aaarrr Цитата(defunct @ Jul 13 2008, 03:03) цено... Jul 12 2008, 23:20    sgs Цитата(aaarrr @ Jul 13 2008, 04:20) Цена ... Jul 13 2008, 07:01     aaarrr Цитата(sgs @ Jul 13 2008, 11:01) А вот на... Jul 13 2008, 11:12      dx40 А чем не подходит стандартная реализация?
Разбивае... Jul 13 2008, 11:26 aaarrr Цитата(Spym @ Jul 13 2008, 02:37) Если по... Jul 12 2008, 22:56 Flasher Может процессор со встроенным EEPROM? Jul 12 2008, 22:57 Spym ЦитатаА чем не подходит стандартная реализация?
Та... Jul 13 2008, 17:31 dx40 Цитата(Spym @ Jul 13 2008, 21:31) Так и х... Jul 13 2008, 17:54 delamoure Цитата(Spym @ Jul 13 2008, 20:31) Так и х... Jul 13 2008, 21:04 Serjio Если писать во внутреннюю память, то при записи ра... Jul 13 2008, 18:45 Razubaev Serjio: "...ресурсов хватит почти на 2 года..... Jul 14 2008, 07:29 Serjio Это не рекомендация - это предупреждение, сперва с... Jul 14 2008, 12:21 prm ИМХО количество запусков лучше считать при подаче ... Jul 15 2008, 03:40 aaarrr Цитата(prm @ Jul 15 2008, 07:40) Отличный... Jul 15 2008, 08:57  defunct Цитата(aaarrr @ Jul 15 2008, 11:57) ИМХО,... Jul 15 2008, 11:25 Artem Polonsky Если не критична точность - можно просто обновлять... Jul 15 2008, 09:41 aaarrr Если правильно (без стирания всего и вся разом) ор... Jul 15 2008, 11:37 prm Цитата(aaarrr @ Jul 15 2008, 14:57) ИМХО,... Jul 15 2008, 11:38 aaarrr Цитата(prm @ Jul 15 2008, 15:38) Смотрим ... Jul 15 2008, 11:43 delamoure Цитата(prm @ Jul 15 2008, 14:38) Смотрим ... Jul 18 2008, 08:00 prm Вариантов привели огромное количество. Думаю автор... Jul 15 2008, 11:57 MALLOY2 А чем неустраевает внутриняя EEPROM меги128 ? Jul 15 2008, 12:36 akl Здравствуйте. Для решения аналогичной задачи остан... Jul 15 2008, 13:28 ukpyr Цитатапри записи раз в 10 минут ресурсов хватит по... Jul 15 2008, 13:43 Serjio Курим datasheet на мегу8 (и прочие меги) : 512 Byt... Jul 15 2008, 20:39 aaarrr Цитата(Serjio @ Jul 16 2008, 00:39) Кольц... Jul 15 2008, 20:48 Petka Цитата(Serjio @ Jul 16 2008, 00:39) Кольц... Jul 16 2008, 06:56 aaarrr Цитата(Serjio @ Jul 16 2008, 10:26) вполн... Jul 16 2008, 09:07 IJAR Для Вашей задачи есть готовое устройство
http://ww... Jul 23 2008, 07:56 Spym Уже готова разводка под FM25C160 (FRAM).
Планирую ... Jul 24 2008, 09:53 sgs Цитата(Spym @ Jul 24 2008, 14:53) Уже гот... Jul 24 2008, 16:45 Боинг749 Цитата(Spym @ Jul 13 2008, 01:37) Доброго... Aug 25 2008, 12:59 Igor26 Цитата(Боинг749 @ Aug 25 2008, 16:59) Есл... Aug 25 2008, 13:06  Боинг749 Цитата(Igor26 @ Aug 25 2008, 16:06) Послу... Aug 25 2008, 13:20
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|