Чтение онлайн

ЖАНРЫ

Справочное пособие по цифровой электронике
Шрифт:
7.1. Требования к вводу-выводу

Микропроцессорная система без средств ввода и вывода оказывается бесполезной. Конечно, характеристики и объемы ввода и вывода в системе определяются, в первую очередь, спецификой ее применения. Например, в простом домашнем компьютере, как минимум, необходимы ввод с клавиатуры и вывод на обычный телевизор. Кроме того, желательны канал связи с бытовым магнитофоном и дополнительный выход на принтер (рис. 7.1).

Рис. 7.1. Средства ввода-вывода

в простом домашнем компьютере.

Однако, в микропроцессорной системе управления некоторым промышленным процессом не требуются клавиатура и дисплей, так как почти наверняка ее дистанционно программирует и контролирует главный микрокомпьютер (с использованием последовательной линии RS-232C). Контроллер должен иметь до 24 отдельных линий ввода и вывода для управления реле, двигателями и лампами (рис. 7.2).

Рис. 7.2. Средства ввода-вывода в промышленной системе управления.

7.2. Способы организации ввода-вывода

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

Например, в микропроцессоре Z80 для этого используются сигналы:

— линия запроса памяти, на которой формируется сигнал низкого уровня, когда ЦП выполняет операцию считывания или записи с памятью;

 — линия запроса ввода-вывода, на которой формируется сигнал низкого уровня, когда ЦП выполняет операцию ввода-вывода.

Для ввода и вывода в микропроцессоре Z80 существуют специальные команды, например:

OUT(FFH), А — записывает содержимое аккумулятора (8-битное значение) в порт с 16-ричным адресом FF;

IN (A) FFH — считывает содержимое порта с 16-ричным адресом FF и помещает результат в аккумулятор.

7.3. Параллельный и последовательный ввод-вывод

Необходимо различать также параллельный и последовательный ввод-вывод. В первом случае одновременно передается байт данных (следовательно, здесь требуется 8-битный буфер или защелка), а во втором данные передаются отдельными битами. Параллельный ввод-вывод реализуется довольно просто (рис. 7.3). Здесь для вывода применяется стандартная 8-битная защелка, а для ввода — 8-битный тристабильный буфер. Однако такая простая схема оказывается недостаточно гибкой, и лучше воспользоваться программируемой микросхемой параллельного ввода-вывода.

Рис. 7.3. Схема простого параллельного ввода и вывода.

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

средства преобразования последовательных входных данных в параллельные данные, которые можно поместить на шину. С другой стороны, для последовательного вывода необходимы средства преобразования параллельных данных, представленных на шине, в последовательные выходные данные. В первом случае преобразование осуществляется регистром сдвига с последовательным входом и параллельным выходом (SIPO), а во втором — регистром сдвига с параллельным входом и последовательным выходом (PISO). Схемы обоих вариантов ввода и вывода показаны на рис. 7.4.

Рис. 7.4. Схемы последовательного ввода и вывода:

 а — последовательный ввод с регистром сдвига SIPO; б — последовательный вывод с регистром PISO

Их можно реализовать на обычных логических элементах, но более эффективное решение заключается в применении специализированных программируемых микросхем.

7.4. Методы управления вводом-выводом

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

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

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

Согласно третьему, самому сложному методу управления вводом-выводом внешним устройствам обеспечивается полный доступ к пространству памяти системы без всякого участия ЦП в передачах данных. Такой метод называется прямым доступом к памяти (ПДП) и оказывается очень эффективным. Данные можно передавать с исключительно высокой скоростью (так как вмешательства ЦП не требуется), поэтому ПДП используется, например, для передач данных в накопитель на твердом диске или из него. В простых управляющих применениях ПДП не требуется, но о нем нужно знать. Упрощенные структурные схемы всех методов управления вводом-выводом показаны на рис. 7.5.

Рис. 7.5. Основные методы управления вводом-выводом:

а — программируемый (с опросом); б — по прерыванию; в — прямой

7.5. Микросхемы параллельного ввода-вывода

После обзора основных принципов ввода-вывода в микропроцессорных системах обратимся к распространенным программируемым микросхемам ввода-вывода.

Поделиться с друзьями: