Применение сторожевого таймера для защиты устройств от неконтролируемой подачи питания в процессе тестирования
Что такое сторожевой таймер?
В общем случае сторожевой таймер контролирует активность определенного рода и при отсутствии такой активности в установленный интервал времени прерывает процесс. Вот как это можно применить к источнику питания (переменного или постоянного тока), поддерживающему тестируемое устройство во время автоматизированных испытаний. В нормальном режиме работы наличие какой-либо активности в испытательной системе каждый раз перезапускает сторожевой таймер, предотвращая его срабатывание. При наличии активности таймер сбрасывается, и реле остается замкнутым. Если активность отсутствует, таймер срабатывает по истечении установленного интервала, реле размыкается, и питание тестируемого устройства отключается. При отказе автоматизированной испытательной системы или программной ошибке тестирование прекращается, таймер не перезапустится, сработает защита и отключит источник питания, предотвращая подачу неконтролируемого питания на тестируемое устройство (рис. 1).
От ошибок никто не застрахован
Давайте рассмотрим ситуации, оправдывающие применение сторожевого таймера. В подобных случаях оставленный включенным источник питания продолжает питать тестируемое устройство, что может создать опасную ситуацию.
- Сбой управляющей программы.
Несмотря на все усилия, в программах бывают ошибки. Такая ошибка может привести к внезапному прерыванию исполнения программы без соответствующей процедуры корректного завершения работы или вызвать зависание, при котором источник питания останется включенным.
- Сбой в работе операционной системы, драйверов или другого системного ПО.
Ошибки бывают не только в программном обеспечении. Сама операционная система или драйверы, поставляемые производителем оборудования, тоже могут содержать ошибки, приводящие к зависанию или фатальному сбою системы. Кроме того, в многозадачных средах могут существовать приложения или процессы, занимающие слишком много времени, а значит, ваш источник питания может оставаться включенным, но контролироваться реже, чем вы ожидали.
- Сбой связи.
Управляющий компьютер работает хорошо, но при сбое на линии связи между компьютером и источником питания системы автоматизированного тестирования сам источник может остаться включенным и неконтролируемым. Сбой бывает вызван выходом из строя коммуникационного оборудования (например, из-за неисправного интерфейса) или из-за повреждения интерфейсного кабеля. Теперь, когда для управления приборами все чаще используется ЛВС, многие участки коммуникационной системы становятся недоступными для оперативного контроля. Маршрутизаторы и коммутаторы в серверном помещении могут выйти из строя или остаться без питания. Рабочие могут случайно повредить кабели или отключить сигнальные разъемы. Если сеть не действует, источник питания остается неконтролируемым.
- Неумышленное вмешательство пользователя.
Нельзя сбрасывать со счетов и человеческий фактор. Пользователь может приостановить работу программы системы автоматизированного тестирования, выключить питание управляющего ПК или даже отойти и не отреагировать на программные запросы, оставив программу испытаний в бесконечном ожидании. Все это приведет к тому, что источник питания окажется неконтролируемым.
Примеры опасных ситуаций
Таким образом, существует множество причин, по которым программа испытаний теряет контроль над источником питания тестируемого устройства. Давайте посмотрим, когда это может оказаться опасным для тестируемого устройства.
Тестируемое устройство является аккумуляторной батареей. Большинство батарей не допускает перезаряда или глубокого разряда. Если вы надеетесь, что программа испытаний отслеживает определенные условия, например достижение напряжением батареи максимального значения или заряда батареи до номинальной емкости, то при потере управления источником питания, заряжающим батарею, источник «по инерции» продолжит заряжать батарею, создавая потенциально опасную ситуацию.
Тестируемое устройство подвергается циклическому температурному воздействию или тестируется в предельных режимах. Даже если вашей целью является максимальная нагрузка тестируемого устройства, вы все равно должны контролировать процесс. В противном случае результаты теста будут недостоверны, а само устройство — повреждено. Заметьте также, что циклическое температурное воздействие и тесты в предельных режимах обычно имеют большую продолжительность (от нескольких часов до нескольких дней), что повышает вероятность потери управления.
Обычно тестируемое устройство обладает высокой стоимостью или уникально. Если вы работаете с единственным в своем роде прототипом, то, вероятно, не захотите подавать на него питание, значительно большее, чем предусмотрено испытаниями. Или, если ваше устройство очень дорогое или не должно подвергаться воздействиям, способным вызвать скрытый отказ, во время испытаний вы должны обеспечить надежное функционирование источников питания.
Два способа реализации сторожевого таймера
Сторожевой таймер можно создать на основе специально разработанной аппаратной схемы. Сброс таймера выполняется цифровым сигналом. Ваша испытательная программа должна уметь управлять этим сигналом, например вызывая процедуру, изменяющую состояние по входу таймера. Если программа не обратится к таймеру до истечения установленного интервала, таймер отключит источник питания логическим сигналом включения/выключения либо просто отключит питание прибора. Хотя этот способ реализации сторожевого таймера наиболее очевиден, он требует проектирования, создания и обслуживания специализированного оборудования для системы автоматизированного тестирования.
Альтернативное решение заключается в применении источника питания со встроенной функцией сторожевого таймера. Вы программируете сторожевой таймер на нужный период. Если источник питания не обнаруживает активных операций программы управления до истечения этого периода, он отключается. Активными операциями могут быть команды установки напряжения, запуска каких-либо функций или команды измерения выходного напряжения источника питания. Такое решение не предусматривает специального проектирования или обслуживания. Оно упрощает интеграцию в систему, не требуя дополнительного оборудования и проводов. И наконец, этим решением проще управлять, поскольку сторожевой таймер программируется так же, как и все остальные функции источника питания. Некоторые примеры источников питания со встроенным сторожевым таймером приведены на рис. 2. Многие модели источников питания переменного и постоянного тока компании Keysight Technologies (ранее подразделение электронных измерений компании Agilent Technologies) оборудованы встроенным сторожевым таймером, в том числе производительная система питания мощностью 1 или 2 кВт (слева вверху), модульная система питания N6700 (в центре) и источник питания переменного тока AC6800 мощностью от 500 В·А до 4 кВ·А (справа вверху). Сторожевой таймер программируется на интервал от 0 до 3600 секунд с точностью до 1 секунды и отключает выход источника при отсутствии активности на любом из интерфейсов дистанционного управления (USB, LAN, GPIB) в пределах запрограммированного интервала.