Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Конденсатор на резете - мешает жизни
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
DpInRock
Есть ATMEGA88.
Внешний кварц 16М
Питание 5 вольт ровно.

БОДлевел - на максимуме.
Вочдог по умолчанию разрешен.

В качестве питания = L7805.
По резету - конденсатор 1 мкф (керамика), 20к подтяжка к верху.

Так вот.
Начинаем усиленно включать выключать внешний БП 12 вольт. Наконец добиваемся, что процессор висит.
Смотрим - кварц не завелся. Никакие вочдоги и бодлевелы не помогли.

Убираем конденсатор от ножки резет. И, о чудо. Более заставить зависнуть процессор мы не можем.

Впечатление, что неразрядившийся конденсатор по резету каким-то образом подпитывал сам проц, заодно обманывал brown детектор...
zzzzzzzz
Стандартно для таких случаев параллельно резистору на питание включить диод катодом на питание. Для быстрого разряда кондюка при отсутствии питания. Такой диод есть, наверняка, и в ИС, по входу. Но, он может быть после входного резистора ES-защиты, и при такой емкости не успевать иногда отработать.
Лучше диод Шоттки.

А зачем такой долгий ресет, 20 мс?
Herz
Конденсаторы на ножку рисет, наверное, во всех даташитах рекомендуют НЕ ставить. Так что чудесами тут и не пахнет.
Lmx2315
Цитата(Herz @ Dec 8 2009, 19:52) *
Конденсаторы на ножку рисет, наверное, во всех даташитах рекомендуют НЕ ставить. Так что чудесами тут и не пахнет.


а если иголка по ресету проскочит ? ..без конденсатора как же ?
stells
Цитата(Lmx2315 @ Dec 8 2009, 19:57) *
а если иголка по ресету проскочит ? ..без конденсатора как же ?

а откуда она возьмется? из воздуха? я так понимаю, что никаких длинных проводов допустим на удаленную кнопку сброса нет?
zzzzzzzz
Цитата(Herz @ Dec 8 2009, 19:52) *
Конденсаторы на ножку рисет, наверное, во всех даташитах рекомендуют НЕ ставить. Так что чудесами тут и не пахнет.

Ну, иногда нужен продолжительный ресет, - подождать инициализации какого-нибудь другого узла (защит, например). Всякое бывает.
Посему, диод вполне спасет. Для устранения нежелательных токов через вход добавить резистор на вход ресет от точки соединения конденсатора, резистора и диода (порядка 1-5 ком). Параллельно питанию, если это допустимо, воткнуть резистор, убирающий микропотребление в статике.

Цитата(stells @ Dec 8 2009, 20:04) *
а откуда она возьмется? из воздуха? я так понимаю, что никаких длинных проводов допустим на удаленную кнопку сброса нет?
А может и есть?
SM
Цитата(zzzzzzzz @ Dec 8 2009, 20:30) *
Для устранения нежелательных токов через вход

Нету там нежелательных токов, там вход, толерантный к 5, при любых VCC от нуля начиная, и соотв. диода на VCC внутри нет.
zzzzzzzz
Цитата(SM @ Dec 8 2009, 20:32) *
Нету там нежелательных токов, там вход, толерантный к 5, при любых VCC от нуля начиная, и соотв. диода на VCC внутри нет.
Тогда резистор на вход не надо, само собой.
Herz
Цитата(SM @ Dec 8 2009, 19:32) *
Нету там нежелательных токов, там вход, толерантный к 5, при любых VCC от нуля начиная, и соотв. диода на VCC внутри нет.

Тем не менее, не знаю, как Атмел (даташиты какие-то скудные у них), а Микрочип рекомендует ставить последовательный резистор.

Нажмите для просмотра прикрепленного файла

И ещё, Может это чем-то поможет.
SM
Цитата(Herz @ Dec 8 2009, 21:33) *
Тем не менее, не знаю, как Атмел (даташиты какие-то скудные у них), а Микрочип рекомендует ставить последовательный резистор.

Ну что он, резистор, не помешает, это уж точно. Я говорил лишь про устройство ESD-защиты у атмела.... По памяти там все таки нету диода пин->VCC

Да, и память вроде меня не подвела... Из даташита:

Voltage on any Pin except RESET with respect to Ground ................................-0.5V to VCC+0.5V
Voltage on RESET with respect to Ground......-0.5V to +13.0V
@Ark
Цитата
... В качестве питания = L7805. По резету - конденсатор 1 мкф (керамика), 20к подтяжка к верху.
Так вот. Начинаем усиленно включать выключать внешний БП 12 вольт. Наконец добиваемся, что процессор висит.
Смотрим - кварц не завелся. Никакие вочдоги и бодлевелы не помогли...

Дело не совсем в ресете. Наиболее вероятная причина - недостаточная скорость нарастания напряжения питания при включении. Наверняка, во внешнем БП на выходе большой электролит стоит, да у Вас еще на питании наверняка есть. Все это не способствует нормальной скорости нарастания питания. 1 мкф на ресете видимо стал последней каплей...
На ресет нужно поставить керамику 0,1 мкф и подтяжку к питанию 5К. На питание - керамику 0,1 мкф и электролит минимальной емкости (положим 1мкф). Тогда проблема должна "отвалиться" сама собой.
P.S. Параллельно питанию можно поставить нагрузочный резистор для разрядки емкостей при выключении, как здесь уже советовали. Но, скорее всего, он не потребуется.
Herz
Цитата(@Ark @ Dec 8 2009, 22:10) *
Дело не совсем в ресете. Наиболее вероятная причина - недостаточная скорость нарастания напряжения питания при включении. Наверняка, во внешнем БП на выходе большой электролит стоит, да у Вас еще на питании наверняка есть. Все это не способствует нормальной скорости нарастания питания.


Да нет, скорость нарастания питания как раз сказываться на запуске не должна. Тем более, когда BOR включен. А вот скорость нарастания напряжения на ножке сброса - это важно. Не зря для надёжного (пере)запуска МК по питанию супервизоры рекомендуют.
Лично я таки ставлю конденсатор с резистором во всякие макеты, rolleyes.gif только постоянную времени на два порядка меньше выбираю.
@Ark
Цитата
Да нет, скорость нарастания питания как раз сказываться на запуске не должна.

По Меге у меня точных данных нет, а для Пиков во всех ДШ указано - не менее 50мВ/мс. Именно по питанию.
Dog Pawlowa
Цитата(DpInRock @ Dec 8 2009, 20:31) *
Смотрим - кварц не завелся. Никакие вочдоги и бодлевелы не помогли.

1. Спасибо за инфо. Никому нельзя верить.
2. Режим скорее не совсем нормальный.
VladimirYU
Цитата(Herz @ Dec 9 2009, 00:54) *
Не зря для надёжного (пере)запуска МК по питанию супервизоры рекомендуют.

Но почему то на них все экономят, а потом преодолевают возникающие проблемы.
V_G
Никогда на атмегах не ставил конденсатор по ресету. В POR (power-on-reset) свой пороговый уровень, свой гистерезис и программируемое время стартапа после установки питания (4 или 65 мс). Вполне достаточно для подавляющего большинства приложений. Диоды-резисторы-конденсаторы - только если действительно есть внешний источник ресета.
BORIV
Цитата(DpInRock @ Dec 8 2009, 19:31) *
Впечатление, что неразрядившийся конденсатор по резету каким-то образом подпитывал сам проц, заодно обманывал brown детектор...


Извините, но каким боком БОДлевел и вочдог к Вашей проблеме? У Вас ресет к верху подтянут, а не заземлён.

Внутренний ресет формируется при переходе из 0 в 1 внешнего ресета одновременно или позже включения питания.

Если лень читать PDF, то хоть картинки посмотрите.

Проблему создали Вы сами.
DpInRock
Скорее всего имеет значение плавное нарастание синала на ножке резет.
Я тоже первый раз в жизни поставил туда конденсатор.

Удивляет то, что можно загнать атмел в состояние полной неработоспособности. В том плане, что ожидал, что разрешенный вочдог по старту все-таки сбросит проц и тот начнет работать. Но этого не происходит.

