Понедельник, 08 августа 2011 04:44

Сторожевой таймер WDT.

Written by
Rate this item
(0 votes)

Сторожевой таймер (WDT) есть во всех микроконтроллерах 18 серии. Задействован в  основном в тех приложениях, где требуется производить  "перезагрузку"  микроконтроллера в случае возникновения сбоев при выполнении программы.

В приложениях, где задействован сторожевой таймер, необходимо с определенным интервалом времени сбрасывать таймер WDT, тем самым не допуская его переполнения. Если по каким либо причинам сторожевой таймер  переполнится, то  произойдет сброс микроконтроллера (при условии если таковой  разрешен).

 

 

 

 

alt

 

Для сброса сторожевого таймера и постделителя применяется команда clrwdt . При выполнении команды sleep (переход в энергосберегающий режим) произойдет сброс только таймера WDT. При выполнении этих команд в обоих случаях флаг (-TO) регистра RCON устанавливается в "1".

Если микроконтроллер находится в энергосберегающем режиме, переполнение таймера WDT выведет его их этого состояние в нормальный режим работы.

При переполнении таймера WDT бит (флаг переполнения WDT (-TO)) в регистре RCON сбрасывается в "0".

Минимальный период переполнения WDT в МК PIC18FXX2  (без предделителя) зависит от различных факторов, влияющих на работу RC генератора WDT (напряжение питания, температура...) и колеблется от 7 до 33 мс (номинальное значение 18 мс). В зависимости от типа микроконтроллера значения могут быть другими, (к  примеру в PIC18F25k20 номинальное значение 4 мс ), как и  коэффициент предделителя, который  можно установить  до 1:32768, вместо  1:256 (при наличии дополнительного бита VDTPS3, в регистре конфигурации CONFIG2H). Тем самым увеличивая период  до нескольких секунд или даже минут соответственно. Коэффициент WDT устанавливается в регистре конфигурации CONFIG2H биты VDTPS0-VDTPS3.

Программное управление работой сторожевого таймера производится в регистре WDTCON (бит SWDTEN). В этом случае  можно программно включить/выключить сторожевой таймер, правда  при этом бит WDTEN в регистре конфигурации должен быть сброшен  в "0".

 

Read 2134 times Last modified on Четверг, 04 сентября 2014 11:35

Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru