WatchDog AVR

Обсуждаем контроллеры компании Atmel.
Ответить
vek
Вымогатель припоя
Аватара пользователя
Сообщения: 563
Зарегистрирован: Чт апр 16, 2009 04:53:41

Сообщение vek »

Здравствуйте.Вопрос глупый,но спросить не у кого,а у самого опыта мало.
Посодействуйте пожалуйста в решении непринципиального вопроса (так,просто интересно мне).
Сброс по сторожу - шибко невредный прибамбас? Ну.... насколько он нужен? Всмысле э-э-э-э....Чисто теоретически его лучше предусмотреть(Типа: признак хорошего тона)? Или это лишнее.и нужно только в жестоких условиях?
В первый раз меня ударило током - и я подумал что ни черта не соображаю в электричестве. Во второй раз был аккуратнее и меня не ударило - теперь я возомнил из себя крутого микроэлектронщика.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

Спойлер:)))
Послушайте!
Ведь, если звезды зажигают -
значит - это кому-нибудь нужно?
Значит - кто-то хочет, чтобы они были?
Значит - кто-то называет эти плевочки жемчужиной?
И надрываясь
в метелях полуденной пыли
врывается к Богу,
боится, что опоздал,
плачет,
целует ему жилистую руку,
просит -
чтоб обязательно была звезда! -
клянется -
не перенесет эту беззвездную муку!
А после
ходит тревожный,
но спокойный наружно,
говорит кому-то:
"Ведь теперь тебе ничего?
Не страшно?
Да?"
Послушайте!
Ведь, если звезды
зажигают -
значит - это кому-нибудь нужно?
Значит - это необходимо,
чтобы каждый вечер
над крышами
загоралась хоть одна звезда?!
Ставим плюсы: )
Реклама
vek
Вымогатель припоя
Аватара пользователя
Сообщения: 563
Зарегистрирован: Чт апр 16, 2009 04:53:41

Сообщение vek »

Работает логика:
Я люблю Маяковского,это мой любимый поэт. Думаю это меня отличает от ПТУ-шника . Следовательно вы имели ввиду ПОДЧЕРКНУТЬ мою неопытность + дали дельный совет "Желательно втыкать такую фифу,если нет ограничений"
Я правильно понял?
И если я правильно понял,то подскажите пожалуйста (терпеть не могу английский:) особенно профессиональный(особденно геодезический :)и землеустроительный:),но теи-не менее инжинерный:),а электронный - ваашпе нИнавИжу И нИзнаю,причем из вредности :):)) :Какие "ограничения" есть?
В самом деле понимаю - вопрос глупый,но спросить не у кого больше. Если ВАМ несложно,то немогли-бы ВЫ разжевать немного поподробнее про сторожевик?
Заранее благодарен.
Последний раз редактировалось vek Пт апр 19, 2013 16:00:10, всего редактировалось 1 раз.
В первый раз меня ударило током - и я подумал что ни черта не соображаю в электричестве. Во второй раз был аккуратнее и меня не ударило - теперь я возомнил из себя крутого микроэлектронщика.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

Хорошо, что с юмором проблем нет) :beer: но это не по теме
а по теме вот что могу сказать:
Сторожевой таймер (контрольный таймер, англ. Watchdog timer) — аппаратно реализованная схема контроля за зависанием системы. Представляет собой таймер, который периодически сбрасывается контролируемой системой. Если сброса не произошло в течение некоторого интервала времени, происходит принудительная перезагрузка системы. В некоторых случаях сторожевой таймер может посылать системе сигнал на перезагрузку («мягкая» перезагрузка), в других же — перезагрузка происходит аппаратно (замыканием сигнального провода RST или подобного ему).
vek писал(а):ПОДЧЕРКНУТЬ
ни в коме случае. Я не такой :)
Просто очевидно, что раз придумали этот таймер, то он кому-то нужен.
Вопрос "кому?"
тому, кто постоянно встречается с зависанием системы (следует из определения Watchdog'a). Соответственно, если в системе, которую Вы проектируете не принципиально, зависнет она или нет, то ставить не обязательно. Аналогично можно построить обратное утверждение. Так что все зависит от конкретного случая. Если лень, то можно и не включать его. :)
Ставим плюсы: )
Реклама
Эиком - электронные компоненты и радиодетали
vek
Вымогатель припоя
Аватара пользователя
Сообщения: 563
Зарегистрирован: Чт апр 16, 2009 04:53:41

Сообщение vek »

