Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Глухой вис 640 при старте
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
SasaVitebsk
На предварительных испытаниях выяснилась полная шляпа. (Такое впервые). Изделие сильноточное с импульсными токами до 20А. Несколько питателей. Сначала из 220 формируется 12 из 12 параметрически 5 на контроллер и мощный импульсный управляемый источник 4.6V - 2V на остальную часть. При испытаниях на некоторых изделиях паралельно подключённых к питателю 1 (от 220) наблюдался полный клинч Atmega640. Генератор при этом работал. Сброс однокристалки по внешнему выводу не всегда помогал. Остальные выводы Atmega640 находились при этом в Z состоянии.

BOD внутренний на 4.3V. Визуально - скорость нарастания питания - весьма приличная (Спада - очень маленькая). Пульсации - ничтожные. Дело было вчера вечером - более подробно комментировать пока рано. Есть питатели с которыми 100% нет запуска. Меняешь питатель - всё Ок. Бесит, что внешний ресет не помогает. Соответственно скорее всего внешний BOD тоже не поможет.

Пока не эксперементировал с SUT фузами и WDT. Вечером будем пытаться исследовать поведение питателя при котором он загоняет МК в клинч.
zhevak
Цитата(SasaVitebsk @ Nov 19 2008, 16:03) *
На предварительных испытаниях выяснилась полная шляпа. (Такое впервые). Изделие сильноточное с импульсными токами до 20А. Несколько питателей. Сначала из 220 формируется 12 из 12 параметрически 5 на контроллер и мощный импульсный управляемый источник 4.6V - 2V на остальную часть. При испытаниях на некоторых изделиях паралельно подключённых к питателю 1 (от 220) наблюдался полный клинч Atmega640. Генератор при этом работал. Сброс однокристалки по внешнему выводу не всегда помогал. Остальные выводы Atmega640 находились при этом в Z состоянии.

BOD внутренний на 4.3V. Визуально - скорость нарастания питания - весьма приличная (Спада - очень маленькая). Пульсации - ничтожные. Дело было вчера вечером - более подробно комментировать пока рано. Есть питатели с которыми 100% нет запуска. Меняешь питатель - всё Ок. Бесит, что внешний ресет не помогает. Соответственно скорее всего внешний BOD тоже не поможет.

Пока не эксперементировал с SUT фузами и WDT. Вечером будем пытаться исследовать поведение питателя при котором он загоняет МК в клинч.

That's very interesting. Go on, please!
GDI
В таких случаях уже стандартно предлагают попробовать внутренний RC генератор.
SasaVitebsk
Цитата(GDI @ Nov 19 2008, 14:26) *
В таких случаях уже стандартно предлагают попробовать внутренний RC генератор.

Да, но генератор генерит как дурной!!!.
Выяснили что от первого питателя не зависит (Пробовали трансформаторный). Остаётся только параметрический стабилизатор на обычной ЕН-ке.
Кварц 14745600 в малом корпусе. Кондёры имеются. Размах - отличный на обоих ногах.

Вечером я поручу это выяснять одному парню. Я ему могу доверить всё. Включая жену, детей, деньги, не пересчитывая. smile.gif
Он осторожен в выводах, но если их делает, то я принимаю без особых раздумий.
GDI
В том то и дело что имеет значение не то что он "генерит как дурной", а то как он это начинал делать, т.е. как он на режим выходил и что на питании в это время было, не даром есть SUT биты которыми вы выбираете время задержки снятия сигнала ресет до выхода на режим кварцевого генератора.
SasaVitebsk
После замены ЕН-ки всё работает. Визуально никаких различий в поведении ЕН-ки нет. (Поменяли всю партию). ЕНку пока исследуют. Если будет какая инфа, то сообщу.
demiurg_spb
У меня подобное лечилось установкой в фузах clkdiv=8 - давало железный старт. А потом через небольшую паузу программно устанавливал clkdiv=1. Работает железно. И ещё один совет - никогда не оставляйте не использованные ножки MCU в Z состоянии без pullup. Я сильно сомневаюсь, что замена кренки исправит ситуацию на 100%.
_Pasha
Цитата(SasaVitebsk @ Nov 20 2008, 13:40) *
После замены ЕН-ки всё работает.

