Отговори на тема  [ 30 мнения ]  Отиди на страница 1, 2  Следваща
Защита от грешка в ЕЕПРОМ 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2201
Мнение Защита от грешка в ЕЕПРОМ
Здравейте! Днес имах интересен проблем с едно от моите радиоуправления. Изпращачът отказваше да се инициализира - при подаване на захранване контролерът стартира веригата за захранване и тактува правилно, но не изпълнява правилно следващите операции. След като се закачих с дебъгера всичко си тръгна! Предполагам, че става дума за грешка в ЕЕПРОМ-а. По време на работа контролерът не записва в EEPROM, а само чете. Не се сетих да премахна командите за писане в ЕЕПРОМ в програмата си и така като включих дебъгера забърсах стойностите там и сега няма как да съм 100% сигурен, че това се е случило.
Направило ми е впечатление, че на китайчетата също се случва тук там. Китаецът е направил стойностите огледални за изпращача и за майката. Така като стане нещо такова изтегляш данните от работещия нод и ги зареждаш на повредения.
Няколко въпроса:
1. Като стане така целият ЕЕПРОМ ли се бъгва или говорим само за 1 клетка?
2. Ако сложа стойносттите в програмната памет(като константи) това ще реши ли проблема?
3. Ако направя резевно копие в самият ЕЕПРОМ(по 2 пъти да ги запазя) и при нужда със специална комбинация да се копира ще има ли ефект? (не ми се ще да ги задава като константи, за да оставя някакъв контрол на потребителя евентуално...)

Става дума за проблем, които явно се случва много рядко - у-вото е монтирано миналата година Март месец... Ако може някой да сподели опит! Вариантът на китаеца не ми харесва, защото много често достъпът до "майката" е много труден.
Поздрави!

_________________
www.elkran.com


Пет Яну 25, 2019 1:36 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 24, 2005 10:41 pm
Мнения: 1025
Местоположение: Pz
Мнение Re: Защита от грешка в ЕЕПРОМ
т1. виждал съм различно бъгнати - само първия байт (adr:0x000), в един случай бяха 4 байта, а в друг над 20 и все от адрес 0 нататък...
т2. Сигурно може, но предполагам, че са в еепром за да може да се променят "в движение"
т3. на устройствата ми имам резервно копие във флаша на дефолт стойностите на параметрите, които са във еепрома. При проблем (още не съм имал), с комбинация се записват в еепрома. Така устройството пак е работоспособно, само трябва да се донастроят някой параметри, за да се доизгладят нещата.


Пет Яну 25, 2019 4:47 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2201
Мнение Re: Защита от грешка в ЕЕПРОМ
Ами аз правя нещо подобно при едни модеми, но тук е неприложимо. Основният ми проблем е, че параметрите няма как да бъдат валидирани - няма алгоритъм, чрез който като се прочете дадена стойност, да се провери дали е правилна или не(как да валидираш парола?!)... Така че това обезсмисля варианта с 2 копия на данните...
Ако прехвърля всичко в РОМ-а това ще направи ли системата ми по-устойчива? ROM по-добре ли е от EEPROM?

Мога да направя специална комбинация с бутоните, която да дава нещо като factory reset...

_________________
www.elkran.com


Пет Яну 25, 2019 6:29 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 1:21 am
Мнения: 10573
Местоположение: София
Мнение Re: Защита от грешка в ЕЕПРОМ
stoyanoff написа:
...Основният ми проблем е, че параметрите няма как да бъдат валидирани - няма алгоритъм, чрез който като се прочете дадена стойност, да се провери дали е правилна или не(как да валидираш парола?!)...

Контролна сума на еепрома или част от него?


Пет Яну 25, 2019 7:08 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: Защита от грешка в ЕЕПРОМ
Voting логика на множество копия?


Пет Яну 25, 2019 7:45 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2201
Мнение Re: Защита от грешка в ЕЕПРОМ
Мога да сложа контролна сума - някакво CRC. Има ли смисъл резервното копие да бъде отново на EEPROM-a? Или трябва да е на ROM, за да е сигурно, че ще има какво да се запише при установена грешка?
Принципно мога да сложа и допълнителен външен EEPROM при нужда....

_________________
www.elkran.com


Пет Яну 25, 2019 7:51 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: Защита от грешка в ЕЕПРОМ
Това като цяло е странно, толкова рядко че почти невъзможно. Ако имаш писане да, но само с четене... Ако са критични данни правиш копия, 3 са достатъчно добре, ак и трите са еднакви всичко е наред, ако две са еднакви шанса да са верни е голям, може да избереш как да действаш, ако и трите са различни не можеш да разчиташ на тях. Зависи и от реда на запис, ако първо записаната се ра, личава от следващите то може нито една да не е вярна, има голям шанс да се е счупил по време на записа на първата.


