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

 
 
> Защита FRAM
juvf
сообщение May 30 2012, 07:32
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Не нашел лучшего раздела в это форуме

Разработан девайс с фрамкой FM25CL64. Фрам воткнули как энергонезависимую память для конфигурационных параметров, серийного номера и т.п. На практике оказалось, что если снять питание с фрамки во время операции чтение/запись, то в ней портятся данные. Как программно решить эту проблему?
На достоверность информации можно в фраме хранить crc. Но допустим данные недостоверны - и что? К их восстановить? Есть мысль хранить данные+црц и копию данных+црц. но где-то в инете натыкался на описание такого сбоя... в результате чего допустим 4-ый байт в каждом банке был битый. получается что если испортятся данные, то и копия тоже может испортится. Кто-нибудь решал подобную проблему программно и как?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
juvf
сообщение Jun 4 2012, 17:53
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



2 maksimp
Теоретически вы правы. Сейчас я сделал единождое чтение фрамки при вкл. питания в озу и работа с данными из озу. Это должно снизить вероятность потери данных. Планируется эксплуатация 24 часа 15 лет. Один раз за весь срок службы включили - одна операция чтения. Но я понимаю, что теоретически лошадь, а практически упала. Добавлю копию+црц, добавлю восстановительный код с большим избытком. Думаю, что вероятность выключения питания сразу после включения, да многократно, да с порчей каждый раз новых ячеек теоретически равна..... это всё похоже на теорию о бесконечных обезьянах.

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

Всем спасибо

Сообщение отредактировал juvf - Jun 4 2012, 17:53
Go to the top of the page
 
+Quote Post
barabek
сообщение Jun 4 2012, 22:35
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(juvf @ Jun 5 2012, 03:53) *
2 maksimp
Теоретически вы правы. Сейчас я сделал единождое чтение фрамки при вкл. питания в озу и работа с данными из озу. Это должно снизить вероятность потери данных. Планируется эксплуатация 24 часа 15 лет. Один раз за весь срок службы включили - одна операция чтения. Но я понимаю, что теоретически лошадь, а практически упала. Добавлю копию+црц, добавлю восстановительный код с большим избытком. Думаю, что вероятность выключения питания сразу после включения, да многократно, да с порчей каждый раз новых ячеек теоретически равна..... это всё похоже на теорию о бесконечных обезьянах.

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

Всем спасибо

