2013-09-17 6 views

ответ

8

HW сторожевой таймер сбрасывает систему автоматически, если выключение (периодически) запрещено программным обеспечением; SW watchdog OTOH может делать что-то только при заданном времени процессора. Таким образом, он должен периодически проверять, нужно ли перезагрузить систему и ответить на это, программируя HW.

Конечным результатом является то, что сторожевой таймер SW может не реагировать на общий сбой системы.

Типичные модели программирования из них:

HW watchdog: [HW circuit] <-- [low priority timer interrupt postponing reset] 
-- 
vs. 
-- 
SW watchdog: [Low priority SW process feeding SW Watchdog] 
      + [High priority SW process requiring "food"] 
+0

1) означает ли это (программный сторожевой таймер), что можно принять механизм сторожевого таймера, даже если у него нет сторожевого таймера аппаратное обеспечение? 2) Что такое OTOH? –

+0

1) Да, это означает, что если SW сторожевой таймер является допустимым понятием, он должен имитировать несуществующий HW средствами, которые существуют. Это предполагает, по крайней мере, регулярное прерывание таймера. 2) OTOH = 'С другой стороны' –

+0

Является ли сторожевой таймер (HW) внутренним для микроконтроллера? –

7

Аппаратный сторожевой таймер аппаратных средств. Программное обеспечение watchdog - это программное обеспечение. Для аппаратного сторожевого устройства существует аппаратное обеспечение, которое, если его не пинают достаточно часто, предположит, что программное обеспечение повесило и перезагрузит систему, как правило, или что-то другое, что диктует дизайн. Аппарат считается более надежным, чем программное обеспечение. Для сторожевого таймера программного обеспечения одна программная задача/нить/что-то считается более надежной, чем другая, если сомнительный код не может надеть надежный код, тогда надежный код убивает сомнительный код (или что-то, что предписывает проект). Существует проблема, если сомнительный код выходит из строя из-за аппаратного обеспечения, которое может снять весь код, включая сторожевой таймер. Таким образом, сторожевой таймер программного обеспечения полезен только в том случае, если у вас есть сторожевой таймер, работающий таким образом, что он более надежен, чем задача, о которой идет речь, например, он может быть там, чтобы задача не выходила из своего пространства памяти и не получала ошибку защиты (который вы могли бы просто наблюдать в обработчике ошибок, а не настраивать сторожевой таймер, но в любом случае) ...

+0

Во многих случаях аппаратные средства и сторожевые подходы могут быть объединены. Например, во многих системах есть только один или не более двух аппаратных сторожевых устройств, но процедура, которая «подпитывает» те, может также гарантировать, что многие другие вещи, которые должны произойти, на самом деле делают это. – supercat