Сброс сторожевого таймера болид что это
Краткая инструкция действий дежурного персонала с панелью управления С2000М
Инструкция действий дежурного персонала с панелью управления С2000М получилась на 4-х страницах.
Инструкция содержит максимально сокращенные выдержки из руководства по эксплуатации «С2000М» вер. 4.12.
В этой инструкции на 4-х страницах отсутствуют некоторые пункты, которые есть в инструкции на 10-ти страницах.
Предполагается что это инструкция для системы пожарной сигнализации, поэтому в ней есть пункт «Отключить» и нет пунктов «Взять/Снять».
Смешанная инструкция тоже скоро будет не актуальна, в связи с выходом новых норм, запрещающих совмещенные охранно-пожарные сигнализации.
В этой краткой инструкции нет пунктов «Пуск/Стоп», которые используются для управления исполнительными устройствами систем противопожарной защиты.
Также должна отдельно разрабатываться:
— должностная инструкция действий дежурного персонала;
— порядок информирования обслуживающей организации по каналам связи.
Скачать краткую инструкцию действий дежурного персонала по использованию С2000М.
Ниже приведено содержимое этого документа.
1. Действия дежурного персонала.
1.1 Дежурный режим (норма).
Дежурный персонал должен и обязан контролировать, что пожарная сигнализация находится в дежурном режиме и отсутствуют сработки, неисправности, отключения и пуски.
Главный экран панели управления «С2000М» в дежурном режиме должен быть таким:
Должен светиться только зеленый светодиод «Питание:
При наличии в системе отключений или неисправностей звучит зуммер (до отключения), светятся желтые светодиоды и присутствуют сообщения на экране «С2000М»:
В случае обнаружения отключений и неисправностей связаться с обслуживающей организацией и сообщить о состоянии «С2000М».
Только после донесения сообщения о том, что система не в норме, можно отключить внутренний зуммер «С2000М» клавишей 
1.2. Действия дежурного при сработке пожарной сигнализации.
В режим «Пожар» прибор переходит при наличии элементов (датчиков и ручных извещателей), находящихся в состоянии пожарной тревоги: «Внимание», «Пожар» или «Пожар 2».
Режим «Пожар» сигнализируется включением красного светового индикатора ПОЖАР и звуковым сигналом «Пожарная тревога» или «Внимание».
На ЖКИ отображается первый раздел (зона), в котором был зафиксирован пожар, и количество разделов в «Пожаре»:
В зависимости от типа пожарной тревоги могут отображаться состояния «Внимание», «Пожар» или «Пожар 2».
При включении звукового оповещения необходимо определить помещение, в котором произошло срабатывание пожарной сигнализации, и проверить его на наличие (отсутствие) возгорания или задымления.
В случае пожара действовать согласно соответствующей должностной инструкции.
Для просмотра дополнительной информации о пожарах в этом разделе и других разделов в состоянии «Пожар» нужно нажать кнопку 
Отобразится экран информации о разделе:
Просмотр других разделов (зон, помещений), в которых зафиксирован пожар, осуществляется кнопками 
Для определения сработавших элементов в разделе нужно нажать кнопку 
Отобразится информация об элементе, который первым в этом разделе зафиксировал пожар:
Кнопками 

Для просмотра времени и даты события пожар нужно нажать и удерживать кнопку 0.
Сброс сработавшего элемента можно выполнить кнопкой СБРОС или через контекстное меню, которое вызывается кнопкой 
Сброс приведет к возвращению в исходное состояние всех исполнительных устройств систем противопожарной защиты здания!
Поэтому сброс можно выполнять только убедившись, что сработка ложная!
Если ещё раз нажать 

Если сработка ложная, звуковой зуммер «С2000М» можно отключить, нажатием кнопки 
1.3. Сброс тревог.
Команда «сброс тревог» переводит в дежурное состояние раздел, находящийся в пожарной тревоге или в состоянии «Невзят».
Для сброса тревог возможны следующие последовательности действий:
1) ввести PIN-код «2222», выбрать раздел и нажать кнопку СБРОС;
Если сначала ввести PIN-код, «С2000М» отобразит первый раздел из списка всех доступных пользователю разделов. Клавишами нужно выбрать требуемый раздел и нажать СБРОС.
«С2000М» предложит подтвердить команду «Сброс тревоги» в выбранном разделе:
Для выполнения сброса тревог нужно нажать 
Также можно выбрать общий сброс (сброс тревог во всех доступных пользователю разделах) кнопками 
Второй вариант управления – сначала выбрать раздел, в котором требуется сбросить тревогу, и нажать кнопку СБРОС.
Например, в режиме «Пожар» это первый раздел, в котором произошла пожарная тревога:
При просмотре разделов в режиме «Пожар» это текущий просматриваемый раздел:
После нажатия кнопки СБРОС и ввода кода доступа (если пользователь не был авторизован) «С2000М» предложит подтвердить команду «Сброс тревоги» в выбранном разделе:
Для выполнения сброса тревог нужно нажать 
Для выхода из ошибочного действия или возврата на уровень вверх необходимо нажать 
Для возврата в начало, если сброс проведен или запутался, можно, нажав клавишу 
1.4. Отключение элементов системы.
Если сработка ложная, а после выполнения сбороса сработка повторяется из-за неисправности датчика – нужно исключить неисправный элемент с помощью функции отключения.
Отключение выполняется следующим образом:
— сообщить в обслуживающую организацию о ложном срабатывании или неисправности;
— ввести пароль «2222»;
— выбрать кнопками 

— для отключения всех элементов в разделе нужно нажать кнопку контекстного меню 
При отключении всех элементов в разделе раздел будет иметь состояние «ОТКЛЮЧЕН»:
— для отключения элемента нужно нажать кнопку контекстного меню и выбрать команду «ОТКЛЮЧИТЬ»:
При отключении элемента он будет иметь состояние «ОТКЛЮЧЕН»:
Включение элемента или раздела осуществляется аналогично.
Отключение исправных элементов запрещено!
Для выхода из ошибочного действия или возврата на уровень необходимо нажать 
Сброс сторожевого таймера болид что это
Использование сторожевого таймера
Таблица 4. Биты управляющего регистра сторожевого таймера
| Имя бита | Описание | Расположение регистра | Расположение бита |
| EWDI | Разрешение прерывания при переполнении сторожевого таймера | WDCN (Fh, 8h) | WDCN.6 |
| WD1, WD0 | Биты управления сторожевым интервалом | WDCN.5,4 | |
| WDIF | Флаг прерывания по переполнению сторожевого таймера | WDCN.3 | |
| WTRF | Флаг сброса при переполнении сторожевого таймера | WDCN.2 | |
| EWT | Разрешение сброса при переполнении сторожевого таймера | WDCN.1 | |
| RWT | Сброс сторожевого таймера | WDCN.0 |
Рисунок 11. Структурная схема сторожевого таймера
Функция сброса по переполнению сторожевого таймера работает следующим образом. После инициализации правильного интервала таймаута (будет обсужден ниже), программное обеспечение может разрешить, если это необходимо, функцию сброса путем установки бита разрешения сброса при переполнении сторожевого таймера (EWT = WDCN.1). Если прерывание по переполнению сторожевого таймера уже было активизировано, то установка бита EWT приведет к сбросу/повторному запуску сторожевого таймера. В любое время программно можно установить бит сброса по переполнению сторожевого таймера (RWT = WDCN.0). Если сбросить сторожевой таймер (установить значение бита RWT, равное единице) до истечения периода таймаута, то таймер запустится. После программной установки бит RWT аппаратно обнуляется.
Если переполнение таймера произойдет при очищенном бите RWT, то, если разрешено, будет сформировано прерывание по переполнению сторожевого таймера. Если не произвести ни каких действий в течении 512 системных тактовых циклов и бит EWT=1, то произойдет аппаратный сброс микроконтроллера. Если сброс произойдет, то флаг указания причины сброса (WTRF = WDCN.2) будет автоматически установлен в единицу, однако сброс этого бита должен быть осуществлен программно.
Если по переполнению таймера сброс производить не надо, то можно просто формировать прерывание по переполнению таймера. При этом сторожевой таймер используется в качестве обыкновенного таймера с очень большим временем таймаута. Разрешение прерывания осуществляется путем установки бита (EWDI = WDCN.6). При переполнении сторожевой таймер установит флаг прерывания WDIF (WDCN.3), и, если глобальное разрешение (IGE = IC.0) и разрешение прерывания по переполнению таймера (IMS = IMR.7) осуществлены, то произойдет прерывание. Обратите внимание, что флаг WDIF устанавливается на 512 системных циклов раньше, чем потенциально возможный флаг сброса по переполнению сторожевого таймера. Установленный таким образом флаг прерывания по переполнению таймера должен быть сброшен программно.
Использование прерывания по переполнению сторожевого таймера при разработке программного обеспечения может позволить пользователю выбирать идеальные точки сброса при переполнении таймера. Сначала код прикладной программы разрабатывается при отключенном прерывании и сбросе по переполнению сторожевого таймера. После окончания разработки программы сторожевые функции прерывания разрешаются, что позволяет идентифицировать точки возникновения переполнения таймера. На этом этапе можно определить точки, в которых переполнение не должно возникать, вызывая нежелательные сбросы микроконтроллера. После этого прерывание по переполнению сторожевого таймера может быть отключено. Правильное использование прерывания и сброса по переполнению сторожевого таймера позволит избежать системе ошибочных действий.
При использовании сторожевого таймера в качестве системного монитора функция сброса при переполнении сторожевого таймера должна быть активна. Если бы использовалась функция прерывания при переполнении сторожевого таймера, то цель сторожевого таймера была бы достигнута. Например, предположите, что система выполняет ошибочный код до возникновения прерывания по переполнению сторожевого таймера. Прерывание временно перевело бы систему по вектору прерывания. Перезапуск сторожевого таймера и выход из подпрограммы обработки прерывания по команде RETI или RET вернул бы программу в ошибочную ветвь.
Использование функции сброса при переполнении сторожевого таймера приведет к перезапуску микроконтроллера, вследствие чего он перейдет в известное правильное состояние.
Выбор таймаута сторожевого таймера осуществляется путем установки/сброса битов WD1 (WDCN.5) и WD0 (WDCN.4). Сторожевой таймер имеет четыре времени таймаута, зависящие от рабочей частоты микроконтроллера. В таблице 5 приведена зависимость времени таймаута от значения установленных управляющих битов. Сброс по переполнению сторожевого таймера происходит через 512 системных циклов. Формирует сторожевой таймер сброс в течении последних четырех системных циклов.
Таблица 5. Выбор периода сторожевого таймера
| Режим синхронизации системы | Выбор режима синхронизации системы осуществляется путем установки битов PMME CD1, CD0 | Таймаут сторожевого таймера (в количествах периодов задающего генератора) | |||
| WD1:0 = 00b | WD1:0 = 01b | WD1:0 = 10b | WD1:0 = 11b | ||
| Деление на 1 (значение по умолчанию) | 000 | 2 12 | 2 15 | 2 18 | 2 21 |
| Деление на 2 | 001 | 2 13 | 2 16 | 2 19 | 2 22 |
| Деление на 4 | 010 | 2 14 | 2 17 | 2 20 | 2 23 |
| Деление на 8 | 011 | 2 15 | 2 18 | 2 21 | 2 24 |
| Режим управления питанием (Деление на 256) | 1xx | 2 20 | 2 23 | 2 26 | 2 29 |
Таблица 6. Карта системных регистров
Замечание: Регистры, имена которых написаны наклонным шрифтом, доступны только для чтения. Регистраторы, имена которых написаны жирным шрифтом, являются 16-разрядными (кроме А[n], Acc, А[АР] для MAXQ10). Регистры с индексами 8h и могут быть адресованы в качестве получателей только при помощи префиксного регистра. Точно так же регистры с индексами 10h и выше могут быть адресованы в качество источников только при помощи префиксного регистра. Все неопределенные или неиспользованные индексы (обозначены символом тире: ‘-‘) или используются для создания операционного кода или зарезервированы для будущих разработок и не должны быть адресованы явно. Результат обращения к этим регистрам будет детерминированным, но никакого определенного значения не несет.
Таблица 7. Карта битов системных регистров
Таблица 8. Значения битов системных регистров после сброса
Замечание: биты, помеченные символом «s» остаются неизменными.
Урок 21. Сторожевой таймер

Бывают ситуации, когда по тем или иным причинам, программа в микроконтроллере может зависнуть. Предусмотреть все не возможно, в таких случаях нужно идти и ручками нажимать кнопку сброса, либо выдергивать питание. Альтернативой этому является использование сторожевого таймера (Watchdog).
Это таймер, который тикает сам по себе, независимо от основной программы. Суть такова: в основной программе через определенные промежутки, вставляется код, который сбрасывает этот таймер. Когда таймер постоянно сбрасывается, то программа спокойно выполняется. Но, если его не сбросить, значит кусок кода основной программы не выполнился и завис, в этом случае таймер досчитает до определенного значения и сбросит полностью микроконтроллер. Программа начнет выполняться с самого сначала.
Попробуем разобраться как это работает в программе. Создаем новый проект, на вкладке таймеров, есть закладка Watchdog. Ставим галочку Watchdog Timer Enabled, чтобы включить таймер.
Далее нам предлагают выбрать предделитель, т.е. частоту на которой будет работать таймер. Лезем в даташит на Atmega8 и читаем, что Watchdog тактируется от отдельного встроенного генератора, частота которого 1МГц при питании 5В. Однако частота плавает в зависимости от питания. Например, при делителе 16К время таймаута составит 17.1мс при 3В и 16.3мс при 5В. Так что это нужно учитывать.
Настроим проект с предделителем 2,048К, все остальные настройки не важны
Запустим его в протеусе. По истечении 2 секунд, протеус ругнется что Watchdog не сброшен и микроконтроллер перезагружен.
Сброс таймера производится командой
Кстати, мне задали интересный вопрос, сбросится микроконтроллер или нет в данной ситуации? Оказывается нет, в функции delay по видимому реализован сброс вотчдога.
while (1)
<
delay_ms(5000);
#asm(«wdr»)
>
Еще одной примечательной фишкой является возможность включить сторожевой таймер, при помощи фьюза WDTON. В таком режиме он будет постоянно включен, отключить его программно уже будет нельзя.
37 комментариев: Урок 21. Сторожевой таймер
Здравствуйте, такой вопрос можно ли организовать сторожевой таймер на 1 минуту например?
12. Управление системой и сброс
12.1. Отличительные особенности
12.2. Сброс ядра AVR
В процессе сброса во все регистры ввода-вывода записываются их исходные значения. Содержимое SRAM остается неизменным. Выполнение программы начинается с вектора сброса. По этому вектору необходимо разместить инструкцию перехода по абсолютному адресу (JMP), где размещена процедура обработки сброса. По умолчанию адресом вектора сброса является наименьший адрес Flash-памяти программ, т.е.’0′, однако имеет возможность переместить вектор сброса на первый адрес загрузочного сектора.
Сразу после активизации источника сброса все порты ввода-вывода переходят в высокоимпедансное состояние.
Сброс функционирует асинхронно. Это означает, что он выполняется даже при отключенной синхронизации микроконтроллера.
По завершении сброса МК считыванием значения из регистра статуса сброса можно определить источник, вызвавший сброс.
12.3. Источники сброса
12.3.1. Сброс при подаче питания
МК сбрасывается, если напряжение питания VCC становится ниже порогового напряжения схемы сброса при подаче питания.
12.3.2. Внешний сброс
МК сбрасывается при подаче низкого уровня на вывод RESET.
12.3.3. Сброс сторожевым таймером
Если разрешен сброс сторожевым таймером, то по истечении его периода произойдет сброс МК.
Сторожевой таймер синхронизируется отдельным генератором, несвязанный с системной синхронизацией. Подробности см. в разделе 12.4 «Сторожевой таймер (WDT)».
12.3.4. Сброс супервизором питания
МК сбрасывается, если напряжение питания VCC становится менее порога срабатывания супервизора питания BOD и при условии разрешения его работы. Порог срабатывания BOD можно программировать.
12.3.5. Сброс через интерфейс JTAG
Микроконтроллер будет находиться в состоянии сброса до тех пор, пока в регистре сброса цепи сканирования JTAG системы будет хранится логическая единица. Подробности см. в стандарте граничного сканирования IEEE 1149.1 (JTAG).
12.3.6. Сброс через интерфейс PDI
МК можно сбросить через интерфейс программирования и отладки PDI.
12.3.7. Программный сброс
МК может сбросить ЦПУ, если выполнить запись в специальный регистр ввода-вывода с соблюдением строго-привязанной ко времени последовательности действий.
12.4. Сторожевой таймер (WDT)
12.4.1. Отличительные особенности
МК XMEGA A3 оснащены сторожевым таймером (WDT). После активизации WDT работает непрерывно. Чтобы МК не был сброшен сторожевым таймером, в течение заданного интервала времени (период срабатывания) необходимо выполнить инструкцию сброса сторожевого таймера (WDR).
WDT поддерживает оконный режим работы. В этом режиме, инструкцию WDR необходимо выполнить в течение заданного интервала времени, которое называется окном. Минимальная и максимальная границы этого окна задаются программно. Если в течение отведенного интервала времени инструкция WDR не будет выполнена, микроконтроллер будет сброшен.
Для предотвращения несанкционированных изменений настроек WDT у него предусмотрен механизм защиты, который требует соблюдения со строгой привязкой ко времени последовательности записи.
Для максимальной безопасности WDT также поддерживает режим постоянной активности. Данный режим активизируется путем программирования конфигурационного бита. В режиме постоянной активности программа не имеет возможности отключения WDT.
Сторожевой таймер для автоматического перезапуска микроконтроллера
Автоматический перезапуск микроконтроллера (МК) после программного зависания — хорошо известный эффективный способ повышения надёжности функционирования МК систем. Устройство, осуществляющее эту функцию, называется сторожевым таймером или WDT (WatchDog Timer). Несмотря на широкую номенклатуру выпускаемых специализированных микросхем для WDT [1], во многих случаях предпочтительнее использовать более доступные таймеры 555. Интернет предлагает богатое разнообразие подобных схем и зачастую бывает не просто сделать из них правильный выбор.
На рис. 1 приведена многократно проверенная в работе схема WDT, которую можно рекомендовать для доработки уже существующих конструкций (в том числе и на платформе Arduino) с целью автоматического перезапуска МК после зависания.
Здесь таймер 555 DA1 включён по типовой схеме автогенератора с большим периодом следования импульсов [2]. В штатном режиме работы МК на вход WDI сторожевого таймера периодически поступают контрольные импульсы, которые, для исключения потенциального влияния на схему, подаются через разделительный конденсатор C1 [3]. Пройдя через дифференцирующую цепь R1C1, они кратковременно открывают транзистор VT1 и, соответственно, разряжают конденсатор C3. При этом блокируется формирование таймером 555 импульсов сброса с активным низким уровнем (лог. «0») и на выходе Vout (вывод 3 DA1) удерживается уровень лог. «1».
При возникновении сбоя в работе МК контрольные импульсы с него перестают поступать на вход WDI. Соответственно конденсатор C3 перестаёт разряжаться, а, напротив, заряжается через резисторы R3 и R4 — напряжение на нём начинает расти. Через некоторое время, которое называется сторожевой паузой, оно достигнет порога срабатывания таймера 555 и на выходе Vout будет сформирован импульс сброса. МК перезапускается и, в случае успешного рестарта, им вновь формируются контрольные импульсы. В противном случае сторожевой таймер через интервал времени равный сторожевой паузе сформирует очередной импульс сброса. И так до тех пор, пока МК не начнёт нормально работать.
На рис. 2 приведена улучшенная схема WDT. Отличия касаются только цепей подключения таймера 555, при этом сам принцип работы устройства не изменился.
Во-первых, цепь сброса МК (WDO) подключается непосредственно к «открытому» коллектору выходного транзистора (вывод 7 DA1) таймера 555. Это гарантированно обеспечит рестарт МК с низковольтным питанием (3,3 В и менее).
Во-вторых, для увеличения гистерезиса уровней срабатывания компараторов таймера 555 к выводу 5 DA1 (CV — управление напряжением) подключён резистор R4. За счёт этого длительность сторожевой паузы WDT увеличилась примерно в 1,5 раза по сравнению со схемой на рис. 1. При необходимости иметь сторожевую паузу в десятки секунд это позволит избежать применения в качестве C3 ненадёжных электролитических конденсаторов. Удобно в этом случае использовать недорогие керамические конденсаторы в SMD-исполнении, подключая их параллельно.
В таблице приведены измеренные значения длительностей сторожевой паузы и импульса сброса для обеих схем WDT при различных напряжениях питания.
| Схема WDT | Напряжение питания, В | Длительность | |
| сторожевой паузы, с | импульса сброса, мс | ||
| Рис. 1 | 5 | 3,6 | 15 |
| 12 | 2,7 | 15 | |
| Рис. 2 | 5 | 5,1 | 50 |
| 12 | 5,3 | 40 | |
Обе схемы не требовательны к параметрам контрольных импульсов и во многих случаях можно обойтись без специального выхода МК для них. Главное, чтобы импульсы были. Например, с успехом можно использовать сигналы управления индикатором [4] или интерфейсного обмена по шинам I 2 C, SPI, UART и др. Но нужно быть внимательным, чтобы не использовать выход с ШИМ (PWM), т.к. здесь импульсы формируются аппаратно и при зависании МК вполне могут присутствовать.
Ток потребления устройств определяется конкретной разновидностью используемого таймера 555 и, как правило, не превышает нескольких миллиампер. При необходимости существенно (менее 1 мА) снизить значение потребляемого тока и/или напряжения питания (до 2…3 В), нужно использовать КМОП таймеры 555 (TLC551, TLC555, LMC555, ICM7555). В качестве VT1 может быть использован любой маломощный n-p-n транзистор.
Сторожевой таймер может быть изготовлен на небольшой макетной плате (см. фото на рис. 3) и размещён как внутри защищаемого МК устройства, так и снаружи. При налаживании WDT необходимо подобрать значение емкости конденсатора C3, при котором МК успешно инициализируется и входит в рабочий режим после перезапуска.
Подготовке статьи предшествовало обсуждение предложенных схем на техническом форуме [5], начатое по инициативе автора. В результате которого несколько человек успешно решили проблемы, связанные с зависанием МК устройств на Arduino.

Автор: Сергей Скворцов, г. Омск ( kipiaxxx )
Литература:
1. Николайчук О. И. Современные средства автоматизации. — М. : СОЛОН-Пресс, 2010. — С. 73—76.
2. Гальперин М. В. Практическая схемотехника в промышленной автоматике. — М. : Энергоатомиздат, 1987. — С. 164—166.
3. Рюмик С. М. 1000 и одна микроконтроллерная схема. Вып. 1. — М. : Додэка-ХХI, 2010. — С. 251, 252.
4. Жулий А. Устройство автоматического сброса процессора в АОНе // Радио. – 1998. – № 2. – С. 57.
5. Сторожевой таймер (WDT). — ссылка на страницу обсуждения


























