Гл3_06 (1031649), страница 14
Текст из файла (страница 14)
Одновременно на вывод /CE out подается высокий уровень с Vout. Схемыэнергонезависимого ОЗУ сохраняют информацию, если на вывод CS подана единица. Еслисигнал CS формируется супервизором, то при пропадании или выключении основного питания на этом выводе будет напряжение батареи, т.е. супервизор будет поддерживать сохранение информации в энергонезависимом ОЗУ. При включении питания вывод CS такжебудет блокирован.Функция 1.5. Выдача предупреждающего прерывания в начальной фазе снижениянапряжения питания.Микросхема содержит также третий компаратор, подключенный к опорному источнику 1,25В.
На прямой вход этого компаратора подается напряжение с вывода PFI (PowerFail Input), а его выход подключен к выводу PFO (Power Fail Output). Описанное устройство предназначено для выдачи предупреждающего прерывания в начальной фазе снижениянапряжения питания.На рис. 3.23 б), показано, что с момента выключения напряжения питания до моментасброса, когда напряжение становится ниже 4,65В проходит некоторое время tR. Оно зависитот емкостей, шунтирующих цепи питания и составляет обычно несколько десятков и даже сотен миллисекунд. Это, малое по нашим меркам, время весьма заметно для микроконтроллера.Подключим к цепи питания делитель напряжения, настроенный с помощью переменного реРябов Владимир Тимофеевич.
Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru143зистора R3 так, что при Vcc=4,8В, напряжение на PFI составит 1,25В и подключим его к входу PFI супервизора.5,0R1Тогда мы сможем зафиксировать момент начала падения напряжения питаR2 PFI 4,80ния с опережением tS в несколько мил4,65лисекунд или даже десятков миллисекунд.
За это время МК сможет сделатьR3до 1000 и более коротких операций.Если подключит вывод PFO суtа)tSб)первизора к входу внешнего прерываtRния МК, например INT0, мы сможемРис. 3.23. Подача предупредительного прерывания запустить подпрограмму обслуживания этого прерывания по сигналу супервизора и сохраним критичную информацию в энергонезависимом ОЗУ, прежде чеммикроконтроллер будет сброшен.Функция 2. Защита от программных сбоев.Для обнаружения зависаний в супервизоре использована система «Watch dog»(WD) – сторожевой таймер.
Это чрезвычайно эффективная система для защиты от программных сбоев. Практически во все современные микроконтроллеры такая система бывает встроена.Как она действует? Ведь микроконтроллер сам никогда не сможет обнаружить, чтоон завис при выполнении управляющей программы, как человек сам объективно не сможет оценить адекватность своего поведения.Через определенный период времени некая внешняя система WD пытается сбросить микроконтроллер. МК, в свою очередь, при нормальной работе должен периодическисбрасывать WD. Для этого в управляющей программе предусматривается специальныйпроцесс. Если управляющая программа «подвисла», упреждающий сигнал на WD посланне будет и микроконтроллер будет сброшен сторожевым таймером. По сбросу он восстановит исходное значение в своем счетчике команд и начнет управляющую программусначала.
Дело программиста написать программу так, чтобы она восстановила состояниеобъекта и продолжила управление, как будто ничего не случилось.В супервизоре предусмотрено специальное устройство «Таймер RESET и WD», задающий длительность стандартного сигнала СБРОС и период «тиков» встроенного сторожевого таймера «Таймер WD». Исходно «Таймер WD» срабатывает за период около секунды (см.
техническую документацию на конкретную схему супервизора). Для упреждающего сброса сторожевого таймера служит «Детектор сигнала WDI», подключенный квыводу WDI супервизора.Вывод WDI предназначен для подачи упреждающего сигнала от управляющей программы. Притом сигнал фиксируется детектором как по фронту, так и по спаду, поэтомуиз управляющей программы для сброса сторожевого таймера следует периодически подавать следует то ноль, то единицу.
Период следования этого сигнала должен быть меньшепериода срабатывания сторожевого таймера.На вывод /WDO будет подан активный низкий уровень, если сторожевой таймерсработает, одновременно будет активизирован генератор сброса и выдан высокий уровеньсигнала RESET. Микроконтроллер будет сброшен.
После перезапуска управляющей программы может быть определена причина сброса, так как вывод /WDO будет оставаться внизком уровне до тех пор, пока сторожевой таймер не будет сброшен микроконтроллером.Период от момента «подвисания» программы до момента определения этого фактасупервизором не может быть больше периода времени, на которое настроен сторожевойтаймер. По умолчанию это около секунды, значит на это время объект теряет управление.Увеличение периода настройки сторожевого таймера, с одной стороны уменьшает нагрузVccVcc,BРябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э.
Баумана, V_Ryabov@mail.ru144ку на микроконтроллер, т.к. он может реже запускать программу сброса WD, с другой,увеличивает время неправильного функционирования объекта. Баланс этих явлений позволяет обоснованно выбирать время настройки сторожевого таймера. Если для нас оченькритичны последствия программных сбоев, время срабатывания сторожевого таймераможет быть уменьшено до нескольких миллисекунд. Сделать это можно с помощью выводов OSC SEL и OSC IN супервизора. Если эти выводы оставлены неподключеннымиили на OSC SEL подан низкий уровень, будет настроен штатный период настройки WD.Вывод OSC SEL – выбор осциллятора, при подаче на него активного высокогоуровня перестраивает таймер RESET и WD (рис.
3.21) и переключает его от встроенногозадатчика периода к внешним тактовым импульсам.Вывод OSC IN служит в этом случае для подачи внешних тактовых импульсов, позволяющих переопределить период задержки сторожевого таймера в широких пределах.В завершение еще раз напомним, что внешний, либо встроенный в МК супервизорявляется неотъемлемой частью современных локальных микроконтроллеров и эффективно защищает его от программных и аппаратных сбоев.Вопросы к экзамену.1. Супервизорная схема МАХ 691.
Назначение и функциональная схема.2. Аппаратная и программная поддержка энергонезависимого ОЗУ для защиты от сбоев попитанию.3. Защита МК от помех по питанию и программных сбоев.Рябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э.
Баумана, V_Ryabov@mail.ru.