west329_
Jan 27 2009, 21:20
Ув. читатели подскажите как можно защитит контроллер от сбоя.
Опишу кратко ситуацию.
Наша руководитель проекта решил отказаться от морально устаревших пик контроллеров и перейти на более быстрые меги мотивируя тем что будет запас производительности и памяти. Заказали с горячки партию мег 162 сразу на все устройства, ну наше дело маленькое, написали софт, отладили, и тут вылезла оно - проблема. Ещё во время отладки обратили внимание на то что если подпаивать какой то элемент на плате, слетают настройки в ЕЕПРОМ, все данные как использовать контроллер проверят через crc. Я сразу подумал на статику, но так как это только опытные образцы паяются включенные то настал сильно переживать.
В итоге устройство подключается к промышленному блоку по RS-232, в наших устройствах мы использовали max232N, все поначалу работало нормально и начальство даже поблагодарило за труды, но все случилось когда промышленный блок завис, чтоб его перезагрузить оператор просто выдергивает его из сети и заново включает, при этом наше устройство запитывеатся от собственного блока питания и соединяется только 3 проводами с пром.блоком Rx Tx GND, и в момент когда его включают наш контроллер перегружается и еепром не проходит верификацию а попросту слетает.
Понял что эту проблему не решить программно, подскажите может можно как то физически защитит контроллер ?
p.s. Забыл, изначально до меги стоял пик который спокойно переносил такие манипуляции, и еепром ни разу неслетала.
singlskv
Jan 27 2009, 21:37
Цитата(west329_ @ Jan 28 2009, 00:20)

при этом наше устройство запитывеатся от собственного блока питания и соединяется только 3 проводами с пром.блоком Rx Tx GND, и в момент когда его включают наш контроллер перегружается и еепром не проходит верификацию а попросту слетает.
Перегружается само по себе ? или так и задумано ? перегружается программно или аппаратно ?(хотя аппаратно через Rx,Tx и GND трудно)
BOD то хоть включен на меге ?
west329_
Jan 27 2009, 21:53
Цитата(singlskv @ Jan 28 2009, 00:37)

Перегружается само по себе ? или так и задумано ? перегружается программно или аппаратно ?(хотя аппаратно через Rx,Tx и GND трудно)
BOD то хоть включен на меге ?
Контроллер перегружается сам по себе. BOD включен. В том то и дело если разём не подключать к промышленному блоку то всё нормально.
singlskv
Jan 27 2009, 22:42
Цитата(west329_ @ Jan 28 2009, 00:53)

Контроллер перегружается сам по себе. BOD включен. В том то и дело если разём не подключать к промышленному блоку то всё нормально.
то есть все время мега и промблок были соединены(RX,TX,GND), мега была включена и при включении промблока мега уходит на перезагрузку ?
НЕ ВЕРЮ...
Ну или там в разводке чего-нить очень злобно накосячили...
goodwin
Jan 28 2009, 00:08
m162 говорите?
Есть именно по ним приличный опыт.
Сначала пользовали m161 - у них был нерабочий BOD, посему ставили внешний супервизор.
Из недостатков - все-равно на морозе (и только!) умудрялась слетать флэш. 1-2 случая на 500 устройств.
После появления m162, перешли на них. Решили сэкономить на супервизоре, так как вроде атмел подправил это дело, и получили не стартующие контроллеры в морозы -20 при включенном BOD. Была такая фишка в первых партиях.
Так, как схемотехника не поменялась, начали опять ставить супервизоры и проблем не стало. Никаких.
Устройства работают на улице, в них тычут таблетками Dallas прямо с машин - статика нехилая, но ни одного случая слета памяти не было (ни eeprom, ни flash).
Так что советую попробовать поставить для эксперимента.
Ну и надеть колечко ферритовое на провод интерфейса не помешает, раз у вас там такие "нечеловечьи" условия.
А самое главное таки - пристально присмотреться к разводке

Соединить землю интерфейса, например, к земляной точке подключения блока питания...
west329_
Jan 28 2009, 07:06
Цитата(goodwin @ Jan 28 2009, 03:08)

