• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!
bvitaly

Watchdog: Автоматический Reset При Зависании Наглухо

30 сообщений в этой теме

bvitaly    2

Добрый вечер.

Машина работает удаленно как сервер системы видеонаблюдения, в последнее время начала дурить - резко виснет наглухо, на экране в этот момент замерзает последняя картинка, мышь не движется, клава не реагирует. Зависанию предшествует 100% загрузка CPU в течение 5-30 секунд. Фиксировалось при экспорте видеоданных из внутреннего формата ПО видеозахвата в AVI; неоднократно при завершении работы / перезагрузке на "сохранение параметров". Минимум сутки от последней перезагрузки, максимум неделя. Пытался найти причину - безуспешно. Гонял Everest'ом стресс тесты CPU, FPU, памяти и диска - ни разу не повис ни на LiveCD, ни при работе в установленой ОС. Проц не разогнан. Вообщем, надоело, надо тестировать каждый компонент по отдельности, но для этого сейчас нет замены, видео должно работать. Видел в продаже по сети платы Watchdog на USB, которые позволяют сделать Reset в случае отсутствия отклика в течение определенного времени, но цена аж до 70 баксов пугает.

Вариант со 2 машиной и CD напротив кнопки Reset не предлагать. Варианты с прямып подключением Ethernet / GSM не нужны, сильно у сложно.

Готовых схем не нашел, может искал не по тем запросам.

Насколько сложно собрать схему, которая будет слушать COM или LPT порт и замыкать Reset по таймеру? С точки зрения софта работал и с тем и с другим, не проблема.

Я правильно понимаю что с LPT проще? Что можно использовать в качестве таймера - посоветуйте конкретную микросхему. Видимо, нужно чтобы софт периодически подавал сигнал на LPT, тем самым сбрасывая таймер, а если таймер не сбрасывается - через некоторое время (скажем, пару минут) таймер замыкает и отпускает контакты Reset. Нужно ли сброс и замыкание делать через транзистор, или можно напрямую?

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

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
КЭС    975

В журнале Радио была статейка на вашу тему, год и номер не вспомню :(

Сложного ничего нет: если с программированием дружите, пишите программку, периодически "дергающую" какой-нибудь пин LPT или СОМ порта. Аппаратная часть... смотрите схемы автостопа магнитофонов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Сёха    34

...платы Watchdog на USB... ...но цена аж до 70 баксов пугает.

Что у Вас там за контора такая, которую цена в 2800 рублей пугает??? З/п до сих пор хлебом выдают что ли???

Если уж прям край, то я бы использовал программу Terminal...

post-4653-0-94961400-1412402355.jpg

...заставил бы её допустим каждую минуту передавать в COM какой-нибудь байт.

Остаётся слушать порт и при таймауте в N сек замыкать ресет, дать таймаут на загрузку и слушать дальше.

Если после сброса порт молчит, то контроллер звонит Вам со старого телефончика. Я бы так сделал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
marinovsoft    1 357

Пинговалку сделать, при непроходе пинга - ресет. Недавно на форуме проскальзывала ссылка на использование attiny2313 в этом качестве.

Еще идея - индикация доступа к HDD есть? Что происходит при "глухом зависании"? Можно ли по отсутствию "мигания" в течении определенного времени определить завис ли комп?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
tcoder    276

Делал такое... но мне не сказали, помогло или нет. Потому что действительно не исключена ситуация, что программа-пинговалка будет работать, когда всё остальное зависло....

Программу, которая LPT дёргает могу подкинуть. А вот ответную часть можно наверно и на микроконтроллере сделать и из обычных деталей наверно тоже. Мне конечно интересно было бы глянуть на аналоговое решение :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Maykill    164

гдето была схемка...реагировала на пропадание мерцания светодиода сетевой карты....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
bvitaly    2

krot73, мне кажется дело не в винде, зависания спонтанные при пересечении нескольких факторов.

Время работы непричем, я думал сначала что за сутки что-то происходит, но потом видел несколько раз как сразу после загрузки запуском софта проц нагружался и система висла. Нагрузка на проц является основным фактором, но стресс-тесты не привели к зависанию ни разу.

Сёха, не контора, к тому же временный костыль, который пригодится на будущее.

КЭС, как раз это я понимаю, вот бы еще кто сказал в каком номере. Если что буду подшивку за искать смотреть.

Остаётся слушать порт и при таймауте в N сек замыкать ресет, дать таймаут на загрузку и слушать дальше.

Вот, уже 2 таймера нужно. Хотя, для упрощения схемы, я бы поставил таймаут проверки 5 минут, не очень критично и за это время система точно загрузится и даже диск проверится после некорректного завершения работы, можно обойтись одним таймером.

marinovsoft, я не против начать изучать программирование микроконтроллеров, но хотелось бы что-то попроще.

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

Раз делал, можно схемку?

не исключена ситуация, что программа-пинговалка будет работать, когда всё остальное зависло

у меня исключена, либо все работает, либо наглухо висит. Раз имел подобную ситуацию с платой под Pentium-3, после остановки кулера полетел процессор Celeron 600 Мгц, при загрузке на 100% вис точно так же, но всегда и в течение пары секунд, а если не грузить работал долго и стабильно - но тут с охлаждением проблем нииконда не было и температура адекватная

на пропадание мерцания светодиода сетевой карты

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

Вот нашел 2 схемы, но с PCI сильно сложно, отпадает, а вариант 1 мне нравится по простоте, принцип понял, буду проверять если к тому времени не увижу другие схемы :)

