Микропроцессоры и микроконтроллеры

 
 
 
«Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.»
Brian W. Kernighan.
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципы работы микропроцессоров :: Характеристика протоколов обмена данными между процессором и другими устройствами

Характеристика протоколов обмена данными между процессором и другими устройствами

Синхронный обмен без ожидания готовности данных. Этот тип обмена реализован между процессором и памятью. При этом быстродействие микросхем памяти (tВЫБ,– время выборки, tЗП – время записи) должно соответствовать длительности циклов чтения-записи, реализуемых процессором. Инициатор обмена– всегда процессор (действия – чтение команд, передача данных в ходе выполнения команд).

Программно-управляемый обмен – это обмен между процессором и внешними устройствами. Инициатором также выступает процессор. Возможны такие варианты протоколов:

·      синхронный без ожидания готовности – при выполнении команд ввода-вывода строго по ходу программы;

·      асинхронный с ожиданием готовности данных:

- аппаратный анализ готовности по входу READY процессора;

- программный опрос сигнала готовности через какую-либо линию порта.

Здесь могут быть реализованы две алгоритмические схемы (рис. 7.5):

Алгоритмические схемы обмена с ожиданием готовности данных

Рис. 7.5. Алгоритмические схемы обмена с ожиданием готовности данных:
а) «зацикленный» опрос; б) периодический опрос.

«Зацикленный» опрос очень чувствителен к отказу внешнего оборудования или обрыву линии передачи сигнала. Примером такого протокола может служить интерфейс вычислительного блока и АЦП. Сигнал «Готовность данных» с АЦП должен подаваться либо на вход READY процессора, либо на одну из линий порта ввода, опрашиваемую программным путем. Данный протокол применяют в случае, когда количество внешних устройств невелико, они работают достаточно синхронно с кратными периодами, а время ожидания – десятки тактов процессора.

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

·        прерывание с программным опросом:внешние устройства формируют общий запрос INT по логике “ИЛИ”. По сигналу INT процессор программно (в общей процедуре обработки прерывания) анализирует сигналы от этих устройств с тем, чтобы идентифицировать устройство, запросившее обмен, и обслужить его (самостоятельно построить схему подключения);

·        прерывание по вектору: идентификация внешнего устройства, запросившего обмен, выполняется аппаратно контроллером прерываний. Номер устройства (двоичный код, соответствующий номеру прерывания) передается в процессор после подачи сигнала INT и получения ответа INTA. По коду прерывания через таблицу векторов перехода активизируется нужная процедура (в данном случае процедура обмена). Таким образом, в примере с АЦП сигнал «Готовность данных» должен подаваться на один из входов контроллера прерываний. Этот вид обмена широко используют в многоканальных системах, однако он требует аппаратной поддержки в виде микросхемы программируемого контроллера прерываний. Достоинство протоколов обмена по прерыванию – защищенность функционирования микропроцессорной системы от отказов во внешнем оборудовании и разгрузка процессора от непроизводительных действий по ожиданию готовности данных.