Снова о ресурсе EEPROM

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Снова о ресурсе EEPROM

Сообщение jcxz »

[uquote="ARV",url="/forum/viewtopic.php?p=4689747#p4689747"]При чем тут хочется или не хочется думать?! Если из 20 переменных пользователю захочется менять одну, то никакими алгоритмами не выровнять износ этой с остальными 19-ю. И если FRAM нет, то и думать не о чём.[/uquote]Это потому что вы думать не хотите. Потому у вас и "нет алгоритмов".

[uquote="ARV",url="/forum/viewtopic.php?p=4689747#p4689747"]Для кольцевого буфера нужен указатель, который тоже должен быть в EEPROM, и который тоже должен обновляться...[/uquote]Опять не хотите думать. Указатель можно вычислить на старте. Нет никаких проблем это сделать.

[uquote="ARV",url="/forum/viewtopic.php?p=4689747#p4689747"]Сегодня выяснил, что хотя EEPROM и допускает побайтовый доступ, 32-битные данные должны быть выровнены... Пришлось сделать запись, например, float в виде отдельных 4х записей байтов, чтобы данные были "упакованными" :))[/uquote]А завтра "выяснится", что если в момент записи 32-битного значения 0x12345678 поверх старого 0x87654321 и выключении питания в этот момент, в ячейке оказывается совершенно неожиданное и недопустимое 0x87655678. Кто-ж мог предположить-то??! :)))
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Снова о ресурсе EEPROM

Сообщение ARV »

Ок, замечание справедливое. Но какие варианты можете вы предложить? Или ограничитесь сарказмом?

Я реалист, и исхожу из принципа вероятности. Нулевых вероятностей, пожалуй, во вселенной не бывает, так что и стремиться к нулевой нет смысла. Как я оцениваю вероятность того, что при начавшейся записи 4 байт, каждая из которых длится 4мс, между записью байтов исчезнет питание? Как крайне малую, ничтожную, ибо если оператор нажал кнопку ввода нового значения, а потом стремглав бросился к автомату питания на задней стенке стойки, это потребует от него никак не 16мс... А если вдруг случайно гавкнется подстанция, то такой сбой ни у кого не вызовет вопросов, это форсмажор классический.

Да, это не сверхнадежно и не сверхпрофессионально, но других вариантов я не вижу...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
shonty
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

Re: Снова о ресурсе EEPROM

Сообщение shonty »

ARV писал(а):Я этого не понимаю, как оно может одновременно увеличивать ресурс и писать целыми страницами.
сам плохо понимаю.. но поверил китайцам на слово))
ARV писал(а):В моём МК EEPROM настоящий. STM32L052
нужно разбираться.. Бегло глянул. Не утверждаю, но пишут что в stm32-х тоже эмуляция :dont_know:
ARV писал(а):Как я оцениваю вероятность того, что при начавшейся записи 4 байт, каждая из которых длится 4мс, между записью байтов исчезнет питание?
опять же.. там обновление страниц идёт, пишет в другую страницу типа.. там читать нужно :dont_know:
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Снова о ресурсе EEPROM

Сообщение jcxz »

[uquote="ARV",url="/forum/viewtopic.php?p=4689775#p4689775"]Ок, замечание справедливое. Но какие варианты можете вы предложить? Или ограничитесь сарказмом?[/uquote]Писать не байты и слова, а целиком структуру данных. С маркерами валидности. Например. Но как можно чего-то предложить если мы не знаем вашей задачи??
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Снова о ресурсе EEPROM

Сообщение ARV »

Маркер валидности это те же байты или слова, проблема не в этом. Целостность данных не решает проблему ресурса. Пока я веду речь о ресурсе.

Добавлено after 3 minutes 29 seconds:
Попробую подробнее.
Вот у меня есть переменная, изменяемая по модбасу. В коде эта переменная увязана, как константный коэффициент, т.е. не перезаписывается, только используется. Поскольку в модбасе любая модификация легко отслеживается, я всегда знаю момент изменения этой переменной, и "зеркалирую" её в EEPROM. Тут все просто.
Сложно обеспечить, чтобы EEPROM не стерся слишком быстро...

