Jump to content

    
Sign in to follow this  
Panych

Не запускается Atmega162

Recommended Posts

День добрый!

Искал по форуму - не нашел подобных симптомов.

1-2 раза из 10 включений Atmega162 не запускается - программа висит.

Генерация на кварце видна всегда.

Частота 16Мгц. Питание подается довольно крутым фронтом.

Reset не помогает. FUSE JTAGEN снят.

Причем проявляется только на некоторых экземплярах - пробовали менять компоненты между платами.

Стабильно помогает, если после подачи питания закоротить на короткое время питающие +5В (LDO источник позволяет) - контроллер после этого стартует.

 

Была мысль, что сказывается плавное нарастание питания. Поставил по питанию схему, включающую линейный стабилизатор только при входном напряжении более 4,6В. Задержка супервизора гарантирует, что питание линейного стабилизатора при его включении будет однозначно выше +5В. Но, до этого на его выходе есть 1,2В. Результат нулевой.

В любом случае, контроллер так себя вести не должен.

 

Может, кто сталкивался? У меня все варианты, кроме бракованной партии, закончились. Брали в Терре - тоже не хочется плохого думать :).

post-35-1380185170_thumb.png

Share this post


Link to post
Share on other sites
Может, кто сталкивался?

Если схема не секретная, то всю ее покажите, а не только этот кусочек. Хотя бы фрагмент с МК обнародуйте. И плату (разводку) тоже покажите ...

Share this post


Link to post
Share on other sites
Если схема не секретная, то всю ее покажите, а не только этот кусочек. Хотя бы фрагмент с МК обнародуйте. И плату (разводку) тоже покажите ...

Понимаю ход мыслей. Файлы целиком не хочется выкладывать. Для представления - куски прикрепил. Конденсаторы (в схеме включения резонатора) находятся на слое Bottom, который является практически сплошной заливкой землей (там еще блокировочные конденсаторы только).

post-35-1380187092_thumb.png

post-35-1380187109_thumb.png

post-35-1380187439_thumb.jpg

Share this post


Link to post
Share on other sites
Для представления - куски прикрепил.

Вроде должно работать. Залейте в МК простейшую программу из пары строк, мигающую лампочкой. Тоже такой эффект будет ? Ну и мудреная схема питания наводит на размышления. Поставьте обычную 7805, с керамическим конденсатором в 1 мкФ на выходе, напаянным прямо на ножки 7805 ...

Share this post


Link to post
Share on other sites

Тоже склоняюсь к мысле о проблеме в софте.

Залейте в МК простейшую программу из пары строк, мигающую лампочкой.
И проверьте фуз BOOTRST. Коллега наблюдал подобные симптомы запуская прошивку без загрузчика с прошитым этим битом.

Share this post


Link to post
Share on other sites
Вроде должно работать. Залейте в МК простейшую программу из пары строк, мигающую лампочкой. Тоже такой эффект будет ? Ну и мудреная схема питания наводит на размышления. Поставьте обычную 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))

Share this post


Link to post
Share on other sites
Тот же эффект - первое же включение подвесило процессор. Reset не помогает, КЗ по питанию вывело из комы.

Аварийного потребления при зависшем МК не наблюдается ?

БП, питающий ваш линейный стабилизатор, часом, не импульсный и самодельный ?

Если же БП трансформаторный, то задемпфирована ли RC - цепочкой его первичка ?

При выключенном питании, нет ли паразитной подпитки МК через выводы GPIO ?

Share this post


Link to post
Share on other sites
1 - Аварийного потребления при зависшем МК не наблюдается ?

2 - БП, питающий ваш линейный стабилизатор, часом, не импульсный и самодельный ?

3 - Если же БП трансформаторный, то задемпфирована ли RC - цепочкой его первичка ?

4 - При выключенном питании, нет ли паразитной подпитки МК через выводы GPIO ?

1 - нет, потребление как у не работающего МК.

2 - блок питания - импульсный

4 - питание отключается у всего, подпитки нет - проверено осциллографом.

 

Прикреплены осциллограммы питания:

"15V_Запустился.jpg" и "15V_Не запустился.jpg" - входное у линейного стабилизатора.

"5V.jpg" - его выходное. Вначале видны 1.2V во время задержки супервизора, управляющего линейным стабилизатором.

post-35-1380195183_thumb.jpg

post-35-1380195188_thumb.jpg

post-35-1380195192_thumb.jpg

Share this post


Link to post
Share on other sites

На мой взгляд правельней было бы сделать под микроконтроллером полигон земли в top и под ним же полигон + питания в bottom.

Заставляет задуматься почему цена на один и тот же микроконтроллер у одних и тех же поставщиков может отличаться.

Edited by Santy

Share this post


Link to post
Share on other sites
На мой взгляд правельней было бы сделать под микроконтроллером полигон земли в top и под ним же полигон + питания в bottom.

Да, у меня наоборот - земля в Bottom, питание - в Top. Но они же по переменной составляющей в КЗ - блокировочных там хватает.

Делаю всё примерно однотипно, много лет. Первый раз с подобным сталкиваюсь.

Share this post


Link to post
Share on other sites

У нас были подобные симптомы, правда на другом процессоре. Это неподключенные выводы JTAG. На них наводится помеха, после чего микросхема входит в режим JTAG отладки и выводится оттуда только полным снятием питания. RESET тут не поможет.

Возьмите проволоку, закоротите все выводы JTAG между собой и через резистор 3К на питание. И зависать перестанет.

И да, пожалуйста :)

Share this post


Link to post
Share on other sites
закоротите все выводы JTAG между собой и через резистор 3К на питание.

Спасибо! :)

Стало лучше, теперь зависает только 2-3 раза из 20 запусков.

Share this post


Link to post
Share on other sites
У нас были подобные симптомы, правда на другом процессоре. Это неподключенные выводы JTAG. На них наводится помеха, после чего микросхема входит в режим JTAG отладки и выводится оттуда только полным снятием питания. RESET тут не поможет.

Возьмите проволоку, закоротите все выводы JTAG между собой и через резистор 3К на питание. И зависать перестанет.

И да, пожалуйста :)

У нас тоже было - болтался неподключенный SCK - подтянули к земле и все прошло

Share this post


Link to post
Share on other sites
Спасибо! :)

Стало лучше, теперь зависает только 2-3 раза из 20 запусков.

 

Жесть какая.

Предлагаю конденсаторы 0.1uF, 0402 типоразмер, запаяйте на все выводы VCC прямо на корпусе микропроцессора.

Точнее прямо на выводы VCC, GND, насколько я понял в трех местах. Прямо на выводы микросхемы.

Взять можно из старой мобилы, ну или из айфона, если уж совсем неоткуда :)

Edited by fractcon

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this