m162 говорите?
Есть именно по ним приличный опыт.
Сначала пользовали m161 - у них был нерабочий BOD, посему ставили внешний супервизор.
Из недостатков - все-равно на морозе (и только!) умудрялась слетать флэш. 1-2 случая на 500 устройств.
После появления m162, перешли на них. Решили сэкономить на супервизоре, так как вроде атмел подправил это дело, и получили не стартующие контроллеры в морозы -20 при включенном BOD. Была такая фишка в первых партиях.
Так, как схемотехника не поменялась, начали опять ставить супервизоры и проблем не стало. Никаких.
Устройства работают на улице, в них тычут таблетками Dallas прямо с машин - статика нехилая, но ни одного случая слета памяти не было (ни eeprom, ни flash).
Так что советую попробовать поставить для эксперимента.
Ну и надеть колечко ферритовое на провод интерфейса не помешает, раз у вас там такие "нечеловечьи" условия.
А самое главное таки - пристально присмотреться к разводке

Соединить землю интерфейса, например, к земляной точке подключения блока питания...
C утра пораньше побывал на производстве, сам лично проверял , контроллер перегружается сам по себе в тот мобент как большого брата(пром контроллер) вытягивают из сети и опять подключают, повторюсь при этом наше устройство питается от собственного импульсника и соединено только 3 проводами по 232 интерефейсу. В промышленно контроллере стоит тоже импульсник мощность ват так 50.
При 20-25 таких перезагрузок 1 раз слетела еепром, потом включал выключал раз 50, еепром неслетала но каждый раз контроллер сбрасывался.
Ув. goodwin вы можете показать вашу схемотехнику подключения, именно ту част что касается меги 162 и макса232 и питания.
Dog Pawlowa
Jan 28 2009, 07:11
Цитата(west329_ @ Jan 28 2009, 10:02)

C утра пораньше побывал на производстве, сам лично проверял , контроллер перегружается сам по себе в тот мобент как большого брата(пром контроллер) вытягивают из сети и опять подключают...
Плохая схемотехника. Для убедительности попробуйте разорвать не цепь первичного питания, а цепь вторичного питания промышленного контроллера. Если в этом случае перезагрузки не будет, то помеха от пускового тока импульсного блока питания. Попробуйте создать дополнительные помехи, хотя бы по известной методике рашпилем.
west329_
Jan 28 2009, 07:31
Цитата(Dog Pawlowa @ Jan 28 2009, 10:11)

Плохая схемотехника. Для убедительности попробуйте разорвать не цепь первичного питания, а цепь вторичного питания промышленного контроллера. Если в этом случае перезагрузки не будет, то помеха от пускового тока импульсного блока питания. Попробуйте создать дополнительные помехи, хотя бы по известной методике рашпилем.

А если допустим помеха от пускового тока импульсного блока питания пром. контро. как тогда можно от неё избавится.
Ещё огорчает тот факт, что мы старались сильно в схематику невлазить, так как всё уже было сделано до нас на пик контроллере и работало нормально без збоев, мы только заменили его авркой и поменяли кварц.
Феррит на шнурок обязательно намотаю и проверю.
может есть ещё варианты ?
Dog Pawlowa
Jan 28 2009, 07:35
Цитата(west329_ @ Jan 28 2009, 10:31)

может есть ещё варианты ?
Этот вариант - как детская присыпка от холеры.
Почитайте эту статью:
http://caxapa.ru/lib/emc_immunity.html
ermilovd
Jan 28 2009, 07:36
Предлагаю на RS232 поставить гальваническую развязку: или использовать м/с драйвера с гальванической развязкой или между драйвером и процом поставить опторазвязку.
west329_
Jan 28 2009, 07:49
Цитата(ermilovd @ Jan 28 2009, 10:36)

Предлагаю на RS232 поставить гальваническую развязку: или использовать м/с драйвера с гальванической развязкой или между драйвером и процом поставить опторазвязку.
Вы встречали такие решения, если можно поделитесь ссылкой, так как изобретать веросипед нехочется.
Нехочу ничего плохого гворить в адрес авр, но похоже микрочиповцы сжелали еепром более надёжной.
П.С Кажется есть подобные решения по ссылке Dog Pawlowa.
Dog Pawlowa
Jan 28 2009, 07:55
Цитата(west329_ @ Jan 28 2009, 10:49)

похоже микрочиповцы сжелали еепром более надёжной.
Вот так и рождаются легенды!
VladimirYU
Jan 28 2009, 09:12
Цитата(west329_ @ Jan 28 2009, 00:53)

Контроллер перегружается сам по себе. BOD включен. В том то и дело если разём не подключать к промышленному блоку то всё нормально.
Ну если перезагрузка
только при подключенном кабеле RS232, то скорей всего не удачно выбрана точка соединения земляного провода линии связи с землей платы меги. Отвалить земляной провод линии от платы и попробовать найти другую точку соединения с сигнальной зеьлей, м.б. через барьерный резистор (десятоки ом). Радикально - гальваноразвязка.
Для начало поставьте супервизор. ИМХО: Бодлевелы встроенные менее надёжная штука. Потом сделайте оптическую развязку RS (также можно и на цивровых изоляторах ADUM, меньше тока кушать будут, но чуток дороже), а также многое зависит от разводки платы
west329_
Jan 28 2009, 14:08
Цитата(Rash @ Jan 28 2009, 14:39)

Для начало поставьте супервизор. ИМХО: Бодлевелы встроенные менее надёжная штука. Потом сделайте оптическую развязку RS (также можно и на цивровых изоляторах ADUM, меньше тока кушать будут, но чуток дороже), а также многое зависит от разводки платы
Какое полное название ADUM, я просто такими ещё непользовался, для гугла маловато информации.
Stanislav_S
Jan 28 2009, 14:20
Цитата(west329_ @ Jan 28 2009, 19:08)

Какое полное название ADUM, я просто такими ещё непользовался, для гугла маловато информации.
ADuM1401 например.
Цитата(west329_ @ Jan 28 2009, 17:08)

Какое полное название ADUM, я просто такими ещё непользовался, для гугла маловато информации.
на Analog Devices зайти нужно и выбрать
У меня было нечто подобное на меге16. При подсоединении кабеля программирования, а туда же выведены и сигналя от УАРТа для терминалки, прибор сбрасывался и пару раз даже затерлась ЕЕР. В режиме терминалки, я имею в виду. Так что почти как у Вас.
В чудеса не верю, поэтому внимательно осмотрел плату и нашел дефект (шаблона, скорее всего) - была оборвана земля к кварцу. Даже не оборвана, а волосяной такой разрыв, как разрез скальпелем. А TxD, RxD и выводы кварца рядышком... Кроме того, разводка генератора делалась с учетом аппнотов Атмела. Пришлось кидать перемычку. Да, забыл сказать, разрыв этот аккурат под корпусом камня был, просто так и не углядишь.
Прозвонить трудновато, земли в камне соединены между собой, так что вроде все нормально. Ан нет...
Проверьте плату, а вдруг повезет. Хотя тот прибор не промышленный, так, любительский...
Самая простая программная припарка - не лезть в ЕЕПРОМ даже на чтение в первые дцать мсекунд после старта программы. По-видимому, у Вас иногда приключается несколько ресетов подряд.
Но я бы начал с выявления их причины (трассировка, емкостей не хватает, помехи из первички через БП прилетают, помехи по земле RS232 (если эта земля идет на землю БП через контроллер - опять трассировка),...).
Serjio
Jan 28 2009, 16:07
И я готов признать, что были в свое время косяки, правда с 128 мегой. Как только включалась какая либо нагрузка (особенно индуктивная) - и епром слетала периодически и процессор сбрасывался... На изучение ушло много времени. В результате переразвели платы по новой, с рекомендациями ATMEL по кварцу, добавили полигонов земли, резисторы по входам и поставили импульсный стабилизатор по питанию и, о чудо ! работает как часы - за все время работы ни одного сбоя по питанию или потери EEPROM (ну в нулевой адрес мы не пишем и не проверяем) , даже в самых тяжелых случаях (промышленные установки). Смотрите как разведена земля на вашей плате - вероятно найдете причину.
ed_ward
Feb 1 2009, 19:34
Что-то подсказывает, что все дело в отсутствии конденсатора в цепи сброса...
west329_
Feb 1 2009, 20:13
Цитата(ed_ward @ Feb 1 2009, 23:34)

