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

 
 
 
«В теории, теория и практика неразделимы. На практике это не так.»
Yoggi Berra
Русский | Українська


Микропроцессоры и микроконтроллеры :: Канали вводу-виводу на основі МК51 :: Реалізація періоду дискретності виконання обчислень

Реалізація періоду дискретності виконання обчислень

Алгоритми управління, сформовані в процесі синтезу цифрового регулятора, в якості одного з параметрів містить значення періоду (періодів) дискретності Т0. Наприклад:

rn

.

rn

Хоча параметр Т0 безпосередньо не є коефіцієнтом алгоритму або вимірюваної змінної, його облік і точна програмна реалізація необхідні, тому що від цього залежить якість управління.

rn

При обліку періоду дискретності тимчасова діаграма реалізації алгоритмів керування в загальному випадку має вигляд, показаний на ріс.23.2.

rn

Найпростіший спосіб реалізації періоду дискретності є обчислення точного часу виконання дій по вводу, обробки та виведення інформації ТВОВ, і часу очікування Тож = Т0 - ТВОВ. Очікування можна реалізувати у вигляді фіксованого, заздалегідь розрахованого кількості програмних циклів (реалізація залежить від тактової частоти і принципів виконання команд процесором).

rn

Заполненіе періоду дискретності роботи вичіслітеля

rn

Рис. 23.2. Заповнення періоду дискретності роботи обчислювача

rn

Для мікроконтролерів MCS-51 часто використовують програмні цикли на основі команди DJNZ Rg, мітка, причому в регістр Rg завантажують потрібну кількість повторень. Виконання команди займає два машинних циклу.

rn

При співвідношенні Тож>> ТВОВ можна організувати найпростішу різновид цього способу. Вся тривалість періоду дискретності Т0 реалізується у вигляді циклів очікування. При цьому фактичний період дискретності Т0Ф = Т0 + ТВОВ.

rn

У будь-якому випадку використовувати такий програмний підхід має сенс лише для простих алгоритмів керування, що не містять великої кількості галуження (для таких алгоритмів ТВОВ буде приблизно однаковим у сусідніх періодах, що дозволить приблизно витримувати реальний час). У відповідальних системах реального часу ( real- time systems ) для реалізації періодів дискретності завжди використовують таймери.

rn

Використання таймера з програмним очікуванням завершення періоду Т0

rn

При використанні таймера в якості пристрою завдання інтервалів часу (у тому числі періодів дискретності) перш за все потрібно оцінити що реалізується періоду дискретності. Для цього користуються співвідношенням

rn

[T0 /Ti] rn

де Ti - період імпульсів, підраховуємо таймером (як правило, від ГТВ);

rn

NMAX - максимальне значення в лічильних регістрах таймера (конфігурація), що залежить від їх розрядність NT: .

rn

Якщо підібрати конфігурацію (розрядність) таймера не вдається, то період T0 реалізують у вигляді деякої кількості M Дискрет часу. Конфігурацію (розрядність) таймера підбирають зі співвідношення:

rn

[T0 /(Ti