Честно говоря не знал, что у FRAM разрушающее чтение. Сам использовал много раз и никогда проблем не было. Может повезло или не заметили. Есть приборы, порядка сотени-двух штук. В них запись текущего положения идет 10 раз в секунду. В этой же памяти хранится конфигурация, при сбое которой прибор перестанет запускаться. Приборы работают 24 часа. Еще, тьфу-тьфу-тьфу, не одного сбоя. А у Вас вот как. Самому лень, но может Вы, раз у горит проведете более качественные тесты. Я бы делал так. На тестовой плате сделать возможность отключать питание с FRAM. Написать прогу, работающую по такому алгоритму. Запись каждый раз случайных значений в память, дабы не было корреляции между ячейками. Затем чтение и во время чтения выключение питания, например транзисторным ключем, а лучше реле, чтобы была и случайность времени отключения и дребезг. Потом включение и повторное считывание. Сравнивая с записанным можно определить, во-первых, вероятность отключения, во-вторых, если сбоев будет много - зависимость между сбойными ячейками. И так по кругу. Даже по одной секунде на цикл за сутки уже получается 86400 опытов. Довольно много. Для чего нужно "во-первых" понятно, а "во-вторых" может повысить восстанавливающие способности кода. Допустим, выяснится, что между собой зависят биты (а не байты!) в ячейка, скажем 0-31-63- ... и портится только в одному ряду/колонке, а не по нескольким, то тогда можно сделать Рида-Соломона с соответствующим перемежением бит. Что повышает восстанавливающую способность в 8 раз! Т.е. не, скажем, 4 символа, а 4*8=32 бита. Если у Вас вдруг хватит сил это проделать отпишитесь, пожалуйста, сюда.
ОФФ. А советы "Кац предлагает сдаться, предлагает сдаться" (цэ) не слушайте. Мне понятно Ваше раздражение по этому поводу.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- juvf   Защита FRAM   May 30 2012, 07:32
- - zombi   Цитата(juvf @ May 30 2012, 10:32) Разрабо...   May 30 2012, 13:37
- - xemul   Цитата(juvf @ May 30 2012, 11:32) Разрабо...   May 30 2012, 14:51
- - AHTOXA   Я пишу две копии, у каждой crc16. Случаев одноврем...   May 30 2012, 19:00
|- - Genadi Zawidowski   Цитатаесли снять питание с фрамки во время операци...   May 30 2012, 19:08
|- - xemul   Цитата(Genadi Zawidowski @ May 30 2012, 23...   May 30 2012, 19:34
- - juvf   Ещё раз хочу повторить..... аппаратно платы сделан...   May 31 2012, 02:36
|- - Plain   Цитата(juvf @ May 31 2012, 05:36) хочу по...   Jun 1 2012, 05:21
- - Genadi Zawidowski   ЦитатаДля FRAM'а существенно напряжение питани...   May 31 2012, 06:49
|- - juvf   Цитата(Genadi Zawidowski @ May 31 2012, 12...   May 31 2012, 07:58
|- - MaslovVG   Длительность циклов запись/чтение у FRAM десятки н...   May 31 2012, 08:19
|- - juvf   Цитата(MaslovVG @ May 31 2012, 14:19) Дли...   May 31 2012, 10:19
- - Aner   ...Длительность циклов запись/чтение у FRAM десятк...   May 31 2012, 09:48
|- - MaslovVG   Цитата(Aner @ May 31 2012, 13:48) ...Длит...   May 31 2012, 10:42
- - Aner   .   May 31 2012, 09:48
- - Ruslan1   Цитата(juvf @ May 30 2012, 10:32) Не наше...   May 31 2012, 10:44
- - zombi   Цитата(sgs @ Jul 24 2008, 19:45) Для FRAM...   May 31 2012, 13:41
|- - _Артём_   Цитата(zombi @ May 31 2012, 16:41) Вот эт...   May 31 2012, 14:03
|- - zombi   Цитата(_Артём_ @ May 31 2012, 17:03) Аппа...   May 31 2012, 14:47
|- - _Артём_   Цитата(zombi @ May 31 2012, 17:47) TC спр...   May 31 2012, 15:12
|- - zombi   Цитата(_Артём_ @ May 31 2012, 18:12) Ну, ...   May 31 2012, 15:45
|- - _Артём_   Цитата(zombi @ May 31 2012, 18:45) Какой ...   May 31 2012, 16:10
||- - zombi   Цитата(_Артём_ @ May 31 2012, 19:10) Реши...   May 31 2012, 16:32
||- - _Артём_   Цитата(zombi @ May 31 2012, 19:32) [size=...   May 31 2012, 16:42
|- - juvf   Цитата(zombi @ May 31 2012, 21:45) Какой ...   Jun 1 2012, 04:03
|- - zombi   Цитата(juvf @ Jun 1 2012, 07:03) Или ...   Jun 1 2012, 07:36
|- - juvf   Цитата(zombi @ Jun 1 2012, 13:36) А если ...   Jun 1 2012, 08:43
|- - zombi   Цитата(juvf @ Jun 1 2012, 11:43) новая па...   Jun 1 2012, 08:48
|- - juvf   Цитата(zombi @ Jun 1 2012, 14:48) А с нын...   Jun 1 2012, 09:11
|- - Plain   Цитата(juvf @ Jun 1 2012, 12:11) Делать х...   Jun 1 2012, 09:34
|- - ReAl   Цитата(juvf @ Jun 1 2012, 12:11) Продават...   Jun 1 2012, 11:02
- - juvf   2Plain   Jun 1 2012, 06:14
- - gerber   Почему же не пойти очевидным путём - применить при...   Jun 1 2012, 09:29
- - juvf   2gerber Вот это мысль! Спасибо. По диагонали ...   Jun 4 2012, 05:05
|- - maksimp   Цитата(juvf @ Jun 4 2012, 09:05) считай ч...   Jun 4 2012, 15:26
- - Plain   Ваши эмоции спишу на утро понедельника. "Фоб...   Jun 4 2012, 05:52
|- - maksimp   Если сам контроллер не может измерить напряжение п...   Jun 5 2012, 02:36
||- - xemul   Цитата(maksimp @ Jun 5 2012, 06:36) ... т...   Jun 5 2012, 04:37
|- - zombi   Цитата(barabek @ Jun 5 2012, 01:35) Есть ...   Jun 5 2012, 04:38
||- - barabek   Цитата(zombi @ Jun 5 2012, 14:38) А в Ваш...   Jun 5 2012, 05:39
|- - juvf   Цитата(barabek @ Jun 5 2012, 04:35) но мо...   Jun 5 2012, 06:08
|- - barabek   Цитата(juvf @ Jun 5 2012, 16:08) а какая ...   Jun 5 2012, 06:27
|- - zombi   Цитата(juvf @ Jun 5 2012, 09:08) Если бы ...   Jun 5 2012, 06:50
|- - xemul   Цитата(juvf @ Jun 5 2012, 10:08) Может бы...   Jun 5 2012, 07:08
- - esaulenka   Я сейчас небольшую крамолу скажу... Мы уже нескол...   Jun 5 2012, 10:46
- - spoluer   Может быть чем-то поможет) В своем проекте на STM3...   Jul 14 2012, 08:00
- - InDepth   Столкнулся с похожей проблемой. причем платы тоже...   Nov 25 2012, 14:25
|- - _Артём_   Цитата(InDepth @ Nov 25 2012, 16:25) а вы...   Nov 25 2012, 15:03
||- - InDepth   Цитата(_Артём_ @ Nov 25 2012, 19:03) Поче...   Nov 26 2012, 05:06
|- - bookd   Цитата(InDepth @ Nov 25 2012, 17:25) если...   Nov 26 2012, 07:39
- - Genadi Zawidowski   1) подтянуть CS к питанию 2) по рекомендации произ...   Nov 26 2012, 07:21


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

 


RSS Текстовая версия Сейчас: 28th June 2025 - 02:21
Рейтинг@Mail.ru


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