Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Таймеры и процессоры событий⇐ ПредыдущаяСтр 21 из 21
Большинство задач управления, которые реализуются с помощью МК, требуют исполнения их в реальном времени. Под этим понимается способность системы получить информацию о состоянии управляемого объекта, выполнить необходимые расчетные процедуры и выдать управляющие воздействия в течение интервала времени, достаточного для желаемого изменения состояния объекта. · импульсную последовательность с выхода управляемого делителя частоты fBUS; · сигналы внешних событий, поступающие на вход TOCKI контроллера. В первом случае говорят, что счетчик работает в режиме таймера, во втором — в режиме счетчика событий. При переполнении счетчика устанавливается в «единицу» триггер переполнения TF, который генерирует запрос на прерывание, если прерывания от таймера разрешены. Пуск и останов таймера могут осуществляться только под управлением программы. Программным способом можно также установить старший и младший биты счетчика в произвольное состояние или прочитать текущий код счетчика. · потери времени на выполнение команд пуска и останова таймера, приводящие к появлению ошибки при измерении временных интервалов и ограничивающие минимальную длительность измеряемых интервалов времени единицами мс; · сложности при формировании временных интервалов (меток времени), отличных от периода полного коэффициента счета, равного (Kдел/fBUS) · 216; · невозможность одновременного обслуживания (измерения или формирования импульсного сигнала) сразу нескольких каналов. Первые их двух перечисленных недостатков были устранены в усовершенствованном модуле таймера/счетчика, используемом в МК семейства MCS-51 (Intel). Дополнительная логика счетного входа позволяет тактовым импульсам поступать на вход счетчика, если уровень сигнала на одной из линий ввода равен «1». Такое решение повышает точность измерения временных интервалов, так как пуск и останов таймера производится аппаратно. Также в усовершенствованном таймере реализован режим перезагрузки счетчика произвольным кодом в момент переполнения. Это позволяет формировать временные последовательности с периодом, отличным от периода полного коэффициента счета. · увеличение числа модулей таймеров/счетчиков. Этот путь характерен для фирм, выпускающих МК со структурой MCS-51, а также для МК компаний Mitsubishi и Hitachi; · модификация структуры модуля таймера/счетчика, при которой увеличение числа каналов достигается не за счет увеличения числа счетчиков, а за счет введения дополнительных аппаратных средств входного захвата (input capture — IC) и выходного сравнения (output compare — OC). Такой подход используется, в частности, в МК компании Motorola. Принцип действия канала входного захвата таймера/счетчика иллюстрирует. · положительный (передний) фронт сигнала; · отрицательный (задний) фронт сигнала; · любое изменение логического уровня сигнала. Выбор типа события захвата устанавливается в процессе инициализации таймера и может неоднократно изменяться в ходе выполнения программы. Каждое событие захвата приводит к установке в «1» триггера входного захвата и появлению на его выходе флага (признака) входного захвата ICF. Состояние триггера входного захвата может быть считано программно, а если прерывания по событию захвата разрешены — формируется запрос на прерывание INT IC. · установка высокого логического уровня; · установка низкого логического уровня; · инвертирование сигнала на выходе. При наступлении события сравнения устанавливаются в «1» триггер выходного сравнения и соответствующий ему признак выходного сравнения OCF. Аналогично режиму входного захвата состояние триггера выходного сравнения может быть считано программно, а если прерывания по событию сравнения разрешены — формируется запрос на прерывание INT OC. · недостаточное число каналов захвата и сравнения, принадлежащих одному счетчику временной базы. Это не позволяет сформировать синхронизированные между собой многоканальные импульсные последовательности; · однозначно определенная конфигурация канала (или захват или сравнение) часто не удовлетворяет потребностям решаемой задачи; · формирование сигналов по методу широтно-импульсной модуляции (ШИМ) требует программной поддержки, что снижает максимально достижимую частоту выходного сигнала. Поэтому следующим этапом развития модулей подсистемы реального времени МК стали модули процессоров событий. Впервые модули процессоров событий были использованы компанией Intel в МК семейства 8xC51Fx. Этот модуль получил название программируемого счетного массива (Programmable Counter Array — PCA). · выход делителя на 12 тактового генератора МК; · выход делителя на 4 тактового генератора МК; · сигнал переполнения таймера 0; · внешний входной сигнал на выводе ЕСI (P1.2).
· защелкивания по фронту и/или спаду импульса на входе CEXi; · программируемого таймера; · высокоскоростного выхода; · широтно-импульсного модулятора. Модуль 4 может быть также запрограммирован как сторожевой таймер (Watchdog Timer – WDT).
25. ВВОД/ ВЫВОД ИНФОРМАЦИИ В ПОСЛЕДОВАТЕЛЬНЫХ КОДАХ: ПРОБЛЕМЫ, ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ ПРОГРАММИРУЕМЫХ АППАРАТНЫХ СРЕДСТВ, НАДЕЖНОСТЬ И ДОЛГОВЕЧНОСТЬ.
Интерфейсы последовательных каналов ввода/вывода в микропроцессорных системах реализуются с использованием БИС 8251 (российский аналог – 580ВВ51). Микросхема представляет собой универсальный синхронно-асинхронный приемопередатчик последовательной связи, выполняющий функции приема и преобразования параллельных форматов слов в последовательные для их передачи по каналам связи и последовательных форматов, принимаемых из каналов связи в параллельный формат для ввода в процессор. Микросхема может быть запрограммирована для работы в пяти режимах: асинхронная передача, асинхронный прием, синхронная передача, синхронный прием с внутренней синхронизацией, синхронный прием с внешней синхронизацией.
Последовательная передача данных может быть васинхронном или синхронном режимах. При асинхронной передаче каждому передаваемому коду символа предшествует старт-бит, сигнализирующий приемнику о начале очередной посылки. Далее следуют биты данных (5 – 8) и возможно бит паритете – P (бит контроля четности). Завершает посылку один или два стоповых бита, гарантирующих выдержку между соседними посылками. Старт-бит (всегда лог.0) обеспечивает простой механизм синхронизации приемника фронтом сигнала старт-бита. Внутренний генератор синхронизации приемника использует счетчик-делитель опорной частоты, обнуляемый в момент приема начала старт-бита. Этот счетчик формирует строб импульсы, по которым приемник фиксирует последующие принимаемые биты в середине их временных интервалов. Генераторы синхронизации передатчика и приемника, естественно, настраиваются на равные частоты. Чем выше частота передачи, тем больше влияние искажения фронтов на фазу принимаемого сигнала и тем больше погрешность привязки стробов к середине битового интервала.
Синхронный режимпредполагает постоянную активность канала передачи данных. Посылка начинается с передачи кода синхросимвола (одного или двух). Далее коды символов передаются плотным потоком. Если у передатчика нет данных для передачи, то он заполняет паузу непрерывной посылкой кодов синхросимволов. В синхронном режиме необходима внешняя синхронизация приемника и передатчика, либо использование само-синхронизирующего кодирования, при котором на приемной стороне из принятого сигнала формируются импульсы синхронизации. В качестве связных адаптеров применяются специальные микросхемы, например 8251А, 8250, 16450, 16550А (Intel). В качестве примера рассмотрим микросхему программируемого связного адаптера КР580ВВ51А, являющуюся аналогом микросхем 8251А.
|