Comments 16
Добивайте EEPROM посредством внедрения FRAM.
+6
Классическое решение из флеш памяти:
После стирания у нас все биты в 1.
1. Состояния счетчика можно записывать побитно без стирания как 11111110,11111100,11111000 и т.д.
2. В случае если данные не могут быть равны 0 (например путем добавления бита четности или помехоустойчивых кодов) используем кольцевой буфер, а старые данные забиваем нулями.
После стирания у нас все биты в 1.
1. Состояния счетчика можно записывать побитно без стирания как 11111110,11111100,11111000 и т.д.
2. В случае если данные не могут быть равны 0 (например путем добавления бита четности или помехоустойчивых кодов) используем кольцевой буфер, а старые данные забиваем нулями.
0
Для побитного обновления счетчика самое лучшее, что мы можем сделать, это использовать коды Грэя, как и сказано в статье. При этом мы получаем не 8 возможных значений счетчика для восьми бит, а все 256.
0
нет, так же останутся 8 возможных значений. Коды грея работают как 1->0 так и 1->0.
И какая разница в каком порядке занулить если поставить единицу сложно и надо избегать.
И какая разница в каком порядке занулить если поставить единицу сложно и надо избегать.
0
Коды Грея дают такое же количество комбинаций для одного и того же количества бит, что и прямой код. На двух битах возможно получить четыре разных значения кодов Грэя, на трех битах — восемь разных значений кодов Грея, и т.д.
Код Грея на Википедии
Код Грея на Википедии
0
Хранение данных в оперативке + ионистор, запись в flash/eeprom только при пропадании основного питания.
Ячейки памяти убивают люди! ;) Писали как-то драйвер по работе с flash, ошиблись в цикле — приращали не адрес, а значение по адресу. Память убивается за несколько секунд…
Ячейки памяти убивают люди! ;) Писали как-то драйвер по работе с flash, ошиблись в цикле — приращали не адрес, а значение по адресу. Память убивается за несколько секунд…
+1
А какую схему заряда ионистора используете? Ведь разряженный он потребует большого тока при старте.
0
Ионистор защитит только от пропадания питания.
Какая нибудь другая внезапная гадость типа программного\аппаратного сбоя или разрушение устройства не даст записать последние данные (это из обсуждения реализации регистратора в аварии в московском метро).
Какая нибудь другая внезапная гадость типа программного\аппаратного сбоя или разрушение устройства не даст записать последние данные (это из обсуждения реализации регистратора в аварии в московском метро).
+1
надежность оборудования в различных ситуациях закладывается на этапе разработки
вы не можете винить разработчиков за то что ваш регистратор расплавился в жерле вулкана и не сохранил данные
вы не можете винить разработчиков за то что ваш регистратор расплавился в жерле вулкана и не сохранил данные
0
Про равномерный износ есть ещё этот текст
https://habr.com/ru/articles/706972/
0
Sign up to leave a comment.
Как избежать износа EEPROM