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

 
 
> stm32 EEPROM алгоритмы экономии ресурса ячеек, В Интернете ничего не нашел путного
Димон Безпарольн...
сообщение Aug 4 2018, 07:47
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247



Девайс пишет при выключении питания в EEPROM значение int(4 байта). Из алгоритмов на ум приходит только запись в ячейки 10 000 циклов, потом смена ячеек. Но меняющийся счетчик циклов будет также хранится в ячейках EEPROM, запись в которые также ограничена. Как в этом случе быть?

Процессор STL32L151. EEPROM внутренняя. Пользуюсь функцией HAL_FLASHEx_DATAEEPROM_Program которая также пытается экономить ресурс ячеек. Теме не менее вопрос остался.

Почему возник вопрос - есть опасение что детектирование пропадание питания сработает слишком поздно - электролиту подпитки не хватит энергии питать процессор. Такое бывает если напряжение питания убывает плавно а не падает до нуля резко. Большой электролит возможности поставить уже нет. Батарею подпитки тоже. Хотелось бы писать параметры в EEPROM хотя бы раз в 5 минут. EEPROM размером 4K.

Сообщение отредактировал Димон Безпарольный - Aug 4 2018, 07:53
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
controller_m30
сообщение Aug 6 2018, 19:31
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



Цитата(ViKo @ Aug 6 2018, 21:56) *
Нормальный ресурс для EEPROM. Относится к тому, что написано - каждый байт можно перезаписать 300 000 раз.

Тогда и проблемы нет - просто писать по кругу эту память, блоками по 8 байт (4 байта счётчик, 4 байта данных - как предлагали выше). И хватит на 1461 год rolleyes.gif

Но мне кажется, что не всё так радужно.
1) Даже в SSD-накопителях ресурс записи сектора меньше 10К. А для обеспечения миллионов перезаписей используется технология выравнивания износа (WearLeveling) за счёт резервных секторов.
2) EEPROM обсуждаемого контроллера недоступна для записи из некоторых блоков Program memory - конкретно в режиме Double word её можно писать из SRAM, и только из нескольких, прямо указанных блоков Program memory (конкретнее смотреть в даташите).
Из чего можно предположить, что EEPROM-ка - это просто часть одного из блоков Program memory, за счёт срытых секторов которого обеспечивается WearLeveling до ресурса записи 300К.

Сообщение отредактировал controller_m30 - Aug 6 2018, 20:00
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 6 2018, 20:10
Сообщение #3


Гуру
******

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



Цитата(controller_m30 @ Aug 6 2018, 22:31) *
1) Даже в USSD-накопителях ресурс записи сектора меньше 10К.

Так у перфоленты ресурс вообще составляет одну запись.

Цитата(controller_m30 @ Aug 6 2018, 22:31) *
Из чего можно предположить, что EEPROM-ка - это просто часть одного из блоков Program memory, за счёт срытых секторов которого обеспечивается WearLeveling до ресурса записи 300К.

Даже если так, ресурс ведь обеспечен? В чем "не радужность"?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Димон Безпарольный   stm32 EEPROM алгоритмы экономии ресурса ячеек   Aug 4 2018, 07:47
- - AlexG   Один из вариантов - писать каждый раз в новую груп...   Aug 4 2018, 08:16
|- - Димон Безпарольный   Цитата(AlexG @ Aug 4 2018, 11:16) Один из...   Aug 4 2018, 15:18
|- - aaarrr   Цитата(Димон Безпарольный @ Aug 4 2018, 18...   Aug 4 2018, 16:16
- - ViKo   1. А там точно 10 000 циклов заявлено, не более? 2...   Aug 4 2018, 15:31
- - x893   STM32L151 EEPROM 4K Пишем по 8 байт (4 счетчик + 4...   Aug 4 2018, 21:57
|- - Димон Безпарольный   Цитата(x893 @ Aug 5 2018, 00:57) STM32L15...   Aug 6 2018, 08:07
|- - aaarrr   Цитата(Димон Безпарольный @ Aug 6 2018, 11...   Aug 6 2018, 09:30
- - ViKo   Одного бита хватило бы, чтобы показать, где проход...   Aug 6 2018, 10:07
- - x893   Ещё минуту надо подумать.   Aug 6 2018, 10:19
- - ViKo   Минута истекла, ответ - в студию!   Aug 6 2018, 12:32
- - x893   Где будет граница после записи 1 в последнее слово...   Aug 6 2018, 17:33
|- - aaarrr   Цитата(x893 @ Aug 6 2018, 20:33) Где буде...   Aug 6 2018, 18:20
- - ViKo   Там, в конце и будет. А если потом в нулевую ячейк...   Aug 6 2018, 18:42
- - controller_m30   В даташите на STM32L151 сказано, что количество ст...   Aug 6 2018, 18:48
|- - jcxz   Цитата(controller_m30 @ Aug 6 2018, 21:48...   Aug 6 2018, 19:11
- - ViKo   Нормальный ресурс для EEPROM. Относится к тому, чт...   Aug 6 2018, 18:56
- - Димон Безпарольный   Струдом верится, но проверять не хочу.   Aug 6 2018, 19:10
|- - controller_m30   Цитата(aaarrr @ Aug 6 2018, 23:10) Даже е...   Aug 6 2018, 20:16
- - ViKo   В SSD стоит флэш память. А EEPROM тем и хороша, чт...   Aug 7 2018, 03:53
- - Димон Безпарольный   Даже не знаю - доверится документации или поставит...   Aug 7 2018, 16:10
- - controller_m30   Даже в самом пессимистичном варианте, ресурса EEPR...   Aug 7 2018, 17:03
- - Димон Безпарольный   Цитата(controller_m30 @ Aug 7 2018, 20:03...   Aug 7 2018, 19:01


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

 


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


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