Извините,ваше сообщение не читал,а свое откорректировал:(,нехорошо получилось:( Виноват.
В первый раз меня ударило током - и я подумал что ни черта не соображаю в электричестве. Во второй раз был аккуратнее и меня не ударило - теперь я возомнил из себя крутого микроэлектронщика.
Реклама
vek
Вымогатель припоя
Аватара пользователя
Сообщения: 563
Зарегистрирован: Чт апр 16, 2009 04:53:41

Сообщение vek »

ibiza11 писал(а): Вопрос "кому?"
тому, кто постоянно встречается с зависанием системы
- Я ПОКА не сталкивался с таким,Но ни кто не застрахован?
ibiza11 писал(а):Соответственно, если в системе, которую Вы проектируете не принципиально, зависнет она или нет, то ставить не обязательно. Так что все зависит от конкретного случая. Если лень, то можно и не включать его. :)
Конечно не операционную систему разробатываю ,
Но есть общий вопрос(ну сам понимаю что глпый и из опыта берется,но тем не менее мне не понятно): является-ли применение ВачДога "признаком хорошего тона"-желательно везде применять? или его предусматривают только в "жестких условиях" Т.е. около моторов и электросварки устройство работает ?
Имеем АТтини2313 - "горячяя" перезагрузка от ВачДога,На работоспособности проги вроде не должна влиять.
А не батарейку(потребление) сильно влияет? По сравнению со встроеным компаратором (всегда работает+прерывания от компаратора)?
В первый раз меня ударило током - и я подумал что ни черта не соображаю в электричестве. Во второй раз был аккуратнее и меня не ударило - теперь я возомнил из себя крутого микроэлектронщика.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

vek писал(а):Но ни кто не застрахован?
Да.
vek писал(а): является-ли применение ВачДога "признаком хорошего тона"-желательно везде применять?
Да.
vek писал(а):А не батарейку(потребление) сильно влияет?
В даташите смотрите. Я за Вас не буду смотреть.
vek писал(а):По сравнению со встроеным компаратором (всегда работает+прерывания от компаратора)?
В даташите смотрите. Я не буду за Вас сравнивать.
vek писал(а):(терпеть не могу английский:)
Если хотите работать с иностранной элементной базой, придется терпеть.
Ставим плюсы: )
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Пн авг 24, 2009 10:41:16
Откуда: SPb

Сообщение testerplus »

Про WDT для начинающих можно почитать тут:
http://www.pic24.ru/doku.php/osa/articles/wdt
Немного статью не дописал, но уже, похоже, и не буду, так что извиняйте за полуфабрикат.
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

testerplus, спасибо за статью! мне понравилась Ваша статья "Как писать программы без ошибок"! Действительно хорошая статья, имеющая огромную практическую пользу! плюсанул в карму и в рейтинг!
Ставим плюсы: )
vek
Вымогатель припоя
Аватара пользователя
Сообщения: 563
Зарегистрирован: Чт апр 16, 2009 04:53:41

Сообщение vek »

Понял то что мне это пока ненужно,но раз-уж коснулся ,то почему-бы не применять хотя-бы как единственный барьер. Спасибо,Дали начальное направление-а это важно.Спасибо
В первый раз меня ударило током - и я подумал что ни черта не соображаю в электричестве. Во второй раз был аккуратнее и меня не ударило - теперь я возомнил из себя крутого микроэлектронщика.
Друг Кота
Аватара пользователя
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Сообщение 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 ();
Tell Me The Truth
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

мне понравилась Ваша статья "Как писать программы без ошибок"!
Мне тоже. Прочесть бы мне ее года четыре назад... :) И хотя сейчас я уже до 90% описанного дошел на собственном опыте, все равно почитать было очень интересно, там для меня все еще есть много информации "на вырост".

Кстати, похоже на требования MISRA C.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Вымогатель припоя
Сообщения: 567
Зарегистрирован: Ср дек 19, 2012 12:16:22

Сообщение alex1126 »

вачдог незаменим, если хочешь рубетнуть мк. :)
Вымогатель припоя
Сообщения: 567
Зарегистрирован: Ср дек 19, 2012 12:16:22

Сообщение alex1126 »

Кстати, а правильно ли я понимаю, что при сбросе по вачдогу ноги мк тоже сбрасываются и переходят в третье состояние.....
т.е. есть у меня схемка. Там мк включается нажатием на кнопку, поднимает ногу в 1 и держит транзистор, который его питает. И если он эту ногу опустит в ноль, то он сам себя выключит (обесточит). И если попытаться его сбросить (по вачдогу тому же), он транзистор закроется и питание пропадет?
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