Пет Яну 25, 2019 8:26 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2201
Мнение Re: Защита от грешка в ЕЕПРОМ
Тони, и аз си мислих за това, но какво друго може да бъгне програмата на един контролер?! Както казах контролерът стартираше и упяваше да си подава достатъчно на често импулси на веригата, която го държи захранен. Индикацията за включено у-во работеше(отново мигаща светлина, управлявана от контролера), но не изпълняваше никакви команди. След като заредих програма за дебъг всичко си тръгна нормално...

_________________
www.elkran.com


Пет Яну 25, 2019 10:19 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 1:21 am
Мнения: 10573
Местоположение: София
Мнение Re: Защита от грешка в ЕЕПРОМ
Зависи от зависи, но често R/W е един бит. Евентуално проблеми (смущения) по бъса?


Пет Яну 25, 2019 10:40 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 27, 2012 8:27 pm
Мнения: 2008
Мнение Re: Защита от грешка в ЕЕПРОМ
И аз си мисля че е по скоро в синхронизацията от колкото грешка при четене в EEPROM-а
Когато пак се бъгне прочети паметта и я сравни с записа за да се увериш че програмата не ти прави номера, щом от ЕЕПРОМ-а само чете. Погледни си в програмата да нямаш прекъсвания...


Пет Яну 25, 2019 11:01 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2201
Мнение Re: Защита от грешка в ЕЕПРОМ
EEPROM-ът е вътре в контролера! :)

_________________
www.elkran.com


Съб Яну 26, 2019 9:30 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: Защита от грешка в ЕЕПРОМ
бъг в кода ?

запис, проверка ... няколко пъти

_________________
main[-1u]={1};


Съб Яну 26, 2019 11:09 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: Защита от грешка в ЕЕПРОМ
CRC на няколко байта е несигурно, затова е по-смислено да има копия, особено че като са малко данните има място за много копия.
Имаш ли свестен супервайзор на захранването, имаш ли ранен сигнал за отпадане на захранването (но ти казваш че само четеш в тоя момент).
По-скоро нещо обърква flow-а на програмата - бъгче, EMC, захранване и предполагам се случа нещо, което няма как да си представиш.
Какъв е чипа? Предполагам PIC или Atmel? Принципно като защита срещу подобни обърквания нормалните чипове има механизми за access - примерно key - преди да ти даде да пишеш в критични регистри трябва да спазиш определена последователност - изчиташ от регистър ключ, трябва да бутнеш нещо стойността (+1, инверсия) и да го върнеш обратно, което ти дава достъп до регистъра (за кратко).
Иначе при смущение може програмния брояч или стека просто да смени на адреса на функцията ти за запис и тя да си свърши работата неочаквано. Софтуерни защити трудно могат да помогнат - колкото и да проверяваш в началото на функцията пак има един адрес в програмата точно след проверките ти - и ако рандом-а удари не на първия адрес от функцията, ами направо на реда след проверките си готов изгорял.
Т.е. ако нямаш хардуерна защита можеш само да се мъчиш да премахнеш причината за объркването - дали бъг, дали смущение, дали космическа частица удряща клетка от паметта.
Правени ли са EMC тестове на това нещо? Твоите неща май щракаха големи тоци, т.е. EMC тест си е не просто желателен.


Съб Яну 26, 2019 11:41 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 8:19 pm
Мнения: 4410
Местоположение: Stara Zagora
Мнение Re: Защита от грешка в ЕЕПРОМ
Хм
"CRC на няколко байта е несигурно"
Нещо не виждам логиката, ще обясниш ли?


Съб Яну 26, 2019 11:45 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: Защита от грешка в ЕЕПРОМ
Ами зависи от crc-то спрямо размера на данните, колкото по-голяма е разликата, толкова по-ненадеждна е проверката. Не знам дали ти се е случвало но сме имали еднакво счупени копия, както и счупено копие и crc като обаче crc-то излизаше вярно за счупените данни, т.е.мърфи не е бил на кеф ...ако репроматериали е вътре по-скоро бъг или концепция която не е фейл /ерор сейф. Типична грешка, виждал съм я стотици пъти, особено при програмисти неразбиращи от хардуер без идея какво става зад командите и функциите които пишат. Надеждното записване на данни си е предизвикателство, особено когато разчиташ на бавни медии какъвто е еепрома, затова са измислени батерийки поддържани nvram или Fram/mram.


Съб Яну 26, 2019 12:27 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 30 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 8 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни