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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Усыпление сторожа-бабульки
d7d1cd
сообщение May 22 2013, 16:37
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Привет всем. Для отладки возникла необходимость сделать то, что необходимо было сделать Трусу в "Операции Ы", то есть усыпить на время внешний сторожевой таймер. Он представляет собой микросхему TPS3705-33.

Подскажите, как сделать так, чтобы микросхема не сбрасывала микроконтроллер, когда на его ноге WDI не меняются уровни напряжения? Может надо что-то замкнуть?

Go to the top of the page
 
+Quote Post
msalov
сообщение May 22 2013, 20:56
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045



А при чём здесь MSP430?
Для отладки можно и выпаять.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 22 2013, 21:00
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(msalov @ May 23 2013, 00:56) *
Для отладки можно и выпаять.

Достаточно отрезать WDI. Или оставить его в высокоимпедансном состоянии со стороны МК, если есть такая возможность.
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение May 23 2013, 02:54
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Цитата(aaarrr @ May 23 2013, 01:00) *
Достаточно отрезать WDI. Или оставить его в высокоимпедансном состоянии со стороны МК, если есть такая возможность.




Если оставить вывод WDI хоть в низком, хоть в высоком состоянии, то примерно через секунду микросхема установит на ноге микроконтроллера RST/NMI ноль и МК сбросится. Надо сделать так, чтобы микросхема не генерировала сигнал сброса.




Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 23 2013, 05:20
Сообщение #5


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



У меня на всех платах выход вочдога подключен к ресетной шине через резистор 10к.
Таким образом можно залочить ресет в любом состоянии сигналом извне (в данном конкретном случае это было сделано для возможности прошивки )


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение May 23 2013, 06:13
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



То есть, если в моем случае выход сторожа подключен к микроконтроллеру через резистор, то для отладки можно подать на вывод RST\NMI напряжение питания? А если нет резистора?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 23 2013, 06:55
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(d7d1cd @ May 23 2013, 06:54) *
Если оставить вывод WDI хоть в низком, хоть в высоком состоянии, то примерно через секунду микросхема установит на ноге микроконтроллера RST/NMI ноль и МК сбросится. Надо сделать так, чтобы микросхема не генерировала сигнал сброса.

Помимо низкого и высокого, пин может находится еще в одном интересном состоянии, о котором, собственно, и шла речь.
Настройте его на вход изначально. Если нет подтяжек, то это сработает.
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение May 23 2013, 17:07
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Цитата(aaarrr @ May 23 2013, 10:55) *
Настройте его на вход изначально.

Что настроить на вход? Внешний сторожевой таймер? Каким образом?

Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 23 2013, 17:17
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(d7d1cd @ May 23 2013, 21:07) *
Что настроить на вход? Внешний сторожевой таймер? Каким образом?

Вывод, которым дергается вход WDI таймера (если это, конечно, вывод МК).
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение May 23 2013, 18:30
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Цитата(aaarrr @ May 23 2013, 21:17) *
Вывод, которым дергается вход WDI таймера (если это, конечно, вывод МК).
К сожалению переопределить направление пина МК, соединенного с пином WDI таймера, нельзя.

Но хотя если бы и можно было, то я не понимаю как это решило бы проблему. Я бы не устанавливал 1 и 0 на ноге WDI, а читал бы, что сейчас на этой ноге. Но ведь там уровень не менялся бы и сброс все равно был бы сгенерирован. Или я чего то не допонимаю?

P.S. Получается, чтобы отключить сброс таймера, надо отсоединить вывод RESET таймера от вывода RST\NMI микроконтроллера? По другому никак?

Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 23 2013, 18:56
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Таймер блокируется, если WDI не подключен (или, как вариант, подключен к выводу МК, определенному как вход). Других способов заставить супервизор не генерировать сброс нет.
Go to the top of the page
 
+Quote Post
rezident
сообщение May 23 2013, 19:01
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(d7d1cd @ May 23 2013, 23:30) *
Но хотя если бы и можно было, то я не понимаю как это решило бы проблему. Я бы не устанавливал 1 и 0 на ноге WDI, а читал бы, что сейчас на этой ноге. Но ведь там уровень не менялся бы и сброс все равно был бы сгенерирован. Или я чего то не допонимаю?
aaarrr намекает вам вот на эту фразу в даташите
Цитата
Leaving WDI unconnected disables the watchdog.

и на вот этот фрагмент блок-схемы "внутренностей" и/с.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Psych
сообщение May 24 2013, 06:48
Сообщение #13


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

Группа: Участник
Сообщений: 88
Регистрация: 5-03-11
Пользователь №: 63 410



А нельзя-ли на время отладки вначале перевести пин на NMI (NMIIE=0)??
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение May 31 2013, 17:05
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Цитата(aaarrr @ May 23 2013, 22:56) *
Таймер блокируется, если WDI не подключен (или, как вариант, подключен к выводу МК, определенному как вход). Других способов заставить супервизор не генерировать сброс нет.




Я проверил такую блокировку. Вывод WDI подключен к МК на порт 5.6 и только к нему. Подключаю программатор, в режиме отладки делаю сброс. МК останавливается на первой инструкции. В дампе памяти вижу, что порт 5.6 настраивается как ВХОД. Однако примерно через 1 секунду таймер все равно срабатывает. В чем может быть причина?

Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 31 2013, 18:46
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(d7d1cd @ May 31 2013, 21:05) *
В чем может быть причина?

Вариантов два:
- Порт был в какой-то момент времени после подачи питания сконфигурирован как выход
- Порт содержит pull-up или pull-down резистор

Какой уровень на WDI, когда порт включен на вход?
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение Jun 3 2013, 17:10
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Спасибо всем за помощь. Проблема отпала. Пока выяснял схему сброса, спалил транзистор, который замыкал RST\NMI на землю, то есть выполнял сброс. Без него сброса не происходит. Как сделаю отладку, заменю на рабочий.

P.S. Нога WDI была подтянута к земле.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 19:19
Рейтинг@Mail.ru


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