Разработка микропроцессорной системы управления объектом, страница 2


          Описание алгоритма:

          Блок 2. Осуществляется начальная установка всех программируемых БИС: КПП, ПСА, ППА1 – ППА3, настройка таймера для тактирования ПСА.

          Блок 3. Чтение значений датчиков X1 – X5.      

          Блок 4. Вычисление значения Y1 на основании прочитанных значений X1 – X5.

          Блок 5. Опрос трёх аналоговых датчиков через АЦП посредством аналогового коммутатора сигналов. В данном блоке происходит поочерёдное переключение каналов с помощью ППА3. Так как АЦП работает очень быстро, то ожидания готовности АЦП нет.

Блок 6. Преобразование аналоговых сигналов V1-V3 к цифровым N1-N3.

Блок 7. Вычисление значения функции N в зависимости от числовых значений аналоговых сигналов N1 и N2.

Блок 8. Сравнение вычисленной функции N и константы Q, хранящейся в ПЗУ. В зависимости от результата сравнения МПС вырабатывает двоичные управляющие сигналы Y2  или Y3 длительностью t2 или t3, которые выдаются (блок 9 или 10) на регистр индикации со светодиодами РИ3, находящийся на пульте управления.

Блок 11. Вычисление управляющего воздействия Y4, для которого используются константы a0 и a1, а также подпрограмма умножения.

Блок 12. Выдача воздействия Y4 в виде аналогового сигнала посредством ЦАП на исполнительный механизм.

Блок 13. В зависимости от состояния кнопки «Останов» происходит либо переход на начало обработки, либо на конец работы алгоритма.

1.3 Обработка цифровой информации

В течение каждого цикла МПС опрашивает двоичные датчики X1 – X4. На основании значений датчиков вычисляется функция по следующей формуле:

Y1 = X1ÚX2ÚX3ÚX4

При единичном значении функции МПС вырабатывает выходной сигнал Y1=1 длительностью 90 мкс. Это означает, что через 90 мкс после выдачи единичного сигнала Y1 необходимо выработать нулевой сигнал Y1.

Единичное значение функции Y1 будет всегда кроме случая, когда X1=1, X2=0, X3=0, X4=0. Это означает, что нет необходимости вычислять логическую функцию. Достаточно сравнить принимаемое четырехбитное слово x4x3x2x1 со значением 0001, при котором Y1=0. Аналогичным способом вычисляются функции  x1·x2·x3·x4  и  x1Úx2Úx3Úx4.

1.4. Обработка аналоговой информации

Сигналы с аналоговых датчиков V1, V2 и V3 преобразуются в цифровую форму в АЦП. С выхода АЦП восьмиразрядные коды N1 и N2, представляющие собой целые без знака числа, поступают на обработку. Реализуемая функция:

N = max(N1,N2)

Полученное значение функции N = f(N1,N2) сравнивается с константой Q, хранящейся в ПЗУ. В зависимости от результатов сравнения МПС вырабатывает двоичные управляющие воздействия Y2 или Y3 длительностью 40 или 80 мкс. Управляющее воздействие Y4 формируется в виде аналогового  сигнала V4 с ЦАП и поступает на исполнительный механизм. Значение Y4 определяется как восьмиразрядное двоичное число по формуле

Y4 = a0 + a1 · N3,

где a0 и a1 - восьмиразрядные коэффициенты, хранящиеся в ПЗУ;

N3 - восьмиразрядный код, поступающий с выхода АЦП.

Предполагается, что все исходные величины меньше 1 и представляются двоичным числом с фиксированной запятой. Умножение а1 на N3 осуществляется с помощью подпрограммы MULT, размещенной в ПЗУ. До передачи управления подпрограмме сомножители должны быть размещены в регистрах B и C МП. Произведение  формируется в регистрах H и L МП. При вычислении Y4 используется только старший байт произведения. Длина подпрограммы равна 30 байтам, среднее время выполнения умножения 260 мкс.

1.5. Обработка запросов на прерывание

МПС обрабатывает запросы на прерывание четырех уровней:

- запрос на прерывание по сигналу отказа источника питания INT0;

- запрос на прерывание по сигналу аварийного датчика INT1;

- запрос на прерывание от терминала внешней ЭВМ INT2;

- запрос на прерывание от пульта управления (прерывание  оператора) INT3.