Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 28.03.2012, 09:42  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Эмуляция EEPROM на AT45DB

Понадобилась мне еепромина на пару мегабайт для даталоггера. Ну и выбор пал на атмеловскую AT45DB161D. До настоящего момента флешки использовал только для хранения неизменяемых данных большого размера. А тут надо как-то еепром эмулировать чтобы бросать в память записи по 26 байт через несколько минут.

У меня созрело 2 алгоритма:
Первый алгоритм:
page_adr - байтовый адрес записываемой страницы
rec_cnt - номер записи внутри страницы(0...19), записи по 26 байт.
1. если rec_cnt==0 (самая первая запись на странице) - стереть страницу
2. заполнить SRAM буфер 1 значениями 0xFF;
3. записать в буфер1 по адресу (rec_cnt*26) новую запись;
4. передать данные из буфера 1 в flash-память(без встроенного стирания)
5. если (++rec_cnt == 20) - это последняя запись на странице, то rec_cnt=0;
page_adr = page_adr + 528; - перейти на следующую страницу.

Моя идея заключается в том что после стирания страницы флеш, она содержит во всех байтах 0хFF. Записываются в биты только нули, поэтому я предварительно заполняю SRAM буфер значениями 0хFF, что по идее не влияет на остальные данные во флешке. Но так ли это на самом деле?

Второй алгоритм.
1. Считать страницу flash в буфер1;
2. записать в буфер1 по адресу (rec_cnt*26) изменяемые данные.
3. стереть страницу флеш;
4. записать страницу из буфера1 в флеш.
Алгоритм вроде хорош, но мне не очень нравится что каждую страницу надо будет стирать по 20 раз.

Еще вот непонятно зачем нужна операция Auto page rewrite(0x5.

Подскажите пожалуйста как это все лучше сделать.
Реклама:
uk8amk вне форума  
Непрочитано 28.03.2012, 11:01  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Эмуляция EEPROM на AT45DB

Работают оба алгоритма. Команда записи может неограниченное число раз оставлять ячейки неизменными или изменять 1 на 0. Во 2-м алгоритме команду стирания можно не подавать, если нет перехода на следующую страницу

Перезапись - аналог регенерации у динамической памяти. Раз в пару лет
niXto вне форума  
Сказали "Спасибо" niXto
uk8amk (29.03.2012)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Эмуляция К1804 NA1S Микроконтроллеры, АЦП, память и т.д 14 24.11.2013 22:00
AT45DB... в Proteus GLVlad Микроконтроллеры, АЦП, память и т.д 3 19.10.2011 17:58
эмуляция 93С46 roman-i Микроконтроллеры, АЦП, память и т.д 2 10.04.2009 11:41
Вопрос по Atmel`овским флешкам серии AT45DB andreiesafov Микроконтроллеры, АЦП, память и т.д 10 30.03.2008 01:16
Эмуляция I2C EEPROM на компьютере souzzz Микроконтроллеры, АЦП, память и т.д 6 11.11.2007 00:54


Часовой пояс GMT +4, время: 10:10.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot