Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инф.устр(Назаров) / В. Г. Домрачев.doc
Скачиваний:
241
Добавлен:
22.03.2015
Размер:
20.29 Mб
Скачать

22.3. Организация программной и аппаратной совместимости цпп в микропроцессорной системе

Непременным условием успешного взаимодействия ЦПП с МП является их программная и аппаратная совместимость.

Существует несколько способов организации программной совместимости ЦПП и МП, которые сводятся к двум группам: без прерывания и с прерыва­нием программы МП. Обращение к преобразователю производится как к ячей­ке памяти системы или как к внешнему устройству [38].

При работе без прерывания программы МП посылает на ЦПП сигнал на­чала преобразования и переходит в режим ожидания его результата. Время ожидания результата преобразования и его записи по команде чтения может учитываться в программе МП выполнением ряда команд с заданным временем исполнения. Такой режим работы, при котором преобразователь (периферийное устройство) готов к приему или передаче данных за время, равное времени вы­полнения заданной команды МП, называют синхронным.

Одна из реализаций данного способа может быть такой. Микропроцессор работает с ЦПП, который является по отношению к нему ЗУ, функционирую­щим в режимах произвольной выборки и постоянной памяти. В режиме произ­вольной выборки для запуска ЦПП используется команда МП записи в память. Результат преобразования записывается в МП по команде чтения памяти. В ре­жиме постоянной памяти от МП поступает команда считывания результата предыдущего преобразования, которая автоматически запускает ЦПП в новый цикл преобразования.

Способ обмена данными по опросу заключается в том, что МП или микроЭВМ перед выполнением операции ввода-вывода проверяет состояние перифе­ рийного устройства. Если устройство занято, то в программе реализуется переход либо к повторной проверке его состояния, либо к опросу другого устройст­ва. В случае готовности МП или микроЭВМ выдает команду ввода или выво­ да данных. Такой режим работы, при котором МП перед выполнением операций ввода-вывода данных опрашивает состояние периферийных устройств, называ­ ют асинхронным (рис, 22.3). Примером реализации данного способа может слу­жить работа МП с ЦПП, являющимся по отношению к нему ЗУ в режиме медленной памяти. В этом случае ЦПП при обращении к нему по адресу от МП выдает сигнал занятости, по которому МП ожидает окончания преобразования. После записи результата преобразования МП вновь обращается по адресу или выполняет очередную команду.

Способ работы МП» или микроЭВМ с периферийными устройствами без прерываний прост и требует минимального числа дополнительных устройств. Но при большой информационной загруженности. МП не может длительное время находиться в режиме ожидания. Поэтому более эффективным способом обмена данными является способ с прерыванием программы, при котором для выполнения операции ввода-вывода информации осуществляется прерыванием программы МП (рис. 22.4). Различают два-метода прерываний: векторное и простое.

При векторном прерывании преобразователь, инициирующий прерывание, сам посылает адрес своей программы обслуживания (вектор) и не допускает опроса микропроцессором других периферийных устройств. При простом пре­рывании после получения сигнала на прерывание МП завершает текущую one-

рацию программы и переходит к опросу всех периферийных устройств до вы­явления преобразователя, требующего обслуживания. Его приоритет определя­ется местом в последовательности опроса. В обоих случаях по сигналу запроса работа МП прерывается, информация о выполнении последней операции про­граммы переносится в ячейку вспомогательной памяти, где и хранится до во-зобновления выполнения программы.

Метод прямого доступа к памяти ПДП, или так называемое непроцессор­ное прерывание, используется в том случае, если периферийное устройство свя­зано с памятью МП непосредственно, минуя внутренние регистры. Управление процессом обмена данными полностью контролируется устройством ввода-вы­вода МП, что предполагает затрату только одного процессорного цикла или даже его части, в течение которого информация от преобразователя поступает прямо в ячейку памяти (рис. 22.5). Метод обладает наибольшим быстродейст­вием, но требует большого объема дополнительных устройств.

Как [отмечалось выше, при сопряжении ЦПП с МП возможна организация считывания результатов преобразования с обращением к преобразователю как к ячейке памяти или как к внешнему устройству. В табл. 22.1 приведены вари­анты организации программы ввода данных с ЦПП и их записи в память си­стемы для МП типа К580ИК8О ЗУ. Различие команд для упомянутых режимов заключается только в первой команде (показана в скобках). Время выполнения программ составляет соответственно 28,5 и 27 мкс. При двухбайтовом обмене

Таблица 22.1

Мнемоника

Число тактов МП

Комментарии

LDA АДР2 (IN N2)

13 (10)

Ввод данных от ЦПП в аккумулятор МП

LHLD АДР4

16

Загрузка начального адреса массива данных в регистры Н—L

MOV M, A

7

Запись данных в нанять

INX H

5

Инкрементация адреса массива данных

SHLD АДР4

16

Запомнить адрес массива данных по адресу АДР4, АДР5

эта величина для обоих вариантов равна 38 мкс. Ниже рассматривается ряд схемных вариантов организации взаимодействия ЦПП с МП [79].

На рис. 22.6 изображена схема, использующая программную задержку мо­мента считывания результатов на время преобразования ЦЦП. По адресу А1, определяемому соответствующим сигналом на выходе декодера ДК, МП через системный контроллер СК выдает на шину управления ШУ команду Запись, если обращение происходит как в ячейке памяти системы, или Вывод, если об­ращение к ЦПП как к внешнему устройству. Вентиль D1 является адресуемым выводным портом интерфейса. Затем МП переходит к выполнению программной временной задержки, длительность которой определяется временем преобразо­вания ЦПП. По окончании этой программы в порт ввода вентиль D2 по адресу А2 посылает сигнал Чтение или Ввод. По этому сигналу цифровые данные с выхода ЦПП через магистральные усилители МУ поступают на шину данных ШД н вводятся в процессор. Выходной регистр ЦПП выполняет функцию бу­ферной схемы.

Фрагмент программы запуска ЦПП от МП с программной временной за­держкой приведен в табл. 22.2. Ввод данных с ЦПП и запись их в память мик­ропроцессорной системы могут быть осуществлены по программе, приведенной в табл. 22.1. Очевидно, что а таком режиме МП постоянно занят обслуживани­ем преобразователя и не может применяться для других целей.

Таблица 22.2

Метка

Мнемоника

Число

тактов МП

Комментарии

Основная программа

PUSH PSW PUSH Н

U

Запись в стек содержимого аккумулято­ра, регистра состояния и регистров Н—L

MVI А, 01 STA АДР1 (OUT N1)

7 13 (10)

Инициирование начала преобразования ЦПП

Организация программной задержки

МО

См. табл. 22.1

Ввод данных с ЦПП и запись их в мас­сив памяти

LXI Н. АДР6 DCR М

JNZ МО

10

Организация счетчика числа обращений к ЦПП

POP Н POP PSW i

Восстановление содержимого регистров Н—L, аккумулятора и регистра состояния

Запуск ЦПП можно организовать также с использованием прерывания программы (рис. 22.7). Формирование сигнала запуска аналогично предыдуще­му варианту. Однако в этом случае МП выдает сигнал инициирования запуска ЦПП и возвращается к основной программе до окончания цикла преобразова­ния [79]. Вырабатываемый ЦПП сигнал КП Конец преобразования подается на вход требования прерывания ТПР блока прерывания БПР, где формируется сигнал запроса прерывания ЗПР, поступающий на соответствующий вход про­цессора. После этого по завершении выполнения текущей команды МП выда­ет сигнал Подтв ПРПодтверждение прерывания и осуществляется по коду прерывания Код ПР переход к подпрограмме ввода данных. Считывание ре­зультатов аналого-цифрового преобразования аналогично предыдущему вари­анту. Фрагмент программы запуска ЦПП от МП с прерыванием программы приведен в табл. 22.3.

Таблица 22.3

Метка

Мнемоника

Число тактов МП

Комментарии

Основная программа

STA АДР1 (OUT N1)

1 13 (10)

Инициирование начала преобразования ЦПП

Основная программа

RST2

11

Прерывание МП по сигналу КП

PUSH PSW PUSH H

Запись в стек содержимого аккумулято­ра, регистра состояния и регистров Н—L

JMP Ml

10

Переход к подпрограмме обслуживания ЦПП

Ml

См. табл. 22.1

Ввод данных с ЦПП и запись их в мас­сив памяти

LXI H, АДР6 DCR M JZ M2

10

Организация счетчика числа обращений к ЦПП

MVI A, 01

7

Загрузка в аккумулятор слова для по­вторного запуска ЦПП

STA АДР1 (OUT N1)

13 (10)

Инициирование начала преобразования ЦПП

М2

POP H POP PSW

10

Восстановление содержимого регистров Н—L, аккумулятора и регистра состояния

El

4

Разрешение прерывания

RET

Восстановление содержимого счетчика команд, возврат к основной программе

Для микропроцессорных систем, работающих в реальном времени, сопряже-- ние с преобразователями целесообразно осуществлять с помощью программиру­емого таймера, который осуществляет регулирование частоты запуска или оп­роса ЦПП, подсчет заданного числа преобразований, режим и порядок опроса каналов в многоканальной системе и другие функции. Таймер позволяет реали­зовать указанные функции с большим быстродействием по сравнению с прог­раммным способом. Вариант схемы сопряжения ЦПП с таймером ТМР в мик­ропроцессорной системе на основе комплекта БИС серии КР580 представлен на рис. 22.8 [79].

Таймер КР580ВИ53 микропроцессорного комплекта БИС серии КР580 со­стоит из трех независимых 16-разрядных счетчиков С и управляющего регист­ра [34]. В регистр управления таймера по шине данных записывается код,

определяющий номер счетчика, режим его работы, систему счисления, запись в считывание одного или двух байтов содержимого счетчика. Считывание резуль­татов преобразования и их ввод в процессор организуются по методу передачи данных с прерыванием программы. По окончании цикла преобразования АЦП формирует сигнал КП, который в качестве сигнала прерывания ПР1 подается на блок прерывания ПР, например БИС программируемого контроллера преры­ваний КР580ВН59. В этом блоке формируется сигнал запроса прерывания, поступающий на соответствующий вход МП. После этого по завершении вы­полнения текущей команды основной программы происходит переход к адресу подпрограммы ввода данных.

Вывод данных преобразования осуществляется с помощью шинных форми­рователей ШФ (тристабильные ИС К155ЛП8) по сигналу с выхода вентилей D1 и D2. Двухбайтовая информация из ЦПП счнтывается по адресам Адр2 и АдрЗ сигналом Чтение с шины управления ШУ. Обращение к ЦПП осуществля­ется как к ячейке памяти. Цифровые данные через шину данных ШД вводят­ся в процессор. Внутренний регистр ЦПП (разряды выполняет функ­цию буферной схемы (рис. 22.8).

Обычно таймер подключается к шинам МП системы как внешнее устройст­во, однако к управляющему регистру и счетчикам таймера возможно обраще­ние как к ячейкам памяти. Обращение к таймеру осуществляется через адрес­ные входы АО, А1 и вход ВК Выбор кристалла с помощью управляющего сиг­нала Вывод с шины ШУ.

По приведенной схеме можно осуществлять непосредственное сопряжение таймера с различными типами БИС АЦП, имеющими выходной сигнал КП, на­пример АЦП К572ПВ1, или аналогичный сигнал ГД Готовность данных, на­пример АЦП КПЗПВ1 [38].

Фрагмент программы, обеспечивающей работу счетчика СО в режиме "2" деления частоты, и счетчика С1 в режиме «О" подсчета числа преобразований

в двоично-десятичной системе счисления, а также ввод данных преобразования в процессор и их запись в память, приведен в табл. 22.4. В программе началь­ной загрузки программируются режимы работы счетчиков и производится за­грузка коэффициента деления в СО и значения объема выборки в С1. Кроме того, здесь же определяется начальный адрес массива памяти Адр4, Адр5 для последовательной записи данных преобразования.

При работе с ЦПП, не имеющим выходного сигнала КП или ГД, третий счетчик С2 таймера может быть использован в режиме «О» для формирования

Таблица 22.4

Метка

Мнемоника

Комментарии

Программа начальной загрузки

Ml

MVI A, 35H OUT 7

MVI A, Kl OUT4 MVI A, K2 OUT 4

MVI A, 7Ш OUT 7

MVI A, N1 OUT 5 MVI A, N2 OUT 5 LXI H, BASE SHLD АДР4

Вывод в регистр управления управляющего кода, устанавливающего СЧО в режим «2* в двоично-десятичной системе счисления Младший байт К1 коэффициента деления загру­жается в счетчик СЧО Старший байт К2 коэффициента деления загру­жается s счетчик СЧО Вывод в регистр управления управляющего кода, устанавливающего СЧ1 в режим «0» в двоично-де­сятичной системе счисления Младший байт N1 объема выборки загружается в счетчик СЧ1 Старший байт N2 объема выборки загружается в счетчик СЧ1 Загрузка регистров Н—L начальным адресом мас­сива памяти для записи данных из ЦПП и запо­минание его по АДР4, АДР5

Основная программа

RST 2 PUSH PSW PUSH H JMP M2

Прерывание МП по сигналу КП Сохранение в стеке содержимого аккумулятора, регистра состояния и регистров Н—L Переход к подпрограмме ввода данных из ЦПП

М2

LHLD АДР2 XCHG LHLD АДР4

MOV M, E

INX H MOV M, D INX H SHLD АДР4

Ввод данных из ЦПП в регистры Н — L ([АДР2]) L, [АДРЗ] Н) Пересылка данных из регистров Н—L в регистры D—Е Загрузка регистров Н—L текущим адресом мас­ сива памяти Пересылка в память первого байта данных Инкремент адреса, массива памяти Пересылка в память второго байта данных Инкремент адреса массива памяти Запоминание текущего адреса массива по АДР4, АДР5

POP H

POP PSW El RET

Восстановление содержимого регистров Н—L аккумулятора и регистра состояния Разрешение прерывания Восстановление содержимого счетчика команд и возврат к основной программе

Таблица 22,5

Способ синхронизации

Способ сопряжения ЦПП с МП системой

ЦПП—ячейка.

памяти

ЦПП—внешнее устройство

Разрядность ЦПП

1 байт

2 байта

1 байт

2 байта

Программное инициирование опроса ЦПП (без учета временной задержке)

53,5

63

50,5

61,5

Инициирование опроса с прерыванием: по сигналу от ЦПП по сигналу от внешнего таймера

92

82

112 102

89 80,5

100 91,5

сигнала запроса прерывания ПР1 с задержкой по отношению к сигналу запус­ка на время несколько большее времени преобразования ЦПП.

В табл. 22.5 приведен сравнительный анализ временных затрат в микро­секундах на организацию циклической работы ЦПП для рассмотренных спосо­бов синхронизации в системе на базе МП типа К580ИК80.

Следует отметить, что рассмотренные выше схемные варианты организации запуска ЦПП в микропроцессорной системна не исчерпывают всех возможных вариантов сопряжения. При необходимости более высокой частоты обмена между ЦПП и МП следует использовать БИС программируемого контроллера прямого доступа к памяти КР580ВТ57. В ряде систем для сопряжения ЦПП с шинами МП предпочтительно применение стандартного программируемого параллельного периферийного интерфейса ППИ, например БИС КР580ИК55 [38].

Примером, иллюстрирующим такой подход, служит сопряжение цифровых преобразователей угла ЦПУ и скорости ЦПС в микропроцессорной безредук-торной системе позиционирования с вентильным двигателем ВД и СКВТ, схема которой показана на рис. 22.9 [68].

Эффективность такой системы возрастает при квазиоптимальком управлении с переменным углом коммутации по сигналам местной обратной связи МОС, для формирования которой в безредукторном приводе используются соответст­вующие разряды ЦПУ (рис. 22.9). Со­пряжение ЦПП, состоящего нз ЦПУ и ЦПС, с микропроцессором (на рисун­ке не показан) производится через ППИ. Микропроцессор осуществляет формирование закона управления через ППИ, электронный коммутатор и уси­литель мощности УМ и заменяет алго­ритмы управления ВД для обеспечения показателей переходных процессов, близких к оптимальным по критерию минимума времени перемещения.

Формирование закона управления осуществляется в микропроцессоре на

основе анализа текущих координат движения, за которые приняты позиционная ошибка и скорость движения. Эта информация используется для включения основных алгоритмов управления ВД: вперед В, назад Я, ускоренное движе­ние У и останов О, или их комбинаций. Скорость перемещения может регули­роваться ступенчатым изменением угла коммутации и широтно-импульсной модуляцией [68].

Управление ВД, ЦПУ и ЦПС осуществляется через порт С ППИ, так как каждый разряд его регистра может быть установлен в состояние 0 н I одной командой. Прием данных от ЦПУ и ЦПС производится через порты А и В ППИ. Выходы порта С КС1 и КС2 управляют поочередной передачей в порт А (КА0—КА7) соответственно младших МР к старших СР разрядов кода пози­ционной обратной связи ПОС. Выходы порта С КС5 и КС6 управляют пооче­редной передачей в порт В (КВОКВ7) разрядов кода скоростной обратной связи СОС.

Такая структура сопряжения позволяет упростить взаимодействие микро­процессора с ЦПП. В сочетании с использованием безредукторного привода на основе ВД и СКВТ это позволяет повысить надежность и быстродействие системы, что особенно важно в робототехнике [68,77].