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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Сторожевой таймер!..., быть ему ...или не быть?
defunct
сообщение Apr 20 2006, 15:09
Сообщение #16


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(vet @ Apr 20 2006, 17:59) *
defunct
И всё же...
Бывают случаи - завис AVR, включенный встроенный ватчдог его не сбрасывает. Приходится ставить внешний.

Бывают всякие случаи. Бывают случаи, когда отслаиваются дорожки ПП. либо что-то не контачит, либо наоборот что-то замыкает. Либо наводятся помехи и внешний девайс (WDT) при этом добавит только доп. нестабильность.

WDT в AVR это отдельный девайс, который тактируется отдельным RC генератором. Завис AVR - WDT продолжает работать unless WDT не проинициализирован. Чтобы не возникало ситуаций, описанных Вами, необходимо обязательно использовать BOD, и грамотно инициализировать и сбрасывать WDT.
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Apr 20 2006, 15:49
Сообщение #17


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



кстати если есть разница в поведении программы как переброс питания или срабатывания wdt - reset
можно попробывать понять в чем дело ( в смысле прога или ап глюки)...
перед началом программы сделать очистку всей памяти, за исключением регистров, которые задействованы в цикле очистки...


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
vaivai
сообщение Apr 22 2006, 18:48
Сообщение #18


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 31-05-05
Пользователь №: 5 579



Я имею дело с сигнализациями (DSC,Spectra) - очень редко,но виснут.
Интересно,что иногда виснет как бы часть устройства - все функции работают а какая то нет - помогает переключение питания.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Apr 22 2006, 20:38
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(plan @ Apr 19 2006, 14:11) *
Цитата(Rst7 @ Apr 19 2006, 11:32) *

Да вообщем, в приложениях, которые требуют хорошей надежности в смысле борьбы с зависанием, не грех и две собаки пользовать - внутреннюю и внешнюю. Кстати, наглядный пример такого подхода - мобильники сименс wink.gif

Это разумное решение,хотя в принципе всегда хватает и одного,не важно внутренний он или внешний.Проблема даже не в таймерах.Например если зависание аппаратное(что у атмела практически невозможно при правильно разработанной схеме),то ватчдогом можно даже пренебречь.А если уж случается аппаратное зависание - то это уже не работа устройства ,а мучение. Другое дело зависание програмное. Конечно в некоторой степени ватчдог может помочь системе,но это ведь не выход. Выход в разумном тщательном тестировании программы и лишь потом можно подключить таймер чисто для подстраховки.При тестировании и отладке программы лучше его выключить.


Приведу пример из своей практики. В облтелекоме стояли изделия подключенные к маршрутизатору. Круглосуточная работа. 10 моих на atmega8515 и 10 "чужих" на базе PIC. Свои я вылизовал несколько месяцев. В результате на PIC висли ~ ч/з 1.5 суток, а мои ~ ч/з 10 суток. Но всё равно висли! Вдумчивое применение WDT привело к полному отсутствию зависаний. (т.е. они были, но устройство с ними справлялось). И в настоящий момент времени используются только мои изделия.

Насчёт вдумчивого тестирования. Работа идёт с маршрутизаторами CISCO. Разработанное изделие очень непростое плюс логика его работы изменяется в зависимости от 69 регистров (битовые!) Играет роль входящий поток. Последняя найденная и устранённая ошибка возникала с вероятностью одна на 20 переданных мегабайт инфы. Никто не даст подключенный маршрутизатор для тестирования твоего копеечного оборудования. И тебя туда не пустят. Эмулировали работу, эмулировали ошибочные ситуации и т.п. Да и вообще при возникновении виса 1 раз в неделю как его вычислить???
Любопытно что и наши изделия и "чужие" висли одинаковым образом. smile.gif

Сообщение отредактировал SasaVitebsk - Apr 22 2006, 20:42
Go to the top of the page
 
+Quote Post
plan
сообщение Apr 25 2006, 05:15
Сообщение #20


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 23-12-05
Из: Украина Днепродзержинск
Пользователь №: 12 599



Цитата(SasaVitebsk @ Apr 22 2006, 23:38) *
Приведу пример из своей практики. В облтелекоме стояли изделия подключенные к маршрутизатору. Круглосуточная работа. 10 моих на atmega8515 и 10 "чужих" на базе PIC. Свои я вылизовал несколько месяцев. В результате на PIC висли ~ ч/з 1.5 суток, а мои ~ ч/з 10 суток. Но всё равно висли! Вдумчивое применение WDT привело к полному отсутствию зависаний. (т.е. они были, но устройство с ними справлялось). И в настоящий момент времени используются только мои изделия.
Насчёт вдумчивого тестирования. Работа идёт с маршрутизаторами CISCO. Разработанное изделие очень непростое плюс логика его работы изменяется в зависимости от 69 регистров (битовые!) Играет роль входящий поток. Последняя найденная и устранённая ошибка возникала с вероятностью одна на 20 переданных мегабайт инфы. Никто не даст подключенный маршрутизатор для тестирования твоего копеечного оборудования. И тебя туда не пустят. Эмулировали работу, эмулировали ошибочные ситуации и т.п. Да и вообще при возникновении виса 1 раз в неделю как его вычислить???
Любопытно что и наши изделия и "чужие" висли одинаковым образом. smile.gif

Полностью согласен-бывает и такое ,но всё таки Вас не терзают мысли о том, что со временем если Вы не обработаете в Вашем устройстве все исключения при приёме потока данных , может появиться устройство Вашего конкурента, которое работает без ошибок.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Apr 25 2006, 18:49
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(plan @ Apr 25 2006, 08:15) *
Полностью согласен-бывает и такое ,но всё таки Вас не терзают мысли о том, что со временем если Вы не обработаете в Вашем устройстве все исключения при приёме потока данных , может появиться устройство Вашего конкурента, которое работает без ошибок.


Так я не отвергаю ваше предыдущее замечание, а полностью его подтверждаю. Чем более качественно прописано всё, тем надёжнее работает изделие. Очень важно также правильно выбрать протоколы и методики съёма/соединений и т.п. При более менее серийном изделии очень важным является полное тестирование (также после каждого изменения). А WDT, я лично, подключаю на самом последнем завершающем этапе. Иначе будет как в Windows ошибка работы одной проги благополучно устраняется корекцией в другом блоке, - а с виду всё великолепно работает! smile.gif

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

WDT я проверял таким образом. Выводил признак что прерывание сработало и пытался подвешать изделие при помощи импульсного паяльника включенного в ту же розетку что и БП изделия. После этого начинал "искрить" паяльником. При отсутствии WDT прибор можно было подвесить.
Go to the top of the page
 
+Quote Post
tag
сообщение May 3 2006, 14:43
Сообщение #22


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

Группа: Свой
Сообщений: 151
Регистрация: 21-02-06
Пользователь №: 14 561



Цитата(plan @ Apr 19 2006, 13:11) *
Цитата(Rst7 @ Apr 19 2006, 11:32) *

Да вообщем, в приложениях, которые требуют хорошей надежности в смысле борьбы с зависанием, не грех и две собаки пользовать - внутреннюю и внешнюю. Кстати, наглядный пример такого подхода - мобильники сименс ;)

Это разумное решение,хотя в принципе всегда хватает и одного,не важно внутренний он или внешний.Проблема даже не в таймерах.Например если зависание аппаратное(что у атмела практически невозможно при правильно разработанной схеме),то ватчдогом можно даже пренебречь.А если уж случается аппаратное зависание - то это уже не работа устройства ,а мучение. Другое дело зависание програмное. Конечно в некоторой степени ватчдог может помочь системе,но это ведь не выход. Выход в разумном тщательном тестировании программы и лишь потом можно подключить таймер чисто для подстраховки.При тестировании и отладке программы лучше его выключить.

А что может быть источником аппаратного зависания?
Go to the top of the page
 
+Quote Post
rezident
сообщение May 3 2006, 15:43
Сообщение #23


Гуру
******

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



Цитата(tag @ May 3 2006, 20:43) *
А что может быть источником аппаратного зависания?

Статическое электричество, импульсы малой длительности с крутыми фронтами, ну и прочие электромагнитные воздействия. Например, пользователь с электрошокером smile.gif
Go to the top of the page
 
+Quote Post

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

 


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


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