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

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

Здравствуйте все!

 

Посмотрел на форуме все, что касается RESET для STM32.

Внятного решения не нашел.

 

Посоветуйте пожалуйста!

Плата сделана на STM32F407VGT.

 

1. При включении питания проходит сброс, формируется устойчивый фронт, но процессор не стартует.

При нажатии на кнопку RESET , фронт формируется аналогичный, программа выполняется как и надо.

 

2. При нажатой кнопке RESET включаем питание, потом отпускаем,фронт формируется, но процессор не стартует.

 

3. Дополнительно еще поставил супервизор с задержкой 350 мс, фронт RESET немного более крутой,

но процессор все равно не стартует при включении.

 

Но самое печальное что из 20 экземпляров плат всего 2 так себя ведут.

 

На одной из плат поменял процессор, но ничего не поменялось.

Все обвязки для RESET и BOOT0 перепаял.

 

В каком направлении копать?

 

Спасибо.

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


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

 

..повесьте дополнительные конденсаторы на ножки питания контролера, может поможет.

 

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


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

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

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


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

В каком направлении копать?

Спасибо.

остался кварц и его цепи - перебросьте с заведомо рабочей платы

ну и возможно "грязное" питание

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


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

Увеличьте конденсатор в цепи сброса- не хватает времени. Было тоже самое только на LPC.

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


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

"Не стартует" - это внешнее проявление неисправности. Подключитесь отладчиком "на лету" и посмотрите, чем занята ваша программа.

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


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

Цепи питания перепаял, на всех ножках питания 0.1 мкф + 3 тантала на кристалл, емкость которых увеличил.

 

Кварц и конденсаторы менял.

Супервизор дает сброс 350 мс, куда больше.

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


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

Цепи питания перепаял, на всех ножках питания 0.1 мкф + 3 тантала на кристалл, емкость которых увеличил.

Кварц и конденсаторы менял.

Супервизор дает сброс 350 мс, куда больше.

ну.. чудес не бывает.. пойму, если одна плата упрямится в единственном экземпляре..

когда 2 из 20, то тут либо схемотехнический просчет или монтажники накосячили, третьего не будет..

 

по совету выше, залейте контрольный бинарник, по которому можно судить об успешном старте + визуальный осмотр под микроскопом и измерение всех номиналов в окружение stm32 отвечающих за работу + контроль уровней в ключевых точках..

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


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

Но самое печальное что из 20 экземпляров плат всего 2 так себя ведут.

 

На одной из плат поменял процессор, но ничего не поменялось.

Все обвязки для RESET и BOOT0 перепаял.

 

В каком направлении копать?

У 407 как минимум две ревизии "A" и "Z".

Было такое с ревизией "А". Лечение описано в ES.

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


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

У 407 как минимум две ревизии "A" и "Z".

Было такое с ревизией "А". Лечение описано в ES.

 

А что такое ES?

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


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

errata sheets?

Так точно!

Уже не помню и от дома сейчас далеко, но может быть, что в ревизии Z вывод PDR (вроде так называется 99 или 100 нога) нужно подключить к GND, а в ревизии A к VCC. Или все наоборот.

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


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

Как-то уалось решить проблему? У меня подобная ситуация с STM32F100C8T6- стартует после нажатия кнопки ресет, так же нормально стартует при заливке прошивки (с включенной опцией RESET в свойствах ST-LINK). Но при подаче питания не стартует.

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


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

Как-то уалось решить проблему? У меня подобная ситуация с STM32F100C8T6- стартует после нажатия кнопки ресет, так же нормально стартует при заливке прошивки (с включенной опцией RESET в свойствах ST-LINK). Но при подаче питания не стартует.

Мы STM32F100C8T6 используем ведрами - ничего подобного в железе замечено не было.

Варианта два:

1. Неисправен МК (брак и т.п.);

2. Ошибка в прошивке (зависает в цикле ожидания чего-либо, HardFault или другое исключение).

 

Попробуйте другой экземпляр МК и/или простейший тестовый софт (мигание светодиодом с задержкой в виде цикла).

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


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

попробую другую прошивочку. Другой экземпляр нет возможности попробовать-(. Возможно моя тестовая платка с али с неправильными цепями сброса? Возможно такое?

Дебаг

P.S. попробовал другую прошивочку залить - все отлично мигает светодиодик мой при подаче питания. Значит проблема в моей программе. Как бы отследить эту ошибку? Дебагер начинает после ресета работать и все работает прекрасно..а вот подачу питания как отследить...

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

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


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

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

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

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

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

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

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

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

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

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