Panych 0 26 сентября, 2013 Опубликовано 26 сентября, 2013 · Жалоба День добрый! Искал по форуму - не нашел подобных симптомов. 1-2 раза из 10 включений Atmega162 не запускается - программа висит. Генерация на кварце видна всегда. Частота 16Мгц. Питание подается довольно крутым фронтом. Reset не помогает. FUSE JTAGEN снят. Причем проявляется только на некоторых экземплярах - пробовали менять компоненты между платами. Стабильно помогает, если после подачи питания закоротить на короткое время питающие +5В (LDO источник позволяет) - контроллер после этого стартует. Была мысль, что сказывается плавное нарастание питания. Поставил по питанию схему, включающую линейный стабилизатор только при входном напряжении более 4,6В. Задержка супервизора гарантирует, что питание линейного стабилизатора при его включении будет однозначно выше +5В. Но, до этого на его выходе есть 1,2В. Результат нулевой. В любом случае, контроллер так себя вести не должен. Может, кто сталкивался? У меня все варианты, кроме бракованной партии, закончились. Брали в Терре - тоже не хочется плохого думать :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 5 26 сентября, 2013 Опубликовано 26 сентября, 2013 · Жалоба Может, кто сталкивался? Если схема не секретная, то всю ее покажите, а не только этот кусочек. Хотя бы фрагмент с МК обнародуйте. И плату (разводку) тоже покажите ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Panych 0 26 сентября, 2013 Опубликовано 26 сентября, 2013 · Жалоба Если схема не секретная, то всю ее покажите, а не только этот кусочек. Хотя бы фрагмент с МК обнародуйте. И плату (разводку) тоже покажите ... Понимаю ход мыслей. Файлы целиком не хочется выкладывать. Для представления - куски прикрепил. Конденсаторы (в схеме включения резонатора) находятся на слое Bottom, который является практически сплошной заливкой землей (там еще блокировочные конденсаторы только). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 5 26 сентября, 2013 Опубликовано 26 сентября, 2013 · Жалоба Для представления - куски прикрепил. Вроде должно работать. Залейте в МК простейшую программу из пары строк, мигающую лампочкой. Тоже такой эффект будет ? Ну и мудреная схема питания наводит на размышления. Поставьте обычную 7805, с керамическим конденсатором в 1 мкФ на выходе, напаянным прямо на ножки 7805 ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 26 сентября, 2013 Опубликовано 26 сентября, 2013 · Жалоба Тоже склоняюсь к мысле о проблеме в софте. Залейте в МК простейшую программу из пары строк, мигающую лампочкой.И проверьте фуз BOOTRST. Коллега наблюдал подобные симптомы запуская прошивку без загрузчика с прошитым этим битом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Panych 0 26 сентября, 2013 Опубликовано 26 сентября, 2013 · Жалоба Вроде должно работать. Залейте в МК простейшую программу из пары строк, мигающую лампочкой. Тоже такой эффект будет ? Ну и мудреная схема питания наводит на размышления. Поставьте обычную 7805, с керамическим конденсатором в 1 мкФ на выходе, напаянным прямо на ножки 7805 ... С 7805 и начинали. Керамика была вплотную на плате. Тоже склоняюсь к мысли о проблеме в софте.И проверьте фуз BOOTRST. Коллега наблюдал подобные симптомы запуская прошивку без загрузчика с прошитым этим битом. На скрине BOOTRST сброшен. Прошили. Код вроде как проще не бывает: while (1) { delay_ms(300); SETBIT( PORTA,5 ); delay_ms(300); CLEARBIT( PORTA,5 ); } Тот же эффект - первое же включение подвесило процессор. Reset не помогает, КЗ по питанию вывело из комы. p.s. Коллега пользуется подменами для своего удобства :) #define SETBIT(ADDRESS,BIT) (ADDRESS |= (1<<BIT)) #define CLEARBIT(ADDRESS,BIT) (ADDRESS &= ~(1<<BIT)) #define CHECKBIT(ADDRESS,BIT) (ADDRESS & (1<<BIT)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 5 26 сентября, 2013 Опубликовано 26 сентября, 2013 · Жалоба Тот же эффект - первое же включение подвесило процессор. Reset не помогает, КЗ по питанию вывело из комы. Аварийного потребления при зависшем МК не наблюдается ? БП, питающий ваш линейный стабилизатор, часом, не импульсный и самодельный ? Если же БП трансформаторный, то задемпфирована ли RC - цепочкой его первичка ? При выключенном питании, нет ли паразитной подпитки МК через выводы GPIO ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Panych 0 26 сентября, 2013 Опубликовано 26 сентября, 2013 · Жалоба 1 - Аварийного потребления при зависшем МК не наблюдается ? 2 - БП, питающий ваш линейный стабилизатор, часом, не импульсный и самодельный ? 3 - Если же БП трансформаторный, то задемпфирована ли RC - цепочкой его первичка ? 4 - При выключенном питании, нет ли паразитной подпитки МК через выводы GPIO ? 1 - нет, потребление как у не работающего МК. 2 - блок питания - импульсный 4 - питание отключается у всего, подпитки нет - проверено осциллографом. Прикреплены осциллограммы питания: "15V_Запустился.jpg" и "15V_Не запустился.jpg" - входное у линейного стабилизатора. "5V.jpg" - его выходное. Вначале видны 1.2V во время задержки супервизора, управляющего линейным стабилизатором. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Santy 0 26 сентября, 2013 Опубликовано 26 сентября, 2013 (изменено) · Жалоба На мой взгляд правельней было бы сделать под микроконтроллером полигон земли в top и под ним же полигон + питания в bottom. Заставляет задуматься почему цена на один и тот же микроконтроллер у одних и тех же поставщиков может отличаться. Изменено 26 сентября, 2013 пользователем Santy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Panych 0 26 сентября, 2013 Опубликовано 26 сентября, 2013 · Жалоба На мой взгляд правельней было бы сделать под микроконтроллером полигон земли в top и под ним же полигон + питания в bottom. Да, у меня наоборот - земля в Bottom, питание - в Top. Но они же по переменной составляющей в КЗ - блокировочных там хватает. Делаю всё примерно однотипно, много лет. Первый раз с подобным сталкиваюсь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fractcon 0 26 сентября, 2013 Опубликовано 26 сентября, 2013 · Жалоба У нас были подобные симптомы, правда на другом процессоре. Это неподключенные выводы JTAG. На них наводится помеха, после чего микросхема входит в режим JTAG отладки и выводится оттуда только полным снятием питания. RESET тут не поможет. Возьмите проволоку, закоротите все выводы JTAG между собой и через резистор 3К на питание. И зависать перестанет. И да, пожалуйста :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RabidRabbit 0 26 сентября, 2013 Опубликовано 26 сентября, 2013 · Жалоба Может попробовать включить BOD? На 4.3 вольта, к примеру... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Panych 0 26 сентября, 2013 Опубликовано 26 сентября, 2013 · Жалоба закоротите все выводы JTAG между собой и через резистор 3К на питание. Спасибо! :) Стало лучше, теперь зависает только 2-3 раза из 20 запусков. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nestorovich 0 26 сентября, 2013 Опубликовано 26 сентября, 2013 · Жалоба У нас были подобные симптомы, правда на другом процессоре. Это неподключенные выводы JTAG. На них наводится помеха, после чего микросхема входит в режим JTAG отладки и выводится оттуда только полным снятием питания. RESET тут не поможет. Возьмите проволоку, закоротите все выводы JTAG между собой и через резистор 3К на питание. И зависать перестанет. И да, пожалуйста :) У нас тоже было - болтался неподключенный SCK - подтянули к земле и все прошло Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fractcon 0 26 сентября, 2013 Опубликовано 26 сентября, 2013 (изменено) · Жалоба Спасибо! :) Стало лучше, теперь зависает только 2-3 раза из 20 запусков. Жесть какая. Предлагаю конденсаторы 0.1uF, 0402 типоразмер, запаяйте на все выводы VCC прямо на корпусе микропроцессора. Точнее прямо на выводы VCC, GND, насколько я понял в трех местах. Прямо на выводы микросхемы. Взять можно из старой мобилы, ну или из айфона, если уж совсем неоткуда :) Изменено 26 сентября, 2013 пользователем fractcon Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться