Железо,  Статьи

О некоторых особенностях работы аппаратных сторожевых таймеров

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

Эта тематика уже частично рассматривалась в статье о китайских сторожевых таймерах, а также в записях:

«Использование Watchdog v 9.0 для обеспечения бесперебойной работы рига»;

«Настройка Watchdog v5.0 в Linux Ubuntu/Debian».

Данная статья продолжает затронутую тематику и затрагивает некоторые особенности китайских watchdog-ов. Большинство из них использует чипы CH340C.

Фотография платы устаревшего однорелейного сторожевого таймера (версия 1.2) на микросхеме CH340C, выпущенной китайским производителем WCH:

Особенности работы чипа CH340C, использующегося в китайских сторожевых таймерах

CH340C — это микросхема-мост USB-UART в корпусе стандарта SOIC-16, которая является китайским эмулятором COM-порта для клонов Arduino.

Она имеет широкое распространение благодаря низкой стоимости и приемлемому качеству (на Aliexpress она стоит около 35-40 центов):

В микросхему CH340C встроен свой кварцевый резонатор, поэтому она выгодно отличается от своего собрата CH340G, требующего установки кварца в обвязке.

CH340C позволяет осуществлять подключение к порту USB компьютера любых устройств с интерфейсом UART (Universal Asynchronous Receiver-Transmitter, универсальный асинхронный приемопередатчик).

Даташит на микросхему CH340C на китайском языке есть здесь.

Распиновка микросхемы CH340C:

Назначение пинов микросхемы CH340C:

1 - Земля (GND), ground connection для USB;

2 - TXD выход Serial data;

3 - RXD вход Serial data;

4 - питание V3, внешний источник питания 3.3V вместо VCC +5 В;

5 - UD+ Directly connect to D+ data wire of USB bus;

6 - UD- Directly connect to D- data wire of USB bus;

7 - не используется (в CH340G это вход кварцевого резонатора и конденсатора);

8 - не используется (это выход кварцевого резонатора);

9 - CTS# MODEM liaison input signal, clear sending;

10 - DSR# MODEM liaison input signal, data equipment is ready;

11 - RI# MODEM liaison input signal, oscillate ring to prompt;

12 - DCD# MODEM liaison input signal, carrier wave detection;

13 - DTR# MODEM liaison output signal, Data endpoint is ready;

14 - RTS# MODEM contact output signal, request to send;

15 - R232 Assistant RS232 enable, active with high;

16 - VCC, питающее напряжение +5 вольт.

Подключение CH340C при использовании одного реле осуществляется примерно по такой схеме:

Для подключения с помощью CH340C к компьютеру по USB-порту устройств с интерфейсами COM, RS23, RS422, RS485, IrDA требуется только обеспечить сопряжение уровней их сигналов. На компьютер также нужно установить драйвер микросхемы CH340C, благодаря которому в системе появиться виртуальный COM-порт.

Драйвер для чипов CH340/341 можно скачать на официальной странице китайского производителя WCH:

либо по прямой ссылке (для Windows).

Установку драйвера CH340C в Windows лучше делать до подключения к компьютеру вотчдога. Она осуществляется нажатием кнопки Install:

В Linux устройства на микросхемах CH340 должны определяться по умолчанию.

При успешной установке драйвера в диспетчере устройств Windows появится новый виртуальный последовательный порт:

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

Пример двухрелейного сторожевого таймера (фото платы со стороны электронных элементов, оба реле находятся с обратной стороны):

Двухрелейный watchdog на эмуляторе последовательного порта CH340C запускает риг после сбоев по питанию, а также при невозможности перезапустить систему кнопкой Reset.

Почему компьютер не перезапускается при нажатии кнопки Reset

Вотчдог отслеживает активность компьютера по виртуальному последовательному порту, организованному через USB и при пропадании сигнала от рига в течение заданного промежутка времени выполняет его перезагрузку:

При нажатии вотчдогом (или пользователем) кнопки Reset происходит замыкание контактов материнской платы, которые прерывают сигнал Power_Good (+5 вольт, логическая единица), непрерывно поступающий на нее от блока питания.

Это является сигналом сброса, инициирующим повторный холодный старт системы (hard reset). При этом на все компоненты системы, в том числе подключенные по шине PCI-E передается сигнал RST. Система должна уходить в жесткую (hard) перезагрузку.

Алгоритм работы сторожевого таймера, управляющего только перезагрузкой системы:

Важно отметить тот факт, что при нажатии кнопки Reset все компоненты компьютера остаются под напряжением. Поэтому некоторые зависшие устройства могут не принять сигнала ресет, вплоть до того, что с БП будет постоянно идти сигнал PowerGood и «зависшая намертво» система не будет перезагружаться. Это может случиться даже в Linux из-за переразгона/слишком сильного даунвольтинга видеокарт.

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

По большому счету зависшие компьютеры лучше всегда перезагружать не хард-ресетом, а выключением/включением. Принудительные перезагрузки пагубно влияют на комплектующие компьютера, особенно на их жесткие диски. При резком обрыве питания головки HDD могут не успеть запарковаться в исходное положение, царапая поверхность носителя информации. Это значительно ускоряет его износ и уменьшает время эксплуатации до отказа. В современных SSD-накопителях эта проблема проявляется не так сильно, но резкое изменение состояния системы и переходные процессы, вызванные жесткой перезагрузкой, все равно вредят компьютерным компонентам. Поэтому на серверах и современных компьютеров кнопку перзагрузки обычно не устанавливают.

В современных сторожевых таймерах (начиная с версии 2.0) устанавливаются две цепи управления компьютером: для принудительной перезагрузки и для принудительного выключения/включения. В случае зависания они обычно производят трехкратную попытку перезагрузить компьютер, а затем производят принудительное выключение и включение блока питания.

Это возможно благодаря подключению сторожевого таймера к материнской плате через контакты Power On/Off.

Что происходит с работающим компьютером при нажатии вотчдогом кнопки Power On/Off

Долгое (5-10 секунд) нажатие у работающего компьютера кнопки питания (замыкание контакта PS_ON на БП (+5 вольт) с землей) приводит к его мягкому выключению. Через 3-5 секунд сторожевой таймер снова включит компьютер и тот снова загрузиться, даже если до этого он не реагировал на нажатие кнопки Reset.

Частично подключение проводов PWR к сторожевому таймеру дублирует включение в Bios опции Restore on AC/.

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

Как правильно подключать сторожевой таймер к материнской плате

Перед подключением сторожевого таймера к материнской плате нужно точно разобраться, где и какие контакты у нее отвечают за влючение/выключение и перезагрузку. Это можно сделать, внимательно изучив разъемы на (обычно) левом нижнем углу платы.

Пример разъемов материнской платы для управления Reset и Power On/OFF:

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

English EN French FR German DE Russian RU Spanish ES