Forger 26 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба Влияет. Но это никак не связано с "питание не стабилизируется".Т.е. принудительно удержание мк в сбросе вообще не помогает при слишком медленном нарастании напряжения питания? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба Т.е. принудительно удержание мк в сбросе вообще не помогает при слишком медленном нарастании напряжения питания?Посмотрите на картинку в моем сообщении. Для этих МК скорость нарастания питания не критична. Поэтому "удерживать МК в сбросе" не нужно. Совсем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба Посмотрите на картинку в моем сообщении. Для этих МК скорость нарастания питания не критична. Поэтому "удерживать МК в сбросе" не нужно. Совсем. Убедили )) Но итог от этого не меняется: или небольшой конденсатор (я ставлю 0.01u) для защиты от помех по цепи сброса или нормальный внешний супервизор (возможно даже со встроенным вочдогом). Согласны? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A_D 15 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба Посмотрите на картинку в моем сообщении. Для этих МК скорость нарастания питания не критична. Поэтому "удерживать МК в сбросе" не нужно. Совсем. Вопрос такой по теме - а при медленном нарастании питания, не сбивается ли внутренний PLL, если он был сразу запущен при старте прошивки ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба Вопрос такой по теме - а при медленном нарастании питания, не сбивается ли внутренний PLL, если он был сразу запущен при старте прошивки ? Прошивка же не запустится, пока питание не дойдет до безопасной нормы (POR не даст). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AVI-crak 0 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба Не понимаю, зачем внешний супервизор - при наличии собственного в мк, более крутого. При работе мк от солнечной батарейки - начинаются "весёлости", которые простым способом в лоб не решить. Я юзаю PVD на нарастание а позже на спад - два разных уровня. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба Согласны?Не вижу необходимости во внешнем супервизоре. На небольшой конденсатор согласен :) хотя сам просто никуда не подключаю ногу сброса. Ну не наведется на голую двухмиллиметровую ногу такая помеха, чтобы перетягивать 40 кОм встроенной подтяжки в течении более 100 нс. А более короткие импульсы отсекаются встроенным фильтром. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
okela 0 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба Странное там у вас распределение обязанностей - программист ищет косяки схемотехника, обращаясь на соотв. форуме, а что же делает схемотехник? На форумах программистов ищет косяки (если есть) в вашем софте? :) В простых устройствах обычно достаточно на вывод NRST повесить лишь один конденсатор 0.01мк (к GND разумеется), внешний резистор там не нужен (он есть внутри МК). Это увеличивает время импульса сброса МК, пока питание не стабилизируется. А в ответственных девайсах, как тут уже заметили, нужен внешний супервизор, особенно, если питание Vdd нарастает слишком медленно. Так что зовите сюда вашего схемотехника, пусть он решает эту проблему 8) Да я и сам вобщем-то и схемотехник и программист и паяльником пользоваться умею, но данное конкретное устройство попало ко мне уже готовым. Почитал все ответы, но прояснения пока так и не наступило... Дополнительно к описанной ситуации есть еще такое наблюдение: если на вход питания устройства повесить большую емкость (2000 мкФ) и не вешать кондер на сброс, то в этом случае тоже все работает нормально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба Вот-вот, 2000мкФ эт перебор (по габаритам), а танталовых пару по 33..68 мкФ по питанию всегда полезно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A_D 15 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба Прошивка же не запустится, пока питание не дойдет до безопасной нормы (POR не даст). а при достижении к примеру +3В после запуска прошивки медленное или быстрое плавание питания в пределах нормы (+3...+3.6В) уже не помешают работе PLL ? Вот-вот, 2000мкФ эт перебор (по габаритам), а танталовых пару по 33..68 мкФ по питанию всегда полезно. я как для наших АРМов от Миландра, так и от STM серий F0 F1 всегда вешал керамику 10мкф (или тантал до 22мкф) + 0.1мкф керамику на каждый вывод питания (разве что батарейное питание пропускал иногда, если места мало) и 10к+0.1мкф на reset и никогда проблем не возникало, питал от линейного стабилизатора всегда, аналог 1117 серии... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба а при достижении к примеру +3В после запуска прошивки медленное или быстрое плавание питания в пределах нормы (+3...+3.6В) уже не помешают работе PLL ? Это от чего нужно питать камень, чтобы так плавало питание? От батарейки? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A_D 15 30 сентября, 2016 Опубликовано 30 сентября, 2016 (изменено) · Жалоба Это от чего нужно питать камень, чтобы так плавало питание? От батарейки? Это я спрашиваю чисто из теоретических соображений, если будет просадка питания (хоть и в пределах допустимого питания) - то PLL же слетит ? Так то у меня пока проблем таких не возникало, всё что делал было не для батарейного питания (не портативные устройства), но почитав тему - возник такой вот вопрос. Вдруг кто сталкивался уже.. К примеру в наших 1986ВЕ92 есть такая проблема: это так частота плавает при изменении питания в работе.. Более подробно описано ТУТ (ERRATA) страницы 24-25. Такая же проблема есть и у STM ? Изменено 30 сентября, 2016 пользователем truppik Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AVI-crak 0 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба Это от чего нужно питать камень, чтобы так плавало питание? От батарейки? От любого автономного источника питания, наличие плохого контакта не должно гробить прошивку, как и работу самого алгоритма чипа. Входное напряжение стабилизатора, через делитель на лапу PVD, её входной ток в пределах 80мка в сторону от VDD, (не в землю!!!). Можно сказать что между VDD и лапой PVD - измерительный мост. Последовательность: сработал внутренний ресет - старт работы ядра чипа, по факту напряжение 1,8в. Активируем прерывание по нарастанию PVD до напряжения нормы для внешнего стабилизатора, особо торопящиеся могут запустить инстал части периферии, потом уход в ожидание прерывания. В прибывании PVD переключаем вектор обработки на спад, и установка нижней границы безопасного уровня напряжения внешнего стаба, перезапуск прерывания. После ожидания внешнего прерывания - код автоматом стартует при выходе из PVD. Можно безопасно выполнять программу. При снижении напряжения внешнего стаба ниже порогового уровня - снова срабатывает PVD. Дальше уже всё зависит от требований надёжности алгоритма. Запасённой энергии во ВНЕШНЕЙ ёмкости на входе внешнего стабилизатора - хватит на 10-500мс. При этом напряжение питания самого чипа будет стабильным. Времени хватит на завершение записи сектора флешпамяти например, или на аварийное гашение внешней периферии с сохранением всех требуемых таймингов. В любом случае после цикла обработки аврала - необходимо произвести программный сброс, либо программное выключение (с бесконечным циклом). Например для векторного движка можно применить только программное выключение, потому как механика ещё вращается. А для системы сбора инфы - достаточно программного сброса. И ещё, вешать большие ёмкости на ноги чипа - нет смысла, но на входное питание стаба - да. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A_D 15 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба Последовательность: сработал внутренний ресет - старт работы ядра чипа, по факту напряжение 1,8в. Активируем прерывание по нарастанию PVD до напряжения нормы для внешнего стабилизатора, особо торопящиеся могут запустить инстал части периферии, потом уход в ожидание прерывания. В прибывании PVD переключаем вектор обработки на спад, и установка нижней границы безопасного уровня напряжения внешнего стаба, перезапуск прерывания. После ожидания внешнего прерывания - код автоматом стартует при выходе из PVD. Можно безопасно выполнять программу. При снижении напряжения внешнего стаба ниже порогового уровня - снова срабатывает PVD. Дальше уже всё зависит от требований надёжности алгоритма. Запасённой энергии во ВНЕШНЕЙ ёмкости на входе внешнего стабилизатора - хватит на 10-500мс. При этом напряжение питания самого чипа будет стабильным. Времени хватит на завершение записи сектора флешпамяти например, или на аварийное гашение внешней периферии с сохранением всех требуемых таймингов. В любом случае после цикла обработки аврала - необходимо произвести программный сброс, либо программное выключение (с бесконечным циклом). Например для векторного движка можно применить только программное выключение, потому как механика ещё вращается. А для системы сбора инфы - достаточно программного сброса. И ещё, вешать большие ёмкости на ноги чипа - нет смысла, но на входное питание стаба - да. а не проще ли для всего этого ставить просто внешний детектор? к примеру MAX811 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
okela 0 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба Нужно искать причину сбоя, а не костыли городить. Для этого можно загнать процессор в состояние сбоя, подключить отладчик на всем скаку и посмотреть, куда его занесло. Может у вас BOOT0 в программе на ввод настроен и в воздухе болтается, набирает за счет наводок лог. единицу, при провале питания держит эту единицу за счет внутренней емкости вывода и при сбросе уносит вас во встроенный загрузчик. BOOT0 притянут к земле через резюк 10К. Пролейте, плиз, свет на то как подключить отладчик на всем скаку и посмотреть куда МК занесло. У меня никак не получается - отладчик не ругается, но все переменные недоступны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться