Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084), страница 39
Текст из файла (страница 39)
Шестнадцатеричный индикатор для ПРУ 15' В дополнение к двоичным светодиодным индикаторам на панели ПРУ можно разместить и шестнадцатеричные индикаторы. Схема подобного шестнадцатеричного индикатора приведена на рис. 4.28. Здесь применяется индикатор типа Т1Е311, состоящий из регистра, дешифратора и матрицы светодиодов бХТ (рис. 4.29). Если на вход индикатора поступает набор из 4 бит, то на экране появляется его шестнадцатеричный эквивалент. Внешние резисторы, ограничивающие ток через светодиоды, здесь не нужны, так как схема снабжена внутренним источником постоянного тока, предназначенным специально для питания элементов светодиодной матрицы. Для обеспечения непрерывного считывания с шин данных и адресов на стробируемый вход следует подать напряжение низкого уровня. В гл. 3 была подробно рассмотрена система ввода данных, снабженная шестнадцатеричной клавиатурой.
Выходы этой схемы можно подключить параллельно к тумблерам данных и адресов, расположенным на панели ПРУ. В этом случае при вводе данных с клавиатуры все тумблеры необходимо перевести и положение, фиксирующее нулевое состояние. Глава 5 СХЕМЫ ВВОДА И ВЫВОДА 5.1. Введение В предыдущей главе рассмотрена пересылка данных между различными функциональными блоками микроЭВМ.
Было также показано, что с помощью команд ввода-вывода, передаваемых по шине данных, можно устанавливать надежную связь с внешними схемами. Осуществление операций ввода и вывода информации является отдельной, достаточно сложной проблемой, тем более что с микроЭВМ поддерживают связь устройства самой разной природы. Каждое такое устройство требует особого решения, которое должен обеспечить блок ввода-вывода микроЭВМ.
Прежде чем перейти к более подробному анализу операций ввода и вывода данных в микроЭВМ, рассмотрим проблему их реализации в промышленности. В рамках соответствующего аналога будем исходить из того, что предприятие всегда отправляет готовые изделия, а завозит сырье.
На таком предприятии роль портов ввода-вывода выполняют отделы снабжения и сбыта. Из производственного отдела (МП) готовые изделия пересылаются в отдел сбыта. По пути в этот отдел наблюдается «ветвление», которое ведет на склад готовой продукции (ЗУ). Очевидно, что сразу же после отправки готовых изделий из производственного отдела у заводских ворот не появляется клиент, заказавший эти изделия.
В отделе сбыта должен быть склад, в котором готовые к отправке изделия оставляются на временное хранение. Склад требуется и для хранения материалов, поступивших на предприятие извне. При отправке изделий необходимо указать, в какой части временного склада они будут храниться.
Производственный отдел должен постоянно запрашивать, какая часть этого склада свободна в данный момент времени, после чего изделия отправляются именно туда. Кроме того, необходимо сообщить соответствующему клиенту, что запрошенные им изделия готовы к отправке. В момент отправки изделий служащий отдела сбыта отмечает, что соответствующая часть временного склада освободилась. Поставщик сырья сообщает о начале поставок в отдел снаб- Схемы ввода и вывода жения предприятия, затем привозит сырье, о чем служащий отдела снабжения делает соответствующую отметку.
Производственный отдел посылает запрос на эти данные и затем решает либо забрать сырье для последующей переработки в готовые изделия, либо оставить его на временное хранение в отделе снабжения или отправить на большой склад (ЗУ). Подобная организация наблюдается и в микроЭВМ. С шиной данных связаны регистры, которые могут хранить не только данные, но и информацию следующего типа: место назначения, т. е.
куда необходимо отправить данные, и сообщение в адрес потребителя о том, что данные поступили. МикроЭВМ может послать запрос о состоянии регистра (заполнен или нет?) и вы. полнить анализ соответствующей информации. Лицо, использующее информацию, может сообщить в соответствующий порт о своем желании получить данные немедленно. Для этой цели оно использует запрос на прерывание. В общем случае при вводе данных первое «запоминание» происходит в одном из многих входных регистров.
Опрашивая данные через специальный регистр (регистр состояния), микроЭВМ может узнать, какие именно данные поступили на вход, и принять решение о прямой или косвенной пересылке этих данных. При пересылке информации о состоянии и управлении ре. гистрами, а также обрабатываемых данных через порты ввода и вывода необходимо использовать отдельную магистраль.
Что. бы отличить управляющую информацию от других данных, пересылаемых по шине данных, в дополнение к линиям связи, по которым передаются команды 10% и 1ОВ, используется ряд дополнительных линий (адресных линий связи), которые ведут к портам ввода-вывода и указывают в какой именно регистр их необходимо направить.
Прямая адресация позволяет указать регистр, куда должны пересылаться данные: в ячейку ЗУ или в управляющий региотр ввода-вывода. Из этой адресации микроЭВМ узнает, какие регистры предназначены для хранения данных, а какие — для хранения управляющей информации и информации о состоянии. Внешнее устройство должно иметь информацию о том, какой регистр состояния и управления нужно опрашивать, какой регистр данных свободен и может принять данные, а такзкв можно ли переслать данные в этот регистр.
На рис. 5.1 приведена блок-схема устройства ввода с регистрами типа 741.5374. Каждый из регистров состоит из восьми Р-триггеров с тристабильными выходными буферами. Эти триггеры считывают информацию передним фронтом синхросигнала. В нормальном режиме регистры отсоединены от шины данных. Однако, если необходимо установить связь, на трнстабильные выходные буферы подается разрешающий сигнал, в резуль- Гаева о санлгосив оа Рнс. 5.1. Входные регистры (ИС 7415374, восемь |)-триггеров).
тате чего выходы Р-триггеров оказываются связанными с шиной данных. При этом регистр выбирается сигналом 1г)Бп(1.), который вырабатывается микроЭВМ и содержит дешифрованную информацию из второго байта команды ввода. При загрузке какого-либо регистра внешнее устройство подает байт данных на входную Р-шину, после чего с помощью синхроимпульса эти данные вводятся в выбранный регистр. При выводе данных сначала Р-входы соединяются с шиной микроЭВМ, а затем выходные буферы — с выходной Р-шиной (рис. 5.2). При загрузке регистра микроЭВМ подает данные на шину данных и активизирует вход синхросигналов с помощью сигна- Схемы ввода и вывода оитво~ы Рис.
Вд. Выходные регистры (ИС 7415374, восемь Р-триггеров). ла 013ТЯп(Е), после чего данные пересылаются в соответствующий регистр. Внешнее устройство может считывать информацию из регистра, активизнруя тристабильный вход регистра, в результате чего соответствующая шина для вывода данных будет соединена с триггерами. Сигнал 013ТЬп() ) также представляет собой дешифрованный второй байт команды вывода микроЭВМ.
Как уже ранее отмечалось, регистры в портах ввода-вывода необходимы для временного хранения данных. Дело заключается в том, что прн выводе микроЭВМ обычно имеет только кратковременный доступ к данным, после чего она продолжает выполнять основную программу. С другой стороны, микроЭВМ Глава 5 вчитывает вводимые данные в момент, который является для нее наиболее благоприятным.
Это также влияет на ход выполнения программы, потому что микроЭВМ должна прностановнться н опросить входную шину данных. Вместо регистров ввода-вывода можно использовать также двунаправленные буферы, которые соединяют внешнюю шину о шиной данных для ввода н вывода информации в требуемый момент времени. Таким 4-разрядным двунаправленным буфером, который здесь используется, является ИС 7418244. Очевидно, что нельзя постояйно посылать данные на шину данных для последующей обработки в ЭВМ, так как во время выполнения программы ЭВМ использует эту шину в течение длительного периода времени для выполнения других операций.
Если внешняя информация будет поступать на эту шину постоянно, то ЭВМ не сможет выполнять свою основную функцию по обработке данных. Другими словами, шина данных будет все время занята, чтб существенно затруднит пересылку данных. Как известно, для организации ввода н вывода данных используется своеобразная схемотехника, которая обеспечивает связь микроЭВМ с самыми разными приборами н установками. Эта связь иногда усложняется до такой степени, что для управлення вводом и выводом данных требуется применение отдельной микроЭВМ илн отдельного контроллера.
Здесь этн сложные системы не будут обсуждаться, так как это уведет далеко в сторону от основной темы. Будет рассмотрен только ряд сложных нерифернйных схем, которые используются в качестве практических схем для ввода н вывода данных в СППЗУ и на магнитную ленту кассетного магнитофона. Периферийные схемы разработаны для самых разных применений, и нх число постоянно увеличивается. Обычно онн реализуются на одном кристалле и используют программное обеспечение микроЭВМ для осуществления различных операций с помощью шнн данных, адресов н управления. Как именно реализуется это программное обеспечение, станет ясно после того, как мы рассмотрим в последующих разделах практические схемы и соответствующие программы, обеспечивающие адекватное управление потоками данных.