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

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



На правах рекламы:



Rambler's Top100 Рейтинг@Mail.ru
Микропроцессоры и микроконтроллеры :: Канали вводу-виводу на основі МК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