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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> STM32F407 - watchdog+ reset проблемы.
DerKetzer
сообщение May 24 2016, 12:57
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 10-04-13
Пользователь №: 76 430



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

Сообщение отредактировал DerKetzer - May 24 2016, 13:01
Go to the top of the page
 
+Quote Post
1113
сообщение May 24 2016, 12:58
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



смотрите с какой скоростью нарастает само питание
Go to the top of the page
 
+Quote Post
DerKetzer
сообщение May 24 2016, 13:03
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 10-04-13
Пользователь №: 76 430



В течение 1 миллисекунды нарастает питание.
Go to the top of the page
 
+Quote Post
1113
сообщение May 24 2016, 13:08
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



какой конкретно чип?

и какое напр питания?
Go to the top of the page
 
+Quote Post
DerKetzer
сообщение May 24 2016, 13:15
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 10-04-13
Пользователь №: 76 430



3.3 V stm32f407vgt6
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 24 2016, 13:16
Сообщение #6


Гуру
******

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



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

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


--------------------
На любой вопрос даю любой ответ
"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
DerKetzer
сообщение May 24 2016, 13:31
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 10-04-13
Пользователь №: 76 430



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

Оставил reset в воздухе. Программа не стартует. Сопротивление на пине относительно земли или питания примерно Мегаом. Напряжение 3.3 вольта
Go to the top of the page
 
+Quote Post
ШСА
сообщение May 24 2016, 13:36
Сообщение #8


Местный
***

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



Цитата(DerKetzer @ May 24 2016, 15:57) *
Если убрать полностью цепь сброса то вообще ничего не работает. ни reset ни watchdog. Осциллографом вижу что на пине reset при срабатывании watchdog напряжение на некоторое время падает в 0 но программа не стартует.

А чем тактируется МК - от внутреннего RC или от внешнего кварца? Если от кварца, то возможно, что МК "застревает" из-за некачественного резонатора, при этом от внутреннего RC генератора стартует без проблем.
Go to the top of the page
 
+Quote Post
RadiatoR
сообщение May 24 2016, 13:37
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 270
Регистрация: 8-08-15
Из: Москва
Пользователь №: 87 901



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

Внешний кварц не включайте - тут точно будет понятно в чем дело.
Go to the top of the page
 
+Quote Post
scifi
сообщение May 24 2016, 13:37
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Проверьте ещё BOOT.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 24 2016, 13:37
Сообщение #11


Гуру
******

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



QUOTE (DerKetzer @ May 24 2016, 16:31) *
Оставил reset в воздухе. Программа не стартует.
Или стартует, но тут же куда-то улетает и циклится в обработчике исключения?
QUOTE (DerKetzer @ May 24 2016, 16:31) *
Сопротивление на пине относительно земли или питания примерно Мегаом. Напряжение 3.3 вольта
Все логично. Там есть внутренняя подтяжка порядка 30-50 кОм, которая и обеспечивает необходимый для нормальной работы уровень лог. единицы. Подтяжка выполнена в виде полевого транзистора, поэтому на прозвонке вы ее не видите.


--------------------
На любой вопрос даю любой ответ
"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
DerKetzer
сообщение May 24 2016, 13:45
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 10-04-13
Пользователь №: 76 430



В отладке сразу левый адрес. Но шьется, и если пинцетом дернуть ресет то светодиод моргает и по watchdoгу рестартует
Go to the top of the page
 
+Quote Post
ШСА
сообщение May 24 2016, 13:54
Сообщение #13


Местный
***

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



Цитата(DerKetzer @ May 24 2016, 16:45) *
В отладке сразу левый адрес. Но шьется, и если пинцетом дернуть ресет то светодиод моргает и по watchdoгу рестартует

Выбросьте (закомментируйте) Watchdog, он Вам только спутает все карты при отладке. Сделайте, как советовал ЯadiatoR. По результатам будет ясно, куда копать дальше.
Go to the top of the page
 
+Quote Post
DerKetzer
сообщение May 24 2016, 14:01
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 10-04-13
Пользователь №: 76 430



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

Сообщение отредактировал DerKetzer - May 24 2016, 14:03
Go to the top of the page
 
+Quote Post
ШСА
сообщение May 24 2016, 14:34
Сообщение #15


Местный
***

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



Цитата(DerKetzer @ May 24 2016, 17:01) *
Дергаешь питание-ничего не работает. Дернешь reset-работает.

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

Сообщение отредактировал ШСА - May 24 2016, 14:37
Go to the top of the page
 
+Quote Post

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

 


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


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