Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

О сохранности данных в памяти МК

Непрочитано 22.05.2013, 18:15  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: О сохранности данных в памяти МК

Надежность хранения данных в ОЗУ контроллера почти идеальная, ещё ни разу не сталкивался с тем, чтобы данные повреждались САМОпроизвольно (например, из-за пролета ионизирующей частицы или отдаленного ядерного взрыва)... Все искажения данных, что встречались - чисто программные косяки, и вычислялись при отладке. Так что хранить данные в ОЗУ можно хоть годами, не боясь что где-то единица внезапно станет нулем, или наоборот...
Реклама:
niXto вне форума  
Эти 2 пользователя(ей) сказали Спасибо niXto за это сообщение:
makakus (08.07.2014), _Слон_ (23.05.2013)
Непрочитано 22.05.2013, 18:24  
nahimovv
Заблокирован
 
Регистрация: 25.04.2013
Сообщений: 1,427
Сказал спасибо: 0
Сказали Спасибо 381 раз(а) в 251 сообщении(ях)
nahimovv на пути к лучшему
По умолчанию Re: О сохранности данных в памяти МК

Угу, пионерский бред.
nahimovv вне форума  
Непрочитано 23.05.2013, 10:26  
_Слон_
Прописка
 
Аватар для _Слон_
 
Регистрация: 25.02.2011
Сообщений: 122
Сказал спасибо: 61
Сказали Спасибо 23 раз(а) в 19 сообщении(ях)
_Слон_ на пути к лучшему
По умолчанию Re: О сохранности данных в памяти МК

Сообщение от niXto Посмотреть сообщение
Надежность хранения данных в ОЗУ контроллера почти идеальная, ещё ни разу не сталкивался с тем, чтобы данные повреждались САМОпроизвольно (например, из-за пролета ионизирующей частицы или отдаленного ядерного взрыва)... Все искажения данных, что встречались - чисто программные косяки, и вычислялись при отладке. Так что хранить данные в ОЗУ можно хоть годами, не боясь что где-то единица внезапно станет нулем, или наоборот...
Спасибо. Я тоже так считаю. Просто у нас тут с коллегами спор возник...
А память FRAM, конечно, стоящая вещь...Впервые я о ней узнал около года назад. Тогда мне казалось, что это технология недалекого будущего. А сейчас посмотрел по ценам-вполне доступно.
_Слон_ вне форума  
Непрочитано 23.05.2013, 19:51  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: О сохранности данных в памяти МК

Не знаю, насколько на самом деле важен конкретный счетчик посещений туалета, но для информации:

Вообще-то ОЗУ может сбоить. Скажем, спустя 5 лет работы из-за деградации характеристик МОП-транзистора вследствие инжекции горячих носителей в окисел, какая-то ячейка начнет нестабильно читаться/писаться. Космическое излучение – редко, но бывает. Просто зарегистрировать такие ошибки, чтобы утверждать, что именно они привели к сбою, в обычном девайсе нереально:
- во-первых, в памяти не так много битов, изменение которых привело бы к фатальной ошибке (PC, указатель стека, конфигуратор прерываний; это, понятно, не считая проблемно-ориентированных данных, вроде Вашего счетчика), поэтому часто такие сбои памяти просто остаются незамеченными, либо замеченными гораздо позже, чем произошло изменение бита.
- во-вторых, чтобы хоть попытаться зафиксировать такой сбой, нужны как минимум программные средства контроля за всеми битами, что несколько нереально.

Поэтому те участки RAM, сохранность которых должна быть гарантирована, просто защищаются контрольными суммами и тройным резервированием, и в аварийных ситуациях просто молча восстанавливаться программно. В некоторых случаях код, выполняющий чтение или запись этих участков, должен защищаться сигнатурами.

----

Насчет сохранения в EEPROM при отключении батарейки – опасный фокус. На столе такие штуки обычно работают, но в реальности могут давать необратимые сбои.
Простой пример – в устройство попала вода, при этом может сработать прерывание по отключению батарейки, но конденсатор, на который Вы рассчитываете, разрядится в десятки раз быстрее, чем Вы предполагали. Отсюда – либо недозапись в еепром, либо недозаряд каких-то ячеек из-за нехватки тока. Получим нестабильно читающиеся данные.
Другой пример – у батарейки окислились контакты, а устройство подверглось механическому воздейстивию (просто стукнули по нему). В результате Вы получите серию прерываний без переподзарядки емкости, на каждое из которых Вы будете делать запись в еепром (довольно жрущая операция), которые все скопом высадят емкость и на очередную запись может просто не хватить тока.

Т.е. сохранение в EEPROM в таких случаях так же должно делаться тройным резервированием с контрольными суммами. С временнЫми лагами между записью и восстановлением (т.к. запись может начаться но не успеть закончиться, а МК уже перезагрузится и полезет читать EEPROM, при этом получит отказ). А вообще, процедура замены батарейки в таких случаях должна предусматривать порядок действий, при котором резервное копирование в еепром производится до ее извлечения.
testerplus вне форума  
Сказали "Спасибо" testerplus
_Слон_ (24.05.2013)
Непрочитано 23.05.2013, 20:01  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: О сохранности данных в памяти МК

Сообщение от testerplus Посмотреть сообщение
- во-вторых, чтобы хоть попытаться зафиксировать такой сбой, нужны как минимум программные средства контроля за всеми битами, что несколько нереально.
Вполне реально. У современных контроллеров опционально есть аппаратный модуль контроля CRC каждой ячейки ОЗУ, и автоматическая генерация прерывания при несовпадении. Хотя бы стм32ф0хх по цене чуть больше доллара. Но для обычного применения (в не-критически важных местах) ОЗУ вполне можно доверять
niXto вне форума  
Сказали "Спасибо" niXto
_Слон_ (24.05.2013)
Непрочитано 23.05.2013, 20:20  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: О сохранности данных в памяти МК

Сообщение от niXto Посмотреть сообщение
Вполне реально. У современных контроллеров опционально есть аппаратный модуль контроля CRC каждой ячейки ОЗУ, и автоматическая генерация прерывания при несовпадении. Хотя бы стм32ф0хх по цене чуть больше доллара.
Это хорошо (и, кстати, показательно), что в широтребовских МК начали появляться такие модули. Остается надеяться, чтобы разработчики ими хотя бы пользовались
(А вроде ТС хотел что-то простое: пикаврстм8 )
testerplus вне форума  
Непрочитано 23.05.2013, 20:32  
nahimovv
Заблокирован
 
Регистрация: 25.04.2013
Сообщений: 1,427
Сказал спасибо: 0
Сказали Спасибо 381 раз(а) в 251 сообщении(ях)
nahimovv на пути к лучшему
По умолчанию Re: О сохранности данных в памяти МК

Сообщение от testerplus Посмотреть сообщение
Остается надеяться, чтобы разработчики ими хотя бы пользовались

5+ ! .
nahimovv вне форума  
Непрочитано 03.07.2014, 16:30  
KBH-I
Почётный гражданин KAZUS.RUN
 
Аватар для KBH-I
 
Регистрация: 01.05.2009
Адрес: Коптево
Сообщений: 2,753
Сказал спасибо: 268
Сказали Спасибо 398 раз(а) в 247 сообщении(ях)
KBH-I на пути к лучшему
По умолчанию Re: О сохранности данных в памяти МК

Сообщение от akegor Посмотреть сообщение
Дублирование, избыточное кодирование (Хэмминг и пр.) - много вариантов передачи-хранения-восстановления данных. Гугль в помощь.
Пардон, но это единственный топик со словом "Хэмминг".
Просто на днях узнал, что RAID-2 - это и есть диск с поддержкой кодов Хэмминга.
А у меня как раз завалялся старенький HDD на 1Тб. Вот и думаю, а как бы его сделать с защитой кодами Хэмминга?
Наверно, придётся его делить на 2 логических диска (а каких именно и с каким объёмом каждый?), затем как-то объединять в массив RAID-2?

В Тырнете - какая-то помойка и всё не то: http://yandex.ru/yandsearch?text=%D1...id=9582&lr=213

Поэтому вопрос: никто не пытался делать внешний диск RAID-массивом, причём именно RAID-2?

Последний раз редактировалось KBH-I; 03.07.2014 в 16:32.
KBH-I вне форума  
Непрочитано 03.07.2014, 16:57  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: О сохранности данных в памяти МК

Сообщение от niXto Посмотреть сообщение
Вполне реально. У современных контроллеров опционально есть аппаратный модуль контроля CRC каждой ячейки ОЗУ, и автоматическая генерация прерывания при несовпадении. Хотя бы стм32ф0хх по цене чуть больше доллара. Но для обычного применения (в не-критически важных местах) ОЗУ вполне можно доверять
Вектор прерывания в студию !!!
Иль ссылку на эту сказку.
Boba_spb вне форума  
Непрочитано 03.07.2014, 18:01  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: О сохранности данных в памяти МК

Сообщение от Boba_spb Посмотреть сообщение
Вектор прерывания в студию !!!
Иль ссылку на эту сказку.

Очередной раз рекомендую изучать английский. Работать с современными микроконтроллерами, руководствуясь только переводами на русский, уже практически нереально. Ссылка на эту сказку - http://www.st.com/st-web-ui/static/a...DM00091010.pdf

niXto вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Протеус и система зажигания после симуляции не сохраняет настройки cfif11 Proteus 23 04.02.2012 01:26
Поток данных 44Мбит/сек.Нужно снять лог пару секунд. Как? Zemlyanov Микроконтроллеры, АЦП, память и т.д 4 15.11.2010 23:46
А что если...прицепить к МК планку DDR памяти? vchik Микроконтроллеры, АЦП, память и т.д 9 03.06.2008 08:47
Краткий обзор методов помехоустойчивого программирования для Don_Ambrosio Микроконтроллеры, АЦП, память и т.д 0 09.04.2008 01:17
Упаковка данных (сжатие данных) satnettv Proteus, KiCAD и другие ECAD 4 06.09.2007 20:15


Часовой пояс GMT +4, время: 15:54.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.