Изменено пользователем bvitaly

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Сёха    34

КЭС, как раз это я понимаю, вот бы еще кто сказал в каком номере. Если что буду подшивку за искать смотреть.

Остаётся слушать порт и при таймауте в N сек замыкать ресет, дать таймаут на загрузку и слушать дальше.

Вот, уже 2 таймера нужно. Хотя, для упрощения схемы...

...я не против начать изучать программирование микроконтроллеров, но хотелось бы что-то попроще.

tcoder, как раз программу мне минутное дело написать, под дос точно работал с обоими портами, под винду вроде дела хуже... :)

Ламерский подход!!! Никогда ты не напишешь программы под WINAPI!!!! Пупок рязвяжется!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
КЭС    975

, вот бы еще кто сказал в каком номере.

Нашел: Радио №12 2011г, стр.31 А. Бутов. Сигнализатор «зависания» компьютера.

Хотя это не совсем то, что вам нужно - нужна "доработка напильником".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
tcoder    276

Ламерский подход!!! Никогда ты не напишешь программы под WINAPI!!!! Пупок рязвяжется!

Ну как у автора, не знаю. Но я вообще без WINAPI обошёлся, когда эту пинговалку делал.

Раз делал, можно схемку?

Я только микроконтроллерную часть делал. Там только МК, а проводок люди сами цепляли, особо ничего не увидите.

post-159698-0-25251000-1412446509_thumb.jpg

post-159698-0-33409800-1412446527_thumb.jpg

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
bvitaly    2
Сёха[/b]]Ламерский подход!!! Никогда ты не напишешь программы под WINAPI!!!! Пупок рязвяжется!

Сёха' date=' я все что нужно пишу на голом winapi + winsock, с учетом корректной многопоточной работы, т.к. это единственный способ запилить какой-нибудь софт для серверных Linux (без иксов) на Delphi. А если надо набросать что-нибудь на коленке чтоб работало - то VCL, TMemo, TButton и вперед. Но с программированием драйверов и микроконтроллеров дела никогда не имел и пока не планирую, потому и просил простую схемку :yes:

[b']КЭС[/b], спасибо, журнал скачал. Там схема, считывающая моргания светодиода клавиатуры и подающая звуковой сигнал на матюгальник. Ее действительно надо сильно допиливать, потому пока остановлюсь на первой найденной.

watchdog1.gif

Кстати, можно и светодиод HDD использовать. Обнаружил что светодиод сетевухи моргает даже в зависшем состоянии, так что он неприменим. Эту схему можно использовать, включив вместо TxD параллельно светодиоду?

Изменено пользователем bvitaly

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vovka    23

На картинке схема и скрин прошивки с пометками, какими байтами настройку таймингов производить

Может пригодиться: для корректировки прошивки можно воспользоваться программой PicHexEdit (есть рассчет контрольной суммы строки)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
tcoder    276

можно воспользоваться программой

Ну это уже дело автора - пользоваться ли этой прошивкой, и какой программой её курочить... но скорее всего оно ему не надо, т.к. и фьюзами никто не поинтересовался, а их я не выкладывал :unknw:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
bvitaly    2

Добрый вечер. Собрал схему1

post-117382-0-89875800-1415397037.jpg

На базе транзистора отрицательное напряжение, он не открывается. т.к. полярность С1 С3 на схеме не была указана взял так как подсказала логика. Может, тут ошибка? Какой переставить? Прошу помочь.

После загрузки напряжение на TxD -11.4 в, в точках

1 -3.5в

2 -3

3 -2.84

4 -2.63

5 -2.78 (не совпадает с 3, значит скачет)

При передаче данных напряжение на TxD -6в скачет, в точках

2 -3.3

3 0.44

4 10-12 вольт

5 0.44 (совпало)

При остановке передачи данных сразу же на базе становится -2.6в или около того.

Детали не перепутал. Контакты мультиметра тоже не перепутал. Мерял напряжения относительно корпуса ПК, связь с 5 ногой порта (земля) хорошая, схема включена разъемом на кабель, 3й и 5й контакт.

Изменено пользователем bvitaly

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
КЭС    975

5 -2.78 (не совпадает с 3, значит скачет)

5 0.44 (совпало)

Там же перемычка, т.е. это одна точка. Как при этом показания могут быть разными??? Покажите фото монтажа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
bvitaly    2

элементарно, тыкал щупом в разные точки по очереди, анализировал только потом когда писал тот пост. Такое возможно чтолько если напряжение в этой точке не было стабильным, и в течение нескольких секунд между замерами менялось в указанных пределах, о чем и написал что скачет. То же самое на TxD - при передаче данных напряжение разное в зависимости от передаваемого бита, оциллографа нет, а мультиметр не так чтобы быстро работал

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
КЭС    975

Схема построена так, что транзистор КРАТКОВРЕМЕННО открывается ПОСЛЕ прекращения импульсов на её вход, но после прошествия некоторого времени получения импульсов, необходимого для заряда конденсаторов. Тестером вы это не заметите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
bvitaly    2

Так отрицательное напряжение на базе транзистора это норма?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
КЭС    975

Отрицательное там может быть не более 0,6В-ограничено падением на диоде VD3. Я просил фото вашего творения... :unknw:

По замыслу автора там должен быть ноль, дальше см. мой предыдущий пост.... в статье по ссылке вашего же поста №15 все расписано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
bvitaly    2

Ну я так и понял что должен быть ноль, транзистор закрыт, а потом когда пропадает сигнал появляется плюс и транзистор открывается. Но фактически идет не + а -. Думаю, проблема в конденсаторах - на схеме кроме одного с "жирным" электродом не указана полярность.

Фото прилагается

post-117382-0-89390000-1415610965_thumb.jpgpost-117382-0-37139000-1415610966_thumb.jpgpost-117382-0-87701600-1415610966_thumb.jpg

За "лапшу" просьба не бить. Когда будет работать поставлю нормальный мягкий провод

Изменено пользователем bvitaly

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
КЭС    975

У транзистора КЭ попутал. Диоды лучше прозвонить - не верю я полоскам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
bvitaly    2

Спасибо, действительно, и все диоды были наоборот - исправил. Теперь почти работает, но не так как надо.

В точке 3 стандартное напряжение -0.43 в, при передаче данных в порт порядка +2в, в точке 5 соответственно около -4 и при данных -6в.

На базе транзистора -0.4 или около того, при передаче буквально десятка блоков данных по 10 байт прыгает до +0 и выше, открывает транзистор и уходит в перезагрузку, чего быть не должно. Данные передаются батником следующего содержания:

:sta
echo jakndkjqwn > com1
goto :sta

Вообщем не знаю что с этим делать. Подбирать отношение емкостей дело накладное, склада радиодеталей дома нет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
КЭС    975

Ваш случай лишь подтверждает правило: "чем проще схема, тем сложнее настройка". (Она мне сразу не понравилась)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас