Четверг, 20 сентября 2012 19:28

Знакомство со сторожевыми таймерами

Майкл Барр

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

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

   Сторожевой таймер – это элемент оборудования, который может использоваться для автоматического обнаружения аномалий программного обеспечения и сброса процессора, если что-то произойдет. В общем случае, сторожевой таймер основан на счетчике, который ведет обратный отсчет от какого-либо начального значения до нуля. Встроенное программное обеспечение выбирает исходное значение счетчика и периодически перезапускает его. Если счетчик достигает нуля до того, как его перезапустят, то предполагается, что программное обеспечение неисправно и процессор перезапускается. Процессор и программа, которую он выполняет, перезапустятся точно так же, как если бы это сделал человек-оператор.