К слову. Такого состояния добится сложно, но реально можно. (Один завис на сотню, а то и две перещелквания питанием).
blackfin
Цитата(DpInRock @ Dec 9 2009, 12:04) *
В том плане, что ожидал, что разрешенный вотчдог по старту все-таки сбросит проц и тот начнет работать. Но этого не происходит.

Для этого вотчдог должен работать от отдельного генератора, который гарантированно запустится при плавном нарастании VCC.
Цитата(DpInRock @ Dec 9 2009, 12:04) *
К слову. Такого состояния добится сложно, но реально можно. (Один завис на сотню, а то и две перещелквания питанием).

Внешний вотчдог - наше всё!

Цена вопроса - $0.51+1pin CPU: ADM6320.

И, как обычно, качество vs стоимость, нужное - подчеркнуть.. biggrin.gif
BORIV
Цитата(DpInRock @ Dec 9 2009, 12:04) *
Удивляет то, что можно загнать атмел в состояние полной неработоспособности. В том плане, что ожидал, что разрешенный вочдог по старту все-таки сбросит проц и тот начнет работать. Но этого не происходит.

Ваша проблема в том, что питание появляется при наличии логической единицы на внешнем ресете.
В этом случае внутренний ресет не сформируется.

Цитата(blackfin @ Dec 9 2009, 12:18) *
Цена вопроса - $0.51+1pin CPU: ADM6319.

И, как обычно, качество vs стоимость, нужное - подчеркнуть.. biggrin.gif

Внутренний ресет можно организовать от БОДлевела, он как раз прекрасно среагирует на плавное нарастание питания, а тратить деньги впустую - это дело сугубо личное (если начальству всёравно).
V_G
Цитата(BORIV @ Dec 9 2009, 19:30) *
Ваша проблема в том, что питание появляется при наличии логической единицы на внешнем ресете.
В этом случае внутренний ресет не сформируется.

Откуда такие сведения? Всегда считал схему POR независимой от состояния каких-либо ножек проца.
BORIV
Цитата(V_G @ Dec 9 2009, 13:27) *
Откуда такие сведения? Всегда считал схему POR независимой от состояния каких-либо ножек проца.

Figure 15,16,17,18,19 - даташита. wassat.gif
stells
Цитата(V_G @ Dec 9 2009, 13:27) *
Откуда такие сведения? Всегда считал схему POR независимой от состояния каких-либо ножек проца.

ресет можно снимать либо одновременно, либо после достижения напряжением питания заданного порогового значения, но не до. диаграммки в даташитах есть
BORIV
Подавать сигналы на вход м-с, до подачи питания - грубейшая ошибка.
Странно как-то об этом напоминать на форуме разработчиков.
Herz
Цитата(BORIV @ Dec 9 2009, 14:21) *
Подавать сигналы на вход м-с, до подачи питания - грубейшая ошибка.
Странно как-то об этом напоминать на форуме разработчиков.

Ну, бывают и исключения. Так что ничего странного. biggrin.gif
demiurg_spb
Цитата(DpInRock @ Dec 9 2009, 12:04) *
К слову. Такого состояния добится сложно, но реально можно. (Один завис на сотню, а то и две перещелквания питанием).
Попробуй стартовать со включенным fuse CLKDIV8, а на полную скорость переходи после инициализации периферии. Расскажи о результатахsmile.gif
blackfin
Цитата(demiurg_spb @ Dec 9 2009, 17:59) *
Попробуй стартовать со включенным fuse CLKDIV8, а на полную скорость переходи после инициализации периферии. Расскажи о результатахsmile.gif

Ключевая фраза:
Цитата(DpInRock @ Dec 8 2009, 19:31) *
Смотрим - кварц не завелся.

Если "кварц не завелся", не поможет даже внешний резет, равно как и вотчдоги, и прочие фьюзы... biggrin.gif
Herz
Цитата(blackfin @ Dec 9 2009, 17:06) *
Ключевая фраза:

Если "кварц не завелся", не поможет даже внешний резет, равно как и вотчдоги, и прочие фьюзы... biggrin.gif

