Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 2 Организация интерфейса.doc
Скачиваний:
19
Добавлен:
27.10.2018
Размер:
409.09 Кб
Скачать
    1. Методы обмена данными

При построении МПС используются четыре основных метода обмена данными между микроЭВМ и УВВ:

  • синхронный обмен;

  • асинхронный обмен;

  • обмен по прерыванию;

  • обмен в режиме прямого доступа в память.

      1. Синхронный обмен

Синхронный или безусловный программный обмен является простейшим способом обмена используется тогда, когда УВВ всегда готово к обмену (различные переключатели индикаторы и т.п.).

Упрощенная структура стандартного ИФ для реализации синхронного обмена приведена на рис.4.2,а, схема алгоритма – на рис.4,2,б, а полная структура полностью соответствует рис.4.1. Для осуществления синхронного обмена процессор выбирает некоторый порт и осуществляет обмен (ввод или вывод данных). Как правило, эти действия выполняются единственной командой ввода или вывода.

Достоинством синхронного обмена является простота его реализации, а недостатком – узкая область применения, так как многие УВВ не всегда готовы к обмену.

      1. Асинхронный обмен

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

Упрощенная структура стандартного интерфейса и алгоритм при программной реализации асинхронного обмена приведены на рис.4.3,а. В этом случае выходы флаговых триггеров через буферы подключаются к шине данных, и им присваиваются собственные адреса.

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

Упрощенная структура стандартного интерфейса и алгоритм при аппаратной реализации асинхронного обмена приведены на рис.4.3,б.

В этом случае адреса флагов совпадают с адресами соответствующих портов, а выходы флаговых триггеров всех портов ввода/вывода объединяются с помощью операции логическое ИЛИ, реализуемой за счет монтажной логики. Это обеспечивает формирование общего сигнала готовности READY, поступающего через шину управления в процессор.

На рис.4.3,в приведена одна из возможных схем формирования сигнала READY. При этом нагрузочный резистор R всегда располагается на плате процессора, а логические элементы – на том же конструктивном элементе, что и соответствующий порт. Такая организация позволяет изменять количество флагов, участвующих в формировании сигнала готовности, путем простого электрического подключения выхода логического элемента с открытым коллектором к общей линии READY из шины управления. Стробирование выходных логических элементов сигналами IOR и IOW позволяет отличить флаги портов ввода от флагов портов вывода, имеющих одинаковые адреса.

При отсутствии обращений к портам на всех адресных линиях присутствует пассивный нулевой уровень, что вызывает формирование единичного уровня сигнала READY. При READY = 1процессор продолжает нормальное выполнение программы.

При обращении к некоторому порту на соответствующей адресной линии устанавливается активный единичный уровень. При этом значение сигнала READY формируется в зависимости от значения флага готовности к обмену соответствующего порта. При нулевом значении флага, то есть неготовности УВВ к обмену, формируется нулевой уровень сигнала READY. При READY = 0 процессор переходит в состояние ожидания, в котором будет находится до появления READY = 1, не выполняя никаких действий. Единичное значение сигнала готовности появится лишь при единичном значении выбранного флага, то есть при готовности соответствующего УВВ к обмену. После этого процессор продолжит выполнение программы и завершит обмен.

Достоинством асинхронного обмена является его надежность, а недостатком – потери времени на ожидание готовности УВВ к обмену и проверку значений флагов. Поэтому этот метод чаще всего используется для взаимодействия с достаточно быстродействующими и периодически работающими ВУ.

Для рассмотренных методов синхронного и асинхронного обмена данными характерным является то, что обмен выполняется по инициативе процессора.