Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #53, АПРЕЛЬ 2005 г.

Ресетнем по-быстрому?

SkyWriter (to@skywriter.ru)

Спецвыпуск: Хакер, номер #053, стр. 053-118-2


Так вернемся к нашим "баранам". Для передачи от watchdog-драйвера к watchdog-аппаратуре сигнала OK предлагаю использовать стандартный разъем для подключения внутреннего динамика IBM PC разъем громкоговорителя :), известный также как "спикер" (не путать с обитателем Госдумы :) и присутствующий на материнских платах всех типов.

Чем привлекателен этот разъем? Тем, что не нужно занимать никаких слотов в маршрутизаторе, не нужно дорабатывать каким-либо образом материнскую плату твоего маршрутизатора (все можно оставить как есть - на базе 486SX ;-). Вдобавок использование разъема speaker как интерфейса между драйвером и аппаратурой watchdog:

- заметно упрощает схему watchdog-аппаратуры, ее подключение и обеспечение электропитания;

- упрощает программу драйвера: сигнал OK легко намутить просто пропищав что-нибудь невнятное в PC-speaker :-).

Функционально watchdog представляет собой одновибратор (да-да, так это у нас называется ;-) и состоит из двух узлов (см. рис. 1):

1. генератор;

2. счетчик.

Частота генератора составляет около 5,5 +/- 0,5 КГц. Такой выбор позволяет получить на выходе делителя сигнал с периодом Т около трех минут. Такая величина задержки необходима для того, чтобы watchdog дождался (а не устроил ребут) выполнения загрузки операционной системы, запуска watchdog-драйвера и получения первого сигнала OK от него. Если твой маршрутизатор грузится больше трех минут, то знай - пора слезать с 386-ой платформы, она немного устарела :).

После запуска программного обеспечения дрова watchdog'a вырабатывают сигнал OK с периодичностью t<T. Этот сигнал сбрасывает в ноль счетчик (см. такую большую микросхему на рис. 1 ;-). При отсутствии сигнала сброса в течение периода T счетчик переполняется, и watchdog вырабатывает сигнал Reset, производя перезагрузку системы.

Кстати, счетчик watchdog'а сбрасывается не только в случае истошного пищания динамиком, в нем появляется ноль:

- в момент включения компьютера - при появлении питания на watchdog-аппаратуре;

- при поступлении сигнала Disable выключения watchdog-аппаратуры.

Последнее предусмотрено в схеме для того, чтобы ты мог легко отключить watchdog на время отладки или ремонта своего монстра, так как тогда драйвер watchdog может оказаться незапущенным. Этот самый сигнал Disable вырабатывается кнопкой Turbo системного блока твоего маршрутизатора.

Для индикации работы watchdog-аппаратуры используется светодиод TurboLED, который обычно присутствует в кузове. Если его нет (как и кнопки Turbo), то все это добро легко заменяется внешним переключателем и диодом.

Назад на стр. 053-118-1  Содержание  Вперед на стр. 053-118-3