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

 
 
 
«Измерять продуктивность программирования подсчетом строк кода — это так же, как оценивать постройку самолета по его весу.»
Bill Gates
Русский | Українська


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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