Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПС2 Проектирование аппаратного и программного...doc
Скачиваний:
22
Добавлен:
02.09.2019
Размер:
1.67 Mб
Скачать

Методы обмена данными

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

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

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

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

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

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

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

Упрощенная структура стандартного интерфейса для реализации синхронного обмена приведена на рис. 1.8,а, схема алгоритма  на рис. 1.8,б, а полная структура полностью соответствует рис. 1.7.

Для осуществления синхронного обмена процессор выбирает некоторый порт и осуществляет обмен (ввод или вывод данных). Как правило, эти действия выполняются единственной командой ввода или вывода.

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

Рис. 1.8. Синхронный обмен данными с внешними устройствами:

а) структура интерфейса; б) алгоритм обмена

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

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

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

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

Рис. 1.9. Асинхронный обмен данными с внешними устройствами:

а) структура интерфейса и алгоритм при программной реализации обмена;

б) структура интерфейса и алгоритм при аппаратной реализации обмена;

в) схема формирования сигнала готовности

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

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

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

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

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

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