LINUX.ORG.RU

Micro Watchdog timer на микроконтроллере PIC16F630 для PC.


0

0

Многие, наверное, сталкивались с ситуацией, когда необходима надежная и бесперебойная работа сервера в режиме 24/7, даже покупая дорогое проверенное железо, нет ни какой гарантии, что оно не "повиснет" в неподходящий момент, причиной этого может стать сыроватость ядра ОС или драйвера какой-нибудь железки, а то и вовсе из-за его брака. Главная проблема в том, что в этот неприятный момент может ни кого не оказаться по близости с этим сервером, что бы нажать на кнопку "RESET", и с этого момента, оценивая важность этого сервера, у вас начинаются проблемы, если повисший сервер вовремя не начнет свою работу....
В статье рассказывается как собрать недорогой Watchdog на микроконтроллере
PIC16F630, что бы затем его можно было использовать на серверах под
управлением Linux/FreeBSD/Windows NT/2K/XP...

>>> Подробности

★★★

Проверено: ivlad ()

McMCC конечно респект, но:

>Использование параллельного порта, который практически нигде не используется на серверах.

поэтому на серверах нет вообще LPT

borisych ★★★★★
()
Ответ на: комментарий от borisych

>поэтому на серверах нет вообще LPT

Если есть COM, то LPT быть обязан, т.к. чип, обычно, который это содержит,
является еще контроллером FDD, PS/2 и прочей фигни, скорее всего на
самой плате есть разъем, если не вывели LPT наружу. Может я не правильные
сервера видел, но у наших серверов везде есть LPT...

McMCC ★★★
() автор топика
Ответ на: комментарий от anonymous

>Аналогичную фигню от Cronyx кто-нить проверял в работе?

Только на картинке видел:), а что там внутри - Х.З... За $50 вы можете его
купить у них...

McMCC ★★★
() автор топика

респект! налаживай производство.

anonymous
()

Интересно. Наверное для удаленного управления ничего. Впрочем ежели проверяющая машинка физически рядом то пожалуй и она излишне сложна. Демоны,таймеры...

anonymous
()
Ответ на: комментарий от anonymous

>Интересно. Наверное для удаленного управления ничего. Впрочем ежели
>проверяющая машинка физически рядом то пожалуй и она излишне сложна.
>Демоны,таймеры...

Если сервер повис, то о каком удаленном управлении может идти речь?
Ну если касательно темы, то можно послать принудительный "RESET"....

McMCC ★★★
() автор топика
Ответ на: комментарий от McMCC

>>Если сервер повис, то о каком удаленном управлении

Имеется ввиду когда проверяющая машинка оочень далеко. Ежели это все рядом (в одной стойке к примеру) нафига огород с таймером? Слева на схемке ключик, что кнопку замыкает, его на компорт управляющей машины. А то таймеры, демоны...

anonymous
()
Ответ на: комментарий от anonymous

>Ежели это все рядом (в одной стойке к примеру) нафига огород с таймером?
>Слева на схемке ключик, что кнопку замыкает, его на компорт управляющей
>машины. А то таймеры, демоны...

Ну и сколько такая управляющая машина сможет обслужить серверов в стойке?
2-е? А если она сама повиснет?

McMCC ★★★
() автор топика
Ответ на: комментарий от McMCC

>USB варианты даже не рассматривались из-за дороговизны их реализации.
http://www.obdev.at/products/avrusb/index.html

AVR-USB is a firmware-only implementation of a USB 1.1 compliant
low-speed device for Atmel's AVR microcontrollers. It runs on any AVR
microcontroller which has at least 2 kB of Flash memory, 128 bytes RAM
and can be clocked at 12 MHz. No UART, timer, input capture unit or
other special hardware is required (except one edge triggered
interrupt).


ATMega8 имеет 8Кб, может работать на 16MHz и стоит менее 3$

Это дорого?

а ЛПТ как-то совсем не интересно...

ЗЫ все равно респект %)

anonymous
()

Как ни странно, но это тоже программное решение, которое может сбоить. Уж лучше поставить обычный одновибратор на NE555 или подобной схеме аппаратного таймера и наслаждаться жизнью.

a1s2d3
()
Ответ на: комментарий от a1s2d3

