|
Не запускается Atmega162, но генерация есть |
|
|
|
Sep 26 2013, 08:46
|
Местный
  
Группа: Свой
Сообщений: 335
Регистрация: 17-06-04
Из: Москва
Пользователь №: 35

|
День добрый! Искал по форуму - не нашел подобных симптомов. 1-2 раза из 10 включений Atmega162 не запускается - программа висит. Генерация на кварце видна всегда. Частота 16Мгц. Питание подается довольно крутым фронтом. Reset не помогает. FUSE JTAGEN снят. Причем проявляется только на некоторых экземплярах - пробовали менять компоненты между платами. Стабильно помогает, если после подачи питания закоротить на короткое время питающие +5В (LDO источник позволяет) - контроллер после этого стартует. Была мысль, что сказывается плавное нарастание питания. Поставил по питанию схему, включающую линейный стабилизатор только при входном напряжении более 4,6В. Задержка супервизора гарантирует, что питание линейного стабилизатора при его включении будет однозначно выше +5В. Но, до этого на его выходе есть 1,2В. Результат нулевой. В любом случае, контроллер так себя вести не должен. Может, кто сталкивался? У меня все варианты, кроме бракованной партии, закончились. Брали в Терре - тоже не хочется плохого думать  .
Эскизы прикрепленных изображений
--------------------
Всегда не хватает времени, чтобы выполнить работу как надо, но на то, чтобы ее переделать, время находится. (Закон Мескимена.)
|
|
|
|
|
Sep 26 2013, 09:24
|
Местный
  
Группа: Свой
Сообщений: 335
Регистрация: 17-06-04
Из: Москва
Пользователь №: 35

|
Цитата(kovigor @ Sep 26 2013, 12:59)  Если схема не секретная, то всю ее покажите, а не только этот кусочек. Хотя бы фрагмент с МК обнародуйте. И плату (разводку) тоже покажите ... Понимаю ход мыслей. Файлы целиком не хочется выкладывать. Для представления - куски прикрепил. Конденсаторы (в схеме включения резонатора) находятся на слое Bottom, который является практически сплошной заливкой землей (там еще блокировочные конденсаторы только).
Эскизы прикрепленных изображений
--------------------
Всегда не хватает времени, чтобы выполнить работу как надо, но на то, чтобы ее переделать, время находится. (Закон Мескимена.)
|
|
|
|
|
Sep 26 2013, 10:29
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Тоже склоняюсь к мысле о проблеме в софте. QUOTE (kovigor @ Sep 26 2013, 11:57)  Залейте в МК простейшую программу из пары строк, мигающую лампочкой. И проверьте фуз BOOTRST. Коллега наблюдал подобные симптомы запуская прошивку без загрузчика с прошитым этим битом.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Sep 26 2013, 10:50
|
Местный
  
Группа: Свой
Сообщений: 335
Регистрация: 17-06-04
Из: Москва
Пользователь №: 35

|
Цитата(kovigor @ Sep 26 2013, 13:57)  Вроде должно работать. Залейте в МК простейшую программу из пары строк, мигающую лампочкой. Тоже такой эффект будет ? Ну и мудреная схема питания наводит на размышления. Поставьте обычную 7805, с керамическим конденсатором в 1 мкФ на выходе, напаянным прямо на ножки 7805 ... С 7805 и начинали. Керамика была вплотную на плате. Цитата(Сергей Борщ @ Sep 26 2013, 14:29)  Тоже склоняюсь к мысли о проблеме в софте.И проверьте фуз 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))
--------------------
Всегда не хватает времени, чтобы выполнить работу как надо, но на то, чтобы ее переделать, время находится. (Закон Мескимена.)
|
|
|
|
|
Sep 26 2013, 11:01
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(Panych @ Sep 26 2013, 13:50)  Тот же эффект - первое же включение подвесило процессор. Reset не помогает, КЗ по питанию вывело из комы. Аварийного потребления при зависшем МК не наблюдается ? БП, питающий ваш линейный стабилизатор, часом, не импульсный и самодельный ? Если же БП трансформаторный, то задемпфирована ли RC - цепочкой его первичка ? При выключенном питании, нет ли паразитной подпитки МК через выводы GPIO ?
|
|
|
|
|
Sep 26 2013, 11:33
|
Местный
  
Группа: Свой
Сообщений: 335
Регистрация: 17-06-04
Из: Москва
Пользователь №: 35

