реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Не стартует STM32 по RESET при включении
Forger
сообщение Sep 30 2016, 07:03
Сообщение #31


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Сергей Борщ @ Sep 30 2016, 09:52) *
Влияет. Но это никак не связано с "питание не стабилизируется".
Т.е. принудительно удержание мк в сбросе вообще не помогает при слишком медленном нарастании напряжения питания?


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 30 2016, 07:18
Сообщение #32


Гуру
******

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



QUOTE (Forger @ Sep 30 2016, 10:03) *
Т.е. принудительно удержание мк в сбросе вообще не помогает при слишком медленном нарастании напряжения питания?
Посмотрите на картинку в моем сообщении. Для этих МК скорость нарастания питания не критична. Поэтому "удерживать МК в сбросе" не нужно. Совсем.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 30 2016, 07:29
Сообщение #33


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Сергей Борщ @ Sep 30 2016, 10:18) *
Посмотрите на картинку в моем сообщении. Для этих МК скорость нарастания питания не критична. Поэтому "удерживать МК в сбросе" не нужно. Совсем.

Убедили ))

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


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
truppik
сообщение Sep 30 2016, 08:55
Сообщение #34


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 24-07-14
Из: NA
Пользователь №: 82 352



Цитата(Сергей Борщ @ Sep 30 2016, 10:18) *
Посмотрите на картинку в моем сообщении. Для этих МК скорость нарастания питания не критична. Поэтому "удерживать МК в сбросе" не нужно. Совсем.

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


--------------------
never know best.
Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 30 2016, 09:01
Сообщение #35


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(truppik @ Sep 30 2016, 11:55) *
Вопрос такой по теме - а при медленном нарастании питания, не сбивается ли внутренний PLL, если он был сразу запущен при старте прошивки ?

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


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
AVI-crak
сообщение Sep 30 2016, 09:14
Сообщение #36


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



Не понимаю, зачем внешний супервизор - при наличии собственного в мк, более крутого.
При работе мк от солнечной батарейки - начинаются "весёлости", которые простым способом в лоб не решить. Я юзаю PVD на нарастание а позже на спад - два разных уровня.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 30 2016, 09:17
Сообщение #37


Гуру
******

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



QUOTE (Forger @ Sep 30 2016, 10:29) *
Согласны?
Не вижу необходимости во внешнем супервизоре. На небольшой конденсатор согласен sm.gif хотя сам просто никуда не подключаю ногу сброса. Ну не наведется на голую двухмиллиметровую ногу такая помеха, чтобы перетягивать 40 кОм встроенной подтяжки в течении более 100 нс. А более короткие импульсы отсекаются встроенным фильтром.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
okela
сообщение Sep 30 2016, 10:45
Сообщение #38


Частый гость
**

Группа: Свой
Сообщений: 165
Регистрация: 11-01-05
Из: Украина, г. Одесса
Пользователь №: 1 896



Цитата(Forger @ Sep 30 2016, 01:26) *
Странное там у вас распределение обязанностей - программист ищет косяки схемотехника, обращаясь на соотв. форуме, а что же делает схемотехник? На форумах программистов ищет косяки (если есть) в вашем софте? sm.gif

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

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


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

Почитал все ответы, но прояснения пока так и не наступило...
Дополнительно к описанной ситуации есть еще такое наблюдение: если на вход питания устройства повесить большую емкость (2000 мкФ) и не вешать кондер на сброс, то в этом случае тоже все работает нормально.
Go to the top of the page
 
+Quote Post
Obam
сообщение Sep 30 2016, 10:54
Сообщение #39


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



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


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
truppik
сообщение Sep 30 2016, 11:25
Сообщение #40


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 24-07-14
Из: NA
Пользователь №: 82 352



Цитата(Forger @ Sep 30 2016, 12:01) *
Прошивка же не запустится, пока питание не дойдет до безопасной нормы (POR не даст).

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

Цитата(Obam @ Sep 30 2016, 13:54) *
Вот-вот, 2000мкФ эт перебор (по габаритам), а танталовых пару по 33..68 мкФ по питанию всегда полезно.

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


--------------------
never know best.
Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 30 2016, 11:35
Сообщение #41


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(truppik @ Sep 30 2016, 14:25) *
а при достижении к примеру +3В после запуска прошивки медленное или быстрое плавание питания в пределах нормы (+3...+3.6В) уже не помешают работе PLL ?

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



--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
truppik
сообщение Sep 30 2016, 11:45
Сообщение #42


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 24-07-14
Из: NA
Пользователь №: 82 352



Цитата(Forger @ Sep 30 2016, 14:35) *
Это от чего нужно питать камень, чтобы так плавало питание? От батарейки?

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

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

Прикрепленное изображение

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

Сообщение отредактировал truppik - Sep 30 2016, 11:52


--------------------
never know best.
Go to the top of the page
 
+Quote Post
AVI-crak
сообщение Sep 30 2016, 12:09
Сообщение #43


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



Цитата(Forger @ Sep 30 2016, 18:35) *
Это от чего нужно питать камень, чтобы так плавало питание? От батарейки?


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

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

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

И ещё, вешать большие ёмкости на ноги чипа - нет смысла, но на входное питание стаба - да.
Go to the top of the page
 
+Quote Post
truppik
сообщение Sep 30 2016, 14:41
Сообщение #44


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 24-07-14
Из: NA
Пользователь №: 82 352



Цитата(AVI-crak @ Sep 30 2016, 15:09) *
Последовательность:
сработал внутренний ресет - старт работы ядра чипа, по факту напряжение 1,8в.
Активируем прерывание по нарастанию PVD до напряжения нормы для внешнего стабилизатора, особо торопящиеся могут запустить инстал части периферии, потом уход в ожидание прерывания.
В прибывании PVD переключаем вектор обработки на спад, и установка нижней границы безопасного уровня напряжения внешнего стаба, перезапуск прерывания.
После ожидания внешнего прерывания - код автоматом стартует при выходе из PVD. Можно безопасно выполнять программу.
При снижении напряжения внешнего стаба ниже порогового уровня - снова срабатывает PVD. Дальше уже всё зависит от требований надёжности алгоритма. Запасённой энергии во ВНЕШНЕЙ ёмкости на входе внешнего стабилизатора - хватит на 10-500мс. При этом напряжение питания самого чипа будет стабильным. Времени хватит на завершение записи сектора флешпамяти например, или на аварийное гашение внешней периферии с сохранением всех требуемых таймингов.

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

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


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


--------------------
never know best.
Go to the top of the page
 
+Quote Post
okela
сообщение Sep 30 2016, 15:41
Сообщение #45


Частый гость
**

Группа: Свой
Сообщений: 165
Регистрация: 11-01-05
Из: Украина, г. Одесса
Пользователь №: 1 896



Цитата(Сергей Борщ @ Sep 30 2016, 09:39) *
Нужно искать причину сбоя, а не костыли городить. Для этого можно загнать процессор в состояние сбоя, подключить отладчик на всем скаку и посмотреть, куда его занесло. Может у вас BOOT0 в программе на ввод настроен и в воздухе болтается, набирает за счет наводок лог. единицу, при провале питания держит эту единицу за счет внутренней емкости вывода и при сбросе уносит вас во встроенный загрузчик.


BOOT0 притянут к земле через резюк 10К.
Пролейте, плиз, свет на то как подключить отладчик на всем скаку и посмотреть куда МК занесло.
У меня никак не получается - отладчик не ругается, но все переменные недоступны.
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 01:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.03521 секунд с 7
ELECTRONIX ©2004-2016