|
Защита FRAM |
|
|
|
 |
Ответов
|
Jun 4 2012, 22:35
|
Знающий
   
Группа: Свой
Сообщений: 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 бита. Если у Вас вдруг хватит сил это проделать отпишитесь, пожалуйста, сюда. ОФФ. А советы "Кац предлагает сдаться, предлагает сдаться" (цэ) не слушайте. Мне понятно Ваше раздражение по этому поводу.
|
|
|
|
|
Jun 5 2012, 02:36
|
Местный
  
Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023

|
Если сам контроллер не может измерить напряжение питания, то измерить напряжение питания можно с помощью самой FRAM. Выделить для этой цели несколько ячеек, записывать в них разные значения и сравнивать - если совпало то напряжение достаточно. Но питание может пропасть сразу после такого измерения, или напряжение может оказаться на грани, достаточно для одних ячеек и не достаточно для других. Но процессор может влиять на напряжение питания, меняя свой потребляемый ток. Ток максимальный при максимальной тактовой частоте, при включённой внутренней периферии, для повышения тока можно даже устроить конфликт на линии ввода-вывода, настроив как выход линию порта, подключённую к выходу другой микросхемы и устаовиви протовоположный логический уровень. Стабилизатор не сразу отрабатывает блоски тока, давая кратковременное снижение питания при резком увеличении тока и кратковременное увеличение питания при резком снижении тока. Тогда порядок действий может быть такой: - Увеличиваем потребление. - Проверяем питание с помощью тестовых ячеек FRAM. - Снижаем потребление. - Читаеи или пишем в FRAM полезные данные. И нужно конечно выяснить, какие ещё ячейки FRAM портятся заодно с той при обращении к которой пропало питание.
|
|
|
|
Сообщений в этой теме
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   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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|