|
Цитата(kovigor @ Sep 26 2013, 15:01)  1 - Аварийного потребления при зависшем МК не наблюдается ? 2 - БП, питающий ваш линейный стабилизатор, часом, не импульсный и самодельный ? 3 - Если же БП трансформаторный, то задемпфирована ли RC - цепочкой его первичка ? 4 - При выключенном питании, нет ли паразитной подпитки МК через выводы GPIO ? 1 - нет, потребление как у не работающего МК. 2 - блок питания - импульсный 4 - питание отключается у всего, подпитки нет - проверено осциллографом. Прикреплены осциллограммы питания: "15V_Запустился.jpg" и "15V_Не запустился.jpg" - входное у линейного стабилизатора. "5V.jpg" - его выходное. Вначале видны 1.2V во время задержки супервизора, управляющего линейным стабилизатором.
Эскизы прикрепленных изображений
--------------------
Всегда не хватает времени, чтобы выполнить работу как надо, но на то, чтобы ее переделать, время находится. (Закон Мескимена.)
|
|
|
|
|
Sep 26 2013, 11:56
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 30-10-07
Пользователь №: 31 879

|
На мой взгляд правельней было бы сделать под микроконтроллером полигон земли в top и под ним же полигон + питания в bottom. Заставляет задуматься почему цена на один и тот же микроконтроллер у одних и тех же поставщиков может отличаться.
Сообщение отредактировал Santy - Sep 26 2013, 11:57
|
|
|
|
|
Sep 26 2013, 12:02
|
Местный
  
Группа: Свой
Сообщений: 335
Регистрация: 17-06-04
Из: Москва
Пользователь №: 35

|
Цитата(Santy @ Sep 26 2013, 15:56)  На мой взгляд правельней было бы сделать под микроконтроллером полигон земли в top и под ним же полигон + питания в bottom. Да, у меня наоборот - земля в Bottom, питание - в Top. Но они же по переменной составляющей в КЗ - блокировочных там хватает. Делаю всё примерно однотипно, много лет. Первый раз с подобным сталкиваюсь.
--------------------
Всегда не хватает времени, чтобы выполнить работу как надо, но на то, чтобы ее переделать, время находится. (Закон Мескимена.)
|
|
|
|
|
Sep 26 2013, 12:25
|
Частый гость
 
Группа: Участник
Сообщений: 157
Регистрация: 10-05-13
Пользователь №: 76 788

|
У нас были подобные симптомы, правда на другом процессоре. Это неподключенные выводы JTAG. На них наводится помеха, после чего микросхема входит в режим JTAG отладки и выводится оттуда только полным снятием питания. RESET тут не поможет. Возьмите проволоку, закоротите все выводы JTAG между собой и через резистор 3К на питание. И зависать перестанет. И да, пожалуйста
--------------------
Скажи нет международному терроризму... не покупай Pepsi Cola.
|
|
|
|
|
Sep 26 2013, 12:55
|
Местный
  
Группа: Свой
Сообщений: 335
Регистрация: 17-06-04
Из: Москва
Пользователь №: 35

|
Цитата(fractcon @ Sep 26 2013, 16:25)  закоротите все выводы JTAG между собой и через резистор 3К на питание. Спасибо!  Стало лучше, теперь зависает только 2-3 раза из 20 запусков.
--------------------
Всегда не хватает времени, чтобы выполнить работу как надо, но на то, чтобы ее переделать, время находится. (Закон Мескимена.)
|
|
|
|
|
Sep 26 2013, 13:22
|
Группа: Участник
Сообщений: 11
Регистрация: 27-05-05
Пользователь №: 5 465

|
Цитата(fractcon @ Sep 26 2013, 15:25)  У нас были подобные симптомы, правда на другом процессоре. Это неподключенные выводы JTAG. На них наводится помеха, после чего микросхема входит в режим JTAG отладки и выводится оттуда только полным снятием питания. RESET тут не поможет. Возьмите проволоку, закоротите все выводы JTAG между собой и через резистор 3К на питание. И зависать перестанет. И да, пожалуйста  У нас тоже было - болтался неподключенный SCK - подтянули к земле и все прошло
|
|
|
|
|
Sep 26 2013, 13:48
|
Частый гость
 
Группа: Участник
Сообщений: 157
Регистрация: 10-05-13
Пользователь №: 76 788

|
Цитата(Panych @ Sep 26 2013, 16:55)  Спасибо!  Стало лучше, теперь зависает только 2-3 раза из 20 запусков. Жесть какая. Предлагаю конденсаторы 0.1uF, 0402 типоразмер, запаяйте на все выводы VCC прямо на корпусе микропроцессора. Точнее прямо на выводы VCC, GND, насколько я понял в трех местах. Прямо на выводы микросхемы. Взять можно из старой мобилы, ну или из айфона, если уж совсем неоткуда
Сообщение отредактировал fractcon - Sep 26 2013, 13:50
--------------------
Скажи нет международному терроризму... не покупай Pepsi Cola.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|