Рассмотрим теперь две оставшиеся задачи проектирования УСО: разработку собственно УСО и его соединения с объектом управления.
Рассмотрим основные принципы построения аппаратных средств МПС при использовании различных способов взаимодействия с ведущим устройством.
Синхронный обмен между УСО и ведущим устройством
Организация аппаратных средств в случае использования синхронного метода обмена представлена на рис. 1.
Рис. 1.  
УСО параллельно подключаются к шине данных. Использование шины адреса позволяет указать, с каким из них будет выполняться обмен. Шина управления также подключена ко всем УСО и состоит из двух управляющих сигналов — разрешения записи в УВВ IOW и разрешения чтения из УВВ IOR.
Асинхронный обмен между УСО и ведущим устройством
Организация аппаратных средств в случае использования асинхронного метода обмена представлена на рис. 2.
Рис. 2.  
Так как при асинхронном обмене предполагается возможность проверки готовности ведомого устройства к обмену, к шине управления добавляется сигнал проверки готовности READY. Он может быть общим (как на приведенной схеме) и соединятся с соответствующим входом МП, либо возможен вариант, когда сигнал готовности каждого устройства анализируется индивидуально, например, путем соединения их со входами одного из регистров параллельного порта ввода-вывода и анализа значений отдельных бит в этом регистре.
Обмен между УСО и ведущим устройством с использованием прерываний
Рис. 3.  
Обмен по прерываниям (рис. 3) предполагает, что УСО само инициирует обмен с помощью специального сигнала запроса прерывания. Сигналы от каждого УСО подаются на контроллер прерываний (КП), который обеспечивает передачу в МП сигнала запроса и номера устройства, запросившего обмен.
Обмен между УСО и ведущим устройством с использованием прямого доступа в память
Рассмотрим обычную МПС (рис. 4):
Рис. 4.  
Предположим, нам нужно ввести некоторые данные из внешнего устройства (например, с датчика) через УВВ и поместить их в ЗУ. При классической организации МПС это можно сделать, только считав данные из УВВ в МП, а затем записав их из МП в ЗУ. Если объем данных велик, МП тратит значительное время на "техническую" работу по пересылке данных. Кроме этого, пересылка через МП является медленной, так как для передачи каждого машинного слова или байта необходимо выполнение двух циклов обмена.
Значительно эффективней была бы прямая передача данных из УВВ в ЗУ (или обратно) без участия МП. Для этого необходимо специальное устройство, которое взяло бы на себя роль "ведущего" вместо МП в процессе такой передачи – контроллер прямого доступа в память (контроллер ПДП). Контроллер ПДП должен выполнять все действия МП по управлению обменом, а самому МП предоставить возможность заниматься обработкой информации.
Рис. 5.  
На рис. 5 представлена структурная схема МПС, в которой внешнее устройство (через УВВ) может обмениваться с ЗУ в режиме прямого доступа в память под управлением контроллера ПДП. Рассмотрим принцип ее функционирования в режиме ПДП.
  1. УВВ (внешнее устройство) инициирует начало процедуры обмена с использованием ПДП, устанавливая активный сигнал на линии DREQ.
  2. Контроллер ПДП, получив сигнал от внешнего устройства, с помощью сигнала HRQ запрашивает у МП разрешение на использование системных шин.
  3. МП выдает разрешение на занятие системных шин, устанавливая сигнал HLDA в активное состояние. При этом МП "отключается" от системных шин, переводя свои соответствующие выводы в Z-состояние. Разрешение на занятие системных шин может быть выдано микропроцессором не сразу, так как он должен завершить текущий цикл обмена. Выдача разрешения задерживается также в том случае, если исполняемая команда защищена префиксом блокировки шины LOCK.
  4. Контроллер ПДП по линии DACK сообщает внешнему устройству о начале обмена. С этого момента он принимает на себя обязанности ведущего устройства, управляющего обменом.
  5. Контроллер ПДП выдает на шину адреса адрес ячейки ЗУ, с которой будет производиться обмен информацией.
  6. Контроллер ПДП формирует на шине управления управляющие сигналы IOR и MEMW (при передаче данных из ВУ в ЗУ) или IOW и MEMR (при передаче данных из ЗУ в ВУ). В этот момент происходит собственно передача данных.
  7. По окончании передачи контроллер переводит в неактивное состояние сигнал DACK , сообщая внешнему устройству об окончании обмена, и сигнал HOLD, информируя МП о завершении использования системных шин. С этого момента функции ведущего устройства снова возвращаются к МП.
Пункты 5 и 6 составляют собственно цикл обмена в режиме ПДП. Этот цикл может быть одиночным ("одиночная передача") или повторяющимся определенное число раз ("блочная передача"). Возможен также вариант "передача по требованию", когда циклы передачи повторяются до тех пор, пока внешнее устройство удерживает активный уровень сигнала на линии DREQ.
Обобщенные архитектура и интерфейс контроллера ПДП
На рис. 6 представлены обобщенные архитектура и интерфейс контроллера ПДП.
Рис. 6.  
Контроллер ПДП состоит из следующих основных блоков:
К устройству управления подходят:
Программирование контроллера ПДП
Контроллер ПДП является программируемым устройством. Перед началом работы МПС должно быть выполнено его программирование — путем записи данных в соответствующие регистры контроллера задается его режим работы (а также режимы работы отдельных каналов). В процессе программирования должны быть заданы следующие параметры:
  1. Режим передачи для каждого канала – одиночная, блочная, передача по требованию.
  2. Приоритет для каждого канала, схема изменения приоритетов (если они заданы не жестко).
  3. Направление передачи данных для каждого канала (ЗУ УВВ или наоборот).
  4. Адрес ячейки ЗУ, с которой будет вестись обмен (для каждого канала).