Страница 1 из 2
WatchDog AVR
Добавлено: Пт апр 19, 2013 14:29:32
vek
Здравствуйте.Вопрос глупый,но спросить не у кого,а у самого опыта мало.
Посодействуйте пожалуйста в решении непринципиального вопроса (так,просто интересно мне).
Сброс по сторожу - шибко невредный прибамбас? Ну.... насколько он нужен? Всмысле э-э-э-э....Чисто теоретически его лучше предусмотреть(Типа: признак хорошего тона)? Или это лишнее.и нужно только в жестоких условиях?
Re: WatchDog AVR
Добавлено: Пт апр 19, 2013 14:58:56
ibiza11
Спойлер
Послушайте!
Ведь, если звезды зажигают -
значит - это кому-нибудь нужно?
Значит - кто-то хочет, чтобы они были?
Значит - кто-то называет эти плевочки жемчужиной?
И надрываясь
в метелях полуденной пыли
врывается к Богу,
боится, что опоздал,
плачет,
целует ему жилистую руку,
просит -
чтоб обязательно была звезда! -
клянется -
не перенесет эту беззвездную муку!
А после
ходит тревожный,
но спокойный наружно,
говорит кому-то:
"Ведь теперь тебе ничего?
Не страшно?
Да?"
Послушайте!
Ведь, если звезды
зажигают -
значит - это кому-нибудь нужно?
Значит - это необходимо,
чтобы каждый вечер
над крышами
загоралась хоть одна звезда?!
Re: WatchDog AVR
Добавлено: Пт апр 19, 2013 15:22:10
vek
Работает логика:
Я люблю Маяковского,это мой любимый поэт. Думаю это меня отличает от ПТУ-шника . Следовательно вы имели ввиду ПОДЧЕРКНУТЬ мою неопытность + дали дельный совет "Желательно втыкать такую фифу,если нет ограничений"
Я правильно понял?
И если я правильно понял,то подскажите пожалуйста (терпеть не могу английский:) особенно профессиональный(особденно геодезический

и землеустроительный:),но теи-не менее инжинерный:),а электронный - ваашпе нИнавИжу И нИзнаю,причем из вредности

:)) :Какие "ограничения" есть?
В самом деле понимаю - вопрос глупый,но спросить не у кого больше. Если ВАМ несложно,то немогли-бы ВЫ разжевать немного поподробнее про сторожевик?
Заранее благодарен.
Re: WatchDog AVR
Добавлено: Пт апр 19, 2013 15:50:49
ibiza11
Хорошо, что с юмором проблем нет)

но это не по теме
а по теме вот что могу сказать:
Сторожевой таймер (контрольный таймер, англ. Watchdog timer) — аппаратно реализованная схема контроля за зависанием системы. Представляет собой таймер, который периодически сбрасывается контролируемой системой. Если сброса не произошло в течение некоторого интервала времени, происходит принудительная перезагрузка системы. В некоторых случаях сторожевой таймер может посылать системе сигнал на перезагрузку («мягкая» перезагрузка), в других же — перезагрузка происходит аппаратно (замыканием сигнального провода RST или подобного ему).
vek писал(а):ПОДЧЕРКНУТЬ
ни в коме случае. Я не такой

