Использование таймеров для реализации периодических вычислений
Часто таймер используются в специализированных и бортовых вычислителях для обеспечения заданного периода реализации алгоритмов управления – (для многотактных алгоритмов или многозадачных систем – ). Значения этих периодов рассчитывают при синтезе алгоритмов управления. Задача вычислителя стоит в строгом соблюдении этих значений, поскольку от этого зависят динамические свойства системы управления.
Особенность реализации алгоритма управления состоит в том, что после однократного выполнения алгоритма процессор должен ожидать завершения текущего периода , что определяется сигналом прерывания от таймера (рис. 7.4). При этом в процедуре обработки прерывания от таймера, который реализует , должен каждый раз после инициализации таймера быть выполнен переход на начало алгоритма, а не в ту точку программы, где возникло прерывание. Возврат из процедуры обработки даже в этом случае следует выполнять не по команде JMP, а с использованием специальной команды возврата (RETI или IRET) – попробуйте объяснить, почему? Указанное требование обеспечивается тем, что внутри процедуры обработки точка возврата принудительно считывается из стека, а на её место заносится адрес начала блока вычислений.
Блок-схема (рис. 7.4.-б) не совсем точно отражает процесс обработки и реализации периода . Для описания событийно-ориентированных действий лучше использовать временные диаграммы (рис. 7.4.-а).
Рис. 7.4. Логика реализации периодических вычислений: а) временная диаграмма действий устройств вычислителя; б) блок-схема реализации периода
Для предотвращения зацикливаний в алгоритмах обработки данных, реализуемых в управляющих вычислителях, применяют так называемый сторожевойтаймер (Watch Dog Timer – WDT). Этоn таймер настраивают на интервал , а сигнал прерывания с этого таймера используют в вычислительном блоке как сигнал аппаратного сброса процессора. После каждого нормально завершенного периода должна быть выполнена новая инициализация и перезапуск сторожевого таймера.
В современных управляющих вычислительных системах обычно применяют функционально завершенные микросхемы таймеров с программной настройкой (например, К580ВИ53, К1810ВИ54 или подобные). Кроме того, таймеры входят в состав однокристальных микроконтроллеров, что позволяет выполнять на их основе цифровые системы управления объектами или процессами в реальном времени.
|