А отчество ЕНки подскажете (производитель) ?
GDI
Цитата
У меня подобное лечилось установкой в фузах clkdiv=8 - давало железный старт. А потом через небольшую паузу программно устанавливал clkdiv=1. Работает железно.

Этим вы меняли потребление меги, но это лечения следствия, а не причины.
2 SasaVitebsk а какие конденсаторы у вас стоят в обвязке кренки? Может стоит уменьшить или увеличить тот что стоит после нее? Что осциллограф показывает на питании когда ваша мега не стартует?
SasaVitebsk
Цитата(_Pasha @ Nov 20 2008, 14:05) *
А отчество ЕНки подскажете (производитель) ?

Обязательно всё скажу. По возможности побольше инфы дам. Попробую и SUT фузы менять. Короче максимально исследую. Эфект очень повторяемый и не зависит от меги.
Обвеска меги стандартная. Никаких проблем ни разу не было. Изделие в принципе отработанное.
demiurg_spb
Цитата(GDI @ Nov 20 2008, 13:27) *
Этим вы меняли потребление меги, но это лечения следствия, а не причины.
Тут невозможно определить что есть следствие, а что причина.
Главное - результат (надёжный запуск прибора).
Изменение потребления MCU ничтожно в сравнении с остальной схемой.
Проблема тут одна - MCU. Ну никак он не должен попадать в такую ситуацию, что генерация есть, напряжение есть, а он висит.
Ещё вспомнил, что надо читать errata на каждую конкретную модификацию MCU - иногда можно узнать много интересного...
_Pasha
Цитата(demiurg_spb @ Nov 20 2008, 16:18) *
Ещё вспомнил, что надо читать errata на каждую конкретную модификацию MCU - иногда можно узнать много интересного...

Parts may hang in reset ? - так это, вроде не про 640.
GDI
Цитата
Тут невозможно определить что есть следствие, а что причина.
Главное - результат (надёжный запуск прибора).
Изменение потребления MCU ничтожно в сравнении с остальной схемой.

А вот интересно в каких клоках считаются задержки снятия сигнала ресет, которые битами SUT выставляются? Т.е. я хочу сказать, не удлинняли ли вы это время устанавливая делитель на генераторе. Т.е. причиной зависания может быть медленное нарастание напряжения после кренки. То же самое может быть и у SasaVitebsk, а другая кренка, возможно даже другого производителя дает другое нарастание.
AHTOXA
Цитата(_Pasha @ Nov 20 2008, 15:05) *
А отчество ЕНки подскажете (производитель) ?


офф, про КРЕНкиsmile.gif Их ставит Olimex:



Приятно, ёлки-палкиsmile.gif)))
Rst7
Цитата
А вот интересно в каких клоках считаются задержки снятия сигнала ресет, которые битами SUT выставляются?


Меня тоже такая мысль посетила. Надо бы провести эксперимент, потому как в даташите на этот предмет тишина.
SysRq
Цитата(Rst7 @ Nov 20 2008, 19:52) *
...потому как в даташите на этот предмет тишина.
Цитата
Any clock source needs a sufficient VCC to start oscillating and a minimum number of oscillating cycles before it can be considered stable. To ensure sufficient VCC, the device issues an internal reset with a time-out delay (tTOUT) after the device reset is released by all other reset sources.
//...
The delay (tTOUT) is timed from the Watchdog Oscillator and the number of cycles in the delay is set by the SUTx and CKSELx fuse bits.
ARV
Цитата(demiurg_spb @ Nov 20 2008, 13:02) *
У меня подобное лечилось установкой в фузах clkdiv=8 - давало железный старт. А потом через небольшую паузу программно устанавливал clkdiv=1. Работает железно.
самое удивительное - мне таким способом удалось заставить работать AT90CAN128 на частоте 22,118 Мгц - хотя он по документации всего 16 терпит... это я сдуру вляпал кварц и сильно-сильно удивлялся, почему при уверенном запуске генератора контроллер не фурыкает... когда "прозрел" - кварц, само собой, заменил...
SasaVitebsk
Результат сказали в первый же вечер, но я не поверил. Требовал всё перепроверить.
Теперь всё подтвердилось.

