Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
05.09.2012, 17:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: AT45DB
Сообщение от papa_n
|
Подскажите каким образом дописывать? и как потом к этим данным обращаться?
|
Элементарно... Те участки 520-байтной страницы, которые не должны быть переписаны - заполняем в буфере ПЗУшки единицами, в тот участок который нужно переписать - заполняем своими 32 байтами. И подаем команду Запись без стирания. Потом аналогично записываем следующие 32 байта и т.д. Ресурс считается только по операциям стирания, а их здесь нет
Обращаться ещё проще. В режиме чтения у 45-й серии можно обратиться к любому байту, без чтения всей страницы. Просто считаем адрес со смещением 32*n
|
|
|
|
05.09.2012, 17:35
|
|
Временная регистрация
Регистрация: 19.03.2008
Сообщений: 50
Сказал спасибо: 2
Сказали Спасибо 6 раз(а) в 2 сообщении(ях)
|
Re: AT45DB
Сообщение от niXto
|
При минимальном размере страницы 512+8 байт ТС по вашей рекомендации сделает 15 лишних стираний с потерей времени и ресурса. Проще один раз стереть страницу и потом 16 раз дописывать 32-байтные пакеты без стирания
|
нет, не надо отдельно стирать и дописывать каждый раз
наверное можно рассчитать емкость резервного питания - скажем ионистор и монитор внешнего питания
при срабатывании монитора внешнего питания
записывается буфер
еще можно использовать только 512 байт (32*16) а дополнительный байты использовать для статуса - скажем при записи обычной страницы размещается счетчик а при записи при пропадании питания - еще и признак аварии
так легко будет найти последнюю запись при включении устройства
удобство в использовании записи в 32 и четного числа записей в странице - будет в удобстве адресации и возможности не губить последующие при перезаписи
датафлаш хорош именно в применении в логгерах где страницы переписываются по циклу равномерно
если некоторые страницы будут переписываться чаще других - то обратите внимании что в таком режиме требуется стирание больших блоков через какое-то количество записей - а это будет уже напряжно - для отработки таких ситуаций можно как раз использовать счетчик записей в дополнительных байтах страницы
|
|
|
|
05.09.2012, 17:40
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: AT45DB
Сообщение от niXto
|
Элементарно... Те участки 520-байтной страницы, которые не должны быть переписаны - заполняем в буфере ПЗУшки единицами, в тот участок который нужно переписать - заполняем своими 32 байтами. И подаем команду Запись без стирания.
|
Можно конечно.
Но первый пункт (заполняем в буфере ПЗУшки единицами) делается командой CopyPageToBuffer. А далее по списку...
|
|
|
|
05.09.2012, 20:42
|
|
Частый гость
Регистрация: 06.06.2008
Сообщений: 43
Сказал спасибо: 90
Сказали Спасибо 126 раз(а) в 23 сообщении(ях)
|
Re: AT45DB
Как то написал статью про работу с AT45.
Там же библиотека собственного изготовления, использовал в нескольких проектах.
Примеры для ATMega162.
http://movilavn.narod.ru/
|
|
|
|
05.09.2012, 22:21
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,984
Сказал спасибо: 0
Сказали Спасибо 4,943 раз(а) в 2,371 сообщении(ях)
|
Re: AT45DB
Сообщение от _Артём_
|
Где такое сказано? Иногда пишут, что unlimited, иногда что 10 в степени 15 (или больше, не помню)
|
на самом деле производитель сделал вывод о таком количестве циклов на основе параллельных тестов большого количества чипов и степени их износа за, допустим, 10е6-10е7 тестовых записей-считываний. не узрел прибор значительных изменений - смело пишем маркетинговые 10е15
Сообщение от niXto
|
ФРАМ пишется как обычная ОЗУ. Собственно, от ОЗУ ее можно отличить только по маркировке, физически она работает точно так же и задержки при записи те же. С ресурсом сложнее - при каждом чтении ячейки фактически происходит ее перезапись, однако даже ограниченного ресурса достаточно, чтобы десятки лет непрерывно читать или писать одну и ту же ячейку на максимальной скорости
|
механизм записи, реализованный для каждой ячейки, будет очень дорог и займет значительную площадь кристалла. кстати, в анонсированные 10е15, наверняка включили и циклы чтения с перезаписью
|
|
|
|
05.09.2012, 22:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: AT45DB
Сообщение от jump
|
механизм записи, реализованный для каждой ячейки, будет очень дорог и займет значительную площадь кристалла. кстати, в анонсированные 10е15, наверняка включили и циклы чтения с перезаписью
|
Механизм записи примерно такой же, как и в DRAM. На паре дополнительных транзисторов, высокое напряжение ведь не надо
Циклы чтения включены в ресурс, но если разделить 10^15 на 10 МГц, то получится более 3 лет. А читаться-писаться явно будет не единственная ячейка, и не круглосуточно на максимальной скорости
|
|
|
|
06.09.2012, 13:53
|
|
Временная регистрация
Регистрация: 19.03.2008
Сообщений: 50
Сказал спасибо: 2
Сказали Спасибо 6 раз(а) в 2 сообщении(ях)
|
Re: AT45DB
ФРАМ вроде пока маленьких размеров? Есть на 64Мбит? за разумную цену конечно?
вот флеши мы целенаправленно "убивали" - надо было для проекта...
несколько выводов из этого:
цифры производителя обычно занижены
по мере "убивания" растет время записи
при несоблюдении требований по стиранию (типа дозапись) убивается быстрее указанного ресурса
при особых глупостях убить можно еще быстрее
при соблюдении требований по стиранию убивается отдельный сектор а остальные продолжают работать
при несоблюдении - убивается вся микруха - возможно есть еще системный сектор и при его убивании - все стопорится
|
|
|
|
06.09.2012, 16:44
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: AT45DB
Сообщение от finevlad
|
ФРАМ вроде пока маленьких размеров? Есть на 64Мбит? за разумную цену конечно?
|
ТС ничего не сказал про объем
Большие объемы пока только флеш
Но 45-я серия на ячейках SLC имеет ресурс гораздо больше, чем SD на MLC
|
|
|
|
06.09.2012, 17:24
|
|
Временная регистрация
Регистрация: 08.01.2007
Сообщений: 92
Сказал спасибо: 17
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
|
Re: AT45DB
Помогите разобратся в этой функции!!! Плиз
PHP код:
|
void Cont_Flash_Read_Enable (unsigned int PageAdr, unsigned int IntPageAdr)
{
DF_CS_inactive();
DF_CS_active();
spi(ContArrayRead);
spi((unsigned char)(PageAdr ›› (16 - PageBits)));
spi((unsigned char)((PageAdr ‹‹ (PageBits - 8))+ (IntPageAdr››8)));
spi((unsigned char)(IntPageAdr));
spi(0x00);
spi(0x00);
spi(0x00);
spi(0x00);
}
|
По идее, должна прочитать всю флешку, но что то я не пойму куда она ее отправит? в параметрах номер страници и номер байта в странице
PageBits - индекс, для at45db161 и at45db321 равен 9
spi - стандартная функция отправки по spi
Кто нибудь, объясните на пальцах
|
|
|
|
06.09.2012, 17:33
|
|
Частый гость
Регистрация: 14.07.2010
Сообщений: 30
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
|
Re: AT45DB
Сия функция посылает во флэш команду - "чтение" и затем адрес с кторого надо начать чтение.После этой функции должны идти ф-и непосредственного приема байтов из флэш.
Вы даташит-то читали ?
|
|
|
Сказали "Спасибо" ewseltek
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:31.
|
|