Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Цена «деления», диапазон измерения и управление входной частотойТаймерная подсистема В состав управляющей вычислительной системы УВС обязательно входит подсистема, позволяющая выполнять измерения интервалов времени, а также другие действия со временем. Обычно в состав подсистемы входит несколько узлов, которые принято называть термином «канал таймера» или, более коротко «таймер». Набор действий, которые можно выполнять, используя «канал таймера», может несколько отличаться для разных УВС, но и в способах реализации (как сделан таймер) и в способах использования (как и в каких ситуациях это применяют) – много общего.
Почему в УВС делают несколько таймерных каналов:
Основной счетчик Основа таймера – многоразрядный цифровой счетчик. Он имеет специальный (счетный) вход, на который подается периодически изменяющийся логический сигнал от внутреннего генератора, частота переключений которого FВХ стабильна и известна разработчику (программисту). Каждый период входного сигнала вызывает изменение содержимого счетчика на 1. Некоторые реализации таймеров считают «на сложение», некоторые другие – «на вычитание», наконец есть реализации, в которых программист может программно выбрать направление счета.
Для проведения измерений времени и других действий, счетчик обязательно должен быть программно доступен для чтения. В дальнейшем этот счетчик будем кратко называть «таймер». Таймер последовательно проходит (при счете «на сложение») все значения от 0 до 2n‑1, где n – число разрядов в счетчике таймера, а затем возвращается в состояние 0 (пересчет по модулю 2n). Переход из максимального в нулевое состояние называют переполнением (OV). Время пересчета (между переполнениями) составляет Tп=2nt, где t=1/FВХ ‑ период входной частоты таймера. Как увидим далее, бывают случаи, когда желательно (необходимо) иметь доступ к таймеру также и по записи. Техника измерения времени (чтение счетчика) Любые измерения времени являются «разностными», поскольку для шкалы времени отсутствует естественный ноль. В технических устройствах, говоря об измерении времени, имеют в виду измерение длительности интервала времени между двумя событиями. Одним из таких событий (начальным) может быть момент включения питания микрокомпьютера (либо момент старта программы). Говоря далее о событиях, будем иметь в виду любое изменение в УВС. Два примера: Для измерения интервала времени необходимо прочитать в переменную содержимое таймера в момент первого события, затем еще раз (в другую переменную) в момент второго события, вычислить разность двух этих значений и умножить ее на длину периода входной частоты таймера. Эта техника работоспособна, если интервал времени между событиями не превышает времени пересчета таймера Tп=2nt. (Можно легко показать, что если между моментами захвата двух значений происходит переполнение таймера, то вычитание все равно дает верное значение разности.) Отметим, что если таймер программно доступен по чтению, то схемотехника чтения таймера обеспечивает (в большинстве реализаций, но не во всех!) несовпадение моментов чтения и модификации значения счетчика, т.е. опасность прочитать нестабильное значение исключена. При этом способе измерения момент захвата времени несколько запаздывает по отношению к (внешнему) событию, и возникает систематическая ошибка, включающая следующие составляющие: Таким же образом можно измерить время выполнения фрагмента кода, однако в этом случае компенсации ошибок не происходит, поскольку первый отсчет времени делается ДО начала выполнения фрагмента, а второй отчет – ПОСЛЕ завершения фрагмента, в то время как при захвате времен возникновения внешних событий оба отсчета времени делаются ПОСЛЕ наступления событий. Отметим два момента. 1) Пока ничего не говорилось, каким образом можно связать наступление события и выполнение команд, которые должны прочитать содержимое таймера. 2) Задержка между моментом наступления события и моментом, когда программно считывается содержимое таймера, должна быть минимальной и стабильной.
Техника формирования события в заранее заданное время Под формирование события может пониматься любое изменение управляющего воздействия на объект управления, выдаваемого микроконтроллером. Обычно управляющая программа должна формировать такие изменения в строго определенные моменты времени (правильнее сказать – обеспечивать строго определенные промежутки времени между отдельными управляющими воздействиями). Формирование интервала времени можно осуществить, используя несколько разных техник. Сравнение с уставкой Эта техника предполагает следующую последовательность действий (которую можно реализовать программно): a) вычислить величину, соответствующую приращению содержимого таймера за требуемый интервал времени (она равна: U=T/t). b) в начале интервала прочитать текущее содержимое таймера t1; c) вычислить и запомнить в переменной значение U+ t1; d) периодически читать текущее содержимое таймера ti, пока не выполнится ti³U+ t1. Выполнение условия говорит об истечении интервала времени T. После этого можно e) выполнить требуемое действие (например, изменить управляющее объектом воздействие). Этот метод имеет систематическую составляющую ошибки, определяемую длительностью выполнения операций (чтение_таймера + проверка_условия). Если указанная последовательность действий выполняется программно, то: Величина ошибки может быть уменьшена, если операция сравнения ti><(t1+U)mod2n выполняется аппаратно. Для этого в состав таймерного канала добавляют регистр уставки, в который следует записать вычисленное значение t1+U, а также устройство сравнения кодов. При равенстве (изменяющегося) содержимого счетчика таймера и (неизменного) содержимого регистра уставки, компаратор: а) устанавливает флаг, состояние которого можно анализировать программно; б) может быть, вызывает запрос аппаратного прерывания; в) формирует электрический сигнал, который в том или ином виде выводится на внешний контакт микроконтроллера, и который можно использовать для формирования воздействия на объект.
Такую аппаратную реализацию канала таймера формирования интервала времени называют каналом генерации событий (по английски Output-Compare OC).
Таймерная подсистема В состав управляющей вычислительной системы УВС обязательно входит подсистема, позволяющая выполнять измерения интервалов времени, а также другие действия со временем. Обычно в состав подсистемы входит несколько узлов, которые принято называть термином «канал таймера» или, более коротко «таймер». Набор действий, которые можно выполнять, используя «канал таймера», может несколько отличаться для разных УВС, но и в способах реализации (как сделан таймер) и в способах использования (как и в каких ситуациях это применяют) – много общего.
Почему в УВС делают несколько таймерных каналов:
Основной счетчик Основа таймера – многоразрядный цифровой счетчик. Он имеет специальный (счетный) вход, на который подается периодически изменяющийся логический сигнал от внутреннего генератора, частота переключений которого FВХ стабильна и известна разработчику (программисту). Каждый период входного сигнала вызывает изменение содержимого счетчика на 1. Некоторые реализации таймеров считают «на сложение», некоторые другие – «на вычитание», наконец есть реализации, в которых программист может программно выбрать направление счета.
Для проведения измерений времени и других действий, счетчик обязательно должен быть программно доступен для чтения. В дальнейшем этот счетчик будем кратко называть «таймер». Таймер последовательно проходит (при счете «на сложение») все значения от 0 до 2n‑1, где n – число разрядов в счетчике таймера, а затем возвращается в состояние 0 (пересчет по модулю 2n). Переход из максимального в нулевое состояние называют переполнением (OV). Время пересчета (между переполнениями) составляет Tп=2nt, где t=1/FВХ ‑ период входной частоты таймера. Как увидим далее, бывают случаи, когда желательно (необходимо) иметь доступ к таймеру также и по записи. Техника измерения времени (чтение счетчика) Любые измерения времени являются «разностными», поскольку для шкалы времени отсутствует естественный ноль. В технических устройствах, говоря об измерении времени, имеют в виду измерение длительности интервала времени между двумя событиями. Одним из таких событий (начальным) может быть момент включения питания микрокомпьютера (либо момент старта программы). Говоря далее о событиях, будем иметь в виду любое изменение в УВС. Два примера: Для измерения интервала времени необходимо прочитать в переменную содержимое таймера в момент первого события, затем еще раз (в другую переменную) в момент второго события, вычислить разность двух этих значений и умножить ее на длину периода входной частоты таймера. Эта техника работоспособна, если интервал времени между событиями не превышает времени пересчета таймера Tп=2nt. (Можно легко показать, что если между моментами захвата двух значений происходит переполнение таймера, то вычитание все равно дает верное значение разности.) Отметим, что если таймер программно доступен по чтению, то схемотехника чтения таймера обеспечивает (в большинстве реализаций, но не во всех!) несовпадение моментов чтения и модификации значения счетчика, т.е. опасность прочитать нестабильное значение исключена. При этом способе измерения момент захвата времени несколько запаздывает по отношению к (внешнему) событию, и возникает систематическая ошибка, включающая следующие составляющие: Таким же образом можно измерить время выполнения фрагмента кода, однако в этом случае компенсации ошибок не происходит, поскольку первый отсчет времени делается ДО начала выполнения фрагмента, а второй отчет – ПОСЛЕ завершения фрагмента, в то время как при захвате времен возникновения внешних событий оба отсчета времени делаются ПОСЛЕ наступления событий. Отметим два момента. 1) Пока ничего не говорилось, каким образом можно связать наступление события и выполнение команд, которые должны прочитать содержимое таймера. 2) Задержка между моментом наступления события и моментом, когда программно считывается содержимое таймера, должна быть минимальной и стабильной.
Цена «деления», диапазон измерения и управление входной частотой При измерениях времени с помощью таймера ошибка измерения имеет порядок величины t, а максимальный интервал, который можно измерить не превышает 2nt. Количество n разрядов счетчика в таймере жестко определено разработчиками микросистемы и составляет обычно степень двух (8 или 16 или 32, хотя иногда можно встретить и другие разрядности). Уменьшение погрешности измерения при аппаратном захвате моментов времени может быть достигнуто, если есть возможность управлять входной частотой таймера. Во многих реализациях такая возможность в том или ином виде имеется. При увеличении входной частоты пропорционально уменьшается и максимальный измеримый интервал. Наоборот, при увеличении периода входной частоты таймера одновременно увеличивается ошибка захвата времени (ошибка дискретности) и максимальный измеримый интервал. Независимое уменьшение ошибки и увеличение измеримого интервала возможно, только если есть возможность увеличения разрядности таймера.
При управлении входной частотой таймера может предоставляться несколько возможностей: а) программно управляемый делитель частоты на входе таймера, который позволяет, уменьшая частоту, увеличивать максимальный измеримый интервал, ценой увеличения ошибки; обычно коэффициенты деления делаются кратными степени «двойки»; б) возможность подать внешнюю частоту через контакт микросхемы на вход таймера (не выше некоторого максимального значения, до которого счетчик еще сохраняет работоспособность) – это позволяет подключить к входу таймера свой генератор с требуемой частотой, либо превратить таймер в счетчик событий, подключив к его входу сигнал от датчика; в) пуск или остановка счета путем разрешения или запрета входной частоте поступать на счетный вход таймера; г) возможность изменять направление счета таймера (выбирать режим «сложение» либо «вычитание» ‑ иногда это бывает полезно, см. далее «режим с автоперезагрузкой»).
|
||
Последнее изменение этой страницы: 2016-04-08; просмотров: 452; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.154.237 (0.007 с.) |