Итак, производитель ЕН-ки здесь не при чём. Фотку Меги одной я вышлю чуть позже. Партия из 10 штук.

Причина проста. При 4.94 - не работает, при 5.02 - работает устойчиво (разные партии ЕН-ок). Доп исследования показали, что так выставлен BOD. +/- от кристалла в партии незначительный. Это слегка корелирует с разбросом параметров у ЕН-ок.

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

Хотя сейчас пересмотрел таблицу 24 на стр. 58, так там у меня не заполнены поля Vmin и Vmax. 07.gif
Стоит только типовое значение 4.3В при гистерезисе 50мВ. Если это так, то придраться не к чему! Но это же бред! Во у ЕН-ки 4.94 выход - тоже придраться не к чему, а вместе не работают.



Короче нечего рассуждать! Пусть каждый сам осмысливает ситуацию и самостоятельно делает выводы!


Ну а по этой партии я даже не знаю как поступить пока. Перепаивать жуть как не хочется. Придётся либо подобрать ЕН-ки соответствующие, либо поднять выход диодом. sad.gif
Запас же должен быть.
galjoen
Цитата(Rst7 @ Nov 20 2008, 19:52) *
Меня тоже такая мысль посетила. Надо бы провести эксперимент, потому как в даташите на этот предмет тишина.

Я такие эксперименты проводил. С ReAl-ом мы это обсуждали. Всё считается в клоках, которые идут на процессор. Т.е. если включен делитель тактовой на 8, то в 8 раз процессор медленнее стартанёт. Нет, неправильно написал - время соответствующее кол-ву циклов тактового генератора до включения в 8 раз увеличится.
Это, кстати, справедливо и для выхода из слипа. При включении делителя тактовой очень долго процессор начинает из слипа выходить. Если ненадолго засыпать нужно - лучще и не засыпать. И ещё, по моим неподтверждённым данным, во время запуска генератора на кварце, ток больший потребляется, чем собственно во время работы. Я этот ток не мерял, но от ионистора схема дольше работает если вообще в слип не заходить, а вместо этого делить тактовую на максимальную величину (при слипах 4 милисекунды). Во всяком случае у меня так получилось. Вот если-бы в этом направлении кто поэкспериментировал-бы и результаты здесь выложил...
Nanobyte
Цитата(SasaVitebsk @ Nov 26 2008, 13:14) *
... Придётся либо подобрать ЕН-ки соответствующие, либо поднять выход диодом. sad.gif ...

Может, лучше будет поставить внешний BOD, например 1171СП42 ? Поднимать питание диодом как-то некошерно. Плавать будет от температуры и нагрузки.
SasaVitebsk
И так и так не нравится. Лучше ЕН-уку подобрать на 5.2V. smile.gif
Rst7
Цитата(SasaVitebsk @ Nov 26 2008, 17:43) *
И так и так не нравится. Лучше ЕН-уку подобрать на 5.2V. smile.gif

Пардон, компа под рукой нету, даташит глянуть не могу. Какие пороги бода у 640? Два или больше? Может в связи с тем, что порог 4.3 завышен, подойдет более низкий порог?
defunct
Цитата(SasaVitebsk @ Nov 26 2008, 11:14) *
Причина проста. При 4.94 - не работает, при 5.02 - работает устойчиво (разные партии ЕН-ок). Доп исследования показали, что так выставлен BOD. +/- от кристалла в партии незначительный. Это слегка корелирует с разбросом параметров у ЕН-ок.

Дык эта, если уровень BOD'а завышен, он поидее будет завышен для всех порогов.
Протестируйте порог BOD'a 2.7В. Может будет тем самым что нужно.
SasaVitebsk
Устройство будет размещено на высоте 3 метра в людном месте. Лазить потом туда - дико не хочется. Частота 14.7456. Эксперименты ставить не буду. Лучше выставлю 5.5В тем или иным способом (например управляемой ЕН-кой), благо 5.5В вполне допускается.

Считайте, что я задачу решил. Просто сам факт интересен. Никто с таким не сталкивался ещё?
kada
Цитата(SasaVitebsk @ Nov 27 2008, 01:39) *
Никто с таким не сталкивался ещё?

