Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Watchdog на AVR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
GinRider
Была такая интересная ситуация. Делали изделие на 4433 (предок 8-й меги), у которой WDT чисто софтварный, в отличие от m8. На EMC-испытаниях штука периодически насмерть подвисала. Вообщем, так оно и висло, пока не поставили внешнюю сторожевую собаку. Причём программный обработчик практически не изменился, но стало нормально перезапускаться. Выходит, что watchdog просто вырубался. Сталкивался кто-нибудь с таким?
ЗЫ. Грустно, но на некоторых мегах хардварный watchdog так до сих пор и не поставили...
Alex_Pol
Сталкивались. Внешняя собака всяко лучше.
Nanobyte
Цитата(GinRider @ Nov 6 2006, 16:16) *
... Грустно, но на некоторых мегах хардварный watchdog так до сих пор и не поставили...

А что означает хардварный и софтварный WatchDog в AVR?
SasaVitebsk
Цитата(Nanobyte @ Nov 6 2006, 23:04) *
А что означает хардварный и софтварный WatchDog в AVR?


Тоже не знаю. sad.gif

Я даже пробовал (и в принципе считаю успешным) восстанавливаться после WDT. Очевидно, что полностью проверить правильность восстановления нельзя. А вот защита от зависания у меня была 100%. По крайней мере на одном изделии проверяли очень и очень плотно. Вот что там было или 90s8515 или м8515 не помню. Помню, что не было фуза соответствующего. А с фузом я думаю вообще всё Ok.
Dog Pawlowa
Цитата(Nanobyte @ Nov 6 2006, 23:04) *
Цитата(GinRider @ Nov 6 2006, 16:16) *
... Грустно, но на некоторых мегах хардварный watchdog так до сих пор и не поставили...

А что означает хардварный и софтварный WatchDog в AVR?

Программным watchdog'ом независимо от типа контроллера обычно называют специальный механизм перезапуска программы при обнаружении нештатной ситуации.
Например, в основном цикле контролируется количество прерываний таймера. Или наоборот, в прерывании проверяется, что программа крутится по основному циклу.
Например, если за секунду программа не выполнила основной цикл, значит что-то не то, и нужно пересбросить микроконтроллер.
Недостатком такого способа является то, что программа должна крутиться там, где анализ происходит. А если в результате сбоя контроллер висит в цикле из трех команд, выход из зависания не обеспечивается.
Nanobyte
Насколько я помню, аппаратный WatchDog был у всех ранних AVR, не говоря уж о современных Мегах. А программный - это вроде как и не WatchDog, а просто предусмотрительность грамотного программиста. (ИМХО, конечно).
add
Цитата
Насколько я помню, аппаратный WatchDog был у всех ранних AVR, не говоря уж о современных Мегах. А программный - это вроде как и не WatchDog, а просто предусмотрительность грамотного программиста. (ИМХО, конечно).

Думаю здесь имелось в виду жесткое(програмно недоступное) конфигурирование установкой фуза WDTON, и установка программным способом, с возможностью отключения.
На счет "насмерть подвисала" , было дело. Причем на проекте который сдали...очень неприятно.. внутр.WDT просто несрабатывал. (с установками и ПО, думаю на 99% все ок.) проблема была в питающей сети(Скачки напряжения).
GinRider
Цитата(add @ Nov 7 2006, 08:50) *
Думаю здесь имелось в виду жесткое(програмно недоступное) конфигурирование установкой фуза WDTON, и установка программным способом, с возможностью отключения.

Именно так, сорри за неточность в терминологии. А вообще, как говорят, сторожевая собака должна сидеть во дворе. Плохо то, что изделие требовалось делать как можно дешевле, и WD составлял бы у нас приличную часть от стоимости компонентов. Поэтому пришлось выкручиваться, сваяв его на связке генератор+счётчик.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.