| Главная страница | | Архитектура микроЭВМ | | Принципы обмена данными | | Лабораторные работы | | Примеры систем | | Программно-логическая модель | | Справочная информация |
 
Однокристальная микроЭВМ МК Система накопления данных

   ОЦЕНКА ТОЧНОСТИ РЕАЛИЗАЦИИ ПЕРИОДА ОПРОСА ТЕХНОЛОГИЧЕСКОГО ПАРАМЕТРА

    Составим последовательность работы таймера T/C0 во время формирования периода опроса параметра (см. >>). Прерывание возникает в моменты времени t0. Максимальная задержка входа в обработчик прерывания может возникнуть только в случае, когда момент t0 совпадет с командой деления в подпрограмме, вызванной прерыванием INT1, но это очень редкий случай и его не следует принимать во внимание. Можно считать, что всегда минимальная величина задержки - t зад будет равна 38 тактам исходного генератора (2 такта - завершение цикла, в котором обнаружен запрос прерывания; 12 тактов - последний цикл текущей команды; 24 такта - выполнение аппаратно-реализуемой команды LCALL вызова программы обслуживания прерывания), а максимальная - на 12 тактов генератора больше (время завершения команды длительностью 2 машинных цикла).
    В это время таймер продолжает считать, но новый пересчет начинается только в момент времени t1 после перезагрузки константы пересчета. Длительность интервала t загр равна времени выполнения последовательности команд:

Последовательность
прерываний
от таймера T/C0

Загрузка константы пересчета в T/C0
Команда Время
выполнения,
циклы
PUSH PSW ; сохранение в стеке 2
PUSH ACC 2
MOV PSW,#00001000B ; настройка на банк 1 2
CLR TR0 ; останов таймера T/C0 1
MOV TH0,#4CH ; задание константы пересчета 2
MOV TL0,#10H 2
SETB TR0 ; запуск таймера T/C0 1
Всего 12

    Таким образом, расчетный интервал между прерываниями от таймера, равный 50 мс, складывается из величин t зад, t загр и времени счета таймера - t сч. С учетом того, что длительность машинного цикла равна 12 тактам генератора,получим для минимальной величины t зад:

    50000 мкс = [ 3,66667 + 12 + (65536 - К пересч)] * 1,08509.

    Отсюда К пересч = 19472 (4C10h). Для максимальной величины задержки получим К пересч = 19473 (4C11h). Выберем первую величину как константу пересчета, загружаемую в таймер T/C0. Абсолютная погрешность периода прерываний от таймера составит 1 мкс.
    Если программные счетчики после момента времени t1 оказываются равными нулю, то в программе обработки прерывания от таймера происходит переход к опросу параметра. Легко видеть, что момент начала опроса - t3 всегда сдвинут относительно t1 на величину t2-t1, определяемую временем выполнения команд до входа в подпрограмму, плюс величину t3-t2, определяемую временем от начала подпрограммы до момента запуска АЦП.
    Все указанные величины всегда имеют одну и ту же длительность. Поэтому погрешность периода опроса параметра всегда будет определяться только величиной константы Т, а именно 20 * Т * 1 мкс. При максимальной величине Т, равной 60 с, абсолютная погрешность периода опроса составит 1,2 мс, а относительная - 0,002%.

    Время последнего опроса при обработке результатов можно определить, зная момент первого опроса, количество опросов и период опроса. В системе не имеется возможности точной временной привязки момента первого опроса параметра ко всемирному времени. В таком случае время последнего опроса можно определить приблизительно. Тем не менее, можно оценитьnbsp;- какую дополнительную погрешность внесет погрешность в 1 мкс периода прерываний от таймера при времени работы 8 часов. Эта величина равна числу 28800 (максимальное количество отсчетов при Т=1 с), умноженному на 20, т.е. 57600 мкс, что менее даже 1 с. Разумеется, все приведенные расчеты справедливы только при использовании стабильного кварцевого резонатора.

   ТЕПЕРЬ ДЛЯ ВЫПОЛНЕНИЯ ЗАДАНИЯ ТРЕБУЕТСЯ:

- отладить программу работы микроЭВМ Отладка программы

| На главную страницу | На начало раздела | Задание на разработку системы | На предыдущий этап | На начало страницы | © КСиТ МИФИ, 2002 г.