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

 
 
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

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

 


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


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