Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_i_otvety_MPT.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.94 Mб
Скачать

6. Реализация обмена данными между внешними устройствами и микропроцессорной системой (мпс). Модуль ввода/вывода мпс, выполняемые функции, функциональная схема устройства ввода/вывода.

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

  1. программно-управляемая передача, активизируемая процессором;

  2. передача информации с прерыванием программы, активизируемая по запросу прерывания от внешнего устройства;

  3. передача информации в режиме прямого доступа к памяти (ПДП).

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

Программно-управляемый обмен бывает синхронным и асинхронным. Инициатором обмена всегда выступает процессор, реализующий требуемые операции ввода/вывода с помощью соответствующих команд. Синхронная передача применяется при взаимодействии с быстродействующими внешними устройствами, которые всегда готовы к обмену информацией. Этот способ передачи реализуется при минимальных затратах аппаратных и программных средств.

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

Программно-управляемая передача является самым быстрым способом обмена между внешними устройствами и процессором. Недостатком такого способа обмена являются вынужденные непроизводительные затраты времени процессора на ожидание готовности внешнего устройства к обмену.

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

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

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

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

Прямым доступом к памяти (ПДП) называют способ обмена данными, обеспечивающий установление связи и передачу данных между оперативной памятью и внешним устройством автономно от центрального процессора. Использование режима ПДП разгружает процессор от обслуживания операций ввода/вывода и способствует повышению общей производительности МПС. ПДП требует более сложного интерфейса по сравнению с программно-управляемой передачей. Для управления обменом данными в режиме ПДП применяют специальные управляющие контроллеры.

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

Самые простые устройства ввода/вывода выдают на внешнее устройство код данных в параллельном формате и принимают из внешнего устройства код данных также в параллельном формате. Такие устройства ввода/вывода часто называют параллельными портами ввода/вывода. Они наиболее универсальны, так как способны работать с большим числом внешних устройств. Поэтому они обычно входят в состав МПС как стандартные устройства. Параллельные порты также всегда имеются в микроконтроллерах.

На рис. 6.1 приведена функциональная схема параллельного порта ввода/вывода, реализующего программно-управляемый обмен с внешними устройствами. Порт ввода выполнен на регистре DD1. На его входы DI поступают данные от внешнего устройства. Возможны два режима ввода данных. В первом случае внешнее устройство может подачей сигнала управления на вход С разрешить запись данных в регистр в определенные моменты времени. Во втором случае при постоянном значении С = 1 регистр представляет собой однонаправленный буфер, через который процессор может читать информацию из внешнего устройства. Селектор адреса декодирует адрес порта ввода, а схема управления формирует из строба ввода сигнал, который открывает выходные буферы регистра DD1 на момент ввода данных из внешнего устройства на ШД магистрали. Когда к порту DD1 нет обращения со стороны МП, его выходные буферы находятся в Z-состоянии.

Порт вывода выполнен на регистре DD2. Его выходы присоединены к внешнему устройству и, как правило, должны быть всегда в активном режиме, т.е. в состоянии «0» или «1». Поэтому на его входе = 0. При операции вывода в порт процессор посылает строб вывода , который открывает триггеры регистра DD1, и в них записываются данные, поступающие с ШД магистрали. По окончании строба вывода эти данные запоминаются в триггерах регистра и постоянно подаются на внешнее устройство.

Рис. 6.1. Функциональная схема устройства ввода/вывода

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]