Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Затирается EEPROM от статики на м162
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
west329_
Ув. читатели подскажите как можно защитит контроллер от сбоя.
Опишу кратко ситуацию.
Наша руководитель проекта решил отказаться от морально устаревших пик контроллеров и перейти на более быстрые меги мотивируя тем что будет запас производительности и памяти. Заказали с горячки партию мег 162 сразу на все устройства, ну наше дело маленькое, написали софт, отладили, и тут вылезла оно - проблема. Ещё во время отладки обратили внимание на то что если подпаивать какой то элемент на плате, слетают настройки в ЕЕПРОМ, все данные как использовать контроллер проверят через crc. Я сразу подумал на статику, но так как это только опытные образцы паяются включенные то настал сильно переживать.

В итоге устройство подключается к промышленному блоку по RS-232, в наших устройствах мы использовали max232N, все поначалу работало нормально и начальство даже поблагодарило за труды, но все случилось когда промышленный блок завис, чтоб его перезагрузить оператор просто выдергивает его из сети и заново включает, при этом наше устройство запитывеатся от собственного блока питания и соединяется только 3 проводами с пром.блоком Rx Tx GND, и в момент когда его включают наш контроллер перегружается и еепром не проходит верификацию а попросту слетает.

Понял что эту проблему не решить программно, подскажите может можно как то физически защитит контроллер ?


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


Контроллер перегружается сам по себе. BOD включен. В том то и дело если разём не подключать к промышленному блоку то всё нормально.
singlskv
Цитата(west329_ @ Jan 28 2009, 00:53) *
Контроллер перегружается сам по себе. BOD включен. В том то и дело если разём не подключать к промышленному блоку то всё нормально.
то есть все время мега и промблок были соединены(RX,TX,GND), мега была включена и при включении промблока мега уходит на перезагрузку ?
НЕ ВЕРЮ...
Ну или там в разводке чего-нить очень злобно накосячили...
goodwin
m162 говорите?
Есть именно по ним приличный опыт.

Сначала пользовали m161 - у них был нерабочий BOD, посему ставили внешний супервизор.
Из недостатков - все-равно на морозе (и только!) умудрялась слетать флэш. 1-2 случая на 500 устройств.

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

Так что советую попробовать поставить для эксперимента.
Ну и надеть колечко ферритовое на провод интерфейса не помешает, раз у вас там такие "нечеловечьи" условия.

А самое главное таки - пристально присмотреться к разводке wink.gif
Соединить землю интерфейса, например, к земляной точке подключения блока питания...
west329_
Цитата(goodwin @ Jan 28 2009, 03:08) *
m162 говорите?
Есть именно по ним приличный опыт.

Сначала пользовали m161 - у них был нерабочий BOD, посему ставили внешний супервизор.
Из недостатков - все-равно на морозе (и только!) умудрялась слетать флэш. 1-2 случая на 500 устройств.

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

Так что советую попробовать поставить для эксперимента.
Ну и надеть колечко ферритовое на провод интерфейса не помешает, раз у вас там такие "нечеловечьи" условия.

А самое главное таки - пристально присмотреться к разводке wink.gif
Соединить землю интерфейса, например, к земляной точке подключения блока питания...




C утра пораньше побывал на производстве, сам лично проверял , контроллер перегружается сам по себе в тот мобент как большого брата(пром контроллер) вытягивают из сети и опять подключают, повторюсь при этом наше устройство питается от собственного импульсника и соединено только 3 проводами по 232 интерефейсу. В промышленно контроллере стоит тоже импульсник мощность ват так 50.

При 20-25 таких перезагрузок 1 раз слетела еепром, потом включал выключал раз 50, еепром неслетала но каждый раз контроллер сбрасывался.

Ув. goodwin вы можете показать вашу схемотехнику подключения, именно ту част что касается меги 162 и макса232 и питания.
Dog Pawlowa
Цитата(west329_ @ Jan 28 2009, 10:02) *
C утра пораньше побывал на производстве, сам лично проверял , контроллер перегружается сам по себе в тот мобент как большого брата(пром контроллер) вытягивают из сети и опять подключают...

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


А если допустим помеха от пускового тока импульсного блока питания пром. контро. как тогда можно от неё избавится.

Ещё огорчает тот факт, что мы старались сильно в схематику невлазить, так как всё уже было сделано до нас на пик контроллере и работало нормально без збоев, мы только заменили его авркой и поменяли кварц.

Феррит на шнурок обязательно намотаю и проверю.

может есть ещё варианты ?
Dog Pawlowa
Цитата(west329_ @ Jan 28 2009, 10:31) *
может есть ещё варианты ?

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


Вы встречали такие решения, если можно поделитесь ссылкой, так как изобретать веросипед нехочется.

Нехочу ничего плохого гворить в адрес авр, но похоже микрочиповцы сжелали еепром более надёжной.

П.С Кажется есть подобные решения по ссылке Dog Pawlowa.
Dog Pawlowa
Цитата(west329_ @ Jan 28 2009, 10:49) *
похоже микрочиповцы сжелали еепром более надёжной.

Вот так и рождаются легенды! laughing.gif
VladimirYU
Цитата(west329_ @ Jan 28 2009, 00:53) *
Контроллер перегружается сам по себе. BOD включен. В том то и дело если разём не подключать к промышленному блоку то всё нормально.

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


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

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


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

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


Почему если не секрет ?
ed_ward
Цитата(west329_ @ Feb 1 2009, 23:13) *
Действительно ножка висит на плате и никуда не подключается, но она подтянута автоматически к плюсу внутри контроллера по даташиту, а конденсатора нету на ресете, разве это не вредно для контроллера в моменты когда пропадает питание и на ресете плавно падает питание ?

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

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

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

Цитата(ed_ward @ Feb 2 2009, 03:11) *
А вот внешний кварц я использую наоборот, очень редко, только при повышенных требованиях к стабильности. У атмег внутренний не плох.

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

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

Не использовать 0-ую ячейку у меня пошло с 89S серии, где с этим действительно были проблемы (как и со сбросом). Современные атмеги прекрасно работают с внутренним генератором и активированным бодом. Даже нулевая ячейка не теряется.
Но, в данном случае, проблема, думаю, была очевидна- цепь сброса.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.