Впервые за 10 лет столкнулся с похожей проблемой. Зависает наглухо tiny25 при старте с включенным BOD, настроенным на любой доступный порог срабатывания. Кстати, сторожевая псина делу не помогает. Питание проца 5В. Тактирование от 8MHz кварца. Пробовал питать и от лабораторного БП напрямую, и через КРЕНку. К процу подключено пару светодиодов через резисторы 1кОм, и два датчика DS18S20.
Повесил щупы осциллографа на выводы питания проца, и увидел пульсации амплитудой 200мВ. Не могу понять откуда они берутся такой амплитуды. Возможно это просто наводки на длинный земляной конец щупа от осциллографа.
Проблему решил установкой керамики 0,1мкФ в непосредственной близости проца. Пульсации правда от этого уменьшились не намного.
pavel-pervomaysk
Всегда ставлю 100 нФ и тантал 10мкф рядом с МК, никогда таких геморов не наблюдалось.
kada
Цитата(Павлик @ Feb 10 2012, 00:54) *
Всегда ставлю 100 нФ и тантал 10мкф рядом с МК, никогда таких геморов не наблюдалось.

Ну я как бы тоже всегда ставлю 100нФ керамику рядом с контроллером. Просто это была макетная плата, и поэтому конденсатор стоял в 3-х сантиметрах от контроллера, что давало сбой. Перемещение его на макете впритык к контроллеру решило проблему. На ПП устройства естественно этот кондюк стоит рядом с контроллером и все работает отлично.
Просто смущает такая сильная "кондеразависимость", ведь в устройстве нет сильноточных или индуктивных потребителей, протекающие токи исчисляются единицами миллиампер.
Panych
Аналогичный случай.
ATmaga162, частота 16МГц, супервизор MCP120-475. LDO=L7805AB2T (ST), пробовали и LM3940 sm.gif.
Питание:
Нажмите для просмотра прикрепленного файла
Питание + Сброс":
Нажмите для просмотра прикрепленного файла
Напряжение питания = 5.04В.
Второй случай питания, с другого блока, но с теми же результатами:
Нажмите для просмотра прикрепленного файла
Разные экземпляры процессора стартуют с разной вероятностью при многочисленных включениях.
Если процессор не стартует, то вывести его из этого состояния Reset не может, только отключение питания.
Генерация на ногах кварца присутствует всегда, частота соответствует.
При установке соответствующего Fuse стартовавший процессор выдает на ногу порта PB0 тактовую частоту, а у не стартовавшего сигнала на этой ноге нет.
Если подавать питание с крутым фронтом (малое время нарастания питающего напряжения), все экземпляры стабильно запускаются.
Вероятность запуска увеличивается при BOD=4.7 и холодном кристалле, т.е. при запуске спустя некоторое время после отключения питания.

Питания и земли на ноги процессора заводятся все, видимых проблем нет.

Ключевой момент, как мне кажется, в том, что из зависания процессор не может быть выведен сигналом RESET.
Alex_TAV
Решил поднять старую тему, т.к. только что столкнулся с похожей проблемой. И так есть ATMega640V питается от аккумулятора 4.2В, на Reset подключена MCP100T-300. При снижении напряжения на аккумуляторе до 2.9...3.0В MCP100T-300 выдает на RESET "0" отключая тем самым процессор и вот тут самое интересное - если при напряжении 2.8...2.9В опять поднимется до 4.0В(к аккумулятору подключили внешнее питание и он зарядился( bq24070)) то ATMega уходит в жесткое зависание(хотя на входе RESET давно уже "1"). И самое странное как тут уже описывали не получается вывести из этого состояния даже физически замыкая RESET на "землю". И да если напряжение снизится ниже 2.8В, например до 2.0В и потом только вернется к 4.0В - все нормально запускается. Во вьюзах ставлю SUT=10. Проц работает от внешнего кварца 7.3728МГц. Да и при зависаниях на кварце частота есть.
pavel-pervomaysk
Внешний кварц + 65ms время старта стоит?
Что проихсходит в момент плавного опускания - поднимания напряжения на выводе RESET?
Подобный эффект наблюдался с использованием ионистора 0.1F и аппаратного BOD.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.