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

 
 
> EEPROM в MEGA88, неуловимое разрушение данных
ZloVaVaN
сообщение Sep 12 2012, 13:21
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 12-09-12
Пользователь №: 73 515



Доброе время суток, всезнающий ALL. Столкнулся я с печальной проблемой и нуждаюсь в каких-либо новых мыслях т.к. свои уже иссякли.
Имеется серийный девайс (некий интеллектуальный датчик, установленный на некоем транспортном средстве в огромном количестве). Собран на чипе mega88pa, связан с бортовым компьютером весьма длинной сетью, запитан (после защитных ограничителей в компьютере, разумеется) от линейника, 5 вольт, емкости - электролит что-то около 47-100 мкф и мелкая керамика, кажись 1 мкф. Супервизора нету, но БОД включен, данные гонятся по 485 (без опторазвязки).
Суть проблемы: у датчиков иногда напрочь убиваются настройки. Что характерно - датчики хворают не по одиночке, а сразу толпами. Настройки хранятся в EEPROM. В нескольких копиях. Каждая со своей 16-битной контрольной суммой, в случае порчи какой-либо из копий данные восстанавливаются из уцелевших. И фиг бы с настройками-калибровками, да там же хранятся сетевые адреса. Когда датчик не находит ни одной живой копии настроек - он грузит значения по умолчанию, в том числе и сетевой адрес, что приводит к полной свалке и частичной потери контроля.
Операции с EEPROM производятся редко (чтение при загрузке, плюс весьма редкая запись: перекалибровка при значительном уходе параметров электроники). Прерывания при этом запрещаются.
Межу сеансам работы с EEPROM указатель адреса устанавливается в ноль; блоки данных идут не с начала адресного пространства и разнесены между собой.
Код перечитан стопиццот раз, модуль работы с настройками весьма прост, неоднократно прогнан в эмуляторе с самыми разными условиями и эмуляцией различных сбоев памяти.

Сбой проявляется крайне редко, но отказ системы приводит к очень неприятным последствиям. Пока есть два факта на противоположных концах страны, так что сознательный саботаж исключаю; датчики залиты (т.е. связь с внутренним миром только через куцый бутлоадер) и находятся весьма далеко географически, так что анализ ситуации затруднен. На месте сбой повторить не удалось. Все датчики после изготовления проходят цикл проверки тепло/холод/электрические параметры и.т.д.

Есть какие-нибудь идеи, что еще можно проверить?...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ArtemKAD
сообщение Sep 13 2012, 13:33
Сообщение #2


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

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



1) В программе есть чтение EEPROM в прерывании. Результат - во время записи из основного цикла может писать куда угодно.
2) Неверная схемотехника/разводка и как результат сбой МК по коротким импульсным помехам. Тут камень иногда может делать все что вздумается...

Цитата
А с радиационной обстановкой всё в порядке? Не то мож гамма-лучами по чипам проехались...

Вряд-ли. После такого не только содержимое ЕЕПРОМ, но и памяти программ желает долго жить.
Go to the top of the page
 
+Quote Post
ZloVaVaN
сообщение Sep 13 2012, 21:14
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 12-09-12
Пользователь №: 73 515



Цитата(ArtemKAD @ Sep 13 2012, 16:33) *
1) В программе есть чтение EEPROM в прерывании. Результат - во время записи из основного цикла может писать куда угодно.
2) Неверная схемотехника/разводка и как результат сбой МК по коротким импульсным помехам. Тут камень иногда может делать все что вздумается...

1) неа. Во время инициализации настройки кэшируются в оперативную память и дальше работа с ними идет только оттуда.
2) хз. Учитывая что их там целая толпа, питание общее (+12. В каждом датчике стоит свой ограничитель+линейник+конденсаторы), а линии данных не имеют гальванической развязки, теоретически может конечно что-то по земле пролазить. Как я уже говорил, на схемотехнике малость сэкономили.

На счет радиации у меня уже была шизофреническая идея, на правах шутки, что у них там где-то геодезический маячок валяется и они по нему иногда ездят. Хотя если говорить серьезно, ИМХО, если облучать запитанный чип имеющий такое количество полевиков - он не память потеряет, а кубометр зловонного дыма испустит.

Вот линия на 750 киловольт там есть, да.
Go to the top of the page
 
+Quote Post



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

 


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


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