5.2. Координация взаимодействия с внешними устройствами
Внешние устройства, как правило, работают асинхронно по отношению к МП. Например, терминал, состоящий из клавиатуры и печатающего устройства, порождает данные при каждом нажатии кнопки и воспринимает данные со скоростью, определяемой конструкцией печатающего механизма. При этом возникает проблема согласования моментов срабатывания внешнего устройства и МП. В противном случае при вводе передача может произойти в тот момент, когда данные еще не готовы, а при выводе – когда предыдущие данные еще не восприняты устройством. Поэтому взаимодействие между внешним устройством и МП должно происходить по определенным правилам, называемыми протоколом взаимодействия.
Процесс передачи данных между МП и УВВ состоит из трех операций:
Запуск (инициация) действия в устройстве;
Проверка микропроцессором готовности порта;
Собственно передача данных.
Существует три метода организации ввода/вывода:
Пуск со стороны программы;
Пуск со стороны устройства;
Общая схема обмена.
Пуск со стороны программы.
При этом методе сигналы запуска посылаются от МП к устройству ввода/вывода в моменты времени, определяемые программой. Устройство реагирует на эти сигналы выдачей очередного слова в порт ввода или приемом слова из порта вывода. После того как пройдет время, достаточное для завершения действия в устройстве (определяется программистом при изучении схемы устройства) программа может снова обращаться к порту.
На рис. 5.4 приведена схема формирования сигналов пуска для МП. Установка триггеров осуществляется теми же сигналами, которые использовались на рис. 5.1 для управления передачей данных между МП и соответствующим регистром порта.
Рис. 5.4. Схема формирования сигналов пуска для МП
Выходной сигнал от каждого триггера поступает в устройство и вызывает в нем выполнение действия, например запуск АЦП на преобразование аналогового сигнала. После завершения действия устройство подает сигнал сброса соответствующего управляющего триггера. Этим обеспечивается выполнение действия в устройстве.
Пуск со стороны устройства.
При этом методе организации ввода/вывода действие в устройстве по поводу каждого акта обмена данными инициируется самим устройством. В этом случае программа должна получать информацию о завершении действия в устройстве и о готовности порта к очередной передаче данных. Для этого служит флаг готовности порта, который устанавливается устройством и периодически опрашивается программой, ожидающей обмена с данным портом.
Для опроса состояния одного или группы устройств устанавливается вспомогательный порт ввода – порт состояний. Разряды, входящие в этот порт, характеризуют те или иные условия, относящиеся к группе устройств, в частности состояния готовности их портов.
Общая схема обмена
Если объединить оба рассмотренных выше метода, то получаем общую схему обмена. В этом случае программа инициирует действие в устройстве, и проверяет готовность порта. На рис. 5.5 совместно с рис.5.1 приведена схема общего интерфейса, включающая порт состояния и порт управления.
Рис. 5.5. Схема порта состояния и порта управления в иллюстративном микропроцессоре
Порт состояния – это порт ввода, через который МП может получить наиболее важную информацию о состоянии устройства. В частности, неготовность вводного порта данных определяется битом 7(Рис.5.5), а неготовность выводного порта данных – битом «0». Оба эти бита поступают с выходов RS-триггеров. В каждом из этих триггеров устанавливается «1» на время выполнения передачи данных между МП и портом, т.е. на время, когда порт занят. Это же состояние сообщает устройству о необходимости выполнить соответствующее действие, то есть выдать новые данные в случае порта ввода или принять данные в случае порта вывода. Завершив действие, устройство сбрасывает соответствующий бит состояния, и это говорит МП о готовности порта. Остальные 6 битов состояния могут характеризовать другие возможные ситуации в устройстве.
Порт управления – это выводной порт, который служит для передачи команд устройству от МП. Две из этих команд соответствуют битам 0 и 7 и называются «активация ввода» и «активация вывода». Назначение этих команд – чтение или запись целого блока данных. Например, при чтении магнитной ленты бит «активация ввода» устанавливается в «1» в начале блока данных и сбрасывается в «0» после того, как под магнитными головками пройдут все слова блока данных.
В устройстве значения этих командных битов объединяются вентилем И с битами неготовности портов (с выходами RS-триггеров) для того, чтобы начать или продолжить выполнение действия в устройстве, связанных с актами передачи данных. Так, например, движение ленты и чтение информации с нее продолжается только, если оба бита «активация ввода» и «неготовность порта» имеют значение «1». Оставшиеся 6 управляющих битов можно использовать для выполнения таких функций, как «перемотка ленты», «пропуск блока», «сброс флагов ошибок» и т.д.
- 1990 Г Литература
- 1. Эвм и микроЭвм. Общие сведенья.
- 1.2. Типовая структура эвм.
- 2. Архитектура микропроцессора.
- 2.1. МикроЭвм
- 2.2. Структура микропроцессора
- 2.3. Синхронизация в микропроцессорной системе
- 2.4. Архитектурные особенности микропроцессора кр580ик80а
- 2.5. Архитектурные особенности микропроцессора к1810вм86
- 3. Построение мп системы с тремя шинами на базе бис 580 серии.
- 3.1. Адресная шина (аш).
- 3.2. Шина данных (шд).
- 3.3. Фиксатор состояния микропроцессора.
- 4. Генератор тактовых импульсов для мп системы.
- 4.1. Генератор для микропроцессора вм80.
- 4.2. Синхронизация микропроцессора вм86 и демультиплексирование шин.
- 5. Организация интерфейсов в мп системе
- 5.1. Порты ввода/вывода
- 5.2. Координация взаимодействия с внешними устройствами
- 5.3. Прерывания программы
- 5.3.1. Прерывания с программным опросом
- 5.3.2. Векторная система прерываний
- 5.5. Последовательный ввод/вывод
- 6. Микроконтроллеры
- 7. Пример организации и построения мп-систем управления энергообъектами.
- 7.1. Структура и построения мп-систем защиты и автоматики энергообъекта.
- 7.2. Микропроцессорное устройство защиты, автоматики и контроля присоединений на 6-35 кВ по «Киевприбор». (мрзс).
- Содержание