Таймеры и процессоры событий. Управление в реальном времени означает способность МПС получить информацию о состоянии управляемого объекта

 

Управление в реальном времени означает способность МПС получить информацию о состоянии управляемого объекта, выполнить необходимые расчеты и сформировать управляющее воздействие в течение интервала времени, по истечении которого эти воздействия вызовут желаемое поведение объекта. От процессорного ядра зависит время вычислений. Но надо тратить как можно меньше времени на прием информации с датчиков и выдачу управляющих сигналов. Для решения этих задач используют прежде всего систему прерываний и модуль таймера. Развитая система прерываний позволяет сократить время реакции МП-системы на изменения состояния объекта. Модули таймеров служат для приема информации от датчиков с времяимпульсными выходами, а также для формирования управляющих воздействий в виде последовательности импульсов с изменяющимися параметрами.

Опыт построении МПС позволяет выделить типовые задачи, которые должен уметь решать МК для эффективного управления в реальном времени:

· отсчет равных интервалов времени заданной длительности, повтор алгоритма управления по истечении каждого такого временного интервала. Обычно эту функцию называют формированием меток реального времени;

· контроль за изменением состояния линии ввода МК;

· измерение длительности сигнала заданного логического уровня на линии ввода МК;

· подсчет числа импульсов внешнего сигнала на заданном временном интервале;

· формирование на линии вывода МК сигнала заданного логического уровня с программируемой задержкой по отношению к изменению сигнала на линии ввода;

· формирование на линии вывода МК импульсного сигнала с программируемой частотой и программируемым коэффициентом заполнения.

 

Каждая из перечисленных задач может быть выполнена программными средствами, без использования специальных аппаратных решений. Можно реализовать программную временную задержку, загрузив в регистр число и повторяя декрементирование регистра до нуля. Для контроля за изменением состояния линии ввода можно организовать постоянный опрос линии — поллинг. Однако нельзя будет параллельно с этим производить вычисления или решать несколько задач. Поэтому, для выполнения функций, связанных с управлением в реальном времени, в состав МК включают специальные аппаратные средства, называемые таймерами.

Модуль таймера 8-разрядного МК представляет собой 16-разрядный счетчик со схемой управления. В карте памяти он отображается двумя регистрами — TH и TL. Они доступны для чтения и записи. Счетчик работает на сложение. Может использовать для тактирования импульсную последовательность с управляемого делителя частоты fbus, либо внешнюю импульсную последовательность, поступающую на один из входов МК. При переполнении устанавливается флаг TF и генерируется запрос на прерывания, если прерывания разрешены. Классический модуль таймера используется в МК с архитектурой MCS-51. Дополнительная логика позволяет измерять длительность импульса, поступающего на одну из линий МК. Наличие режима перезагрузки позволяет получить метки реального времени с периодом, отличным от Ксч=216.

Совершенствование системы реального времени достигается увеличением числа модулей таймеров, а также введением аппаратных средств входного захвата (Input Capture) и выходного сравнения (Output Compare).

Канал входного захвата (рис. 9.1) содержит детектор событий, который наблюдает за уровнем напряжения на одном из входов МК. При изменении сигнала на линии с 0 на 1 или наоборот текущее состояние счетчика таймера записывается в 16-раз-рядный регистр данных TIC канала захвата. Выбор типа события захвата устанавливается в процессе инициализации модуля таймера и может многократно изменяться по ходу выполнения программы. Каждое событие захвата отмечается установкой в 1 триггера TIC. Состояние триггера может быть считано программно, а если разрешены прерывания по событию входного захвата, то генерируется запрос на прерывание.

Рис. 9.1 — Канал входного захвата таймера

 

В канале выходного сравнения (рис. 9.2) многоразрядный цифровой компаратор непрерывно сравнивает изменяющийся во времени код счетчика таймера с кодом, который записан в 16-раз-рядном регистре TОC канала сравнения.

 

Рис. 9.2 — Канал выходного сравнения таймера

 

В момент равенства кодов на одном из выводов МК устанавливается заданный уровень выходного сигнала. Каждое событие выходного сравнения отмечается установкой в 1 триггера TОC. Состояние триггера может быть считано программно, а если разрешены прерывания по событию выходного сравнения, то генерируется запрос на прерывание.

Следующий этап в развитии подсистемы реального времени — модули процессоров событий. Модуль содержит в себе 16-раз-рядный счетчик временной базы и некоторое количество универсальных каналов захвата/сравнения, которые могут работать в одном из трех режимов:

· режим входного захвата;

· режим выходного сравнения;

· режим широтно-импульсной модуляции.

Сторожевой таймер

Предназначен для защиты микроконтроллера от сбоев в процессе работы. Представляет собой многоразрядный счетчик. При сбросе он обнуляется. При переходе в активный режим работы увеличивает код независимо от выполняемой программы и при переполнении генерирует сигнал внутреннего сброса МК. Для исключения этого события прикладная программа должна периодически сбрасывать счетчик.

 








Дата добавления: 2016-01-09; просмотров: 1185;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.