|
|
  |
Watchdog на AVR |
|
|
|
Nov 6 2006, 12:16
|
Участник

Группа: Участник
Сообщений: 58
Регистрация: 13-10-06
Из: Финляндия
Пользователь №: 21 273

|
Была такая интересная ситуация. Делали изделие на 4433 (предок 8-й меги), у которой WDT чисто софтварный, в отличие от m8. На EMC-испытаниях штука периодически насмерть подвисала. Вообщем, так оно и висло, пока не поставили внешнюю сторожевую собаку. Причём программный обработчик практически не изменился, но стало нормально перезапускаться. Выходит, что watchdog просто вырубался. Сталкивался кто-нибудь с таким? ЗЫ. Грустно, но на некоторых мегах хардварный watchdog так до сих пор и не поставили...
|
|
|
|
|
Nov 6 2006, 20:04
|

За битами по регистрам гоняюсь
  
Группа: Свой
Сообщений: 457
Регистрация: 24-04-06
Из: Таганрог
Пользователь №: 16 446

|
Цитата(GinRider @ Nov 6 2006, 16:16)  ... Грустно, но на некоторых мегах хардварный watchdog так до сих пор и не поставили... А что означает хардварный и софтварный WatchDog в AVR?
--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
|
|
|
|
|
Nov 6 2006, 21:09
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(Nanobyte @ Nov 6 2006, 23:04)  Цитата(GinRider @ Nov 6 2006, 16:16)  ... Грустно, но на некоторых мегах хардварный watchdog так до сих пор и не поставили... А что означает хардварный и софтварный WatchDog в AVR? Программным watchdog'ом независимо от типа контроллера обычно называют специальный механизм перезапуска программы при обнаружении нештатной ситуации. Например, в основном цикле контролируется количество прерываний таймера. Или наоборот, в прерывании проверяется, что программа крутится по основному циклу. Например, если за секунду программа не выполнила основной цикл, значит что-то не то, и нужно пересбросить микроконтроллер. Недостатком такого способа является то, что программа должна крутиться там, где анализ происходит. А если в результате сбоя контроллер висит в цикле из трех команд, выход из зависания не обеспечивается.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Nov 7 2006, 06:50
|

Местный
  
Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459

|
Цитата Насколько я помню, аппаратный WatchDog был у всех ранних AVR, не говоря уж о современных Мегах. А программный - это вроде как и не WatchDog, а просто предусмотрительность грамотного программиста. (ИМХО, конечно). Думаю здесь имелось в виду жесткое(програмно недоступное) конфигурирование установкой фуза WDTON, и установка программным способом, с возможностью отключения. На счет "насмерть подвисала" , было дело. Причем на проекте который сдали...очень неприятно.. внутр.WDT просто несрабатывал. (с установками и ПО, думаю на 99% все ок.) проблема была в питающей сети(Скачки напряжения).
--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
|
|
|
|
|
Nov 7 2006, 08:44
|
Участник

Группа: Участник
Сообщений: 58
Регистрация: 13-10-06
Из: Финляндия
Пользователь №: 21 273

|
Цитата(add @ Nov 7 2006, 08:50)  Думаю здесь имелось в виду жесткое(програмно недоступное) конфигурирование установкой фуза WDTON, и установка программным способом, с возможностью отключения. Именно так, сорри за неточность в терминологии. А вообще, как говорят, сторожевая собака должна сидеть во дворе. Плохо то, что изделие требовалось делать как можно дешевле, и WD составлял бы у нас приличную часть от стоимости компонентов. Поэтому пришлось выкручиваться, сваяв его на связке генератор+счётчик.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|