Добавил:
Студент, если у тебя есть завалявшиеся работы, то не стесняйся, загрузи их на СтудентФайлс! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_лаб4.docx
Скачиваний:
12
Добавлен:
16.07.2022
Размер:
2.23 Mб
Скачать
    1. Методы ввода информации в микроЭвм

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

Они в свою очередь могут обеспечить один из следующих методов ввода-вывода: программный ввод-вывод, ввод-вывод по прерываниям и ввод-вывод по прямому доступу к памяти. Наиболее простой метод – безусловный программный ввод-вывод, который предусматривает безусловный обмен данными между процессором и внешним устройствами непосредственно командами IN port и OUT port. Такой метод обмена называется программный ввод-вывод без квитирования Для выполнения этих команд затрачивается 10 тактов (2 мкс при частоте 5 МГц). Устройствами, через которые осуществляется обмен данными, обычно являются регистры памяти, выполненные на отдельных схемах средней степени интеграции. В этом случае, такие порты должны быть готовы к немедленной выдаче данных в процессор по команде IN port и приему данных от процессора и их ”ретрансляции” к внешнему устройству по команде OUT port.

Таким образом, каждое внешнее устройство адресуется через собственный порт и должны быть соблюдены жесткие требования по динамическим характеристикам обмена. Обмен синхронизируется низкими уровнями сигналов I/OR и I/OW процессора и инициируется в независимости от готовности внешнего устройства к приему и выдаче данных. Более сложный способ обмена – программный ввод-вывод с квитированием. Сигналы квитирования это флаги IBF (Input Buffer Full– входной буфер заполнен) и OBF (Output Buffer Full– выходной буфер заполнен).

Типовая последовательность действий системы при обмене с квитированием следующая. Внешнее устройство, формируя нижний уровень сигнала STB (Strobe– строб) загружает байт данных в регистр ввода и устанавливает флаг IBF=1. Значение сигнала ACK=0 (Acknowledge--– квитировать) подтверждает прием данных внешним устройством при выводе данных и устанавливает флаг OBF=1. Флаги OBF и IBF принимаются в МП программным путем по шинам данных, а сигналы STB, ACK, OBF, IBF поступают из/на внешнее устройство аппаратно (по проводам). В зависимости от состояния флагов OBF и IBF, процессор может реализовать прием/выдачу данных, пропустить цикл ввода/вывода или перейти в режим ожидания.

Квитирование позволяет согласовать во времени работу асинхронно работающих МП и внешних устройств – быстродействие процессора может быть и больше и меньше быстродействия внешних устройств.

Согласовать быстродействие медленнодействующих устройств ввода/вывода и “быстрого” можно также, используя сигнал READY (готовность) от внешнего устройства.

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

В лабораторной работе №4 исследуется наиболее простой способ организации безусловного программного ввода данных в микроЭВМ.

На рисунке 2 приведен вариант структурной организации регистров ввода/ вывода, обеспечивающих прием/выдачу восьмиразрядных данных двоичных данных. Исследуемая с помощью программного имитатора AVSIM85 микроЭВМ (конфигурации А), имеет четыре таких двунаправленных регистра (порта) ввода/вывода, которые могут обеспечить по командам IN port и OUT port безусловный программный ввод/вывод восьмиразрядных двоичных данных от/на четыре внешних устройств ввода/вывода. В этом режиме МикроЭВМ может обеспечить в режиме сканирования прием и фиксацию (до цикла обработки) чисел со знаком (отсчетов) от четырех датчиков (внешних устройств), измеряющих параметры четырех непрерывных процессов.

Отсчеты образуют потоки входных данных, которые должны быть зафиксированы в оперативной памяти микроЭВМ до цикла их обработки.

Сканированию в рабочем цикле подвергаются цифровые входы микроЭВМ, на которые поступают цифровые отсчеты Xij параметров трех непрерывных процессов Process0, Process1, Process2, полученные, например, после аналого–цифрового преобразования.

Цифровые коды отсчетов принимаются портами 00h÷ 02h. Коды отсчетов представляют собой восьмиразрядные числа со знаком.

Сканируется также состояние одного бинарного входа. В этом случае, отсчеты с двухпозиционного устройства, например, кнопки фиксируются в младшем разряде D0 порта 03h. Для простоты предполагается, что остальные входы порта не задействованы, т.е. на них .формируются постоянные логические нули. В этом случае, нулевому значению на входе D0 порта 03h (кнопка разомкнута), соответствует отсчет 00h, а единичному (кнопка замкнута) – отсчет 01h. Рисунок 3 иллюстрирует процедуру образования отсчетов процессов Process0, Process1, Process2, Process3.

Математически эта процедура соответствует формированию двумерной (4х8)-матрицы X = ||xij|| (i =0÷3; j =0÷7). Рисунок 4 поясняет информационный обмен между внешними устройствами и портами 00–03h исследуемой системы.

Полученные через порты 00h÷ 03h, данные необходимо сохранить в оперативной памяти системы до цикла их обработки (принцип сканирования). Матричные структуры данных (матрицы Xn,m= ||xij|| (i =0÷n-1; j =0÷m-1)) хранятся в ОЗУ в следующем виде (Рисунок 5).

Для хранения каждой i-ой строки выделяется i-массив, состоящий из m ячеек. Начальный адрес i-массива называется базовым адресом строки – bazei. Элементы в строке адресуются относительно базового адреса смещением j (offset). Исполнительный адрес j-го элемента i-ой строки (i=0÷n-1; j=0÷m-1) формируется путем сложения базового адреса bazei строки со смещением j (offset) элемента в строке, т.е. bazi+j. Такая адресация ячеек памяти наз. относительной адресацией со смещением. Она является эффективной и широко применяется при программировании, в том числе и при ассемблировании.

Рисунок 6. поясняет организацию массива 4x8, ячеек, содержащих отсчеты параметров исследуемых процессов, введенные в микроЭВМ через порты ввода/вывода 00h ÷03h.

.

Соседние файлы в предмете Основы микропроцессорной техники