Микропроцессоры и микроконтроллеры

 
 
 
«Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.»
Brian W. Kernighan.
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципы работы микропроцессоров :: Использование таймеров для реализации периодических вычислений

Использование таймеров для реализации периодических вычислений

Часто таймер используются в специализированных и бортовых вычислителях для обеспечения заданного периода реализации алгоритмов управления – (для многотактных алгоритмов или многозадачных систем – ). Значения этих периодов рассчитывают при синтезе алгоритмов управления. Задача вычислителя стоит в строгом соблюдении этих значений, поскольку от этого зависят динамические свойства системы управления.

Особенность реализации алгоритма управления состоит в том, что после однократного выполнения алгоритма процессор должен ожидать завершения текущего периода , что определяется сигналом прерывания от таймера (рис. 7.4). При этом в процедуре обработки прерывания от таймера, который реализует , должен каждый раз после инициализации таймера быть выполнен переход на начало алгоритма, а не в ту точку программы, где возникло прерывание. Возврат из процедуры обработки даже в этом случае следует выполнять не по команде JMP, а с использованием специальной команды возврата (RETI или IRET) – попробуйте объяснить, почему? Указанное требование обеспечивается тем, что внутри процедуры обработки точка возврата принудительно считывается из стека, а на её место заносится адрес начала блока вычислений.

Блок-схема (рис. 7.4.-б) не совсем точно отражает процесс обработки и реализации периода . Для описания событийно-ориентированных действий лучше использовать временные диаграммы (рис. 7.4.-а).

Логика реализации периодических вычислений

Рис. 7.4. Логика реализации периодических вычислений:
а) временная диаграмма действий устройств вычислителя;
б) блок-схема реализации периода

Для предотвращения зацикливаний в алгоритмах обработки данных, реализуемых в управляющих вычислителях, применяют так называемый сторожевойтаймер (Watch Dog Timer – WDT). Этоn таймер настраивают на интервал , а сигнал прерывания с этого таймера используют в вычислительном блоке как сигнал аппаратного сброса процессора. После каждого нормально завершенного периода должна быть выполнена новая инициализация и перезапуск сторожевого таймера.

В современных управляющих вычислительных системах обычно применяют функционально завершенные микросхемы таймеров с программной настройкой (например, К580ВИ53, К1810ВИ54 или подобные). Кроме того, таймеры входят в состав однокристальных микроконтроллеров, что позволяет выполнять на их основе цифровые системы управления объектами или процессами в реальном времени.




<< Предыдущая статья
«Реализация функций времени»