Добавлено after 4 minutes 41 second:
И о валидности данных. Если я данные загоню в структуру, и буду для неё считать CRC, это решит проблему целостности. Но это принесет проблему ресурсу, т.к. ячейки CRC этой структуры будут изнашиваться сильнее любого из ее полей! И что в этом случае делать?!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
OKF
Это не хвост, это антенна
Сообщения: 1401
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Снова о ресурсе EEPROM

Сообщение OKF »

[uquote="ARV",url="/forum/viewtopic.php?p=4689747#p4689747"]Для кольцевого буфера нужен указатель, который тоже должен быть в EEPROM, и который тоже должен обновляться...[/uquote]
Зачем? Я же писал. В кольцевом буфере пишется признак последней записи, При инициализации по этому признаку устанавливается указатель на запись, который находится в ОЗУ.
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Снова о ресурсе EEPROM

Сообщение ARV »

Ну, можно и маркировать блок... Но во всех этих вещах наиболее актуален вопрос, когда этот блок "двигать"?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
veso74
Поставщик валерьянки для Кота
Сообщения: 1913
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Снова о ресурсе EEPROM

Сообщение veso74 »

Для нескольких микроконтроллеров (AVR, PIC, STM8/32), для внешней EEPROM по I2c (напр. 24C02) давно добавил функции, похожие на update: перед запись: чтение и сравнением с новым состоянием. Запись только при нового значения. Для нескольких конструкций: при входе 32-битную переменную: 32 бита -> при разборке на 4 x 8 бит: сравнение каждого полученного байта и анализ того, был ли он уже записан в ячейки EEPROM. Запись только при необходимости: новое значение отличается от старого значения?, через 5–20 секунд после установления. EEPROM с 1М стал практически вечным - напр. написал как коментарии: 24C02 (EEPROM не был новым, а был взят из какого-то оборудования: "старт 24C02 - 6 септември 2017 г."). Устройство по-прежнему работает и не выдает ошибок при записи/чтении.
---
Есть F-RAM. Есть Serial EERAM. Оба варианта не такие уж и дорогие.
Последний раз редактировалось veso74 Вт мар 04, 2025 20:40:05, всего редактировалось 2 раза.
Вячеслав М.
Нашел транзистор. Понюхал.
Сообщения: 174
Зарегистрирован: Пн янв 13, 2025 15:24:02

Re: Снова о ресурсе EEPROM

Сообщение Вячеслав М. »

Я например на контроль питания канал ADC выделил, причём по 24V, так что когда пропадёт питание то остаётся уйма времени всё скоротечное начатое завершить и сохранить необходимое в EEPROM, пол секунды или даже больше есть времени, естественно с отключением в экстренном порядке всех нагрузок, принято мониторить все каналы ADC раз в миллисекунду. Так что мне не понятен тот кризис который возникает у кого то от выключения питания - защищайтесь от этого.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Снова о ресурсе EEPROM

Сообщение ARV »

Еще раз: аппаратная часть есть, и это константа. "Защищайтесь" неприменимо - это для будущих проектов, и это не обсуждается.
Обсуждается исключительно программный способ
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Снова о ресурсе EEPROM

Сообщение jcxz »

[uquote="Вячеслав М.",url="/forum/viewtopic.php?p=4689810#p4689810"]Так что мне не понятен тот кризис который возникает у кого то от выключения питания - защищайтесь от этого.[/uquote]Прилетела помеха и ваше устройство перегрузилось от неё. И не успела программа снова запуститься, как питание вырубилось. Как будете защищаться?
А если пачка помех прилетит? (а они как раз обычно так и летают - пачками, например в тестах на ЭМС)
Попробуйте как-нить пройти тестирование на ЭМ-устойчивость. Будете неприятно удивлены работой вашего девайса. 8)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Снова о ресурсе EEPROM

Сообщение ARV »

Ну и как "правильные" разработчики побеждают летающие пачки помех с непредвиденным пропаданием питания во время этих пролётов?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Снова о ресурсе EEPROM

Сообщение jcxz »

