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

STM32F407 - watchdog+ reset проблемы.

Подскажите, пожалуйста, кто знает. При подаче питания на плату не запускается микроконтроллер, пока не нажмешь Reset. Схема сброса стандартная-100k to vcc и 100nF to gnd параллельно кнопке. Если увеличить емкость до 10 мкФ, то начинает стартовать сам. Но не может сброситься по watchdog. Если убрать полностью цепь сброса то вообще ничего не работает. ни reset ни watchdog. Осциллографом вижу что на пине reset при срабатывании watchdog напряжение на некоторое время падает в 0 но программа не стартует.

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

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


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

Конденсатор выкиньте и разбирайтесь с программой. Не нужен там конденсатор - времена PIC16С54 давно прошли, сейчас импульс сброса нужной длительности формируется внутри процессора. И нога сброса является и входом и выходом - процессор сам тянет ее к земле на нужное время при поступлении внешнего или внутреннего сигнала. 100 кОм резистор тоже ни о чем - он меньше внутренней подтяжки. Если нога сброса не используется - оставьте ее в воздухе, на длину вывода вы не наведете достаточную для случайного сброса помеху. Если на ноге сброса длинная дорожка (или еще хуже - длинный провод и кнопка на корпусе) - резистор нужен порядка килоома.

 

Добавлено: даже в техописании на PIC16С54 рисовали диод параллельно резистору на схеме сброса, но современные "инженеры" его упорно игнорируют.

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


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

Спасибо. Буду пробовать.

 

Оставил reset в воздухе. Программа не стартует. Сопротивление на пине относительно земли или питания примерно Мегаом. Напряжение 3.3 вольта

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


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

Если убрать полностью цепь сброса то вообще ничего не работает. ни reset ни watchdog. Осциллографом вижу что на пине reset при срабатывании watchdog напряжение на некоторое время падает в 0 но программа не стартует.

А чем тактируется МК - от внутреннего RC или от внешнего кварца? Если от кварца, то возможно, что МК "застревает" из-за некачественного резонатора, при этом от внутреннего RC генератора стартует без проблем.

 

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


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

Создайте пустой проект. С нуля. Попробуйте зайти в отладку.

Как вы вообще определяете работоспособность программы? Подергайте ножкой туда-сюда.

 

Внешний кварц не включайте - тут точно будет понятно в чем дело.

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


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

Оставил reset в воздухе. Программа не стартует.
Или стартует, но тут же куда-то улетает и циклится в обработчике исключения?

Сопротивление на пине относительно земли или питания примерно Мегаом. Напряжение 3.3 вольта
Все логично. Там есть внутренняя подтяжка порядка 30-50 кОм, которая и обеспечивает необходимый для нормальной работы уровень лог. единицы. Подтяжка выполнена в виде полевого транзистора, поэтому на прозвонке вы ее не видите.

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


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

В отладке сразу левый адрес. Но шьется, и если пинцетом дернуть ресет то светодиод моргает и по watchdoгу рестартует

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


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

В отладке сразу левый адрес. Но шьется, и если пинцетом дернуть ресет то светодиод моргает и по watchdoгу рестартует

Выбросьте (закомментируйте) Watchdog, он Вам только спутает все карты при отладке. Сделайте, как советовал ЯadiatoR. По результатам будет ясно, куда копать дальше.

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


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

Выбросил WDT. Работаю от внутреннего генератора. В отладке все работает. Выходишь из отладки-все работает. Дергаешь питание-ничего не работает. Дернешь reset-работает. Микроконтроллер новый. тока сегодня впаял. Работу определяю по мигающему светодиоду.

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

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


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

Дергаешь питание-ничего не работает. Дернешь reset-работает.

Сигналы Boot0 и Pdr_On (94 и 99 ноги) на земле? (я имею ввиду не по схеме, а по факту, чтобы исключить непропай). Подключите Nrst (14) на + питания через небольшой резистор, напр. 1 - 10 кОм.

Изменено пользователем ШСА

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


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

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

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

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

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

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

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

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

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

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