Перейти к содержанию
    

Не стартует STM32 по RESET при включении

Влияет. Но это никак не связано с "питание не стабилизируется".
Т.е. принудительно удержание мк в сбросе вообще не помогает при слишком медленном нарастании напряжения питания?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. принудительно удержание мк в сбросе вообще не помогает при слишком медленном нарастании напряжения питания?
Посмотрите на картинку в моем сообщении. Для этих МК скорость нарастания питания не критична. Поэтому "удерживать МК в сбросе" не нужно. Совсем.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите на картинку в моем сообщении. Для этих МК скорость нарастания питания не критична. Поэтому "удерживать МК в сбросе" не нужно. Совсем.

Убедили ))

 

Но итог от этого не меняется: или небольшой конденсатор (я ставлю 0.01u) для защиты от помех по цепи сброса или нормальный внешний супервизор (возможно даже со встроенным вочдогом).

Согласны?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите на картинку в моем сообщении. Для этих МК скорость нарастания питания не критична. Поэтому "удерживать МК в сбросе" не нужно. Совсем.

Вопрос такой по теме - а при медленном нарастании питания, не сбивается ли внутренний PLL, если он был сразу запущен при старте прошивки ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос такой по теме - а при медленном нарастании питания, не сбивается ли внутренний PLL, если он был сразу запущен при старте прошивки ?

Прошивка же не запустится, пока питание не дойдет до безопасной нормы (POR не даст).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не понимаю, зачем внешний супервизор - при наличии собственного в мк, более крутого.

При работе мк от солнечной батарейки - начинаются "весёлости", которые простым способом в лоб не решить. Я юзаю PVD на нарастание а позже на спад - два разных уровня.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Согласны?
Не вижу необходимости во внешнем супервизоре. На небольшой конденсатор согласен :) хотя сам просто никуда не подключаю ногу сброса. Ну не наведется на голую двухмиллиметровую ногу такая помеха, чтобы перетягивать 40 кОм встроенной подтяжки в течении более 100 нс. А более короткие импульсы отсекаются встроенным фильтром.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странное там у вас распределение обязанностей - программист ищет косяки схемотехника, обращаясь на соотв. форуме, а что же делает схемотехник? На форумах программистов ищет косяки (если есть) в вашем софте? :)

 

В простых устройствах обычно достаточно на вывод NRST повесить лишь один конденсатор 0.01мк (к GND разумеется), внешний резистор там не нужен (он есть внутри МК).

Это увеличивает время импульса сброса МК, пока питание не стабилизируется.

А в ответственных девайсах, как тут уже заметили, нужен внешний супервизор, особенно, если питание Vdd нарастает слишком медленно.

 

Так что зовите сюда вашего схемотехника, пусть он решает эту проблему 8)

 

Да я и сам вобщем-то и схемотехник и программист и паяльником пользоваться умею, но данное конкретное устройство попало ко мне уже готовым.

 

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

Дополнительно к описанной ситуации есть еще такое наблюдение: если на вход питания устройства повесить большую емкость (2000 мкФ) и не вешать кондер на сброс, то в этом случае тоже все работает нормально.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот-вот, 2000мкФ эт перебор (по габаритам), а танталовых пару по 33..68 мкФ по питанию всегда полезно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прошивка же не запустится, пока питание не дойдет до безопасной нормы (POR не даст).

а при достижении к примеру +3В после запуска прошивки медленное или быстрое плавание питания в пределах нормы (+3...+3.6В) уже не помешают работе PLL ?

 

Вот-вот, 2000мкФ эт перебор (по габаритам), а танталовых пару по 33..68 мкФ по питанию всегда полезно.

я как для наших АРМов от Миландра, так и от STM серий F0 F1 всегда вешал керамику 10мкф (или тантал до 22мкф) + 0.1мкф керамику на каждый вывод питания (разве что батарейное питание пропускал иногда, если места мало) и 10к+0.1мкф на reset и никогда проблем не возникало, питал от линейного стабилизатора всегда, аналог 1117 серии...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а при достижении к примеру +3В после запуска прошивки медленное или быстрое плавание питания в пределах нормы (+3...+3.6В) уже не помешают работе PLL ?

Это от чего нужно питать камень, чтобы так плавало питание? От батарейки?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это от чего нужно питать камень, чтобы так плавало питание? От батарейки?

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

 

К примеру в наших 1986ВЕ92 есть такая проблема:

post-82352-1475236290_thumb.png

post-82352-1475236192_thumb.png

это так частота плавает при изменении питания в работе..

Более подробно описано ТУТ (ERRATA) страницы 24-25. Такая же проблема есть и у STM ?

Изменено пользователем truppik

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это от чего нужно питать камень, чтобы так плавало питание? От батарейки?

 

От любого автономного источника питания, наличие плохого контакта не должно гробить прошивку, как и работу самого алгоритма чипа.

Входное напряжение стабилизатора, через делитель на лапу PVD, её входной ток в пределах 80мка в сторону от VDD, (не в землю!!!). Можно сказать что между VDD и лапой PVD - измерительный мост.

 

Последовательность:

сработал внутренний ресет - старт работы ядра чипа, по факту напряжение 1,8в.

Активируем прерывание по нарастанию PVD до напряжения нормы для внешнего стабилизатора, особо торопящиеся могут запустить инстал части периферии, потом уход в ожидание прерывания.

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

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

При снижении напряжения внешнего стаба ниже порогового уровня - снова срабатывает PVD. Дальше уже всё зависит от требований надёжности алгоритма. Запасённой энергии во ВНЕШНЕЙ ёмкости на входе внешнего стабилизатора - хватит на 10-500мс. При этом напряжение питания самого чипа будет стабильным. Времени хватит на завершение записи сектора флешпамяти например, или на аварийное гашение внешней периферии с сохранением всех требуемых таймингов.

 

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

 

И ещё, вешать большие ёмкости на ноги чипа - нет смысла, но на входное питание стаба - да.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Последовательность:

сработал внутренний ресет - старт работы ядра чипа, по факту напряжение 1,8в.

Активируем прерывание по нарастанию PVD до напряжения нормы для внешнего стабилизатора, особо торопящиеся могут запустить инстал части периферии, потом уход в ожидание прерывания.

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

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

При снижении напряжения внешнего стаба ниже порогового уровня - снова срабатывает PVD. Дальше уже всё зависит от требований надёжности алгоритма. Запасённой энергии во ВНЕШНЕЙ ёмкости на входе внешнего стабилизатора - хватит на 10-500мс. При этом напряжение питания самого чипа будет стабильным. Времени хватит на завершение записи сектора флешпамяти например, или на аварийное гашение внешней периферии с сохранением всех требуемых таймингов.

 

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

 

И ещё, вешать большие ёмкости на ноги чипа - нет смысла, но на входное питание стаба - да.

 

а не проще ли для всего этого ставить просто внешний детектор? к примеру MAX811

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно искать причину сбоя, а не костыли городить. Для этого можно загнать процессор в состояние сбоя, подключить отладчик на всем скаку и посмотреть, куда его занесло. Может у вас BOOT0 в программе на ввод настроен и в воздухе болтается, набирает за счет наводок лог. единицу, при провале питания держит эту единицу за счет внутренней емкости вывода и при сбросе уносит вас во встроенный загрузчик.

 

BOOT0 притянут к земле через резюк 10К.

Пролейте, плиз, свет на то как подключить отладчик на всем скаку и посмотреть куда МК занесло.

У меня никак не получается - отладчик не ругается, но все переменные недоступны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...