>Как ни странно, но это тоже программное решение, которое может сбоить. Уж
>лучше поставить обычный одновибратор на NE555 или подобной схеме
>аппаратного таймера и наслаждаться жизнью.

Не лучше, нужно еще иметь возможность остановки таймера, а иначе
постоянный ребут обеспечен при проверке fs, плавали, знаем...
PIC довольно надежно работает, уже как месяц использую, пока притензий
небыло....

McMCC ★★★
() автор топика

Нафиг не надо - в любой совеременной матери есть встроенный watchdog, причем иногда не один, а 2 - 3 (!) сразу.

anonymous
()
Ответ на: комментарий от anonymous

>Нафиг не надо - в любой совеременной матери есть встроенный watchdog,
>причем иногда не один, а 2 - 3 (!) сразу.

А то я не знал..... Вот только не на всех и не везде распаян. На MSI матерях
для AMD64 ни один из нескольких не работает...


McMCC ★★★
() автор топика
Ответ на: комментарий от anonymous

>ATMega8 имеет 8Кб, может работать на 16MHz и стоит менее 3$ Схема будет уже не маленькая, хотя attiny2313 подошел бы, но вот флеш в ней на 1Кб, что может не хватить....

McMCC ★★★
() автор топика
Ответ на: комментарий от a1s2d3

>Как ни странно, но это тоже программное решение, которое может сбоить.

Нет, не может. Тем более, что почти у всех мелкоконтроллеров есть свой, аппаратный, WDT.

>Уж лучше поставить обычный одновибратор на NE555 или подобной схеме аппаратного таймера и наслаждаться жизнью.

Таки да.

smartly ★★★
()
Ответ на: комментарий от McMCC

>>Ну и сколько такая управляющая машина сможет обслужить серверов в стойке? 2-е? А если она сама повиснет?

Пинов на компорте поболе 2. Практически на каждую ногу в отдельности можно сигнал дать (гнд не всчет). Впрочем можно и на лпт. А насчет зависания... Что скажем будет если в предложенной схеме за отведенное время таймер не отключить ? Пралльна. Таймер грохнет возможно еще живой сервер. Ежели на прямую с порта и отключалка повисла - не отключит мертвый. Но схема безусловно интересная.

anonymous
()
Ответ на: комментарий от McMCC

> Схема будет уже не маленькая видимо по ссылке ты не ходил...

или ты про размер меги8? так она в соике на 8х8мм...

еще из мелких есть ATtiny45 (дип8)

anonymous
()
Ответ на: комментарий от anonymous

>или ты про размер меги8?

Про нее, 28 ног все же, ATMEGA8-16PI(16PU), 8K Flash,DIP28,16MHz,Ind, 5V,8-bit AVR MCU. (Atmel), хотя цена 70 руб интересная:)... Только всеравно,
дешевле моего варианта не будет, так как кварц за собой тащит, да и программатор надо собирать, когда как для PIC'ов давно уже был собран
и мне быстрее все было сделать именно на PIC'ах...

McMCC ★★★
() автор топика
Ответ на: комментарий от anonymous

>Что скажем будет если в предложенной схеме за отведенное время таймер не
>отключить ? Пралльна. Таймер грохнет возможно еще живой сервер.

Ну не надо обо мне так плохо думать:), уж эту ситуацию я учел,
killall -1 демон и все остановится...

McMCC ★★★
() автор топика
Ответ на: комментарий от McMCC

> так как кварц за собой тащит
не а... %)
есть встроенный тактовый генератор

>да и программатор надо собирать
у меня 4 проводка к ЛПТшнигу прицеплены... даже без буфера (ибо лениво)...

> и мне быстрее все было сделать именно на PIC'ах...
ну тады понятно...
просто я про usb говорил... и как пример авры привел.

anonymous
()
Ответ на: комментарий от anonymous

>> и мне быстрее все было сделать именно на PIC'ах...
>ну тады понятно...
>просто я про usb говорил... и как пример авры привел.

Над этим я еще подумаю:), за наводку спасибо, просто на PIC18 + USB,
гораздо дороже выйдет, а по вашей ссылке, есть куда думать...

McMCC ★★★
() автор топика
Ответ на: комментарий от anonymous