Что-то подсказывает, что все дело в отсутствии конденсатора в цепи сброса...
Действительно ножка висит на плате и никуда не подключается, но она подтянута автоматически к плюсу внутри контроллера по даташиту, а конденсатора нету на ресете, разве это не вредно для контроллера в моменты когда пропадает питание и на ресете плавно падает питание ?
Если включен внутренний BOD, то абсолютно все равно че происходит на ноге сброса и тем более происходит оно медленно или быстро!
А вот от использования кварцев давнооо отказался, токо внешний генератор!
west329_
Feb 1 2009, 20:59
Цитата(zombi @ Feb 2 2009, 00:30)

Если включен внутренний BOD, то абсолютно все равно че происходит на ноге сброса и тем более происходит оно медленно или быстро!
А вот от использования кварцев давнооо отказался, токо внешний генератор!
Почему если не секрет ?
ed_ward
Feb 1 2009, 23:11
Цитата(west329_ @ Feb 1 2009, 23:13)

Действительно ножка висит на плате и никуда не подключается, но она подтянута автоматически к плюсу внутри контроллера по даташиту, а конденсатора нету на ресете, разве это не вредно для контроллера в моменты когда пропадает питание и на ресете плавно падает питание ?
Внутренняя подтяжка там хиленькая. Рекомендую подтянуть к плюсу через 10кОм и к земле через 10nF.
Цитата(zombi @ Feb 1 2009, 23:30)

Если включен внутренний BOD, то абсолютно все равно че происходит на ноге сброса и тем более происходит оно медленно или быстро!
А вот от использования кварцев давнооо отказался, токо внешний генератор!
Но ведь нога то ресетная, все равно активна. И в данном случае, я б сказал, прям как активная антенна
А вот внешний кварц я использую наоборот, очень редко, только при повышенных требованиях к стабильности. У атмег внутренний не плох.
Цитата(west329_ @ Feb 2 2009, 00:59)

Почему если не секрет ?
Ой, сорри. Я думал что установлен RSTDISBL которого у 162меги нету

Цитата(ed_ward @ Feb 2 2009, 03:11)

А вот внешний кварц я использую наоборот, очень редко, только при повышенных требованиях к стабильности. У атмег внутренний не плох.
Может у мег внутр. генератор и хорош, но у меня както повелось еще с ат90-х всегда ставить внешний супервизор и генератор, может это и перестраховка зато с этими узлами никогда небыло проблем и я уверен в стабильности поскольку требования довольно высокие
VladimirYU
Feb 2 2009, 06:09
Цитата(zombi @ Feb 2 2009, 03:10)

Может у мег внутр. генератор и хорош, но у меня както повелось еще с ат90-х всегда ставить внешний супервизор и генератор, может это и перестраховка зато с этими узлами никогда небыло проблем и я уверен в стабильности поскольку требования довольно высокие

+1!
Заложить супервизор в SOT23 (~30руб.), забыть про БОД, который х.з. как у Атмела сделан. Ни разу в таком исполнении не было проблем с улетом ЕЕПРОМ. Второе, тоже пошло от AT90, не использовать 0-ую ячейку, чаще всего слетала она.
ed_ward
Feb 2 2009, 19:26
Цитата(VladimirYU @ Feb 2 2009, 09:09)

+1!
Заложить супервизор в SOT23 (~30руб.), забыть про БОД, который х.з. как у Атмела сделан. Ни разу в таком исполнении не было проблем с улетом ЕЕПРОМ. Второе, тоже пошло от AT90, не использовать 0-ую ячейку, чаще всего слетала она.
Не использовать 0-ую ячейку у меня пошло с 89S серии, где с этим действительно были проблемы (как и со сбросом). Современные атмеги прекрасно работают с внутренним генератором и активированным бодом. Даже нулевая ячейка не теряется.
Но, в данном случае, проблема, думаю, была очевидна- цепь сброса.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.