|
Защита 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, 06:08
|

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

|
Цитата(barabek @ Jun 5 2012, 04:35)  но может Вы, раз у горит проведете более качественные тесты однако целый ниокр. время выкраю, проведу такое исследование. Цитата Есть приборы, порядка сотени-двух штук. а какая конкретно фрам стоит? Цитата И при понижении питания Cyclon III "летает" где хочет и творит что угодно с фрам. Может быть.... однако если идет команда чтения..... ну улетел ниос.... Это как он должен улелеть? пошла команда на чтение.... ниос полетел и вместо чтения передал команду Write Enable Latch, потом снял cs, потом выставил cs и передал команду записи и записал кудато мусор. Как-то маловероятно что с Write Enable Latch ниос улетит так, что попортит фрам. вся конфигурация плис хранится в другой памяти, в epcs. Если бы ниос так "летал" то он бы мог и епцс попортить. но случаев разрушения данных в епцс во время чтения замеченно не было и ни от кого ни разу не слышал о таком. думаю что это всётаки фрам виноватая. Буду тест проводить..... процесор не будет выключаться, чтоб не улетал, только фрам буду отрубать. Цитата то измерить напряжение питания можно с помощью самой FRAM. мысль не понял.
Сообщение отредактировал juvf - Jun 5 2012, 06:24
|
|
|
|
|
Jun 5 2012, 06:27
|
Знающий
   
Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831

|
Цитата(juvf @ Jun 5 2012, 16:08)  а какая конкретно фрам стоит? FM24C64 Цитата Может быть.... однако если идет команда чтения..... ну улетел ниос.... Это как он должен улелеть? пошла команда на чтение.... ниос полетел и вместо чтения передал команду врайт-протект, потом снял cs, потом выставил cs и передал команду записи и записал кудато мусор. Как-то маловероятно что с врайт-протектом ниос улетит так, что попортит фрам. вся конфигурация плис хранится в другой памяти, в epcs. Если бы ниос так "летал" то он бы мог и епцс попортить. но случаев разрушения данных в епцс во время чтения замеченно не было и ни от кого ни разу не слышал о таком. Буду тест проводить..... процесор не будет выключаться, чтоб не улетал, только фрам буду отрубать. В общем-то вероятность есть. Если начал летать то на ногах появляется такой дребезг от которого память что угодно может сделать. Из разряда милиона обезьян и написания ими "войны и мира", но с гораздо большей вероятностью. Допустим у Вас идет чтение. Пошел дребезг. Все что нужно для порчи это выдать повторный старт, совпасть адрес с адресом устройства и бит WR и вот, дальнейший дребезг - это запись чего-то куда-то. Может и маловероятно, но ... А в epcs запись подубовей, времени больше требуется. Может по этому. Да и запись там повышенным напряжением.
|
|
|
|
Сообщений в этой теме
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   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
|
|
|