[uquote="ARV",url="/forum/viewtopic.php?p=4689828#p4689828"]Ну и как "правильные" разработчики побеждают летающие пачки помех с непредвиденным пропаданием питания во время этих пролётов?[/uquote]Вы это у Вячеслав М спрашивайте. Это ведь он их победил. Раз не боится их. :)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Снова о ресурсе EEPROM

Сообщение ARV »

Я их тоже не боюсь. Как микробов: я ж их не вижу... Но руки мою :))) и с пачками тоже хотелось бы какую-нибудь профилактику делать
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Снова о ресурсе EEPROM

Сообщение Аlex »

[uquote="ARV",url="/forum/viewtopic.php?p=4689828#p4689828"]Ну и как "правильные" разработчики побеждают летающие пачки помех с непредвиденным пропаданием питания во время этих пролётов?[/uquote]
От непредвиденного пропадания питания, конкретно в Вашем устройстве, - никак. ПО этому, предшествовали ему какие-либо сбросы, или нет - фиолетово.
А вот от случайного сброса (для некоторых - без выключения питания !) защитить оперативные данные - элементарно. Оперируя этими данными и фактом сброса, можно предпринимать определённые шаги.

А вообще, не понятно, с чем мы тут боремся. С некорректной записью во время сброса/выключения, или с проблемой ресурса ? Смешались в кучу кони, люди ....
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Снова о ресурсе EEPROM

Сообщение ARV »

Тут мы за ресурс боремся. А со сбоями можем в теме про АРМ для начинающих побороться, чтобы отделить коней от котлет.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Снова о ресурсе EEPROM

Сообщение jcxz »

[uquote="ARV",url="/forum/viewtopic.php?p=4689865#p4689865"]Тут мы за ресурс боремся. А со сбоями можем в теме про АРМ для начинающих побороться, чтобы отделить коней от котлет.[/uquote]Так алгоритм экономии ресурса я вам в той теме привёл.

Может тогда модераторы сочтут за лучшее - переместить этот массив сообщений (по экономии ресурса) сюда?
Вячеслав М.
Нашел транзистор. Понюхал.
Сообщения: 174
Зарегистрирован: Пн янв 13, 2025 15:24:02

Re: Снова о ресурсе EEPROM

Сообщение Вячеслав М. »

Я имел ввиду что не бывает непредвиденных катастрофичных пропаданий питания, всегда есть пол секунды чтобы корректно завершить и ни чего не забыть, дело в схемотехнике! Мониторы питания которые в процах констатируют катастрофу а не предупреждают её, да и внешние то же самое. Предлагаю пример: Вот у вас AC/DC 220V/5V, вот переделайте его на 8V, а далее LOWDROP 5V, вот и решение проблемы времени после пропадания питания, появляется уйма времени чтобы решить проблему "программным" способом. Eстественно мониторить питание нужно на 8V, а не на 5V, когда уже поздно что то делать.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Снова о ресурсе EEPROM

Сообщение ARV »

Я, как автор темы, поясню, почему я упоминал пропадание питания, как проблему. Дело в том, что некоторые алгоритмы продления ресурса EEPROM подразумевают запись данных не в момент их обновления, а позже, в расчете на то, что они снова могут измениться через некоторое время. А вот если, скажем, 2 секунды они неизменны - тогда и сбрасывать кэш в EEPROM, как "окончательный" результат. И вот при применении этого алгоритма с моментом выключения могут быть проблемы (повторяю: речь о варианте схемы без контроля питания, речь о чисто софтовых извратах)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Вячеслав М.
Нашел транзистор. Понюхал.
Сообщения: 174
Зарегистрирован: Пн янв 13, 2025 15:24:02

Re: Снова о ресурсе EEPROM

Сообщение Вячеслав М. »

Ну например появляется возможность сбрасывать в EEPROM только при пропадании питания, это очень сильно продлевает ресурс, тем более что мы уже выяснили что после пропадания питания есть уйма времени, это если чисто об EEPROM говорить и о софте, если придерживаться темы.
Ответить

Вернуться в «Разные вопросы по МК»