Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 24cxx или AT45
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
melkij
Нужно будет снимать даные каждые 5 мин и записывать их в память.
Вот в таком виде:
0609070503100

Тоисть с DS1307 снимаю все даные: дата и время 06.09.07 05:03
И плюс еще дописываю xxx (макс 3 знака).

Как мне все ето туда заносить ?
В одну ячейку все ето не запихнеш sad.gif, значит прийдется покускам в 6 ячеек записывать sad.gif

Если я правилно думаю и делаю, тогда такой вопрос:
На сколько мне хватит ну припустим 24x256?
Или лутше тогда писать на AT45x16,32,...
Старый Бабай
я бы использоват АТ45..
dimka76
Цитата(melkij @ Sep 7 2006, 06:17) *
Если я правилно думаю и делаю, тогда такой вопрос:
На сколько мне хватит ну припустим 24x256?
Или лутше тогда писать на AT45x16,32,...


Лучше AT26F004.
Корпус SO-8, 512Кбайт, SPI, стоит около 1$
SpiritDance
А я бы вообще использовал FRAM от рамтрона. Из-за ограниченности циклов перезаписи обычной EEPROM
melkij
Что использовать это второй вопрос.
Самый главный на сколько ее хватит.

PS: Желательно чтоб хватило ну на 3 мес.
DS
Цитата(melkij @ Sep 7 2006, 23:20) *
Что использовать это второй вопрос.
Самый главный на сколько ее хватит.

PS: Желательно чтоб хватило ну на 3 мес.


Тогда надо точно через 5 минут писать, и не писать время. А время записывать только при старте. А первый битик записи использовать для различения время это или данные. Сэкономите уйму места.
melkij
Цитата
Тогда надо точно через 5 минут писать, и не писать время. А время записывать только при старте. А первый битик записи использовать для различения время это или данные. Сэкономите уйму места.

Интересно ...
Поподробней можно, а то что-то я не совсем догнал smile.gif

Если при старте делать метку времени, то как дальше я буду знать когда любое значение записалось?

Ну можно исходить с того что запись должна ити каждые 5мин и пройти все даные до того места которое нужно(что мне не сильно нравится так как много действий делать нужно и не удобно да плюс еще может накапливатся ошибки времени).

Ну а если все писать то на сколько хватит памяти?
algidim
Цитата(melkij @ Sep 7 2006, 23:58) *
Ну а если все писать то на сколько хватит памяти?

Если использоваить FRAM, то хватит на сколько угодно. А вы имеети ввиду какую нехватку времени ресурс EEPROM или по объему данных. Если ресурс, то тогда используйте FRAM, в неё можно писать сколько угодо.
melkij
Цитата
Если использоваить FRAM, то хватит на сколько угодно. А вы имеети ввиду какую нехватку времени ресурс EEPROM или по объему данных. Если ресурс, то тогда используйте FRAM, в неё можно писать сколько угодо.


Имелось ввиду по обьему но и по ресурсам тоже интересно на сколько ее хватит.

И где можно почитать про эту FRAM и как ее с AVR юзать.
Если еще и исходничек на C, то будет ваше клас smile.gif
melkij
Вот посмотрел инфу о FM31xx и там написано что там есть RTC, это правда?
Цитата
* Интерефейс: последовательный I2C, тактовая частота до 1 МГц
* Массив памяти FRAM: неограниченное количество циклов обращения
* Часы-календарь реального времени <<<----------------
* Программируемый сторожевой таймер
* Монитор питания
* Генератор сигнала сброса
* Компаратор общего назначения (PFI/PFO)
* Программируемый серийный номер
* Счетчик внешних событий
* Питание: 2,7…5,5 В
* Диапазон рабочих температур: -40…+85°C
* Тип корпуса: узкий SOIC-14

Это то что мне как раз нужно два в одном флаконе smile.gif
Кто что знает как ети засы работают ?
vesago
Я во все свои устройства ставлю fm31256. Это RTC, супервизор питания, вачдог, и 32 килобайта фрам памяти и т.д. Стоит в среднем $3. Управляется по i2c. Подробнее наберите в гугле название и качните даташит. Ресурс памяти такой, что вашему прибору надобно несколько жизней, чтоб износить. В вашем случае если будете хранить время, преобразуйте в лонг. Запись лучьше вести по кольцу. То есть более свежая информация будет затирать самую старую. На сколько этого хватит? Пусть у вас одна запись 8 байт. Грубо говоря 32000/8=4000 записей * 5 минут = 20000 минут/60 = 333 часа/24=14 суток.
Если надо 3 месяца, лучьше at45. Дешевле выйдет. Но надо гдето хранить указатели. Лучьше пользовать вышеупомянутую микросхему. С at45 главное предусмотреть решение экстренной записи буфера в случае пропадания питания.
Shurmas
Цитата(vesago @ Sep 9 2006, 09:57) *
Я во все свои устройства ставлю fm31256. Это RTC, супервизор питания, вачдог, и 32 килобайта фрам памяти и т.д.


здОрово. у вас нет библиотеки под неё ? или примерчик.
vesago
RTC пользовал только в системе с армом на борту. В остальных случаях пользовал как хранитель констант и как супервизор. RTC и фрам память имеют различные адреса на шине и2с. Обращаемся к этим участкам памяти как к обычному i2c устройству. Единственное, когда обращаемся к RTC используем ОДНОБАЙТНЫЙ адрес. Драйвер i2c не привожу - тривиальная вещь. Он есть в разделе примеров. А у меня он на 2К из-за конечных автоматов. Отмечу только, что никаких специальных задержек не надо. Ни при записи, ни при чтении. Максимум прет на 400 кгц. Код привожу в качестве примера работы с RTC, выдраный из проекта под арм. Из опыта работы с сабжем отмечу, что главное проинициализировать сначала время и дату, так как после включения там мусор. Не забыть проинициализировать бит запуска RTC и при записи/чтении времени дергать биты W и R.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.