-
- Разводка пп виновата на 99%.Поскольку гальваноразвязки есть то остается наводка магнитной составляющей ЭМП от катушки.Кардинально улучшить можно только уменьшением ПЛОЩАДИ контура охватываемого током , в котором и создаются наводки.Или экстенсивный метод PlainUser(89 знак., 05.08.2010 14:07, )
- Здесь схему надо корректировать, разводку платы. Скорее всего железо виновато. - Михаил Е.(04.08.2010 22:48)
- перейти на многослойку, а может даже и отказатся от стеклотекстолита ... - cvv(07.08.2010 01:52)
- Виноваты во всём и всегда программисты. Это ж очевидно. Вот задымление и жара -- это тоже из-за программистов. - fk0(05.08.2010 13:19)
- +1000 Железо должно работать. Проходили в составе некого комплекса испытания на устойчивость к э-м помехам. Так на клоне MCS-51 контроллер внешних прерываний переставал на них реагировать, причем конфигурация прописывалась в него периодически. Сброс по Chum_A(321 знак., 05.08.2010 10:00)
- Щас опять холивар на эту тему начнётся - как процессор сам себя должен уметь за яйцы из болота вытаскивать :-) - Shura(05.08.2010 10:02)
- ..не начнется. Для начала пусть железо научится рихтовать. Начитался.. - blackbit(05.08.2010 13:08)
- Золотые слова, Юрий Венедиктович! © ;-) - Shura(05.08.2010 13:11)
- Пока обсуждается вопрос правильности сброса WDT. Это можно? ;) - Vladimir Ljaschko(05.08.2010 10:18)
- ага, а то есть умники, которые его в прерывании сбрасывают - koyodza(06.08.2010 18:06)
- и что? само по себе это не криминал - Shura(06.08.2010 18:24)
- пример: программа застряла из-за сбоя и поллит флаг или пин, а WDT сбрасывается в прерывании таймера как ни в чем не бывало. - Snaky(06.08.2010 18:27)
- программа застряла из-за сбоя -> не выставляет нужный флаг -> заходит в прерывание таймера, нужный флаг не обнаруживает, WDT не сбрасывает :-) Shura(121 знак., 06.08.2010 18:31)
- P.S. А сам по себе поллинг без таймаута это уже mauvais ton :-) - Shura(06.08.2010 18:37)
- это все верно. просто видел и такой код, где просто сброс в прерывании таймера без всяких флагов и проверок. бессмысленно и беспощадно. - Snaky(07.08.2010 06:00)
- +1 - koyodza(07.08.2010 11:09)
- это все верно. просто видел и такой код, где просто сброс в прерывании таймера без всяких флагов и проверок. бессмысленно и беспощадно. - Snaky(07.08.2010 06:00)
- P.S. А сам по себе поллинг без таймаута это уже mauvais ton :-) - Shura(06.08.2010 18:37)
- программа застряла из-за сбоя -> не выставляет нужный флаг -> заходит в прерывание таймера, нужный флаг не обнаруживает, WDT не сбрасывает :-) Shura(121 знак., 06.08.2010 18:31)
- пример: программа застряла из-за сбоя и поллит флаг или пин, а WDT сбрасывается в прерывании таймера как ни в чем не бывало. - Snaky(06.08.2010 18:27)
- и что? само по себе это не криминал - Shura(06.08.2010 18:24)
- Да всё можно, я чё тут, разрешения выписываю что-ли :-) - Shura(05.08.2010 10:19)
- ага, а то есть умники, которые его в прерывании сбрасывают - koyodza(06.08.2010 18:06)
- :))) Недетский, с уходом от темы и переходом на личности - Chum_A(05.08.2010 10:06)
- ..не начнется. Для начала пусть железо научится рихтовать. Начитался.. - blackbit(05.08.2010 13:08)
- Щас опять холивар на эту тему начнётся - как процессор сам себя должен уметь за яйцы из болота вытаскивать :-) - Shura(05.08.2010 10:02)
- Виновато в чем? Если в зависаниях от помех - то нет, т.к. коммутация индуктивности есть решение еще одной задачи по принудительному вызову сбоя в работе МК и проверки устойчивости к зависаниям. - Андрей(04.08.2010 22:53, )
- Недавно аналогичный случай у меня был. AtTiny2313, на вход аналогового компаратора через RC цепь сигнал с датчика тока. Нагрузка индуктивная - обмотка двигателя. Через эту ногу процессора подвешивало все наглухо, WDT не помогал. Внешняя защита этой ноги Михаил Е.(20 знак., 04.08.2010 23:04)
- 2-3 последовательных резистора с емкостью 0.5пф(паразитной) должны решить эту проблему. - PlainUser(05.08.2010 14:39, )
- В плане защиты ног у меня всё очень распрекрасно. Развязка от внешнего мира полная и даже двойная. Это либо оптроны либо трансформаторы (по питанию). Но помеха может прийти от коммутации сильноточных цепей через ЭМИ, и я обязан сделать так чтобы МК в Андрей(52 знак., 04.08.2010 23:23, )
- Камент. ИМХО, использование гальванической развязки не является достаточным условием обеспечения помехоустойчивости. - Точка опоры(05.08.2010 10:23)
- +500, многие думают: "поставил оптрон - и нет проблем". И ставят их куда попало, совершенно не задумываясь. Но сама по себе гальваноразвязка - не панацея - koyodza(06.08.2010 18:08)
- Забыл сказать. Всё это дело будет стоять в стальном шкафу, однако в шкаф будет заходить приличное количество полевых кабелей с которых не смотря на двойную развязку может прийти неслабая наведеночка от коммутаций высоковольтного оборудования и при Андрей(296 знак., 05.08.2010 20:31, )
- Товарищь Shura 1000 раз прав, если конструкция
херне очень, то никакой WDT не спасет, только передергивание питания. Может сразу нормально сделать? Повторюсь, видел МК получающий регулярный (600 мс) сброс от внешнего WDT, но тем не менее не Chum_A(65 знак., 06.08.2010 08:55, ссылка) - Железная коробочка + более-менее приличная трассировка + адекватная развязка сигналов и питаний при условии невиснущего кода делают WD абсолютно ненужной штукой, коей он и является. - Kit(06.08.2010 05:52)
- Случай из жизни: МК в железной коробочке в спецпомещении, всё заземлено, никакой коммутационной аппаратуры, разработка - заводская...завис так что в кое каком поселке была подана напруга 35 кВ куда не надо...хорошо что людей не было. - Андрей(06.08.2010 20:20, )
- Наверно, да. В ответственных системах WD стоит использовать в режиме "на всякий случай, чего в жизни не бывает". Но если устройство глючит на глазах у разработчика - это повод его переделать, а не навешивать на него "предохранители". ИМХО. - Kit(06.08.2010 21:56)
- Насчет "глючит на глазах" это ясен перец в топку. Разговор тут о сбоях в жесткой электромагнитной обстановке. - Андрей(06.08.2010 23:10, )
- Наверно, да. В ответственных системах WD стоит использовать в режиме "на всякий случай, чего в жизни не бывает". Но если устройство глючит на глазах у разработчика - это повод его переделать, а не навешивать на него "предохранители". ИМХО. - Kit(06.08.2010 21:56)
- когда Филипп Македонский подошёл к Спарте, он направил спартанцам послание: «Я покорил всю Грецию, у меня самое лучшее в мире войско. Сдавайтесь, потому что если я захвачу Спарту силой, если я сломаю её ворота, если я пробью таранами её стены, то Snaky(132 знак., 06.08.2010 05:57)
- Хе.. а черные ящики в последнее время только и подтверждают, что накосячил пилот:) У меня лично давно сложилось мнение, что пилота к управлению можно допускать, только если электроника сказала - "всё, не могу":) Но тут еще со мной можно поспорить, а Kit(73 знак., 06.08.2010 16:33)
- Это потому что чёрные ящики -тоже электроника. Сидел бы писаришка - электроника виновата была бы ВСЕГДА. - General(06.08.2010 18:28)
- Хе.. а черные ящики в последнее время только и подтверждают, что накосячил пилот:) У меня лично давно сложилось мнение, что пилота к управлению можно допускать, только если электроника сказала - "всё, не могу":) Но тут еще со мной можно поспорить, а Kit(73 знак., 06.08.2010 16:33)
- Случай из жизни: МК в железной коробочке в спецпомещении, всё заземлено, никакой коммутационной аппаратуры, разработка - заводская...завис так что в кое каком поселке была подана напруга 35 кВ куда не надо...хорошо что людей не было. - Андрей(06.08.2010 20:20, )
- Надо же какая великая цель. В мире уже общепринято делать многокиловатные источники питания и регуляторы с микроконтроллерами непосредственно в цифровой петле регулирования и ничего никогда не сбивается. И вдруг приходит некто и убеждает что без сбоев не AlexandrY(101 знак., 05.08.2010 23:35)
- Нигде в мире первый проект начинающего на поставят на серьезный объект. - PlainUser(06.08.2010 12:06, )
- Зря вы так. В частности моя разработка при испытаниях накрутила ресурс в десятки раз больший чем тот что выдерживают аналогичные системы спецзаводов. И превосходит так же по качеству и стабильности работы. - Андрей(06.08.2010 20:14, )
- Обсудим лет через 10 , посмеемся. - PlainUser(09.08.2010 08:11, )
- Ставят везде и где попадя. Я тут уж показывал фотки перлов которые если б не бдительность специалистов работали бы на объектах социальной инфраструктуры и гробили бы людей. Один из перлов сделал бывший сантехник фирмы почему-то решивший что если изучить AlexandrY(71 знак., 06.08.2010 12:47)
- Можно ссылочку. Вдруг это моё :) - Андрей(06.08.2010 20:10, )
- Сантехник то как-раз предметный специалист , лет дцать назад считалось что проще взять предметного спеца и обучить его МК чем электропрограммера какого научить делать автоматический унитаз например.Но смешно. - PlainUser(06.08.2010 13:20, )
- Зря вы так. В частности моя разработка при испытаниях накрутила ресурс в десятки раз больший чем тот что выдерживают аналогичные системы спецзаводов. И превосходит так же по качеству и стабильности работы. - Андрей(06.08.2010 20:14, )
- Нигде в мире первый проект начинающего на поставят на серьезный объект. - PlainUser(06.08.2010 12:06, )
- Ну и что? У меня в таких же условиях работает. Просто разводку платы грамотно сделать. - Михаил Е.(05.08.2010 21:50)
- Товарищь Shura 1000 раз прав, если конструкция
- Развязка не от всех помех спасает, скорее о топологии платы думать надо. Если все глухо, можно внешний вачдог использовать в качестве костыля. - she(04.08.2010 23:41)
- Он есть. Но при глухих зависаниях меандр на внешний ВДТ продолжает идти... Ппц короче, надо софт править... но как? - Андрей(05.08.2010 00:06, )
- Вы бы его хоть показали, софт-то. - testerplus(05.08.2010 10:54)
- Вам как лучше: 1500 строк Си или 7 кило асма? - Андрей(05.08.2010 20:34, )
- А каков у вас алгоритм формирования меандра для WatchDog-а? Традиционно его формируют в каком-либо таймерном прерывании. Это в принципе не есть плохо, но только если верно реализован алгоритм проверки условий для "ногодрыжества" WD. Я обычно пользуюсь rezident(630 знак., 05.08.2010 01:49)
- У меня он реализован инверсией ноги сброса ВДТ через N-ое число команд - от 1-ой до 10-ти в зависимости от времени выполнения. Реже чем раз в 0.1 мс инверсию делать нельзя, иначе сбросит ВДТ. Ваш вариант интересен, но мне кажется что его реально сделать Андрей(201 знак., 05.08.2010 02:06, )
- А заменить WDT на другой с бОльшим временем - не судьба? Пусть он сработает позже, но таки сработает же, сцуко! - Vladimir Ljaschko(05.08.2010 14:05)
- Рассматриваю этот вариант. Изначально ВДТ с бОльшим временем был внутренний ВДТ, но судя по всему на него надежды нет. - Андрей(05.08.2010 20:41, )
- while (true) CLRWDT(); -- классика жанра. - fk0(05.08.2010 13:18)
- Это самый неудачный способ формирования сигнала WDT какой только можно придумать. При т.н. "зависании" процессор не останавливается, он как правило выполняет в цикле определенную последовательность команд. - Shura(05.08.2010 10:00)
- Для WDT цикл не более 100 мкс?! О_о Вы случайно не контроллер ядерного реактора разрабатываете? :) Что значит "в зависимости от внешних условий"? Если у вас используются конечные автоматы, то кто мешает напихать установку флага в каждую ветку rezident(11 знак., 05.08.2010 02:30)
- А заменить WDT на другой с бОльшим временем - не судьба? Пусть он сработает позже, но таки сработает же, сцуко! - Vladimir Ljaschko(05.08.2010 14:05)
- У меня он реализован инверсией ноги сброса ВДТ через N-ое число команд - от 1-ой до 10-ти в зависимости от времени выполнения. Реже чем раз в 0.1 мс инверсию делать нельзя, иначе сбросит ВДТ. Ваш вариант интересен, но мне кажется что его реально сделать Андрей(201 знак., 05.08.2010 02:06, )
- Вы бы его хоть показали, софт-то. - testerplus(05.08.2010 10:54)
- Он есть. Но при глухих зависаниях меандр на внешний ВДТ продолжает идти... Ппц короче, надо софт править... но как? - Андрей(05.08.2010 00:06, )
- То есть все рекомендации выполнены? Тогда не сбрасывало бы. - General(04.08.2010 23:24, ссылка)
- Сброс - это как раз то чего я пытаюсь добиться. Но нужен самосброс а не передергивание питания. - Андрей(04.08.2010 23:30, )
- При мощной помехе проц поймает latchup и без передергивания питания всё равно не обойдётесь - Shura(05.08.2010 10:12)
- Сброс - это как раз то чего я пытаюсь добиться. Но нужен самосброс а не передергивание питания. - Андрей(04.08.2010 23:30, )
- Камент. ИМХО, использование гальванической развязки не является достаточным условием обеспечения помехоустойчивости. - Точка опоры(05.08.2010 10:23)
- Недавно аналогичный случай у меня был. AtTiny2313, на вход аналогового компаратора через RC цепь сигнал с датчика тока. Нагрузка индуктивная - обмотка двигателя. Через эту ногу процессора подвешивало все наглухо, WDT не помогал. Внешняя защита этой ноги Михаил Е.(20 знак., 04.08.2010 23:04)