Просто очевидно, что раз придумали этот таймер, то он кому-то нужен.
Вопрос "кому?"
тому, кто постоянно встречается с зависанием системы (следует из определения Watchdog'a). Соответственно, если в системе, которую Вы проектируете не принципиально, зависнет она или нет, то ставить не обязательно. Аналогично можно построить обратное утверждение. Так что все зависит от конкретного случая. Если лень, то можно и не включать его.

Re: WatchDog AVR
Добавлено: Пт апр 19, 2013 16:02:12
vek
Извините,ваше сообщение не читал,а свое откорректировал:(,нехорошо получилось:( Виноват.
Re: WatchDog AVR
Добавлено: Пт апр 19, 2013 16:20:50
vek
ibiza11 писал(а):
Вопрос "кому?"
тому, кто постоянно встречается с зависанием системы
- Я ПОКА не сталкивался с таким,Но ни кто не застрахован?
ibiza11 писал(а):Соответственно, если в системе, которую Вы проектируете не принципиально, зависнет она или нет, то ставить не обязательно. Так что все зависит от конкретного случая. Если лень, то можно и не включать его.

Конечно не операционную систему разробатываю ,
Но есть общий вопрос(ну сам понимаю что глпый и из опыта берется,но тем не менее мне не понятно): является-ли применение ВачДога "признаком хорошего тона"-желательно везде применять? или его предусматривают только в "жестких условиях" Т.е. около моторов и электросварки устройство работает ?
Имеем АТтини2313 - "горячяя" перезагрузка от ВачДога,На работоспособности проги вроде не должна влиять.
А не батарейку(потребление) сильно влияет? По сравнению со встроеным компаратором (всегда работает+прерывания от компаратора)?
Re: WatchDog AVR
Добавлено: Сб апр 20, 2013 21:14:44
ibiza11
vek писал(а):Но ни кто не застрахован?
Да.
vek писал(а): является-ли применение ВачДога "признаком хорошего тона"-желательно везде применять?
Да.
vek писал(а):А не батарейку(потребление) сильно влияет?
В даташите смотрите. Я за Вас не буду смотреть.
vek писал(а):По сравнению со встроеным компаратором (всегда работает+прерывания от компаратора)?
В даташите смотрите. Я не буду за Вас сравнивать.
vek писал(а):(терпеть не могу английский:)
Если хотите работать с иностранной элементной базой, придется терпеть.
Re: WatchDog AVR
Добавлено: Сб апр 20, 2013 22:43:36
testerplus
Про WDT для начинающих можно почитать тут:
http://www.pic24.ru/doku.php/osa/articles/wdt
Немного статью не дописал, но уже, похоже, и не буду, так что извиняйте за полуфабрикат.
Re: WatchDog AVR
Добавлено: Вс апр 21, 2013 03:43:18
ibiza11
testerplus, спасибо за статью! мне понравилась Ваша статья "Как писать программы без ошибок"! Действительно хорошая статья, имеющая огромную практическую пользу! плюсанул в карму и в рейтинг!
Re: WatchDog AVR
Добавлено: Пн апр 22, 2013 16:27:12
vek
Понял то что мне это пока ненужно,но раз-уж коснулся ,то почему-бы не применять хотя-бы как единственный барьер. Спасибо,Дали начальное направление-а это важно.Спасибо
Re: WatchDog AVR
Добавлено: Чт июн 13, 2013 09:10:59
FreshMan
можно ли при инициализации настраивать таймер ?
Код: Выделить всё
// 2 Wire Bus initialization
// Generate Acknowledge Pulse: Off
// 2 Wire Bus Slave Address: 0h
// General Call Recognition: Off
// Bit Rate: 100,000 kHz
TWBR=0x20;
TWCR=0x05;
if (((rtc_read(0x00)) & (1 << 7)) != 0) rtc_write(0x00, 0x00); //
rtc_write(0x07, 0x90); // DS1307
WDTCR=(1<<WDP2);// задаем период срабатывания WDT
// Global enable interrupts
sei ();
Re: WatchDog AVR
Добавлено: Вс июн 16, 2013 02:10:42
YS
мне понравилась Ваша статья "Как писать программы без ошибок"!
Мне тоже. Прочесть бы мне ее года четыре назад...

И хотя сейчас я уже до 90% описанного дошел на собственном опыте, все равно почитать было очень интересно, там для меня все еще есть много информации "на вырост".
Кстати, похоже на требования MISRA C.
Re: WatchDog AVR
Добавлено: Вс июн 16, 2013 19:55:38
alex1126
вачдог незаменим, если хочешь рубетнуть мк.

Re: WatchDog AVR
Добавлено: Пн июн 17, 2013 21:50:39
alex1126
Кстати, а правильно ли я понимаю, что при сбросе по вачдогу ноги мк тоже сбрасываются и переходят в третье состояние.....
т.е. есть у меня схемка. Там мк включается нажатием на кнопку, поднимает ногу в 1 и держит транзистор, который его питает. И если он эту ногу опустит в ноль, то он сам себя выключит (обесточит). И если попытаться его сбросить (по вачдогу тому же), он транзистор закроется и питание пропадет?
Re: WatchDog AVR
Добавлено: Пн июн 17, 2013 22:31:20
YS
правильно ли я понимаю, что при сбросе по вачдогу ноги мк тоже сбрасываются и переходят в третье состояние
Надо уточнять в документации на конкретный МК. В AVR ЕМНИП да. Там сброс по watchdog'у - натуральный аппаратный сброс.
Re: WatchDog AVR
Добавлено: Чт июн 20, 2013 12:22:31
Fallk
vek писал(а): Сброс по сторожу - шибко невредный прибамбас? Ну.... насколько он нужен?
Байка.
Один товарищ будучи студентов получил заказ на разработку некого устройства для нефтянников. В итоге он его сделал и хорошо получил за работу. Однако через некоторое время заказчик стал звонить и жаловаться на проблемы - устройство периодически зависало. Этот товарищ, будучи студентом, толи поленился, толи просто не знал - но в программе не было сторожевых таймеров, и при зависании устройство вернуть к работе можно было только перезагрузкой.
В ответ на претензию заказчика он отвечал, что ты мол перегрузи его и все будет нормально. Заказчик пытался ему объяснить что приборы стоят на трубе, в тайге и ближайший человек находится в тысячах километров. После чего студент решил не брать телефон и всячески игнорировать претензии.
В результате чего, после безуспешных попыток дозвонится, к товарищу домой приехали суровые молчаливые сибирские мужики, молча взяли его под руки и потащили в самолет. На севере пересели в вертолет, дали теплой одежды и высадили посреди тайги возле трубы со словами - вот сиди и сам перезагружай свой контроллер.
Конца сей истории не знаю, но надеюсь на счастливый конец, в результате чего появилась просто новая версия программы с WatchDog таймером.
Так что сторожевой таймер не просто повышает надежность устройства но и является гарантией спокойной жизни программиста

Re: WatchDog AVR
Добавлено: Чт июн 20, 2013 15:10:35
YS
Лол.
Ага,
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
—
Martin Golding
Re: WatchDog AVR
Добавлено: Вс июн 23, 2013 11:39:24
Jack_A
Я, наверно, ретроград, потому прошу мое мнение игнорировать

Как-то делал одну вещь, и она периодически зависала. По-быстрому прилепил "собачку" и занялся другими делами. Зависать перестало, но иногда такое выдавало, что пришел ко мне шеф и сказал слова, от которых я забросил все дела и засел за симулятор. И нашел ошибку в подпрограмме преобразования: при некотором сочетании параметров оно впадало в бесконечный цикл. Исправил, протестировал чрезвычайно скрупулезно и с вырубленной "собакой" поставил на наработку. Зависаний не было. Пошл`о в серию.
Потому мое мнение -- "собака" как средство маскировки программистских ( и не только ) ошибок есть зло. Нормально сделанное питание, аппаратный супервайзер сброса -- и все будет ОК.
Но -- см. вначале...
"Больной спит под наркозом, ни на что не жалуется. А точный диагноз вскрытие покажет".
Re: WatchDog AVR
Добавлено: Пн июн 24, 2013 21:10:13
alex1126
А вот еще такая мысля.... сначала покажется что к вачдогу не имеющая отношения никакого, но дочитайте до конца....
Нужно что бы мк, запитанный от батарейки, как можно крепче спал иногда просыпаясь, и, сделав свое черное дело, заснул опять крепким сном. По даташиту (возьмем 88 атмегу -
http://www.rlocman.ru/i/File/dat/Atmel/ ... 28P_AU.pdf 39 страница), есть шесть режимов энергосбережения. Самый экономный Power-down, следующий по экономности Power-save. В приведенном даташите сказано что Timer2 тикает. Причем я так понял что тикать он будет не только в ассинхронном режиме. Но вернемся к Power-down. Единственное что там тикает, так это вачдог. Можно ли запретить вачдогу сброс, и банально заюзать его в качестве таймера? По прерыванию проснулись, огляделись и дальше заснули мертвым сном?
Re: WatchDog AVR
Добавлено: Пн июн 24, 2013 22:47:50
YS
Можно ли запретить вачдогу сброс, и банально заюзать его в качестве таймера? По прерыванию проснулись, огляделись и дальше заснули мертвым сном?
По сбросу МК тоже проснется.
Проснулись -> проверили отчего сброс - если от питания, настраиваем периферию и в сон. Если от watchdog'а - периферию не настраиваем, просто выполняем что-то и в сон.