правильно ли я понимаю, что при сбросе по вачдогу ноги мк тоже сбрасываются и переходят в третье состояние
Надо уточнять в документации на конкретный МК. В AVR ЕМНИП да. Там сброс по watchdog'у - натуральный аппаратный сброс.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Мудрый кот
Сообщения: 1842
Зарегистрирован: Пт май 29, 2009 10:58:47
Откуда: Саратов

Сообщение Fallk »

vek писал(а): Сброс по сторожу - шибко невредный прибамбас? Ну.... насколько он нужен?
Байка.
Один товарищ будучи студентов получил заказ на разработку некого устройства для нефтянников. В итоге он его сделал и хорошо получил за работу. Однако через некоторое время заказчик стал звонить и жаловаться на проблемы - устройство периодически зависало. Этот товарищ, будучи студентом, толи поленился, толи просто не знал - но в программе не было сторожевых таймеров, и при зависании устройство вернуть к работе можно было только перезагрузкой.
В ответ на претензию заказчика он отвечал, что ты мол перегрузи его и все будет нормально. Заказчик пытался ему объяснить что приборы стоят на трубе, в тайге и ближайший человек находится в тысячах километров. После чего студент решил не брать телефон и всячески игнорировать претензии.
В результате чего, после безуспешных попыток дозвонится, к товарищу домой приехали суровые молчаливые сибирские мужики, молча взяли его под руки и потащили в самолет. На севере пересели в вертолет, дали теплой одежды и высадили посреди тайги возле трубы со словами - вот сиди и сам перезагружай свой контроллер.
Конца сей истории не знаю, но надеюсь на счастливый конец, в результате чего появилась просто новая версия программы с WatchDog таймером.

Так что сторожевой таймер не просто повышает надежность устройства но и является гарантией спокойной жизни программиста :)))
Последний раз редактировалось Fallk Чт июн 20, 2013 15:53:52, всего редактировалось 3 раза.
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

Лол. :)))

Ага,

Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Martin Golding
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 6322
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Я, наверно, ретроград, потому прошу мое мнение игнорировать :( Как-то делал одну вещь, и она периодически зависала. По-быстрому прилепил "собачку" и занялся другими делами. Зависать перестало, но иногда такое выдавало, что пришел ко мне шеф и сказал слова, от которых я забросил все дела и засел за симулятор. И нашел ошибку в подпрограмме преобразования: при некотором сочетании параметров оно впадало в бесконечный цикл. Исправил, протестировал чрезвычайно скрупулезно и с вырубленной "собакой" поставил на наработку. Зависаний не было. Пошл`о в серию.
Потому мое мнение -- "собака" как средство маскировки программистских ( и не только ) ошибок есть зло. Нормально сделанное питание, аппаратный супервайзер сброса -- и все будет ОК.
Но -- см. вначале... :)
"Больной спит под наркозом, ни на что не жалуется. А точный диагноз вскрытие покажет".
Вымогатель припоя
Сообщения: 567
Зарегистрирован: Ср дек 19, 2012 12:16:22

Сообщение alex1126 »

А вот еще такая мысля.... сначала покажется что к вачдогу не имеющая отношения никакого, но дочитайте до конца....

Нужно что бы мк, запитанный от батарейки, как можно крепче спал иногда просыпаясь, и, сделав свое черное дело, заснул опять крепким сном. По даташиту (возьмем 88 атмегу - http://www.rlocman.ru/i/File/dat/Atmel/ ... 28P_AU.pdf 39 страница), есть шесть режимов энергосбережения. Самый экономный Power-down, следующий по экономности Power-save. В приведенном даташите сказано что Timer2 тикает. Причем я так понял что тикать он будет не только в ассинхронном режиме. Но вернемся к Power-down. Единственное что там тикает, так это вачдог. Можно ли запретить вачдогу сброс, и банально заюзать его в качестве таймера? По прерыванию проснулись, огляделись и дальше заснули мертвым сном?
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

Можно ли запретить вачдогу сброс, и банально заюзать его в качестве таймера? По прерыванию проснулись, огляделись и дальше заснули мертвым сном?
По сбросу МК тоже проснется. :wink:

Проснулись -> проверили отчего сброс - если от питания, настраиваем периферию и в сон. Если от watchdog'а - периферию не настраиваем, просто выполняем что-то и в сон.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Ответить

Вернуться в «AVR»