А что, внутри RC нету?
muravei
У меня с 0.1 на ресете AVRISP MKII не хотел программировать.
BORIV
Цитата(blackfin @ Dec 9 2009, 18:06) *
Ключевая фраза:

Если "кварц не завелся", не поможет даже внешний резет, равно как и вотчдоги, и прочие фьюзы... biggrin.gif


Спасибо надо сказать, что вообще не загнулся.

А ключевая фраза - "откуда такие сведения?"
Herz
Цитата(BORIV @ Dec 9 2009, 13:55) *
Figure 15,16,17,18,19 - даташита. wassat.gif


Какого, простите? Этого? Спрашиваю, потому что с АТМегами работать не приходилось.
_Pasha
Цитата(muravei @ Dec 9 2009, 19:19) *
У меня с 0.1 на ресете AVRISP MKII не хотел программировать.

А что удивительного? Я ставлю 10к/10н либо вообще 1к без ничего.
Если дип в панельке - то 300 Ом, но к ISP это не имеет отношения.
Есть поделки, где наглухо отключен RST, но это опять же, ДИПы + параллельное программирование
BORIV
Цитата(Herz @ Dec 9 2009, 18:41) *
Какого, простите? Этого? Спрашиваю, потому что с АТМегами работать не приходилось.

Я смотрел в документах 2486P-AVR-02/06 и 2443I-AVR-04/06 в обеих номера картинок одинаковы.
V_G
Цитата(BORIV @ Dec 9 2009, 21:55) *
Figure 15,16,17,18,19 - даташита. wassat.gif

Никак не пойму, в каких секретных даташитах имеются сведения, что НЕАКТИВНЫЙ (единичный) уровень на ножке ресет блокирует действие ресета по включению питания. Приведу конкретные слова из даташита:

•Power-on Reset. The MCU is reset when the supply voltage is below the Power-on Reset threshold (VPOT ).

•External Reset. The MCU is reset when a low level is present on the RESET pin for longer than the minimum pulse length.

Там еще есть про 2 источника ресета (watchdog и brown-out), и все это НЕЗАВИСИМЫЕ источники, друг друга не блокирующие

Я даже сомневаюсь, что медленное нарастание на ноге ресет мешает чему-либо, хотя детально не вдавался. А вот что кварц не стартует при таких над ним издевательствах - вполне вероятно. В Xmege на случай аварии кварца автоматом включается внутренний RC-генератор, это они правильно сделали, молодцы.
DpInRock
Извините, водопровод сломался, целый день бегал искал запчасти.

1. У вочдога свой собственный независимый RC генератор внутри. Так что по идее - он должен резетить по всякому. Каждые 16 мс с момента подачи питания.
2. Когда кварц НЕ ЗАВЕЛСЯ (в моем случае) - ОЧЕНЬ замечательно помогает внешний резет.

3. Плавное уменьшение увеличение входного питания показывает исключительно нормальную работу БОД. И никогда не приводит к моим зависаниям. Никогда.

4. Я даже не могу себе представить схему в которой бы отсутствовали сигналы без пиитания. В том смысле, что питание убирается быстро, а вот кто уберет внешние сигналы, всякие емкости и прочее? Так что "строжайше" не подавать сигналов - это идеализм (диалектический).

5. Завис случается чаще, если увеличить емкость на резете до 100 mkf . В этом случае очень отчетливо видна некая закономерность. Следущие несколько зависов происходят не после 100 перещелкиваний, а практически друг за другом. Скажем, каждый второй щелчок приводит к убийству. НО! После некоей паузы, снова надо долго и упорно щелкать для достижения эффекта. Т.е. вывод - все определяет напряжение на резете, отличное от граничных.

Но главная беда - что независимый вочдог также оказался не независимым.

А внешний вочдог - это конечно хорошо.
demiurg_spb
Цитата(blackfin @ Dec 9 2009, 18:06) *
Ключевая фраза:
...
Если "кварц не завелся", не поможет даже внешний резет, равно как и вотчдоги, и прочие фьюзы... biggrin.gif
А вы попробуйте на железе. Я на 162 меге так победил подобные грабли.

