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

 
 
> Нужна ли FS ?, AT45DB
Огурцов
сообщение Oct 6 2008, 17:30
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



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

Нужна ли для этого файловая система с дополнительными сервисными возможностями или ограничиться кольцевым буфером ?
Можно ли в AT45DB дописывать (не стирая предыдущие данные) данные в сектор, в который уже была сделана запись ?

Теоретически, есть еще 56 байт в NV-RAM, которые пока не используются. Хотя на сектор (512 байт) их не достаточно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ReAl
сообщение Oct 6 2008, 20:40
Сообщение #2


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Огурцов @ Oct 6 2008, 20:30) *
Можно ли в AT45DB дописывать (не стирая предыдущие данные) данные в сектор, в который уже была сделана запись ?
Осторожно с этим надо.
У AT45DBxxxB написано недвусмысленно:
Цитата
Buffer to Main Memory Page Program without Built-in Erase
A previously erased page within main memory can be programmed with the contents of either buffer 1 or buffer 2.
.....
Successive page programming operations without doing a page erase are not recommended. In other words, changing bytes within a page from a ”1” to a ”0” during multiple page programming operations without erasing that page is not recommended.

У AT45DBxxxD несколько невнятно:
Цитата
It is necessary that the page in main memory that is being programmed has been previously erased using one of the erase commands (Page Erase or Block Erase).
Может можно дописывать (имели ввиду всего лишь то, что без стирания не "запишутся" единички), может нет.

Цитата(Огурцов @ Oct 6 2008, 20:30) *
Теоретически, есть еще 56 байт в NV-RAM, которые пока не используются. Хотя на сектор (512 байт) их не достаточно.
Накапливать в них фрагмент и потом его весь сбрасывать. Например, читая во внутренний буфер AT45DB какую-то страницу, дописывая в нужное место фрагмент из RTC, записывая этот буфер в массив со стиранием.
И гарантированно "честно", и меньше стираний, меньше самих операций записи.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 7 2008, 18:21
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(ReAl @ Oct 6 2008, 20:40) *
Может можно дописывать (имели ввиду всего лишь то, что без стирания не "запишутся" единички), может нет.

Перечитал раза три, тоже так и не понял, что они хотели сказать.
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 7 2008, 19:13
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Огурцов @ Oct 8 2008, 00:21) *
Перечитал раза три, тоже так и не понял, что они хотели сказать.
Имеется в виду, что запись без предварительного стирания не полностью гарантирует сохранность "1", расположенных на кристалле поблизости от записываемых "0". Видимо у Atmel не совсем идеально разработана структура NOR- вентиля (полевика с "плавающим" затвором) и поэтому при записи "ноликов" в такой вентиль заряд "единичек" вентилей, расположенных по соседству, постепенно "стирается". Туннельный эффект во всем виноват, ёшкин кот! smile.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 7 2008, 21:59
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Так может вместо ноликов единички и записывать ? Т.е. стерли как положено, записали первый раз 0x12 0xFF 0xFF..., а второй раз записываем уже 0xFF 0x34 0xFF..., тогда единички деградировать не будут, а нолики, где были, в единички уж точно не превратятся при записи хоть что туда записывай.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 19:13
Рейтинг@Mail.ru


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