>> так как кварц за собой тащит
>не а... %)
>есть встроенный тактовый генератор

Т.е. 12 Мгц можно на внутреннем организовать? Тогда здорово, надо
будет даташит почитать...

McMCC ★★★
() автор топика
Ответ на: комментарий от McMCC

>Т.е. 12 Мгц можно на внутреннем организовать? Тогда здорово, надо
>будет даташит почитать...

Не, только на 8Мгц, так что кварц надо вешать, что бы с USB можно было работать...

McMCC ★★★
() автор топика
Ответ на: комментарий от McMCC

> Т.е. 12 Мгц можно на внутреннем организовать? упс... щаз залез в даташит на мегу16... написано что на внутреннем можно 1,2,4,8

нашел в апп ноутах от атмела как организовать усб на tiny2313 (называется avr309.pdf). Но кварц на 12Mhz нужен. итого стоимость в 70р (мега8, кстати в соике еще дешевле)+ 15р (кварц) + рублей 20 (кусок макетки и всякая мелочь), что то=же не так уш много...

anonymous
()
Ответ на: комментарий от McMCC

>Не, только на 8Мгц

И даже не на 8МГц, а на 1МГц. (Иди ты имеешь в виду внешний RC)

>будет даташит почитать...

А даташит лучше почитай на atmega48/88/168. Это типа багфикс на atmega8 ;)

И внутренний RC у него на 8МГц.

smartly ★★★
()
Ответ на: комментарий от Sun-ch

>Самоделкин, а на какую ножку в socket 940 припаивать ресет нужно? Я >чего-то никак не пойму.

Глупее вопроса не придумал? Ресет на материнской плате, есть такой
разъемчик...

McMCC ★★★
() автор топика
Ответ на: комментарий от Sun-ch

>Самоделкин, а на какую ножку в socket 940 припаивать ресет нужно? Я чего-то никак не пойму.

Специально для таких как ты я поискал в http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/31412... и нашёл, что это ножка G12

Но вопрос всё равно глупый.

smartly ★★★
()

Проще всего однокристалки подключать к USB через чипы USB-COM, например, FT232BL (фирмы FTDI): на PC не придется париться с драйверами - есть и под Винду, и под Линух, и на микропроцессоре вешается на встроенный COM-порт...

coleman
()
Ответ на: комментарий от coleman

>Проще всего однокристалки подключать к USB через чипы USB-COM

Проще не будет, будет дороже... Проще, это когда AVRки подключать напрямую
к USB, человек тут даже ссылки привел, за что ему большое спасибо, это гораздо дешевле будет...

McMCC ★★★
() автор топика
Ответ на: комментарий от McMCC

> Проще не будет, будет дороже... Проще, это когда AVRки подключать напрямую к USB

Дороже будет - баксов на 5, но зато сразу с этим девайсом можно будет работать и со стороны PC, как с обычным COM-портом, стороны микроконтроллера, а не трахаться с драйверами.

coleman
()
Ответ на: комментарий от coleman

>Дороже будет - баксов на 5, но зато сразу с этим девайсом можно будет
>работать и со стороны PC, как с обычным COM-портом, стороны
>микроконтроллера, а не трахаться с драйверами.

Вы бы по первой ссылке сходили, что давал выше человек, там на странице
есть пример, PowerSwitch кажись называется, так вот, там тоже не нужно
ничего писать, драйвер есть готовый, работает в userspace моде и использует
libusb библиотеку, причен на avr тоже уже все написано, просто надо взять
API USB от аврки и подсунуть в свой код для Watchdog'а, только проблема в
том, что аврка должна иметь память для прошивки не менее 2Кб....

McMCC ★★★
() автор топика

Guido Socher ещё когда тусил на LinuxFocus такими фигулинами на PIC'ах забавлялся. Чего он только сними вытворял :). От Watchdog timer'ов и контроллеров LCD дисплеев, до всяких роботов ищущих свет и других перделок. НИХРЕНА НЕ НОВО!

banifatich
()
Ответ на: комментарий от banifatich

>Guido Socher ещё когда тусил на LinuxFocus такими фигулинами на PIC'ах забавлялся

вранье... он как раз на AVRках и баловался... как раз из-за этого я и начал с ними заморачиваться...

>От Watchdog timer'ов и контроллеров LCD дисплеев, а ты почитай что в статье написано: простой и дешевый, а к изделиям Guido Socher это не относится (его ватчдог с ЛЦД на борту был, к тому-же общался по rs232)

http://www.linuxfocus.org/Russian/May2002/article236.shtml

>НИХРЕНА НЕ НОВО!

че там про газификацию лужи говорят? %)

anonymous
()
Ответ на: комментарий от anonymous

>вранье... он как раз на AVRках и баловался... как раз из-за этого я и начал с
>ними заморачиваться...

Ну если так дальше говорить:), то Watchdog он делал не на PIC'ах, а на NE555,
от которого я сразу отказался....

McMCC ★★★
() автор топика
Ответ на: комментарий от smartly

> И даже не на 8МГц, а на 1МГц. (Иди ты имеешь в виду внешний RC)

и как он у меня на 4Mhz работает?

> А даташит лучше почитай на atmega48/88/168

интересно... а то что на них оперативы в два раза меньше это фигня?

anonymous
()
Ответ на: комментарий от McMCC

> просто надо взять API USB от аврки и подсунуть в свой код для > Watchdog'а, только проблема в том, что аврка должна иметь > память для прошивки не менее 2Кб....

Оно конечно, только 2Кб чужого кода - это не так уж мало, если после сборки вдруг окажется, что оно почему-то не пашет :)

coleman
()
Ответ на: комментарий от coleman

>Оно конечно, только 2Кб чужого кода - это не так уж мало, если после сборки вдруг окажется, что оно почему-то не пашет :)

оно конечно тяжело 1000 строк просмотреть... причем из этой тыщи ~60-70 комментарии...

>2Кб чужого кода - это не так уж мало

а ты linux'ом пользуешся? скока там кода?

anonymous
()
Ответ на: комментарий от anonymous

А исходники сервиса под Windows NT/2K/XP можно посмотреть?

anonymous
()
Ответ на: комментарий от anonymous

>и как он у меня на 4Mhz работает?

Да, я ошибся. Разница в том, что atmega8 частота выбирается фузами, а atmega48/88/168 - программно.

>интересно... а то что на них оперативы в два раза меньше это фигня?

Да. Это фигня.

atmega8 8K Code, 1K Data
atmega48 4K Code, 0.5K Data
atmega88 8K Code, 1K Data
atmega168 16K Code, 1K Data

Так что тебе тоже надо внимательней читать.

smartly ★★★
()
Ответ на: комментарий от smartly

сразу надо было сказать, что я с 48/88/168 не работал...

atmega48 4K Code, 0.5K Data вот это бросилось в глаза

на меге 8 8кб флэш... так что 48 и 168 немного не корректно считать багфиксами...

В то же время 16 многовато.

Хотя для этого 48 вполне должно хватить...

>а atmega48/88/168 - программно. пасибо за инфу... почитаю

anonymous
()

В диодном мостике два диода, которые на землю смотрят, лишние. Они никогда не используются, так как всегда в запертом состоянии. И диоды лучше бы германиевые (типа ГД5** или даже Д9*), на них падение напряжения ниже. Хотя в принципе и так падение напряжения небольшое, меньше 1В, вполне нормально.

ansky ★★★★★
()
Ответ на: комментарий от ansky

>В диодном мостике два диода, которые на землю смотрят, лишние.

Нет не лишние...Проиграй ситуацию с разной полярностью, тогда увидишь.

>И диоды лучше бы германиевые (типа ГД5** или даже Д9*), на них падение
>напряжения ниже. Хотя в принципе и так падение напряжения небольшое,
>меньше 1В, вполне нормально.

Ну может у кого-то такой раритет остался, у меня их точно не завалялось:).
А вообще, надо ставить не диоды, а мостик, который есть размером в
транзистор, типа в корпусе TO92...

P.S. В схеме есть одна неточность, светодиоды, я их не смог в Dia повернуть
на 180, так что учтите это, если у кого то еще возникнут притензии:)...

McMCC ★★★
() автор топика

> USB варианты даже не рассматривались из-за дороговизны их реализации.

Сейчас уже много дешевых PIC'ов с поддержкой USB же есть.

init ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.