zltigo 2 17 июля, 2010 Опубликовано 17 июля, 2010 · Жалоба Имеется часть большой системы - некое устройство разработанное для заказчика некой сторонней забугороной фирмой на двух :) PIC16F886. Документация на железо вся есть. Из существенного на борту кроме них еще 433MHz "Chipcon" и маломощный низкочастотный генератор работающий на магнитную антенну. Дело идет к тому :(, что все это надо со временем перерабатывать. Но и текущие устройства не выбросить, а с ними проблема - с завидной регулярностью слетает Flash. В процессе работы запись во Flash не производится, но в прошивке присутствует код загрузчика. "Мопед не мой", посему это все, что на данный момент знаю. Теперь глупый вопрос - знает-ли, встречал-ли кто-то объективно-аппаратные причины к слету Flash в упомянутых чипах? Недокументированные Баги? Проблемы с EMC?...? С тем, что это вероятнее всего косяк программеров, это понятно, можно при желании стрясти с них исходники и взяться копать. Вопрос в оценке вероятности того, что в софте явных ошибок и противоречий datasheet и errata тем не менее нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
WHILE 0 18 июля, 2010 Опубликовано 18 июля, 2010 (изменено) · Жалоба имею аналогичную проблему с серийной железкой производства ваших соседей по прибалтике-литовцев. Только сделано на мегах.Тоже имеется загрузчик через 485. Переписка-перезвонка с изготовителями ничего не дала-посылают [censored]. Решил проблему наиболее дешевым и быстрым способом-запретил фьюзами запись во флэш и работу из бута. Наверное, и в пиках тоже должна быть такая возможность? Изменено 18 июля, 2010 пользователем rezident Нарушение п.2.1б Правил форума. Нецензурные аллюзии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 18 июля, 2010 Опубликовано 18 июля, 2010 · Жалоба Наверное, и в пиках тоже должна быть такая возможность? Не хотелось-бы такие грубые заплатки использовать, хотя производитель (не разработчик) сейчас загрузчик выбросил и говорит полегчало. Не хочется, как минимум по причине того, что устройство залито компаундом, и перепрограммирование возможно только по радиоканалу через этот самый загрузчик. И вообще устройство связано с жизнеобеспечением и оставлять в нем грабли точно не надо совсем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость @Ark 18 июля, 2010 Опубликовано 18 июля, 2010 · Жалоба Не хотелось-бы такие грубые заплатки использовать... Посмотрите, что там с битами конфигурации. Частенько забывают выключить режим низковольтного программирования, который, по умолчанию, включен. Если RB3 никуда не притянут и болтается в воздухе, то наводка на него может переводить PIC в режим программирования, со всеми вытекающими. Причем, для этого часто достаточно переключения уровней на соседних ногах. Вторая возможная причина - импульсные наводки на MCLR, как выше питания, так и ниже земли. Даже если MCLR отключен (подключен внутренне в VDD), это может приводить к зависаниям и самопроизвольному переходу в режим программирования. В этом случае помогает внешнее подсоединение MCLR к Vdd напрямую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 18 июля, 2010 Опубликовано 18 июля, 2010 · Жалоба Посмотрите, что там с битами конфигурации. На следующей неделе запрошу. Частенько забывают выключить режим низковольтного программирования, который, по умолчанию, включен. Если RB3 никуда не притянут и болтается в воздухе, то наводка на него может переводить PIC в режим программирования, со всеми вытекающими. Причем, для этого часто достаточно переключения уровней на соседних ногах. О! он не просто болтается в воздухе, он круто болтается в воздухе - к нему чрез диод подключена катушка приемной магнитной антенны. Причем, насколько я проинформирован, эта часть софта на данный момент опциональна и еще только разрабатывается, хотя железо уже есть. Вторая возможная причина - импульсные наводки на MCLR Ну с этим достаточно обыденно - подтянут 2K и уходит на внешний разъем к которому при производстве, очевидно, подключается программатор, а потом периферийные платы. По периферийной плате он тоже бегает :(, но не подключается. Большое спасибо за "наводки"! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rsln 0 20 июля, 2010 Опубликовано 20 июля, 2010 · Жалоба Еще может быть температурный диапазон: превышение его во время работы как в "-" так и в "+" сторону приводит к таким проблемам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 20 июля, 2010 Опубликовано 20 июля, 2010 · Жалоба Еще может быть температурный диапазон: превышение его во время работы как в "-" так и в "+" сторону приводит к таким проблемам. Такого точно нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 20 июля, 2010 Опубликовано 20 июля, 2010 · Жалоба ... и перепрограммирование возможно только по радиоканалу через этот самый загрузчик... И так как на 433 MHz работают все, кому ни лень, не исключается возможность, что ваше устройство воспринимает нечто с эфира, как команду к перепрограммированию. Было дело, устройство отказывалось работать в определенное время, в определенном месте. Возможно, оттого, что рядом парковались машины. И еще процессор в компьютере работал на 433 MHz. Других объяснений я не нашел. Если в программе есть функция стирания - перепрограммирования памяти, то рано или поздно в нее можно залететь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 20 июля, 2010 Опубликовано 20 июля, 2010 · Жалоба И так как на 433 MHz работают все, кому ни лень Я протокола на данный момент не знаю, но в том месте, где оно используются никто не работает :) - просто не может. Возможно, оттого, что рядом парковались машины. Там машины, в смысле легковые, ну никак даже физически появится не могут. Если эту сеть вдруг включить на открытом пространстве, то сингализация у машин не работает в радиусе многих сотен метров. Если в программе есть функция стирания - перепрограммирования памяти, то рано или поздно в нее можно залететь. В данном случае интересуют любые гадости, КРОМЕ этой. С этой разберусь, если что. А вот если вдруг железная проблема, то тяжело искать черную.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость @Ark 20 июля, 2010 Опубликовано 20 июля, 2010 · Жалоба to zltigo: Если есть аппаратная возможность, предлагаю соединить в устройстве RB3 с землей, а MCLR c Vdd. Конечно, если есть уверенность, что на функционирование устройства это не повлияет фатальным образом. Дать поработать какое-то время. Все станет ясно достаточно быстро. P.S. Еще можно, при работающем устройстве попробовать подтянуть RB3 к питанию. При зависании, есть большая вероятность, что режим низковольтного программирования все-таки забыли выключить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 20 июля, 2010 Опубликовано 20 июля, 2010 · Жалоба Я все же в первую очередь подозревал бы команду, принятую с эфира (после той причины, которая КРОМЕ). С потерей содержимого флэш-памяти не сталкивался никогда. А вот по висящей в воздухе ноге Rx (USART) залетал хрен знает куда. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
slavka012 0 20 июля, 2010 Опубликовано 20 июля, 2010 · Жалоба Подозревать баги в железе надо в последнюю очередь. EMP по идее не может приводить к слету флеш. Бит во флеше - это грубо говоря конденсатор и FET. Его можно только радиацией сбить, если я не ошибаюсь. А вот бутлоадер может глючить легко. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 20 июля, 2010 Опубликовано 20 июля, 2010 (изменено) · Жалоба Предлагается убить 433 (выключить) и посмотреть. У меня подобный передатчик соединенный с конвертором USB-232 и подключенный к компу одно время просто регулярно выбивал USB(!) при работе на передачу (1 мвт) (т.е требоалось передергивать USB). А с нормальной антенной - 100% результат. Вылечилось постановкой по питанию маленькой кучки пикофарадных (1-10) конденсаторов. Изменено 20 июля, 2010 пользователем DpInRock Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 20 июля, 2010 Опубликовано 20 июля, 2010 · Жалоба Предлагается убить 433 (выключить) и посмотреть. Отпадает :). Без него этому контролеру просто нечего делать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 20 июля, 2010 Опубликовано 20 июля, 2010 · Жалоба Ну он все равно ведь чего-то делает. Ибо в моем случае я просто был поражен силою эффекта при такой мизерной мощности. Просто вот сошлось все. И разводка платы, и соединительные шлейфы и прочая. Если он уж совсем ничего не делает в прямом смысле, то можно антенну нагрузить на чистый резюк, чтоб излучения не было. Вернее, оно будет, но крайне низкое. Которого хватит на полметра. Т.о. и работать будет и излучения минимум. Ибо что плохо в таких случаях - сбой по излучению зависит от схождения в одном месте кучки волшебных факторов, которые невычисляемы, непознаваемы и противостоят любым заклинаниям. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться