Страница 38 из 40
Многие процессоры содержат на кристалле таймер, обычно построенный на каскадном соединении делителей частоты. На его вход подается сигнал тактовой частоты. Управление таймером может включать разнообразные опции, например установку заданного начального значения, автоматический запуск по сигналу прерывания в конце счета или при подаче внешнего управляющего сигнала и др. Специальные функции таймера предназначены в основном для фиксации отрезков относительно большой длительности и не всегда просты в реализации. Поэтому разработчику часто приходится искать другие способы для осуществления нужных временных задержек.
В этих случаях очень важно иметь точные характеристики микропроцессора, чтобы знать длительность выполнения каждой из команд. Данные величины указываются в виде числа машинных циклов, равных, как правило, части периода тактового генератора. Так, для некоторого цикла в документации может быть указано время: tcycl = 2tosc. Это означает, что при рабочей частоте кварцевого генератора 2 МГц данный цикл будет длиться 1 мкс (2 х 0,5 мкс). Если команда Ida 48 выполняется за два цикла, она длится 2 мкс. Повторяя команду n раз, можно обеспечить временную задержку n х 2 мкс.
Теперь следует вставить ее в цикл, который увеличит задержку в нужное число раз. Поскольку речь идет о подпрограмме, продолжительность операций вызова и возвращения должна входить в общую временную задержку, как показано на рис. 4.5.
Команда пор (операция без какого-либо действия) обеспечивает дополнительную задержку (1 мкс) с целью получения нужного результата. Наконец, следует добавить, что для формирования некоторых нестандартных длительностей можно воздействовать на частоту кварцевого тактового генератора, которая лежит в основе всех расчетов времени задержки.
ФОРМИРОВАНИЕ СИГНАЛА СИНХРОНИЗАЦИИ
Иногда для синхронизации операций измерения или счета необходимо использовать внешнее задающее устройство. Обычно опорный сигнал подается на вход прерывания микропроцессора. При этом не всегда нужно выполнять прерывание, иногда можно обойтись операцией простого программного считывания. Достаточно дождаться изменения состояния на входе и убедиться в том, что счетчик в этот момент показывает заданное значение.
Электрическая сеть — довольно точный источник задающего сигнала. При ее использовании обычно удается исключить ошибки считывания, вызываемые внешними помехами. В регулирующих устройствах с широтно-импульсной модуляцией (см. главу 2, раздел «Широтно-импульсная модуляция») при наличии счетчика, синхронизированного с напряжением сети, можно управлять симистором в нужный момент без создания дополнительной схемы синхронизации.
Принцип запуска схемы синхронизации от сети подобен принципу генерации сигнала установки системы в исходное состояние (см. раздел «Начальная установка микроконтроллера»). Отметим, что обе схемы могут сосуществовать в одном устройстве. Используемый в схеме стабилитрон ограничивает сверху напряжение, снятое с выхода трансформатора (перед диодным мостом), до величины, приемлемой для микроконтроллера (рис. 4.6).
Полученный прямоугольный сигнал подается на вход прерывания (или на другой вход) через резистор ограничения тока. При необходимости этот сигнал можно использовать в качестве опорного для внутреннего таймера.
ОХЛАЖДЕНИЕ АППАРАТУРЫ
Современные микропроцессоры и микроконтроллеры потребляют значительно меньше энергии, чем модели предыдущих поколений.
В некоторых случаях мощность уменьшилась в 50-100 раз. Одновременно с этим можно наблюдать впечатляющий рост возможностей и быстродействия электронных устройств. Тем не менее мощность, рассеиваемая процессором, продолжает оставаться его важной характеристикой. Особенно это касается материнских плат IBM-совместимых компьютеров.
Часто вентилятор охлаждения закрепляется на корпусе процессора, который снабжен пластинчатым радиатором. В некоторых моделях предыдущих поколений (процессоры типа 486) для размещения вентилятора были предусмотрены только направляющие. Цена вентилятора сравнительно невелика, поэтому обычно его ставят на все микропроцессоры, работающие при напряжении питания 5 В. Рекомендуется регулярно чистить вентилятор и проверять его состояние. Во всяком случае, эти операции следует выполнять, если издаваемый вентилятором шум усиливается.
СТОРОЖЕВАЯ СХЕМА
Сторожевая схема (Watch-dog — дословно «сторожевая собака») представляет собой устройство, контролирующее работу микропроцессора и вызывающее его перезагрузку при возникновении сбоя.
Речь может идти о бесконечном программном цикле, вызванном ошибкой программирования, о сбоях, связанных с нестандартными обстоятельствами или с неисправностью (помехи, отказ источника питания и др.).
Как правило, сторожевая схема вводится в аппаратуру, когда сбой может привести к серьезным последствиям (например, при управлении силовыми элементами). Многие современные микроконтроллеры содержат устройство слежения, активизирующееся по запросу.
Принцип работы сторожевой схемы достаточно прост и требует минимального программного обеспечения. На одном из выходов микропроцессора должен быть сформирован однобитный сигнал, который может использоваться и для других целей. Для этого в ключевую точку программы нужно вставить подпрограмму, генерирующую в нормальном режиме непрерывную последовательность импульсов, которая прерывается при возникновении сбоя. Эти импульсы управляют работой одновибратора, выход которого соединен со схемой перезагрузки процессора. Постоянная времени одновибратора определяется параметрами RC-цепи и рассчитывается так, что превышение заданного временного промежутка между двумя импульсами вызывает переключение выходного сигнала. Таким образом, важна именно длительность временного промежутка, а не ширина импульса. Это обеспечивает определенную свободу выбора при создании программы.
Источником сигнала может служить любой генератор импульсов, которые вырабатываются в ходе нормальной работы процессора и следуют с регулярными интервалами (например, импульсы активизации индикатора или опроса клавиатуры). В период инициализации процессора сторожевая схема блокирована, пока не установится рабочий режим.
На рис. 4.7 представлена простая схема одновибратора, содержащая два транзистора, несколько резисторов и конденсаторов.
Цепь R2/C2 соединена со схемой, обеспечивающей начальную установку процессора. Параметры элементов цепи должны соответствовать техническим характеристикам процессора. Когда процессор запущен, транзистор Т1 замыкает конденсатор С1 с частотой поступающих на него импульсов. Если импульсы прекращаются, конденсатор заряжается через резистор R1, что вызывает повышение напряжения на базе транзистора Т2. При определенном уровне входного напряжения транзистор открывается, и конденсатор С2 быстро разряжается. Это приводит к появлению на выходе отрицательного сигнала, вызывающего перезагрузку процессора. Величины R1 и С1 рассчитываются так, чтобы их произведение значительно превышало период следования импульсов на входе схемы.
5. СПРАВОЧНАЯ ИНФОРМАЦИЯ
РАСПОЛОЖЕНИЕ ВЫВОДОВ
• стандарт RS232: см. главу 2, раздел «Последовательный интерфейс»;
• разъем Centronics: см. главу 2, раздел «Цифро-аналоговое преобразование»;
• соединитель Peritel (он же SCART): рис. 5.1.