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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> EEPROM. Счетчик времени наработки., AT24C02B + mega128
Spym
сообщение Jul 12 2008, 22:37
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 24-02-08
Из: Москва
Пользователь №: 35 348



Доброго времени суток.

Требуется хранить в энергонезависимой памяти количество запусков станка и время наработки, для чего предполагается использовать что-то вроде Atmel AT24C02B.

Запись значений в EEPROM производится при отключении питания, пока конденсаторы держат 5В.

С целью увеличить ресурс памяти, была мысль организовать работу с ней следующим образом:

Изначально во все ячейки записаны 0x00.
При отключении устройства пишем значения в ближайшие свободные ячейки.
При последующем включении читаем последнюю ячейку перед 0x00.
Если после прочитанной ячейки нет свободных, записываем во все ячейки 0x00 (т.е. следующая запись с первой ячейки).

(Скорость в данном случае не критична).
Возможно, кто решал схожие задачи?
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 12 2008, 22:56
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Spym @ Jul 13 2008, 01:37) *
(Скорость в данном случае не критична).
Возможно, кто решал схожие задачи?

IMHO для такой задачи лучше взять AT93C46
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 12 2008, 22:56
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Spym @ Jul 13 2008, 02:37) *
Если после прочитанной ячейки нет свободных, записываем во все ячейки 0x00 (т.е. следующая запись с первой ячейки).

...и теряем все данные в случае проблем с записью (а они могут быть, т.к. Вы собираетесь переписывать все, что займет значительное время).

У современных EEPROM'ов весьма приличный ресурс (у того же AT24C02B 1 млн. записей), экономить его нужно разумно.
Go to the top of the page
 
+Quote Post
Flasher
сообщение Jul 12 2008, 22:57
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294



Может процессор со встроенным EEPROM?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 12 2008, 22:57
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Jul 13 2008, 02:56) *
IMHO для такой задачи лучше взять AT93C46

Чем лучше?
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 12 2008, 23:03
Сообщение #6


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(aaarrr @ Jul 13 2008, 01:57) *
Чем лучше?

ценой, количеством циклов записи, пословной организаций, и интерфейс быстрее (2Mhz).

Другой хороший вариант - DS13xx с батарейкой и с NVRAM и обновлять каждую секунду по прерыванию от DSки.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 12 2008, 23:20
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Jul 13 2008, 03:03) *
ценой, количеством циклов записи, пословной организаций, и интерфейс быстрее (2Mhz).

Цена одинаковая - около 0. Количество записей совпадает. Интерфейс на меге придется делать программно.
Go to the top of the page
 
+Quote Post
sgs
сообщение Jul 13 2008, 07:01
Сообщение #8


Участник
*

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



Цитата(aaarrr @ Jul 13 2008, 04:20) *
Цена одинаковая - около 0. Количество записей совпадает. Интерфейс на меге придется делать программно.


Ну, на самом деле, 93С46 будет подороже. чем 24С02. А вот насчет интерфейса - пожалуйста, поподробнее. Кажется, на большинстве ATMega SPI интерфейс аппаратный? Кстати, 24С02 не стоит использовать - сейчас минимальный кристалл, рекомендованный производителями - 24С04. Что касается удобства и простоты сохранения данных - лучше, на мой взгляд, использовать SPI память типа 93C46 или 25040A (или людой другой емкости) - она просто быстрее в обмене, чем I2C. Для увеличения ресурса записи можно посмотреть рекомендации Atmel'а "AVR101: High Endurance EEPROM Storage". Но в своей практике я предпочитаю продукцию RAMTRON - FM24C04 или FM24C16. Их основное преимущество - отсутствие 5 мсек задержки на запись и 1Е12 циклов записи в одну ячейку, что перекрывает любые мыслимые потребности... Кстати, у RAMTRON'а есть и SPI память, если хочется побыстрее. Цена вполне сопоставима с 93С46 и в полтора раза выше, чем у AT24C16.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 13 2008, 11:12
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sgs @ Jul 13 2008, 11:01) *
А вот насчет интерфейса - пожалуйста, поподробнее. Кажется, на большинстве ATMega SPI интерфейс аппаратный?

SPI аппаратный, но microwire он делать не умеет.
Go to the top of the page
 
+Quote Post
dx40
сообщение Jul 13 2008, 11:26
Сообщение #10


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

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



А чем не подходит стандартная реализация?
Разбиваем всю память на десяток - сотню ячеек для записи. Сначала забиваем все ячейки нулями. По включении ищем наибольшее значение счетчика, запоминаем номер ячейки. По выключению записываем в следующую ячейку.

Можно немного улучшить - записываем значения раз в час, каждый раз в следующую ячейку, а по включению можно будет исправить ошибку, если вдруг записалось что-то не то.
Go to the top of the page
 
+Quote Post
Spym
сообщение Jul 13 2008, 17:31
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 24-02-08
Из: Москва
Пользователь №: 35 348



Цитата
А чем не подходит стандартная реализация?

Так и хотел сделать.

С EEPROM вроде все ясно.
Я стал смотреть в сторону FRAM... Оправдано ли её применение здесь, или стоит остановиться на EEPROM...?
Go to the top of the page
 
+Quote Post
dx40
сообщение Jul 13 2008, 17:54
Сообщение #12


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

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



Цитата(Spym @ Jul 13 2008, 21:31) *
Так и хотел сделать.

С EEPROM вроде все ясно.
Я стал смотреть в сторону FRAM... Оправдано ли её применение здесь, или стоит остановиться на EEPROM...?


А зачем? Встроенной ЕЕРROM должно хватить. Только стирать её всю не надо, а по заполнению переписывать ячейки сначала. Ну и стандартные рекомендации - не использовать нулевой адрес, включить BOD.
Go to the top of the page
 
+Quote Post
Serjio
сообщение Jul 13 2008, 18:45
Сообщение #13


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

Группа: Свой
Сообщений: 137
Регистрация: 3-09-04
Пользователь №: 594



Если писать во внутреннюю память, то при записи раз в 10 минут ресурсов хватит почти на 2 года (пишем статически в одну ячейку), но 10 минут, как показывает практика, мало. Желательно раз в 10 сек, чтобы не терялась наработка.Можно использовать, как написано выше - тогда ресурсов хватит надолго, либо использовать FRAM(типа FM24С04 -27 руб. или с часами и проч.. FM3104 - 114руб.)
Go to the top of the page
 
+Quote Post
delamoure
сообщение Jul 13 2008, 21:04
Сообщение #14


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

Группа: Свой
Сообщений: 176
Регистрация: 2-04-08
Из: Днепропетровск
Пользователь №: 36 406



Цитата(Spym @ Jul 13 2008, 20:31) *
Так и хотел сделать.

С EEPROM вроде все ясно.
Я стал смотреть в сторону FRAM... Оправдано ли её применение здесь, или стоит остановиться на EEPROM...?



Не забивайте голову выбором - юзайте FRAM.


--------------------
Ребята, как же это вы без гравицапы пепелац выкатываете из гаража? Это непорядок. ©
Go to the top of the page
 
+Quote Post
Razubaev
сообщение Jul 14 2008, 07:29
Сообщение #15


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 7-05-08
Пользователь №: 37 343



Serjio: "...ресурсов хватит почти на 2 года..."

Пожалейте эксплуататоров. В результате придется каждый год менять.
Go to the top of the page
 
+Quote Post

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

 


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


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