Принцип работы сторожевой схемы достаточно прост и требует минимального программного обеспечения. На одном из выходов микропроцессора должен быть сформирован однобитный сигнал, который может использоваться и для других целей. Для этого в ключевую точку программы нужно вставить подпрограмму, генерирующую в нормальном режиме непрерывную последовательность импульсов, которая прерывается при возникновении сбоя. Эти импульсы управляют работой одновибратора, выход которого соединен со схемой перезагрузки процессора. Постоянная времени одновибратора определяется параметрами RC-цепи и рассчитывается так, что превышение заданного временного промежутка между двумя импульсами вызывает переключение выходного сигнала. Таким образом, важна именно длительность временного промежутка, а не ширина импульса. Это обеспечивает определенную свободу выбора при создании программы.
Источником сигнала может служить любой генератор импульсов, которые вырабатываются в ходе нормальной работы процессора и следуют с регулярными интервалами (например, импульсы активизации индикатора или опроса клавиатуры). В период инициализации процессора сторожевая схема блокирована, пока не установится рабочий режим.
На рис. 4.7 представлена простая схема одновибратора, содержащая два транзистора, несколько резисторов и конденсаторов.
Цепь R2/C2 соединена со схемой, обеспечивающей начальную установку процессора. Параметры элементов цепи должны соответствовать техническим характеристикам процессора. Когда процессор запущен, транзистор Т1 замыкает конденсатор С1 с частотой поступающих на него импульсов. Если импульсы прекращаются, конденсатор заряжается через резистор R1, что вызывает повышение напряжения на базе транзистора Т2. При определенном уровне входного напряжения транзистор открывается, и конденсатор С2 быстро разряжается. Это приводит к появлению на выходе отрицательного сигнала, вызывающего перезагрузку процессора. Величины R1 и С1 рассчитываются так, чтобы их произведение значительно превышало период следования импульсов на входе схемы.
5. СПРАВОЧНАЯ ИНФОРМАЦИЯ
РАСПОЛОЖЕНИЕ ВЫВОДОВ
• стандарт RS232: см. главу 2, раздел «Последовательный интерфейс»;
• разъем Centronics: см. главу 2, раздел «Цифро-аналоговое преобразование»;
• соединитель Peritel (он же SCART): рис. 5.1.
Назначение выводов и уровень сигналов представлены в табл. 5.1.
ТОКИ И НАПРЯЖЕНИЯ РАЗЛИЧНОЙ ФОРМЫ
На рис. 5.2 представлены формулы для определения действующих (эффективных) значений сигналов различной формы. Эти формулы действительны как для токов, так и для напряжений. В них используются пиковые (максимальные) значения сигналов и коэффициент заполнения (величина, обратная скважности). Напомним, что при измерении синусоидального напряжения или тока индицируется действующее значение.
СХЕМА ПОДКЛЮЧЕНИЯ К ТЕЛЕФОННОЙ ЛИНИИ
Схема, представленная на рис. 5.3а, позволяет определить наличие вызова в телефонной линии. Варистор подавляет возможные помехи (перенапряжения), а конденсаторы отсекают постоянную составляющую напряжения.
При наличии звонка на выводах стабилитрона появляется переменный сигнал с амплитудой, достаточной для зажигания светодиода оптопары, подключенного через резистор 220 Ом. Выходной транзистор повторяет на эмиттере сигналы, которые поступают на вход. При этом гальваническая связь между телефонной линией и остальной частью схемы отсутствует. На интегрирующую цепочку 100 кОм/4,7 мкФ подаются серии импульсов, которые она трансформирует в постоянное напряжение. Состояние на выходе операционного усилителя изменяется каждый раз, когда потенциал на его неинвертирующем входе превышает потенциал на инвертирующем входе. Таким образом, каждый звонок сопровождается переходом в состояние высокого выходного напряжения.
Несложно произвести подсчет звуковых сигналов, чтобы при заданном их числе занять линию, зажечь сигнальную лампу или подключить более мощный звонок. Операция занятия линии сопровождается пропусканием по ней тока определенной величины. К линии можно подключиться через резистор, однако на практике предпочитают использовать специальный трансформатор. Передаваемые по линии речевые сигналы или двоичные коды снимают с его вторичной обмотки.