|
PIC16F886 слет Flash, Вопрос практически риторический :( |
|
|
|
Jul 17 2010, 22:49
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Имеется часть большой системы - некое устройство разработанное для заказчика некой сторонней забугороной фирмой на двух  PIC16F886. Документация на железо вся есть. Из существенного на борту кроме них еще 433MHz "Chipcon" и маломощный низкочастотный генератор работающий на магнитную антенну. Дело идет к тому  , что все это надо со временем перерабатывать. Но и текущие устройства не выбросить, а с ними проблема - с завидной регулярностью слетает Flash. В процессе работы запись во Flash не производится, но в прошивке присутствует код загрузчика. "Мопед не мой", посему это все, что на данный момент знаю. Теперь глупый вопрос - знает-ли, встречал-ли кто-то объективно-аппаратные причины к слету Flash в упомянутых чипах? Недокументированные Баги? Проблемы с EMC?...? С тем, что это вероятнее всего косяк программеров, это понятно, можно при желании стрясти с них исходники и взяться копать. Вопрос в оценке вероятности того, что в софте явных ошибок и противоречий datasheet и errata тем не менее нет.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 18 2010, 09:23
|

Знающий
   
Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768

|
имею аналогичную проблему с серийной железкой производства ваших соседей по прибалтике-литовцев. Только сделано на мегах.Тоже имеется загрузчик через 485. Переписка-перезвонка с изготовителями ничего не дала-посылают [censored]. Решил проблему наиболее дешевым и быстрым способом-запретил фьюзами запись во флэш и работу из бута. Наверное, и в пиках тоже должна быть такая возможность?
Сообщение отредактировал rezident - Jul 18 2010, 10:34
Причина редактирования: Нарушение п.2.1б Правил форума. Нецензурные аллюзии.
--------------------
"Hello, word!" - 17 errors 56 warnings
|
|
|
|
|
Jul 18 2010, 10:01
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (WHALE @ Jul 18 2010, 12:23)  Наверное, и в пиках тоже должна быть такая возможность? Не хотелось-бы такие грубые заплатки использовать, хотя производитель (не разработчик) сейчас загрузчик выбросил и говорит полегчало. Не хочется, как минимум по причине того, что устройство залито компаундом, и перепрограммирование возможно только по радиоканалу через этот самый загрузчик. И вообще устройство связано с жизнеобеспечением и оставлять в нем грабли точно не надо совсем.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Guest_@Ark_*
|
Jul 18 2010, 10:43
|
Guests

|
Цитата Не хотелось-бы такие грубые заплатки использовать... Посмотрите, что там с битами конфигурации. Частенько забывают выключить режим низковольтного программирования, который, по умолчанию, включен. Если RB3 никуда не притянут и болтается в воздухе, то наводка на него может переводить PIC в режим программирования, со всеми вытекающими. Причем, для этого часто достаточно переключения уровней на соседних ногах. Вторая возможная причина - импульсные наводки на MCLR, как выше питания, так и ниже земли. Даже если MCLR отключен (подключен внутренне в VDD), это может приводить к зависаниям и самопроизвольному переходу в режим программирования. В этом случае помогает внешнее подсоединение MCLR к Vdd напрямую.
|
|
|
|
|
Jul 18 2010, 11:20
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (@Ark @ Jul 18 2010, 13:43)  Посмотрите, что там с битами конфигурации. На следующей неделе запрошу. QUOTE Частенько забывают выключить режим низковольтного программирования, который, по умолчанию, включен. Если RB3 никуда не притянут и болтается в воздухе, то наводка на него может переводить PIC в режим программирования, со всеми вытекающими. Причем, для этого часто достаточно переключения уровней на соседних ногах. О! он не просто болтается в воздухе, он круто болтается в воздухе - к нему чрез диод подключена катушка приемной магнитной антенны. Причем, насколько я проинформирован, эта часть софта на данный момент опциональна и еще только разрабатывается, хотя железо уже есть. QUOTE Вторая возможная причина - импульсные наводки на MCLR Ну с этим достаточно обыденно - подтянут 2K и уходит на внешний разъем к которому при производстве, очевидно, подключается программатор, а потом периферийные платы. По периферийной плате он тоже бегает  , но не подключается. Большое спасибо за "наводки"!
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 20 2010, 12:39
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(zltigo @ Jul 18 2010, 13:01)  ... и перепрограммирование возможно только по радиоканалу через этот самый загрузчик... И так как на 433 MHz работают все, кому ни лень, не исключается возможность, что ваше устройство воспринимает нечто с эфира, как команду к перепрограммированию. Было дело, устройство отказывалось работать в определенное время, в определенном месте. Возможно, оттого, что рядом парковались машины. И еще процессор в компьютере работал на 433 MHz. Других объяснений я не нашел. Если в программе есть функция стирания - перепрограммирования памяти, то рано или поздно в нее можно залететь.
|
|
|
|
|
Jul 20 2010, 13:15
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (ViKo @ Jul 20 2010, 15:39)  И так как на 433 MHz работают все, кому ни лень Я протокола на данный момент не знаю, но в том месте, где оно используются никто не работает  - просто не может. QUOTE Возможно, оттого, что рядом парковались машины. Там машины, в смысле легковые, ну никак даже физически появится не могут. Если эту сеть вдруг включить на открытом пространстве, то сингализация у машин не работает в радиусе многих сотен метров. QUOTE Если в программе есть функция стирания - перепрограммирования памяти, то рано или поздно в нее можно залететь. В данном случае интересуют любые гадости, КРОМЕ этой. С этой разберусь, если что. А вот если вдруг железная проблема, то тяжело искать черную....
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Guest_@Ark_*
|
Jul 20 2010, 13:35
|
Guests

|
to zltigo: Если есть аппаратная возможность, предлагаю соединить в устройстве RB3 с землей, а MCLR c Vdd. Конечно, если есть уверенность, что на функционирование устройства это не повлияет фатальным образом. Дать поработать какое-то время. Все станет ясно достаточно быстро. P.S. Еще можно, при работающем устройстве попробовать подтянуть RB3 к питанию. При зависании, есть большая вероятность, что режим низковольтного программирования все-таки забыли выключить.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|