Цитата(DpInRock @ Dec 9 2009, 19:51) *
А внешний вочдог - это конечно хорошо.
Да лишне это.

Цитата(DpInRock @ Dec 9 2009, 19:51) *
Но главная беда - что независимый вочдог также оказался не независимым.
Это даsad.gif Но выход есть.
BORIV
Цитата(V_G @ Dec 9 2009, 19:42) *
Никак не пойму, в каких секретных даташитах имеются сведения, что НЕАКТИВНЫЙ (единичный) уровень на ножке ресет блокирует действие ресета по включению питания. Приведу конкретные слова из даташита:

•External Reset. The MCU is reset when a low level is present on the RESET pin for longer than the minimum pulse length.


Переведу, то, что Вы написали.

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

У топикстартера, благодаря большой ёмкости на входе Сброс, низкого уровня не возникает вообще.

Цитата(DpInRock @ Dec 9 2009, 19:51) *
4. Я даже не могу себе представить схему в которой бы отсутствовали сигналы без пиитания. В том смысле, что питание убирается быстро, а вот кто уберет внешние сигналы, всякие емкости и прочее? Так что "строжайше" не подавать сигналов - это идеализм (диалектический).

Это не идеализм, это азбука.
Ваш конденсатор на 1мкФ снизил надёжность всего устройства на пару порядков.
Фразу о том, что питание убирается быстро, я комментировать не буду, подумайте сами.
Ради прикола, попробуйте укоротить контакты питания у любого USB устройства. Должно быть интересно.
DpInRock
Цитата
Фразу о том, что питание убирается быстро, я комментировать не буду, подумайте сами.

Я у себя его убираю быстро. (Быстрее, чем убирается все остальное - иначе имитация траблов по питанию - бесполезна - а траблы, на то и траблы, чтобы мешать. Траблы, которые не мешают - траблами не являются).

Состояние ножки резет никак не должно приводить к зависаниям. Тем более, что ножку резет можно вообще убрать (перепрограммировать на другую функцию).

И в даташите совершенно однозначно указывается на независимость источников сброса.
Тогда получается, что существуют условия, при которых внутренний генератор WD не работает.
SM
Цитата(BORIV @ Dec 9 2009, 20:11) *
Это не идеализм, это азбука.

Не азбука это никакая и не идеализм. Это такая же схемотехника, только в пределах кристалла. Где-то ESD-защита так сделана, где-то эдак. Где-то на входных затворах диэлектрик тоньше, где-то толще, а где-то вообще какой нибудь карман плавающий. Если указано в даташите - на вход можно подавать сигнал -0.5...13 вольт, значит можно, и не зависимо от VCC, ноль там или +5. Если сказано -0.5...Vcc+0.5 - то так оно и есть, и без Vcc больше 0.5 вольт нельзя. Читайте Absolute maximum ratings и смотрите, что куда можно.
BORIV
Цитата(SM @ Dec 9 2009, 22:49) *
Не азбука это никакая и не идеализм. Это такая же схемотехника, только в пределах кристалла.
Читайте Absolute maximum ratings и смотрите, что куда можно.


NOTICE: Exposure to absolute maximum rating conditions extended periods may affect device reliability.
_Pasha
Была тема А у Вас как с АВЦЦ? Нет ли там хитрозакрученного косяка?
SM
Цитата(BORIV @ Dec 10 2009, 00:30) *
NOTICE: Exposure to absolute maximum rating conditions extended periods may affect device reliability.

А никто и не заставляет все 13 вольт на резет подавать, да еще и продолжительное время smile.gif
arttab
До сих пор считал что на конденсатор на ресете должен быть около 22пФ. Откуда 0,1мкФ?
V_G
А откуда 22 пФ? В даташите ничего про это не встречал.
Назначение этого конденсатора может быть разным. Либо это помехоподавляющий конденсатор, либо - формирующий достаточно длинный импульс сброса.
В любом случае в расчет должна приниматься минимально допустимая длительность сбрасывающего импульса на входе (2,5 мкс)
BORIV
Документ AVR040 пункт 4.9.9 Reset Pin Protection ответит на все Ваши вопросы, господа разработчики.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.