.: Навигация :.
Главная страница сайта

Физика
Информатика
Математика
Периферийные устройства ЭВМ
Дилинг


Карта сайта

О Сайте


.: Поиск по сайту :.

Оригинальные подарки, сувениры, бижутерия из самоцветов, картины и иконы - авторские работы. Форум где вы найдёте книги по рукоделию: бисероплетение, макраме, вязание и т.д. Сайт не только для дам, джентельмены смогут присмотреть подарки своим любимым девушкам из полудрагоценных камней по приемлемым ценам! www.Бижур.ру

.: Разделы -> Информационный -> Электроника -> Средства отображения... :.

 

6. МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ ОТОБРАЖЕНИЯ ИНФОРМАЦИИ

 6.1. Структурная схема микропроцессорных средств отображения информации

 

Практически  любое радиоэлектронное устройство обработки информации может быть реализовано в виде одной или нескольких больших или сверхбольших интегральных схем (БИС или СБИС). Однако разработка и выпуск таких заказных БИС или СБИС часто оказываются неэффективными из–за сложности проектирования логических схем, обусловленной нерегулярностью структуры межсоединений отдельных активных элементов, расположенных на подложке; уменьшения среднего объема выпуска  и  увеличения стоимости отдельного кристалла из–за узкой области применения данной БИС (СБИС); в результате заказные БИС (СБИС) часто оказываются невыгодными для изготовителя и заказчика.     

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

Использование МП–техники не только унифицирует электронные устройства отображения информации и уменьшает число ком­понентов на плате, но и сокращает срок разработки и расширяет функции, выполняемые устройством, вплоть до создания «интеллектуальных» дисплеев, способных обрабатывать тексты, т. е. осуществлять техническое редактирование, сдвиг по горизонтали или вертикали, подчеркивание слов или фраз, раздвижку и т. п.

Микропроцессор – программно–управляемое устройство, непосредственно осуществляющее процесс обработки цифровой информации и управление им и построенное на основе одной или не­скольких больших (сверхбольших) интегральных схем.

Микро–ЭВМ – электронная вычислительная машина, состоящая из микропроцессора, полупроводниковой памяти, средств свя­зи с периферийными устройствами и при необходимости пульта управления и источника питания, объединенных общей несущей конструкцией.

Микропроцессорная система (МП–система), построенная на основе микропроцессора или микро–ЭВМ – специализированная цифровая система обработки данных.                                                       

Типовая структура простейшей МП–системы с магистральной организацией связей функциональных блоков показана на рис. 6.1. Она типична для широко распространенных однокристальных МП. Основным назначением МП–системы является обмен информацией с внешними устройствами и ее обработка. При этом МП–система действует под управлением программы, записанной в ПЗУ, в котором также могут храниться необходимые для работы константы (например, формы знаков); переменные данные разме­щаются в ОЗУ. Отдельные блоки соединяются между собой линиями, объединяемыми по сходству назначения в шины. Число линий в шине обычно соответствует разрядности передаваемого слова. С помощью 16–разрядной шины адресов (ША) обеспечивается выбор одной из 216 = 65 536 (64 к) ячеек памяти. Синхронизация ра­боты МП, ПЗУ, ОЗУ памяти или внешнего устройства при обмене информацией производится с помощью сигналов сопровождения информации, передаваемых по 10–разрядной шине управления (ШУ). По 8–разрядной шине данных (ШД) передаются команды и данные. Ограниченное число внешних выводов микропроцессора приводит к необходимости использования для передачи информа­ции двунаправленной шины данных.                

Для сопряжения с внешними (по отношению к МП–системе) устройствами применяются различные интерфейсные компоненты. Простейшими из них являются буферные регистры, обеспечивающие ввод (Порт ввода) или вывод (Порт вывода) данных, имеющие логику для выборки ИМС, формирующие сигналы запроса на прерывание основной программы, а также обеспечивающие электрическое сопряжение компонентов. Более сложные программи­руемые интерфейсные компоненты (периферийные адаптеры) рассматриваться не будут. Типичными внешними устройствами в системах отображения информации кроме индикатора являются клавиатура, ЭВМ, графопостроитель, БЗУ регенерации.

Как и любая ЭВМ, микропроцессор синхронизируется тактовыми импульсами, формируемыми тактовым генератором ТГ. Для тактирования МП используется двухфазная система импульсов Ф1 и Ф2, максимальная тактовая частота этого МП (К580ИК80) – 2 МГц. С помощью 3–5 тактов формируется машинный цикл, за который МП выполняет определенную часть команды.

Интерфейс МП–системы имеет магистральную организацию (магистральность – принцип построения МП–систем).  Буферирование магистральных сигналов применяется для электрического согласования и выполняет две основные функции:                               

1)           электрическая развязка (для всех сигналов);

2)                       передача сигналов в нужном направлении (только для двунаправленных сигналов).

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

Электрическая развязка подразумевает обеспечение нужных входных и выходных токов. Входные каскады УС должны обеспечивать уровень входного тока не более 0,8 мА, а выходные и двунаправленные каскады должны выдавать выходной ток не менее 24 мА (при нулевом выходном сигнале). Несоблюдение этого правила может привести к сбоям в работе и к выходу из строя отдельных узлов. При этом все определяется конфигурацией системы. Если к магистрали МП подключено только одно устройство расширения, то требования к нему будут гораздо мягче, чем в случае использования нескольких устройств. Но всегда надо рассчитывать на возможность развития системы и включения дополнительных устройств, поэтому лучше все–таки придерживаться указанных величин.

Передача сигналов в нужном направлении. Выбор типа буфера для каждого магистрального сигнала (приемник, передатчик или приемопередатчик) определяется назначением этого сигнала и возможными режимами работы УС. Для сигналов данных могут использоваться приемники (если УС работает только в режиме записи), передатчики (если УС работает только в режиме чтения) или приемопередатчики (если УС работает как в режиме чтения, так и в режиме записи). Если возможен обмен по прерываниям, то добавляется передатчик для сигнала IRQ, а если применяется ПДП, то применяется передатчик для сигнала DRQ и приемник для сигнала DACK.

Остановимся подробнее на характеристиках микросхем, которые могут применяться для буферирования.

Приемники магистральных сигналов должны удовлетворять двум основным требованиям:

1)           малые входные токи;

2)           высокое быстродействие.

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

Требованиям, предъявляемым к приемникам, удовлетворяют следующие серии микросхем: КР1533, К555 и КР1554. Величины входных токов логического нуля для них составляют соответственно 0,2 мА, 0,4 мА и 0,2 мА, а величины временных задержек не превышают соответственно 15 нс, 20 нс и 10 нс. Помимо этих серий в качестве приемников можно использовать специальные микросхемы магистральных приемников серии КР559 (входной ток не более 0,12 мА, задержка не более 30 нс). Требованиям, предъявляемым к приемникам, удовлетворяют также микросхемы электрически программируемых ППЗУ и ПЛМ серии КР556. Это тоже немаловажно, так как их очень удобно использовать в схемах селекторов адреса УС. Входные токи этих микросхем не превышают 0,25 мА.

Отметим, что малые входные токи микросхем серий КР1533 и КР1554 позволяют подключать к линии магистрали даже два входа таких микросхем.

Передатчики магистральных сигналов. Требования к ним:

  •             большой выходной ток;
  •             высокое быстродействие;
  •             отключаемый выход (например, для шины данных), то есть иметь выход с открытым коллектором или с тремя состояниями.

Это связано с необходимостью перехода УС в пассивное состояние в случае отсутствия обращения к нему. Выбор микросхем передатчиков гораздо боль­ше, такие микросхемы есть практически в каждой серии (К155, К555, КР1533, К559 и т.д.).

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

Приемопередатчики магистральных сигналов. Требования к ним включают в себя требования к приемникам и передатчикам:

  •          малый входной ток;
  •          большой выходной ток;
  •          высокое быстродействие;
  •          обязательное отключение выходов.

Надо отметить, что в простейшем случае (когда разрядов немного) приемопередатчики могут быть построены на микросхемах приемников и передатчиков с отключаемыми выходами. Однако при боль­шом количестве разрядов надо использовать специальные микросхемы приемопередатчиков. Эти микросхемы бывают двух основных типов (рис. 6.2):

1)           с двумя двунаправленными шинами;

2)           с тремя шинами (одной двунаправленной, одной входной шиной и одной выходной шиной).

Для управления работой приемопередатчиков используются два управляющих сигнала (V1 и V2). Если приемопередатчики с открытым коллектором используются для буферирования шины данных, то на их выходах необходимо включать резисторы на шину +5В (если они не работают на линию, к которой эти резисторы уже подключены). Поэтому их применение иногда оказыва­ется нежелательным. Это, однако, совсем не означает, что они не могут быть использованы, например, в операционной части УС.

На рис. 6.3 показаны три схемы реализации приемопередатчиков для шины данных: на приемнике и передатчике, на приемопередатчике с двумя шинами и на приемопередатчике с тремя шинами (для 8–разрядных данных).

 

 

Рис. 6.3. Варианты построения приемопередатчиков данных

 

Отметим, что чаще нужны приемопередатчики с раздель­ными входными и выходными шинами данных УС, но при использовании многоразрядных микросхем ОЗУ или сдви­говых регистров типа КР1533ИР24, которые имеют двунаправленную шину данных, удобнее применять приемопередатчики с совмещенными входными/выходными данными УС.

 

Построение селекторов адреса.

Второй основной интерфейсной функцией, выполняемой УС, работающим в режиме программного обмена, является селектирование или дешифрация адреса. Эту функцию выполняет узел, называемый селектором адреса, который должен выработать сигналы, соответствующие выставлению на шине адреса магистрали кода адреса, принадлежащего данному УС, или од­ного из зоны адресов данного УС. Обобщенная схема селектора адреса для УС, работающего как устройство ввода/вывода, показана на рис. 6.4. Здесь шина А – это шина адреса магист­рали, шина AS – внутренняя шина УС, на которой присутствует код, сравниваемый с адресом магистрали (может отсутствовать), CS – выходные сигналы селектора адреса, формируемые при обращении по магистрали к данному УС.

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

 

CS1

CS2

 

 

CSN

Рис. 6.4. Структура

селектора адреса

Рассмотрим небольшой пример. Пусть мы выбрали для нашего УС свободную зону из 16 адресов в пространстве устройств ввода/вывода 360 ... 36 F. Пусть наше УС должно иметь 4 адреса для 8–разрядного обмена. Тогда мы можем каждому адресу УС поставить в соответствие четыре магистральных адреса (то есть шестнадцать адресов выбранной зоны разделили на четыре адреса УС и получили четыре). Тогда на селектор адреса можно завести не 10, а только 8 адресных линий (A2...A9), отбросив два младших адреса. При этом, например, первому адресу УС будут соответствовать магистральные адреса 360 ... 363. При обращении к любому из них селектор адреса будет распознавать первый адрес УС.

Однако при данном подходе надо соблюдать осторожность и не захватывать слишком больших зон адресов, так как иначе может не остаться возможностей для расширения системы. Однако иногда разрабатываемое УС должно иметь очень много адресов. В таком случае оно может дешифровать все 16 разрядов, но свободными будут не все дополнительные адреса, а только окна, соответствующие свободным зонам в      1 К–байтном пространстве 000 ... 3FF. Например, свободному окну 300 ... 31 F в 64 К–байтном пространстве (0000 ... FFFF) будут соответствовать свободные окна 0300 ... 03IF, 0F00 ... 0F1F, 1300 ... 131F, 1F00 ... 1F1F и т. д. (всего 64 окна). Так что советуем подумать, следует ли выбирать этот путь, существенно усложняющий селектор адреса.

Несколько слов о селекторе адреса для УС, работающего в адресном пространстве памяти. В этом случае мы должны обрабатывать 20 разрядов адресной шины (при полном объеме памяти до 1 Мб) или все 24 разряда адресной шины (при полном объеме памяти до 16 Мб). Надо сказать, что разработка УС, работающего как устройство ввода/вывода, гораздо проще. Переход в адресное пространство памяти вызывается обычно необходимостью ускорения обмена с внутренним ОЗУ или ПЗУ, входящим в состав УС. Но в этом случае селектор адреса не должен обрабатывать столько младших разрядов адреса, сколько адресных входов имеет это ОЗУ или ПЗУ. Например, если внутреннее ОЗУ имеет организацию 1 к х 8 (десять адресных входов), то десять младших разрядов адреса A0...A9 должны подаваться не на селектор адреса, а (через соответствующие буфера) непосредственно на адрес­ные входы ОЗУ.

Помимо сигналов, показанных на рис. 6.5, на селектор адреса часто подают сигнал AEN, который при этом используется для запрещения выработки выходных сигналов. То есть если по магистрали идет прямой доступ к памяти, то устройство вво­да/вывода (в нашем случае – УС) должно быть обязательно отключено от магистрали и не должно реагировать на выставляемые на шине адреса коды (пока мы говорим об УС, ори­ентированных только на программный обмен).

Рассмотрим несколько наиболее характерных схемотехнических решений селекторов адреса. Но сначала отме­тим требования, предъявляемые к ним:

  •       высокое быстродействие (селектор адреса должен иметь за­держку не более чем интервал между выставлением адреса и началом сигнала строба обмена);
  •       возможность изменения селектируемых адресов (особенно важно для устройств ввода/вывода из–за малого коли­чества свободных адресов);
  •       малые аппаратные затраты.

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

сложность органи­зации выбора нескольких адресов. Если надо иметь возможность изменять выбираемый адрес, то можно предусмотреть использование отключаемых инверторов для всех линий адреса. Тогда, подключая или отключая нужные инверторы с помощью пере­мычек или переключателей, мы получаем возможность пере­страивать в некоторых пределах наш селектор адреса. Другой путь – применение элементов «Исключающее ИЛИ», работаю­щих как управляемые инверторы.

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

Следующий метод реализации селектора адреса – исполь­зование микросхем компараторов кодов, на одну входную шину которых подается адрес из магистрали, а на другую вход­ную шину – код, соответствующий селектируемому адре­су. Очевидно, что, каскадируя эти микросхемы, можно постро­ить селектор адреса исключительно на них, но это приведет к неоправданным аппаратным затратам. Гораздо эффектив­нее применять компараторы кодов для изменения селектируе­мых адресов.

Наконец, наиболее универсальными являются селекторы адреса на базе ППЗУ и ПЛМ. В данном случае селектируе­мый адрес (или селектируемые адреса) зависит не от схе­мотехнических решений и не от кода, задаваемого переклю­чателями, а от прошивки ППЗУ или ПЛМ. Такой подход обеспечивает, как правило, малые аппаратные затраты, а также простую реализацию выбора нескольких адресов или зон адресов. Изменить селектируемый адрес (или ад­реса) можно заменой ППЗУ (ПЛМ), устанавливаемого в контактирующее устройство (сокет). Однако это может сде­лать только пользователь, имеющий набор ППЗУ (ПЛМ) для разных адресов или имеющий программатор (устройство для программирования).

На рис. 6.5 показана схема селектора адреса на одной микросхеме ППЗУ (нулевой разряд адреса SAO не задействован, a SA9 всегда должен быть равен нулю).

Возможно также комбинирование ППЗУ (ПЛМ) с другими микросхемами, например, с дешифраторами или компараторами кодов. Как уже отмечалось, малые входные токи микросхем ППЗУ серии КР556 позволяют отказаться от входных буферов адреса. Задержка микросхем ППЗУ (ПЛМ) этой серии не превышает 50 ... 80 нс. Если необходимо обрабатывать больше разрядов адреса, чем имеется адресных входов у микросхем ППЗУ, то можно каскадировать две или более микросхемы, объединяя их.

 

6.2. Архитектура контроллера прямого  доступа  к памяти (КПДП) КР580ВТ57

 

Микросхема КР580ВТ57 – четырехканальный программируемый контроллер прямого доступа к памяти (ПД) предназначен для высокоскоростного обмена данными между памятью системы и периферийными устройствами путем генерации массива последовательных адресов памяти по требованию периферийного устройства.

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

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

Условное графическое обозначение микросхемы приведено на рис. 6.6, структурная схема показана на рис. 6.7.

Каналы приема запросов ПД предназначены для приема и привязки несинхронных сигналов прямого доступа к памяти DRQ0–DRQ3, маскирования входов и выдачи сигна­лов подтверждения запроса прямого доступа к памяти DACK0DACK3. Каждый канал принимает запрос через свой вход DRQ и выдает сигнал «Подтверждение запроса» ПД через соответствующий выход.

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

выход HRQ (запрос захвата) запрашивает управление системной шиной. В системе с од­ной микросхемой этот выход должен быть под­ключен к входу «Захват» микросхемы КР580ВМ80А;

вход HLDA (подтверждение захвата) полу­чает от КР580ВМ80А сигнал, который свиде­тельствует, что микросхема КР580ВТ57 мо­жет приступать к управлению системными шинами;

вход С (тактовый сигнал), на который по­даются тактовые импульсы С2 от тактового генератора микропроцессорной системы;

выход STBA (стробирующий сигнал адреса) стробирует старший байт адреса памяти, передаваемый через шину данных;

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

выход ТС (конец счета) указывает выбранному в настоящий момент периферийному устройству, что текущий цикл ПД должен быть последним для этого массива данных. Если разряд разрешения «КС–стоп» в регистре режима (РпР) установлен в 1, то выбранный канал будет автоматически запрещен в конце этого цикла ПД, т. е. в конце передачи массива данных. Вывод активизируется (устанавливается в 1), когда содержимое 14–разрядного регистра циклов (РгЦ) в данном канале устанавливается в 0. 14 разрядов РгЦ должны быть загружены числом N–1, где N – нужное число циклов ПД;

выход M128 (маркер по модулю 128) указывает выбранному периферийному устройству, что текущий цикл ПД является 128–м или кратным 128 от конца массива данных. Если общее число циклов ПД N делится на 128 и РгЦ загружен числом N1, то сигнал М128 появляется на 128–м и каждом кратном 128 цикле от конца массива данных;

вход RDY (готовность) асинхронный и используется для удлинения циклов записи в память (чтение из памяти) путем ввода мик­росхемы с помощью сигнала «Готовность» в состояние ожидания, если выбранная память требует более длинных циклов;

выводы А0 – A3 – адресные шины. Они являются трехстабильными выходами и устанав­ливают разряды 0 – 3 16–разрядного адреса памяти, генерируемого микросхемой во время всех циклов ПД.

Схема установки режима хранит инфор­мацию о запрограммированных режимах: ав­тозагрузки; КС–стоп; расширенной записи; обычной записи; циклического сдвига приоритетов; фиксированного приоритета. Кроме того, раз­ряды 0–3 регистра установки режима разре­шают работу каждого из каналов. Регистр установки режима обычно загружается после того, как установлены регистр адреса (РгА) и регистр циклов (РгЦ).

Регистр установки режима сбрасывается путем подачи сигнала на вход RS, что приводит к запрету работы всех каналов во всех режимах и предотвращает конфликты на шинах при подаче напряжения питания.

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

Формат управляющего слова, записываемого в регистр режима  (РУС),  приведен на  рис. 6.8. Разряды D3D0 задают разрешение обмена по соответствующему каналу, запись 0 в разряд запрещает обмен. Остальные разряды определяют режимы работы канала.

 

Состояние 1 в разряде D4 РУС устанавлива­ет режим циклического сдвига приоритетов. В этом режиме после каждого цикла ПД (но не каждого запроса ПД) приоритет каждого канала изменяется. Канал, который только что был обслужен, будет иметь самый низкий приоритет, а остальные каналы получат приоритет, следующий по уровню, как показано в табл. 6.1.

Если разряд D4 установлен в 0, то каждый канал ПД имеет фиксированный приоритет. В режиме фиксированных приоритетов канал 0 имеет наивысший приоритет, а канал 3 – самый низкий.

Таблица 6.1

Приоритет

Обслуженный канал

0

1

2

3

Наивысший

 

 

Самый низкий

1

2

3

0

2

3

0

1

3

0

1

2

0

1

2

3

Циклический сдвиг приоритетов предотвращает монополизацию одного из каналов ПД; последовательность циклов ПД будет обслуживать различные каналы, если разрешено обслуживание более одного канала. Все операции ПД начинаются с первоначального присвоения каналу 0 наивысшего приоритета для первого цикла ПД.

Состояние 1 в разряде D5 РУС устанавливает режим удлиненной записи. В этом случае продолжительность сигналов WR и WRIO увеличивается путем более ранней их активизации в цикле ПД. Передача данных в микропроцессорной системе на основе БИС КР580ВМ80А реализуется асинхронно, чтобы можно было использовать различные типы памяти и устройств ввода/вывода с различным временем доступа к памяти. Если к устройству в указанный интервал времени доступ невозможен, то оно выдает в микросхему сигнал «Отсутствие готовности», тем самым заставляя ее войти в один или более тактов ожидания готовности.

Некоторые устройства отличаются достаточным быстродействием, чтобы получить к ним доступ без использования тактов ожидания готовности. Для этого такие устройства должны генерировать свой сигнал «Готовность» одновременно с появлением фронта сигнала WR или WRI0. Однако в процессе формирования сигнала «Готовность» он задерживается, что может заставить микросхему войти в такт ожидания готовности. Для вычислительных систем с этим типом устройств режим удлиненной записи обеспечивает другие временные соотношения для сигналов WR и WRIO, которые дают возможность устройствам раньше выдать сигнал «Готовность» и, следовательно, исключить такты ожидания для микросхемы, что увеличивает пропускную способность системы.

Состояние 1 в разряде D6 РУС устанавливает режим «КС–стоп», при котором после появления сигнала ТС обслуженный канал ПД оказывается запрещенным. В результате автоматически прекращаются всякие операции ПД в данном канале. Разряд разрешения для данного канала должен быть перепрограммирован для продолжения или начала следующей операции ПД.

Если разряд 6 установлен в 0, то появление сигнала ТС не запрещает дальнейшее использование канала. В этом случае сигнал информирует периферию об окончании операции ПД.

При наличии 1 в разряде D7 РУС устанавливается режим автозагрузки. Этот режим позволяет каналу 2 многократно передавать массив данных без программного вмешательства. Регистры канала 2 устанавливаются, как обычно, для одной передачи массива. Регистры канала 3 в это время хранят параметры массива для переустановки регистров канала 2 (начальный адрес ПД, число циклов и направление передачи). После первой передачи массива данных через канал 2 и появления сигнала ТС параметры, хранимые в регистрах канала 3, автоматически загружаются в соответствующие регистры канала 2. Заметим, что возможности режима «КС–стоп» не воздействуют на канал 2, когда разряд 7 установлен в 1.

Если разряд D7 установлен в 1, то начальные параметры для канала 2 автоматически дублируются в регистрах канала 3 при программировании канала 2. Это обеспечивает многократную передачу массива программированием только одного канала. Операция многократной передачи массива может быть использована для регенерации изображения на ЭЛТ. Каналы 2 и 3 могут быть загружены также разными параметрами при условии, что канал 2 загружается раньше, чем канал 3. Следует заметить, что в режиме автозагрузки доступен для работы канал 3, если нет запроса ПД по каналу 2 и разряд разрешения канала 3 РУС установлен в 1, но использование этого канала будет изменять значения параметров, которые должны загрузиться в канал 2.

При использовании режима автозагрузки для операций по связыванию массивов данных (цепочка данных) надо перезагружать программно регистры канала 3 новыми параметрами для передачи следующего массива данных. Каждый раз, когда в микросхеме происходит подмена данных канала 2 содержимым канала 3, в регистре состояния (РгС) (рис. 6.9) аппаратно устанавливается разряд 4 «Флаг обновления данных». При этом подмена происходит с сохранением информации в регистрах канала 3. Повторный запуск канала 2 происходит в начале следующего цикла ПД канала 2 после появления сигнала ТС. Это первый цикл ПД нового массива данных для канала 2. Разряд «Флаг обновления данных» в РгС сбрасывается аппаратно в конце этого цикла. Для операций по связыванию массивов данных разряд «Флаг обновления данных» в регистре состояния каналов может контролироваться микросхемой КР580ВМ80А, чтобы определить, когда параметры следующего массива данных могут быть гарантированно загружены в канал 3.

В разрядах 0 – 3 РгС аппаратно устанавливается «Флаг завершения обслуживания» по соответствующему каналу после выработки сигнала ТС. «Флаг завершения обслуживания» может также контролироваться процессором, однако в результате считывания флаг сбрасывается. «Флаг завершения обслуживания» и «Флаг обновления данных» в РгС могут быть сброшены также сигналом SR или отказом от режима автозагрузки путем перепрограммирования РУС.

Схема управления периферийными устройствами осуществляет прием, формирование и выдачу сигналов, обеспечивающих обмен информацией между процессором и микросхемой КР580ВТ57, между памятью и периферийными устройствами. Если процессор загружает или читает один из регистров микросхемы КР580ВТ57 (последняя является периферийным устройством на системной шине), то микросхема получает сигнал RD I0 или WR I0 при С5 = 0, декодирует младшие адресные разряды А0 A3 и либо записывает содержимое шины данных на адресуемый разрядами А0 A3 регистр микросхемы (WR I0 = 0), либо выдает содержимое этого регистра на шину данных при RD I0 = 0.

В состоянии обслуживания, когда микросхема управляет системными шинами, схема генерирует сигналы RD I0 и WR (цикл записи ПД) или WR I0 и RD (цикл чтения ПД), которые управляют каналом данных, связанным с периферийным устройством. Если микросхема является периферийным устройством по отношению к процессору, то сигнал RD I0 = 0, поступивший на вход RD I0=0, разрешает считывание с 8–разрядного регистра состояния каналов или старшего (младшего) байта 16–разрядного регистра адреса, или регистра числа циклов.

Если микросхема находится в состоянии программирования, то вывод WR I0 является входом, а сигнал WR I0 = 0 позволяет содержимое шины данных загрузить в 8– разрядный регистр установки режима или старший (младший) байт в 16–разрядный регистр адреса или регистр числа циклов.

Четыре младшие адресные шины А0 A3 двунаправленные. В режиме программирования они являются входами, которые выбирают один из регистров микросхемы для считывания или записи информации. В режиме обслуживания они являются выходами, на которых устанавливаются младшие четыре разряда 16–разрядного адреса памяти, генерируемого микросхемой.

Буферная схема данных (БД) представляет собой  8–разрядную  двунаправленную шину с тремя состояниями, соединяющую микросхему с системной шиной данных.

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

Необходимым условием для обслуживания канала прямого доступа к памяти является поступление на микросхему из периферии сигнала запроса DRQ, в результате чего микросхема вырабатывает сигнал «Запрос захвата» HRQ для передачи его на процессор. При получении от микропроцессора сигнала «Подтверждение захвата» HLDA микросхема осуществляет:

  •             управление системной шиной;
  •             подтверждение запроса периферийного устройства, которое подключено к каналу с наивысшим приоритетом;
  •             выдачу младших восьми разрядов адреса памяти на системные адресные шины А0А7, а старших восьми разрядов адреса – на шину данных D0 D7;
  •             генерацию соответствующих сигналов управления RD или WR I0, RD I0, WR, которые побуждают периферийное устройство получить байт данных из ячейки или передать его в ячейку памяти. За один цикл работы микросхема передает один байт данных, причем в первом цикле вырабатывается адрес ячейки, равный начальному адресу, а в каждом последующем адрес увеличивается на 1 до тех пор, пока число циклов обращений к памяти не станет равным заданному.

Микросхема управляет системной шиной и повторяет последовательность передач до тех пор, пока периферийное устройство сохраняет свой запрос. Так микросхема может передать массив данных в быстродействующее периферийное устройство или выбрать его из этого устройства в один прием. Когда указанное количество байт передано, микросхема выдает сигнал «Конец счета» ТС, информируя о завершении передачи данных. В процессе выполнения циклов ПД (системные шины находятся под управлением микросхемы) имеются три различных режима работы:

1)           режим чтения ПД – обеспечивает передачу данных из памяти в периферию;

2)           режим записи ПД – обеспечивает передачу данных из периферии в память;

3)           режим проверки ПД – не включает передачу данных.

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

После окончания запрограммированного числа циклов ПД, характеризующегося выработкой сигнала ТС, возможны следующие виды работы:

  •             дальнейшее наращивание адреса путем прибавления 1 в каждом последующем цикле ПД;
  •             блокировка канала ПД (режим «КС–стоп»);
  •             повторение ранее выработанного массива адресов (режим автозагрузки).

При наличии двух и более запросов будет обслуживаться периферия с наивысшим приоритетом. Вид приоритета устанавливается в процессе программирования.

Имеется два вида установки приоритета:

1)           фиксированный, когда канал 0 имеет наивысший приоритет, а канал 3 – самый низкий;

2)           циклический сдвиг приоритета, когда после каждого цикла ПД приоритет каждого канала изменяется.

В процессе функционирования микросхемы путем программирования РУС можно заблокировать (замаскировать) запрос любого канала.

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

В исходное состояние микросхема устанавливается после включения путем подачи на ее вход SR сигнала «Установка». В этом состоянии маскируются запросы всех каналов ПД; трехстабильные буферные схемы системной шины А0 A3 переводятся в состояние приема информации.

В состоянии программирования микросхемы микропроцессор по системным шинам данных D0 D7 осуществляет запись в соответствующие регистры микросхемы исходных данных (начальные адреса и число циклов)  и инструкции, определяющей  режим  работы микросхемы при циклах ПД. При этом адресат приема информации  микросхемой  определяется кодом  на системных шинах А0 A3.

В состоянии ожидания микросхема находится от момента  окончания программирования до получения сигнала «Подтверждение запроса захвата» HLDA или в промежутках между массивами циклов ПД в отсутствие запросов ПД. В состоянии ожидания осуществляется прием сигналов DRQ и вырабатывается для микропроцессора сигнал «Запрос захвата» HRQ. В этом состоянии системные шины находятся под управлением микропроцессора.

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

Регистры микросхемы загружаются или с них считывается информация, если процессор выполняет команду записи или чтения путем обращения к микросхеме КР580ВТ57 и к соответствующим регистрам внутри микросхемы. Для этого процессору необходимо выдать соответствующие сигналы записи или чтения WR I0, RD I0 и на системные адресные шины выдать адрес регистра микросхемы. В это время на шину данных подается необходимая информация для записи в регистры или же через шину данных читается информация из микросхемы.

Для установки состояния программирования необходимо также на микросхему подать сигнал CS = 0, получаемый обычно путем декодирования всех или некоторых старших 12 разрядов адреса А4 А15 (в зависимости от системной организации памяти и устройств ввода/вывода). Вход WR I0 (или WR при общем поле памяти и УВВ) указывает на запись в регистры микросхемы, а вход RD IO (или RD) – на чтение из регистров.

Разряд A3 позволяет различить регистры каналов при А3 = 0, а при А3=1 регистр установки режима (работает только на запись), и регистр состояния каналов (работает только на чтение).

Три младших разряда А0 – А2  называют конкретный регистр канала. Если адресуется регистр установки режима или регистр состояния каналов, то разряды А0 А2 должны быть установлены в 0. Когда адресуется регистр канала, разряд А0 позволяет различить регистры адреса ПД (при А = 0) и числа циклов (при А = 1). Разряды A1, A2 позволяют определить номер канала. Коды выборки регистров приведены в табл. 6.2.              

В связи с тем, что регистры канала являются 16–разрядными, для их загрузки или чтения необходимо два программных командных цикла. В микросхеме имеется триггер, кото­рый автоматически переключает цепи во время выполнения операции чтения или записи. Этот триггер определяет доступ к старшему или младшему байту регистра. Сбрасывается триггер путем подачи сигнала на вход SR, а также всякий раз при загрузке регистра установки режима.

Таблица 6.2

Регистр

Сигналы управления

CS

A3

A2

A1

A0

Рг А КПД 0

0

0

0

0

0

Рг Ц КПД 0

0

0

0

0

1

Рг А КПД 1

0

0

0

1

0

Рг Ц КПД 1

0

0

0

1

1

Рг А КПД 2

0

0

1

0

0

Рг Ц КПД 2

0

0

1

0

1

Рг А КПД 3

0

0

1

1

0

Рг Ц КПД 3

0

0

1

1

1

РУС

0

1

0

0

0

РгС

0

1

0

0

0

отключение

1

Х

Х

Х

Х

 

Для обеспечения соответствующей синхронизации при обращениях к регистрам канала все команды, поступающие от процессора, должны появляться парами, причем всегда младший байт регистра должен получить доступ к памяти первым. Нельзя подавать сигнал CS до тех пор, пока сигнал RD I0 или WR I0 не станет активным, так как это может привести к ошибочному состоянию триггера. В системах, использующих прерывания, запросы прерывания должны быть запрещены в процессе программирования регистров канала, чтобы не было разделения парных команд записи или чтения регистров.

При подключении КПДП к шинам микро-ЭВМ младший байт адреса памяти выдается по линиям А(3 – 0) и А(4 – 7), а старший байт – через шину D(7 – 0), поэтому КПДП обычно подключается вместе с буферным регистром. Схема подключения КПДП к системной шине приведена на рис. 6.10.

 

 

 

6.3. Архитектура программируемого контроллера электронно–лучевой трубки (КЭЛТ) КР580ВГ75

 Микросхема КР580ВГ75 – однокристальный контроллер ЭЛТ, который предназначен для алфавитно–цифровых дисплеев, а также для применения в видеотерминалах микро-ЭВМ.

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

Условное графическое обозначение микросхемы приведено на рис. 6.11, структурная схема показана на рис. 6.12.

В состав микросхемы входят: буферная схема шины данных, логическая схема чтения / записи ПДП, внутренняя шина данных, входная буферная схема–контроллер, два буферных ЗУ на один знакоряд и сопряженные с ними стеки, выходная буферная схема–контроллер, выходная буферная схема, схема растровой синхронизации и управления видеосигналом, счетчики знаков, строк, знакорядов, регистры светового пера.

Буферная схема шины данных – двунаправленная с тремя состояниями, 8–разрядная буферная схема для сопряжения внутренней шины данных микросхемы с шиной данных системы. Работой буферной схемы шины данных управляет логическая схема чтения/записи/ПДП.

Логическая схема чтения/записи/ПДП управляет процессом двунаправленного обмена информацией микросхемы с внешними устройствами, а также переводом выводов шины данных микросхемы в 3–е состояние. Логическая схема чтения/записи ПДП, декодируя внешние управляющие сигналы, адресует записываемую информацию в соответствующие регистры микросхемы, буферные ЗУ или стеки FIFO, а считываемую выводит из регистров состояния или регистров светового пера. Кроме того, она вырабатывает сигналы ПДП и прерываний, подаваемые на центральный процессор и контроллер ПДП.

Внутренняя шина данных, состоящая из восьми коммутируемых линий связи, осуществляет обмен информацией внутри микросхемы.

Входная буферная схема–контроллер управляет взаимодействием микросхемы КР580ВГ75 с центральным процессором видеотерминала. Она содержит регистры команд и параметров, куда по внутренней шине данных логическая схема записи адресует команды от центрального процессора и числовые данные (параметры), входящие в состав некоторых команд (см. «Программирование микросхемы»). Сведения о правильности приема и выполнения команды заносятся в регистр состояния, откуда центральный процессор может их считывать и контролировать.

Входная буферная схема–контроллер «просматривает» информацию, загружаемую в буферные ЗУ, и при обнаружении в ее составе вспомогательных команд выполняет их (например, при команде «Конец кадра – прекращение ПДП» прекращает дальнейший запрос ПДП).

Выходная буферная схема–контроллер управляет отображением информации.

 

Рис. 6.12. Структурная схема КЭЛТ

 

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

Буферные ЗУ на один знакоряд – два ЗУ емкостью по 80 8–битовых знаков каждое для промежуточного хранения выводимой на экран ЭЛТ информации, заполняются в ходе цикла ПДП из страничной памяти видеотерминала. Если содержимое одного из этих ЗУ выводится на экран, то второе заполняется информацией для следующего знакоряда.

В микросхеме есть два стека обратного магазинного типа емкостью 16 знаков по  7 бит каждый. Стеки попарно сопряжены с буферными ЗУ и служат для увеличения их емкости в «прозрачном» режиме.

Выходная буферная схема – однонаправленный 7–разрядный буферный регистр для синхронного вывода информации из буферного ЗУ или стека FIFO на знакогенератор.

Растровая синхронизация и управление видеосигналом обеспечивают синхронизацию и управление выводами LA0, LAI, HLGT, RVV, LTEN, VSP, GPA0, GPA1 микросхемы.

Счетчик знаков – программируемый счетчик для поочередного подсчета числа знаков в знакоряду и длительности обратного хода горизонтальной развертки, требуемые значения которых записаны в регистре параметров. Управляется с входа CCLK. Во время подсчета длительности обратного хода горизонтальной развертки на выходе HRTC напряжение высокого уровня.

Счетчик строк – программируемый счетчик для подсчета числа строк растра в знакоряду, требуемое число которых записано в регистре параметров. Выход этого счетчика в 4–разрядном параллельном коде задает ПЗУ внешнего знакогенератора номер строки растра в знакоряду, отображаемой на экране ЭЛТ.

Счетчик знакорядов – программируемый счетчик для поочередного подсчета числа знакорядов в кадре и длительности обратного хода вертикальной развертки, требуемые значения которых записаны в регистре параметров входной буферной схемы–контроллера. Во время подсчета длительности обратного хода вертикальной развертки на выходе VRTC напряжение высокого уровня.

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

Выводы микросхемы выполняют следующие функции.

Номер строки (LC3 – LC0). Выход счетчика строк, задающий знакогенератору номер строки растра в знакоряду, отображаемой в данный момент на экране ЭЛТ.

Запрос ПДП (DRQ). Выходной сигнал к контроллеру ПДП (КР580ВТ57), требующий цикла прямого доступа к памяти для загрузки информации в буферное ЗУ на один знакоряд.

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

Обратный ход строчной развертки (HRTC). Выходной сигнал, возникающий во время обратного хода горизонтальной развертки, длительность которого программируется. Во время его действия на выходе VSP напряжение высокого уровня.

Обратный ход кадровой развертки (VRTC). Выходной сигнал, возникающий во время обратного хода вертикальной развертки, длительность которого программируется. Во время его действия на выходе VSP напряжение высокого уровня, на выходе LTEN – напряжение низкого уровня.

Чтение (RD). Управляющий сигнал для чтения внутренних регистров микросхемы.

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

Световое перо (LTEN). Входной сигнал, возникающий в момент обнаружения световым пером засветки в данной точке экрана ЭЛТ.

Шина данных (D7 – D0). Двунаправленные линии связи с тремя состояниями. Во время чтения регистров светового пера или регистра состояния они являются выходами.

Адрес порта (A0). Определяет адрес регистра (порта) при чтении или записи. Если на А0 напряжение высокого уровня, то запись информации производится в регистр (порт) команд (при RD = 0 происходит чтение словосостояния из регистра состояния). При напряжении низкого уровня на А0 запись производится в регистр (порт) параметров (при RD = 0 происходит чтение регистров светового пера из регистров светового пера).

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

Код знака (CC6 – CC0). Выходы, через которые отображаемая на экране ЭЛТ информация из буферного ЗУ на один знакоряд или стека FIFO в 7–битовом параллельном коде синхронно выводится на знакогенератор.

Синхросигнал знака (CCLK). Внешний сигнал от логической схемы синхронизации точек растра. Синхронизирует процесс вывода кода знаков и все процессы, связанные с отображением информации (управление разверткой, видеосигналом и т. п.).

Запрос прерывания (IRQ). Запрос прерывания к центральному процессору.

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

Универсальные атрибутивные коды (GPA0, GPA1). Выходы, управляемые с помощью атрибутивных кодов поля. Используются по усмотрению разработчика (например, для выбора цвета).

Подавление видеосигнала (VSP). Выходной сигнал для гашения изображения на экране ЭЛТ. Действует в следующих случаях:

  •            во время обратного хода горизонтальной или вертикальной развертки;
  •            во время прямого хода верхней и нижней строк растра в знакоряду, если в качестве стро­ки подчеркивания для знакоряда запрограммирована строка растра с номером 8 и выше;
  •            при обнаружении вспомогательных команд окончания знакоряда или кадра;
  •            при недогрузке буферного ЗУ на один знакоряд из–за сбоев в цикле ПДП;
  •            в периодических интервалах (1/16 частоты кадров для курсора, 1/32 частоты кадров для атрибутов символа и поля) с целью получения мерцания изображения, заданного при программировании курсора (маркера), атрибутов символа или поля.

Негативное изображение (RVV). Выходной сигнал, задающий схеме управления ЭЛТ инвертирование видеосигнала. Этот выход включается на участках изображения, заданных с помощью соответствующих атрибутивных кодов поля, и при отображении места нахождения курсора, если курсор (маркер) запрограммирован в виде негативного видеоблока.

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

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

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

Микросхема разработана для сопряжения контроллера ПДП типа КР580ВТ57 с генератором стандартных знаков – ПЗУ, декодирующим точечную матрицу. Синхронизация на уровне растровых точек должна обеспечиваться внешней схемой.

Схема применения КР580ВГ75 в видеотерминале приведена на рис. 6.13. Микросхема КР580ВГ75 через контроллер ПДП получает «окно» в память микро–ЭВМ, загружает коды знаков в один из буферов и с началом прямого хода строки растра начинает выдавать их на знакогенератор. Отображение информации знакового ряда осуществляется построчно. При каждом прямом ходе горизонтальной развертки номер строки растра сохраняется постоянным и выводятся коды всех знаков. Во время обратного хода горизонтальной развертки номер строки увеличивается на единицу и снова производится вывод кодов всех знаков ряда при очередном прямом ходе строки растра. Этот процесс продолжается, пока не будет отображен весь знаковый ряд (пройдены все строки).

Когда одно буферное ЗУ используется для отображения, второе заполняется знаками следующего знакоряда. Число знаков в ряду и число знакорядов на экране задаются с помощью программного обеспечения, что обеспечивает сопряжение с большинством типов электроннолучевых индикаторов.

Рис. 6.13. Схема применения КЭЛТ в видеотерминале

 

Для заполнения буферного ЗУ, не используемого в данный момент для отображения, запрашивается цикл ПДП.

Микросхему КР580ВГ75 можно запрограммировать для получения от 1 до 80 знаков в знакоряду и от 1 до 64 знакорядов в кадре. Микросхему можно запрограммировать также на бланкирование (гашение) чередующихся рядов. В этом режиме первый знакоряд отображается, второй бланкируется, третий отображается и т. д. Для бланкированных рядов ПДП не запрашивается.

Микросхема разработана по принципу построчного отображения знакоряда, при котором на каждом прямом ходе горизонтальной развертки выводятся коды всех знаков знакоряда, а номер строки растра при их выводе поддерживается постоянным. Номер строки растра увеличивается на 1 во время обратного хода горизонтальной развертки, и коды всех знаков знакоряда снова выводятся на знакогенератор при следующем прямом ходе строчной развертки. Это продолжается, пока не будет отображен весь знакоряд. Число строк растра (линий горизонтальной развертки) в знакоряду можно программировать от 1 до 16.

Выход счетчика строк можно запрограммировать для работы в одном из двух режимов. В режиме 0 код на выходе счетчика строк соответствует номеру строки растра в знакоряду. В режиме 1 счетчик строк сдвинут на 1 относительно номера строки растра в знакоряду, т. е. если отображается первая строка растра (строка 0), то в режиме 1 на выходе счетчика строк будет номер последней строки знакоряда (рис. 6.14).

Режим 0 используется для знакогенераторов, которые бланкируют нулевой адрес и запускаются с адреса 1. Режим 1 используется для знакогенераторов, запускающихся с нулевого адреса.

Программируется также местоположение строки подчеркивания (на строках растра от 0 до 15). Это независимый режим счетчика строк. Если номер строки подчеркивания больше 7 (старший бит в коде номера равен 1), то верхняя и нижняя строки растра в знакоряду будут гаситься, если меньше или равен 7 (т. е. старший бит в коде номера равен 0), то верхняя и нижняя строки растра в знакоряду гаситься не будут. Если номер строки подчеркивания превышает число строк растра в знакоряду, то подчеркивание не возникает.

Гашение (бланкирование) строк растра осуществляется сигналом VSP («Подавление видеосигнала»), подчеркивание – сигналом LTEN («Разрешение засветки экрана»).

Ширина растровой точки и ширина знака зависят от внешних схем синхронизации и управления. Схема синхронизации на уровне растровых точек необходима для приема информации в параллельном коде с выхода знакогенератора и выдачи ее в последовательном коде со скоростью, достаточной для отображения на экране ЭЛТ (рис. 6.15). Длительность точки зависит от частоты синхросигнала растровых то­чек, длительность знака – от периода знакогенератора.

Горизонтальный размер знака определяется разрядностью сдвигового регистра.

Синхросигналы и управление видеосигналом должны быть синхронизированы с видеосигналом с учетом времени выборки знакогенератора.

Счетчик знаков управляется с входа CCLK синхросигналами знаков. Он подсчитывает число отображаемых знаков (программируется от 1 до 80 в знакоряду). После достижения запрограммированного числа знаков он вызывает приращение счетчика строк на 1 и начинает подсчет длительности обратного хода строчной развертки, программируемой от 2 до 32 синхросигналов знака с дискретностью 2. Этот цикл постоянно повторяется.

Счетчик строк управляется счетчиком знаков. Он используется для выработки необходимого знакогенератору номера строки растра (выходы LC0 – LC3). После подсчета всех строк в знакоряду (программируется от 1 до 16) он вызывает приращение счетчика знакорядов на 1 и запускается сначала.

Синхронизация кадра осуществляется внутренним счетчиком знакорядов, управляемым счетчиком строк. Кроме того, счетчик знакорядов управляет работой буферных ЗУ на один знакоряд. Когда счетчик знакорядов подсчитывает все знакоряды в кадре (программируются от 1 до 64), он начинает подсчет длительности обратного хода кадровой развертки (программируется от 1 до 4 знакорядов).

Во время обратного хода строчной и кадровой разверток активен выход VSP «Подавление видеосигнала».

Схема синхронизации на уровне растровых точек должна обеспечивать синхронизацию сигналов VSP, HRTC, VRTC с видеосигналом на ЭЛТ видеотерминала.

Первый запрос ПДП для знакоряда возникает на первом синхросигнале знака предыдущего знакоряда. Если же используется пакетный режим, то первый запрос ПДП возникает только после некоторого числа синхроимпульсов знака, равного запрограммированной величине пакета.

Запрос ПДП для первого знакоряда кадра возникает за один знакоряд до окончания обратного хода кадровой развертки. Запросы ПДП продолжаются в соответствии с запрограммированными параметрами посылок до заполнения буферного ЗУ на один знакоряд. Если заполнение буферного ЗУ необходимым для знакоряда числом знаков закончилось в середине пакета запросов, то микросхема автоматически ограничивает пакет и сбрасывает счетчик пакета. Запросы ПДП не могут возобновляться ранее начала следующего ряда. С момента начала следующего знакоряда запросы ПДП возобновляются в соответствии с запрограммированными параметрами до заполнения второго буферного ЗУ.                                                                                                                          

Если по каким–либо причинам буферное ЗУ в процессе ПДП было недогружено, то в регистре состояния будет установлен соответствующий флаг.

Инициализацию контроллера  ПДП (КР580ВТ57) для следующего кадра центральный процессор видеотерминала обычно осуществляет в конце текущего кадра.

Микросхему КР580ВГ75 можно запрограммировать для генерации запроса прерывания в конце каждого кадра. Это можно использовать для реинициализации контроллера ПДП (КР580ВТ57). Если в КР580ВГ75 установлен флаг разрешения прерывания, то в начале последнего отображаемого в кадре знакоряда будет возникать запрос прерывания.

После чтения регистра состояния IRQ переходит в пассивное состояние. Перевести выход IRQ в это состояние можно также командой «Сброс», но в обычном режиме это не рекомендуется.

Если в видеотерминале применяется другой метод реинициализации контроллера ПДП, при котором контроллер ПДП сам дает прерывание в конце счета, то флаг разрешения прерывания в КР580ВГ75 не устанавливают.

Знаки, обрабатываемые микросхемой, являются 8–битовыми. На знакогенератор через выходы «Код знака» выводятся семь битов. Старший бит байта (MSB) является специальным и используется для обозначения обычных отображаемых знаков (MSB = 0) или атрибутов изображения и вспомогательных команд (MSB = 1). По этому признаку выходной буфер–контроллер анализирует выводимую из буферного ЗУ на один знакоряд информацию и направляет ее на выходы «Код знака» (MSB = 0) или же исполняет как вспомогательную команду или атрибут изображения (MSB = 1).

Существуют два типа атрибутивных кодов изображения: коды знака (символа) и коды поля.

Атрибутивные коды знака (рис. 6.16) – коды, используемые для получения графических символов без применения знакогенератора. Это осуществляется путем выборочного включения выходов LA0, LA1, VSP и LTEN. Схема синхронизации на уровне растровых точек в сочетании с несложной логической схемой может использовать сигналы на этих выходах для образования нужных графических символов.

Графические символы можно индивидуально программировать на мерцание или подсветку. Мерцание осуществляется посредством выхода VSP. Частота мерцания равна 1/32 частоты кадров.

Подсветка экрана ЭЛТ осуществляется установлением напряжения высокого уровня на выходе HLGT.

Атрибутивные коды знака имеют следующую структуру:

  •            В = 1 – осуществляется мерцание графического символа;
  •            Н = 1 – подсветка (повышенная яркость) графического символа;
  •            СССС  – с помощью кода  можно получить графические символы.

Атрибуты поля (рис. 6.17) – это управляющие коды, влияющие на визуальные характеристики поля знаков. Действие атрибутов поля начинается со знака, следующего за атрибутивным кодом поля, и продолжается до следующего атрибутивного кода поля или до конца кадра. Атрибуты поля сбрасываются во время обратного хода кадровой развертки.

Существуют шесть разновидностей атрибутов поля:

1) «Мерцание» – знаки, следующие за кодом этого атрибута, начинают мерцать с частотой 1/32 кадровой частоты. Это достигается периодическим включением выхода VSP.                                                  

2) «Подсветка» – знаки, следующие за этим кодом, отображаются с повышенной яркостью (включается выход HLGT).

3) «Негативное изображение» – знаки, следующие за кодом этого атрибута, даются в негативном изображении, что достигается включением выхода RVV (во внешней схеме сигнал с этого вывода используется для изменения полярности видеосигнала).

4) «Подчеркивание» – знаки, следующие за этим кодом, подчеркиваются светящейся строкой растра посредством включения вывода LTEN.

5, 6) «Универсальные атрибутивные коды» – два дополнительных выхода КР580ВГ75 (GPA0, GPA1), которые действуют как независимо программируемые атрибуты поля и используются по усмотрению разработчика (например, для выбора цвета). Активным состоянием выходов GPA0, GPA1 является напряжение высокого уровня.

Одновременно можно задавать более одного атрибута. Если одновременно заданы мерцание и негативное изображение, то будет мерцать только светлая часть знакоместа, что обусловлено периодическим включением выхода VSP, гасящего засветку экрана.

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

Если КР580ВГ75 запрограммировать для «прозрачного» (невидимого) режима атрибутов поля, то места включения в текст атрибутивных кодов на экране будут невидимы. Это достигается за счет стеков FIFO. Каждое ЗУ на один знакоряд имеет сопряженный с ним стек FIFO емкостью 16 знаков по 7 бит.

В «прозрачном» режиме входной буфер–контроллер при заполнении буферного ЗУ во время проведения ПДП «просматривает» загружаемые знаки и при обнаружении кода атрибута поля следующий за ним знак помещает в стек FIFO. Когда знакоряд переключается на отображение, выходной буфер–контроллер анализирует выводимую информацию и, обнаружив атрибутивный код поля, принимает его для исполнения, а на выходы кода СС0 – СС6 подает знак из стека FIFO, устраняя таким образом пробельное знакоместо на экране.

Поскольку емкость стека равна 16 знакам, в данном режиме можно использовать не более 16 атрибутов поля на знакоряду. Если превысить емкость стека, то первые знаки будут «вытолкнуты» и потеряны. В этом случае в регистре состояния установится флаг переполнения стека, который будет считан и обработан центральным процессором видеотерминала.

Так как стек FIFO 7–разрядный, старший бит помещаемых в него знаков отбрасывается. Поэтому нельзя непосредственно за атрибутивным кодом поля размещать атрибутивный код или вспомогательную команду: они будут записаны в стек с потерей старшего бита и отображены как обычный знак.

Следует отметить, что «прозрачный» режим достаточно сложен при разработке системы, так как требует переменной длины знакоряда в страничном ЗУ видеотерминала, в связи с чем он мало распространен.

Графические символы, находящиеся в зоне действия атрибута поля, подчиняются действию атрибутов поля RVV и GPA0, GPAl. Атрибуты поля «Подчеркивание»,

«Мерцание» и «Подсветка» на них не действуют, так как они для графических символов программируются индивидуально.

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

 

 

 

 

 

 

В зависимости от содержания кода SS реализуются следующие функции:

«Конец знакоряда» (код 00) включает VSP и поддерживает его до конца строки растра знакоряда.

«Конец знакоряда – прекращение ПДП» (код 01) – при записи в буферное ЗУ приводит логику управления ПДП к прекращению ПДП для остатка знакоряда. При отображении данного знакоряда он действует так же, как код 00 «Конец знакоряда». Это позволяет не заполнять неполный знакоряд кодами пробелов до его конца, а поставить после окончания текста один из этих кодов.

«Конец кадра» (код 10) – включает VSP и поддерживает его до конца кадра.

«Конец кадра – прекращение ПДП» (код 11) при записи в буферное ЗУ приводит логику управления ПДП к прекращению ПДП для остатка кадра. При отображении данного кадра он действует так же, как код 10 «Конец кадра».

Если использовать коды, не требующие прекращения ПДП, т. е. 00 и 10, то загрузка буферных ЗУ будет произведена полностью, но при отображении все знаки, стоящие в знакоряду после кода «Конец знакоряда», будут игнорироваться, кроме кода «Конец кадра», который будет исполнен в обычном порядке.

После кода «Конец кадра» не будет отображен или исполнен ни один код из буферного ЗУ на один знакоряд.

Если код «Прекращение ПДП» не является последним знаком в пакете запросов или в знакоряду, то ПДП не прекратится, пока не будет считан следующий знак. В этом случае в память после кода «Прекращение ПДП» нужно поместить условный знак (например, пробел).

Местоположение курсора (маркера) определяется регистром знакоряда курсора и регистром знакоместа, которые загружаются по команде «Загрузка курсора». Можно запрограммировать следующие типы курсора:

  •              мерцающее подчеркивание;
  •              мерцающий негативный видеоблок;
  •              немерцающее подчеркивание;
  •              немерцающий негативный видеоблок.

Частота мерцания курсора равна 1/16 частоты кадров.

Если немерцающий негативный курсор попадает на негативное поле экрана, то он будет отображен как обычный видеоблок.

Если курсор «немерцающее подчеркивание» попадает в поле немерцающего подчеркивания, то курсор станет невидимым.

Световое перо состоит из микровыключателя и миниатюрного светового датчика. Когда световое перо прижато к экрану ЭЛТ, микровыключатель включает световой датчик. В момент прохождения под световым пером растровая развертка дает срабатывание светового датчика.

Если подключить выход светового пера к входу LPEN микросхемы КР580ВГ75, то в момент срабатывания светового датчика координаты знакоряда и знакоместа, соответствующие знаку, на котором поставлено световое перо, будут зафиксированы в двух регистрах светового пера. В регистре состояния выставится флаг, указывающий, что сигнал светового пера принят, и центральный процессор видеотерминала может по команде считать содержимое регистров светового пера, используя полученные координаты для необходимых операций с данным знаком.

В момент срабатывания светового датчика сигнал на входе LPEN должен переходить от низкого уровня к высокому.

Из–за внешних и внутренних задержек координаты знака, записываемые в регистры светового пера, будут сдвинуты, по крайней мере, на три знакоместа. Это необходимо скорректировать в программном обеспечении.

 

Программирование микросхемы.

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

В микросхеме имеется четыре типа программно доступных регистров: для записи – регистр команд и регистры параметров; для чтения – регистр состояния и регистры светового пера. Доступ к ним осуществляется с помощью логической схемы чтения/записи.

Микросхема рассчитана на прием 1 байта команды и последовательности числовых данных (параметров) для этой команды от 0 до 4 байт (в зависимости от команды). Если до поступления следующей команды не было получено необходимое для предыдущей команды число байтов параметров, то в регистре состояния выставится флаг «Неправильная команда».

Набор команд микросхемы состоит из восьми команд: «Сброс», «Начало воспроизведения», «Прекращение воспроизведения», «Чтение регистров светового пера», «Загрузка курсора», «Разрешение прерывания», «Запрет прерывания», «Начальная установка счетчиков».

1. Команда «Сброс».

Запись команды производится в порядке, приведенном в табл. 6.3.

Ход выполнения. После записи команды прекращаются запросы ПДП, микросхеме запрещается выработка запросов прерывания, выход VSP используется для гашения экрана. Действие выходов VRTC и HRTC осуществляется произвольно, с синхронизацией от помех.

После записи всех параметров компоновка кадра будет определена полностью.

 

Таблица 6.3

Вид

данных

Значение адреса А0

Содержание байта

Шина данных

D7

D6

D5

D4

D3

D2

D1

D0

Команда

1

Команда «Сброс»

0

0

0

0

0

0

0

0

Параметры

0

0

0

0

Компоновка кадра 1 байт

Компоновка кадра 2 байт

Компоновка кадра 3 байт

Компоновка кадра 4 байт

S

V

U

M

H

V

U

F

H

R

U

C

H

R

U

C

H

RL

Z

H

R

L

Z

H

R

L

Z

H

R

L

Z

 

Параметры команды «Сброс» определяют перечисленные ниже характеристики изображения.

Параметр S –  S = 0 – нормальные знакоряды; S = 1 – чередующиеся знакоряды.

Параметр ННННННН –  число знаков в знакоряду (от 1 до 80).

Параметр VV – длительность обратного хода кадровой развертки (от 1 до 4 знакорядов).

Параметр RRRRRR  – число знакорядов в кадре (от 1 до 64).

Параметр UUUU – номер строки подчеркивания в знакоряду (от 1 до 16).

Старший бит в коде UUUU – определяет гашение верхней и нижней строк растра в знакоряду. Если номер строки подчеркива­ния больше или равен 7 (MSB = 1), то стро­ки гасятся, если MSB = 0, то нет.

Параметр LLLL – число строк растра в знакоряду (от 1 до 16).

Параметр  М – режим  счетчика  строк:

М = 0 – режим 0 (не сдвинуто);

М = 1 – режим 1 (смещено на 1 счет).

Параметр  F – режим атрибутов поля:

F = 0 – «непрозрачный»;

F = 1 – «прозрачный».

Параметр  СС – тип курсора:

(00) – мерцающий негативный видеоблок;

(01) – мерцающее подчеркивание;

(10) – немерцающий негативный видеоблок;

(11) – немерцающее подчеркивание.

Параметр ZZZZ  – число  знаков  при обратном  ходе  строчной развертки   (2, 4, 6, ..., 32).

Структуры команд приведены в табл. 6.4.

 

2.   Команда  «Начало  воспроизведения».

Ход выполнения. Микросхеме КР580ВГ75 разрешается генерация прерываний, начинаются запросы ПДП, устанавливаются флаги состояния «Разрешено прерывание» и «Разрешено изображение».

Таблица  6.4

Вид

данных

Опера–
ция

Значение адреса

А0

Содержание байта

Шина данных

D7

D6

D5

D4

D3

D2

D1

D0

Команда

Запись

1

Начало воспроизведения

0

0

1

S

S

S

B

B

Команда

Запись

1

Прекращение воспроизведения

0

1

0

0

0

0

0

0

Команда

Запись

1

Чтение регистров светового пера

0

1

1

0

0

0

0

0

Параметры

Чтение

0

Номер знака

Номер знакоряда

Место знака в знакоряду

Номер знакоряда

Команда

Запись

1

Загрузка курсора

1

0

0

0

0

0

0

0

Параметры

Запись

Запись

0

0

Номер знака

Номер знакоряда

Место знака в знакоряду

Номер знакоряда

Команда

Запись

1

Разрешение прерывания

1

0

1

0

0

0

0

0

Команда

Запись

1

Запрет прерывания

1

1

0

0

0

0

0

0

Команда

Запись

1

Предустановка счетчиков

1

1

1

0

0

0

0

0

Команда

Чтение

1

Словосостояние

0

IE

IR

LP

IC

VE

DU

FO

Код SSS  – интервал  между  пакетами.

Число синхроимпульсов знака между пакетными запросами ПДП равно:

0 при   SSS = 000;           31  при SSS = 100;

7 при   SSS = 001;           39  при SSS = 101;

15 при SSS = 010;           47  при SSS = 110;

23 при SSS = 011;           55  при SSS = 111.

Код ВВ – число запросов  в  пакете.

Число  запросов  ПДП в  пакете равно:

1  при      ВВ = 00;         4      при   ВВ = 10;

2  при      ВВ = 01;         8      при   ВВ = 11.

 

3. Команда «Прекращение воспроизведения».

Ход выполнения. Запрещается изображение, прерывания остаются разрешенными, продолжается HRTC и VRTC, сбрасывается флаг состояния «Разрешено изображение». Для возобновления воспроизведения необходимо подать команду «Начало воспроизведения».

 

4. Команда «Чтение регистров светового пера».

Ход выполнения. Микросхема КР50ВГ75 обеспечивает в двух последующих циклах считывания выдачу содержимого регистров светового пера. На флаги состояния эта команда не влияет.

Требуется программная (или аппаратная) коррекция положения светового пера.

 

5.  Команда «Загрузка курсора».

Ход выполнения. Микросхема КР580ВГ75 обеспечивает помещение двух последующих байтов параметров в регистры, определяющие положение курсора (маркера) на экране. На флаги состояния эта команда не влияет.

 

6.  Команда  «Разрешение  прерывания».

Ход выполнения. Устанавливается флаг состояния «Разрешено прерывание» и разрешаются прерывания.

 

7. Команда «Запрет прерывания».

Ход выполнения. Прерывания запрещаются, и сбрасывается флаг состояния «Разрешено прерывание».

 

8. Команда «Начальная установка счетчиков».

Ход выполнения. Внутренние счетчики синхронизации устанавливаются в начальное положение, соответствующее левому верхнему углу экрана. Для этой операции необходимы два импульса синхросигнала знака. Счетчики остаются в этом положении до тех пор, пока не будет подана любая другая команда. Эта команда используется для отладки системы и синхронизации группы дисплеев, подключенных к одному центральному процессору.

 

Флаги состояния:

IE – «Разрешено прерывание». Устанавливается или сбрасывается по соответствующей команде. Разрешает прерывание во время обратного хода вертикальной развертки. Автоматически устанавливается командой «Начало воспроизведения» и сбрасывается командой «Сброс».

IR – «Запрос прерывания». Устанавливается в начале отображения последнего знакоряда в кадре, если установлен флаг «Разрешено прерывание». Сбрасывается после операции чтения состояния.

IP – «Световое перо». Устанавливается, если на вход светового пера LPEN поступает запускающий импульс и регистры светового пера загружены. Флаг автоматически сбрасывается после чтения состояния.

IC – «Неправильная команда». Устанавливается, если последовательность параметров команды слишком длинная или слишком короткая. Автоматически сбрасывается после чтения состояния.

VE – «Разрешено изображение». Указывает, что разрешено изображение на экране ЭЛТ. Устанавливается по команде «Начало воспроизведения» и сбрасывается командой «Прекращение воспроизведения» или «Сброс».

DU – «Недогрузка ПДП». Устанавливается всякий раз, когда возникает недогрузка данных при пересылке в цикле ПДП. При обнаружении DU действие ПДП останавливается, экран бланкируется вплоть до окончания обратного хода кадровой развертки. Флаг сбрасывается после чтения состояния.

FO – «Переполнение FIFO». Сбрасывается после чтения состояния.

 

6.4. Архитектура программируемого интервального таймера (ПИТ) КР580ВИ53

 

Микросхема КР580ВИ53 – трехканальное программируемое устройство (таймер), которое предназначено для организации работы микропроцессорных систем в режиме реального времени. Микросхема формирует сигналы с различными временными параметрами.

Программируемый интервальный таймер (ПИТ) реализован в виде трех независимых 16–разрядных каналов с общей схемой управления. Каждый канал может работать в шести режимах. Программирование режимов работы каналов осуществляется индивидуально и в произвольном порядке путем ввода управляющих слов в регистры режимов каналов, а в счетчики – запрограммированного числа байтов.

Управляющее слово определяет режим работы канала, тип счета (двоичный или двоично–десятичный), формат чисел (одно– или двухбайтовый).

Обмен информацией с микропроцессором осуществляется по 8–разрядному двунаправленному каналу данных.

Максимальное значение счета: в двоичном коде 216; в двоично–десятичном коде 104.

Частота синхронизации каналов 0 – 2,5 МГц.

Условное графическое  обозначение  микросхемы  приведено на  рис. 6.18, структурная схема показана на рис. 6.19.    

В состав ПИТ входят: буфер данных, предназначенный для обмена данными и управляющими словами между МП и ПИТ; схема управления чтением–записью, обеспечивающая выполнение операций ввода–вывода информации в ПИТ и содержит РУС, предназначенный для записи управляющих слов, задающих режимы работы счетчиков; счетчики каналов.

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

 

 

 

Режим работы каналов ПИТ программируется с помощью простых операций ввода/вывода (табл. 6.5). Каждый из трех каналов ПИТ программируется индивидуально путем записи в регистр режима управляющего слова, а в счетчик – запрограммированного числа байтов. Формат управляющего слова показан на рис. 6.20. Так как микросхема не имеет аппаратного вывода «Начальная установка», то в ней предусмотрен внутренний программный сброс отдельно по каналам. Сигнал внутрен­него сброса формируется при записи управляющего слова в регистр режима выбранного канала.

 

 

 

 

 

 

 

После записи управляющего слова в регистр режима выбранного канала он переводится в один из шести основных режимов работы: режим 0 (прерывание терминального счета); режим 1 (ждущий мультивибратор); режим 2 (генератор импульсный); режим 3 (генератор меандра); режим 4 (одиночный программно формируемый стробирующий сигнал); режим 5 (одиночный аппаратно стробирующий сигнал).

Диаграмма работы канала ПТ в режиме 0 показана на рис. 6.21, а. В этом режиме по окончании отсчета числа, загруженного в счетчик, на выходе OUT канала ПИТ устанавливается напряжение высокого уровня и сохраняется до загрузки счетчика новым значением.

Последовательность работы ПТ в режи­ме 0 следующая. После записи управляющего слова в регистр режима выбранного канала на выходе OUT устанавливается напряжение низкого уровня (в режимах 1–5 – напряжение высокого уровня). Загрузка счетчика не изменяет состояние выхода. При подаче на вход СЕ напряжения высокого уровня включа­ется счетчик и число, загруженное в него, декрементируется. По окончании отсчета числа на выходе канала формируется напряжение высокого уровня. Загрузка счетчика новым числом изменяет состояние выхода – устанавливается состояние низкого уровня.

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


 

Таблица 6.5

Сигналы на входах

Направление и вид информации

WR

RD

А1

А0

CS

0

1

1

1

0

Канал данных → ПТ (занесение управляющего слова в канал 0, 1 или 2)

1

0

1

1

0

Нет операций. Канал данных ПТ в высокоомном состоянии

0

1

0

0

0

Канал данных → ПТ (загрузка счетчика канала 0)

0

1

0

1

0

Канал данных → ПТ (загрузка счетчика канала 1)

0

1

1

0

0

Канал данных → ПТ (загрузка счетчика канала 2)

1

0

0

0

0

ПТ → канал данных (чтение показаний счетчика канала 0)

1

0

0

1

0

ПТ → в канал данных (чтение показаний счетчика канала 1)

1

0

1

0

0

ПТ → канал данных (чтение показаний счетчика канала 2)

1

1

X

X

0

Нет операций. Канал данных ПТ в высокоомном состоянии

X

X

X

X

1

Запрет. Канал данных ПТ в высокоомном состоянии

Примечание: X – состояние входа безразлично

 

Диаграмма работы ПТ в режиме 1 (ждущий мультивибратор) показана на рис. 6.21, б. В этом режиме на выходе канала формируется отрицательный импульс длительностью t(OUT) = nּTC – период тактовых импульсов; n – число, загруженное в счетчик). Если во время счета в счетчик будет загружено новое число, то оно не повлияет на длительность текущего импульса до следующего его запуска. Ждущий мультивибратор в данном случае является перезапускаемым, т. е. каждый положительный фронт сигнала СЕ запускает счетчик или перезапускает его для выполнения счета сначала, если счет не завершен до конца. Минимально допустимое число загрузки в режиме 1 n = 1.

Диаграмма работы ПИТ в режиме 2 показана на рис. 6.21, в. В данном режиме канал ПИТ работает как делитель входных сигналов С на n. При этом длительность положительной части периода составляет (n – 1)ТС, а отрицательной ТС (n – число, записанное в счетчик). Перезагрузка счетчика во время счета не влияет на текущий период, однако последующий период будет соответствовать уже новому значению счета. Минимально допустимое число загрузки в режиме 2 – n = 2.

Диаграмма работы ПИТ в режиме 3 показана на рис. 6.21, г. Этот режим во всем аналогичен режиму 2, за исключением того, что длительность положительного и отрицательного полупериодов выходного сигнала для четных чисел равна ТС n/2, для нечетных чисел n положительный полупериод равен ТС(n+1)/2, отрицательный ТС(n–1)/2. В режиме 3 каналы не выполняют свои функции при записи в счетчики числа n = 3.

Диаграмма работы ПИТ в режиме 4 показана на рис. 6.21, д. В этом режиме на выходе выбранного канала формируется отрицательный импульс длительностью     t(OUT) = TC после отсчета числа, загруженного в счетчик. Для формирования следующего импульса требуется новая загрузка счетчика и т. д.

Перезагрузка счетчика во время счета приводит к следующему: загрузка младшего байта не влияет на текущий счет; загрузка старшего байта запускает новый цикл счета. Минимально допустимое число загрузки в режиме 4 n = 1.

Диаграмма работы ПИТ в режиме 5 показана на рис. 6.21, е. В этом режиме на выходе выбранного канала формируется отрицательный импульс длительностью    t(OUT) = TC после отсчета числа, загруженного в счетчик. Счетчик в этом режиме является перезапускаемым и каждый положительный фронт сигнала запускает счетчик или перезапускает его, если счет не завершен до конца. Перезагрузка счетчика новым числом во время счета не влияет на длительность текущего цикла, но следующий цикл, считая от нового момента запуска, уже будет новым. Минимально допустимое число загрузки в режиме 5 n=1.

Чтение информации из ПТ возможно в виде показаний счетчиков и осуществляется двумя способами: путем выполнения обычной операции чтения или ввода специальной команды и последующего чтения (чтение «на лету»).

 

Рис. 6.21. Временные диаграммы работы ПИТ

 

При первом способе чтения для обеспечения стабильных показаний (считывается текущая информация) работа счетчика должна быть приостановлена путем подачи на вход СЕ напряжения низкого уровня (режимы 0,2– 4) или блокированием сигналов С.

Второй способ чтения заключается в том, что программист может считывать содержимое счетчика, не прерывая процесса счета, посредством операции записи определенного управляющего слова. В управляющем слове разряды D5 = 0, D4 = 0 указывают, что производится операция защелкивания; разряды D7, D6 служат адресом для выбора канала; состояние разрядов D3–D0 безразлично.

Содержимое счетчика при втором способе чтения извлекается в следующем порядке: операция записи «защелкивает» текущее значение счета; первая операция чтения извлекает содержимое младшего байта; вторая операция чтения извлекает содержимое старшего байта.

Таблица 6.6

Режим

Состояние сигнала

Напряжение низкого уровня или спад сигнала

Нарастание сигнала

Напряжение

высокого уровня

0

Запрещает счет

Разрешает счет

1

Запускает счетчик для выполнения счета сначала.

На выходе канала устанавливается напряжение низкого уровня со следующего такта

2

Запрещает счет. Устанавливает на выходе канала напряжение высокого уровня

Запускает счетчик для выполнения счета сначала

Разрешает счет

3

Запрещает счет

Запускает счетчик для выполнения счета сначала

Разрешает счет

4

Запрещает счет

Разрешает счет

5

Запускает счетчик для выполнения счета сначала

 

 

6.5. Архитектура программируемого параллельного адаптера (ППА) КР580ВВ55А

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

Условное графическое обозначение микросхемы приведено на рис. 6.22, структурная схема показана на рис. 6.23.

Обмен информацией между магистралью данных систем и микросхемой КР580ВВ55А осуществляется через 8–разрядный двунаправленный трехстабильный канал данных (D). Для связи с периферийными устройствами используются 24 линии ввода/вывода, сгруппированные в три 8–разрядых канала ВА, ВВ, ВС, направление передачи информации и режимы работы которых определяются программным способом.


Микросхема может функционировать в трех основных режимах:

1) режим 0 – обеспечивается возможность синхронной программно управляемой передачи данных через два независимых 8–разрядных канала ВА и ВВ и два 4–разрядных канала ВС.

2) режим 1 – обеспечивается возможность ввода или вывода информации в/или из периферийного устройства через два независимых 8–разрядных канала ВА и ВВ по сигналам квитирования. При этом линии канала С используются для приема и выдачи сигналов управления обменом.

3) режим 2 – обеспечивается возможность обмена информацией с периферийными устройствами через двунаправленный 8–разрядный канал ВА по сигналам квитирования. Для передачи и приема сигналов управления обменом используются пять линий канала ВС. Выбор соответствующего канала и направление передачи информации через канал определяются сигналами А0, А1 (соединяемые обычно младшими разрядами канала адреса системы) и сигналами RD, WR, CS в соответствии с табл. 6.7.

 

Таблица 6.7

Сигналы на входах

Направление передачи информации

A0

A1

RD

WR

CS

0

0

0

1

0

ВА → канал данных

0

1

0

1

0

ВВ → канал данных

1

0

0

1

0

ВС → канал данных

0

0

1

0

0

Канал данных → ВА

0

1

1

0

0

Канал данных → ВВ

1

0

1

0

0

Канал данных → ВС

1

1

1

0

0

Канал данных → РУС

Х

Х

Х

Х

1

Канал данных → Z состояние

1

1

0

1

0

Запрещенная комбинация

 

 

Режим работы каждого из каналов ВА, ВВ, ВС определяется содержимым регистра управляющего слова (РУС). Произведя запись управляющего слова в РУС, можно перевести микросхему в один из трех режимов работы: режим 0 – простой ввод/вывод; режим 1 – стробируемый ввод/вывод; режим 2 – двунаправленный канал.

 

При подаче сигнала SR РУС устанавливается в состояние, при котором все каналы настраиваются на работу в режиме 0 для ввода информации. Режим работы каналов можно изменять как в начале, так и в процессе выполнения программы, что позволяет обслуживать различные периферийные устройства в определенном порядке одной микросхемой. При изменении режима работы любого канала все входные и выходные регистры каналов и триггеры состояния сбрасываются. Графическое представление режимов работы каналов показано на рис. 6.24, а формат управляющего слова (УС), определяющего режимы работы каналов, приведен на рис. 6.25.

 

В дополнение к основным режимам работы схема обеспечивает возможность программной независимой установки в 1 и сброса любого из разрядов регистра канала ВС.

Формат управляющего слова установки / сброса регистра канала ВС показан на рис. 6.26.

 

Если микросхема запрограммирована для работы в режиме 1 или 2, то через выводы ВС0 и ВСЗ канала ВС выдаются сигналы, которые могут использоваться как сигналы запросов прерывания для микропроцессора. Запретить или разрешить формирование этих сигналов в микросхеме можно установкой или сбросом соответствующих разрядов в регистре канала ВС. Эта особенность микросхемы позволяет программисту запрещать или разрешать обслуживание любого внешнего устройства ввода/вывода без анализа запроса прерывания в схеме прерывания системы.

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

В режиме 1 передача данных осуществляется только через каналы ВА и ВВ, а линии канала ВС используются для приема и выдачи сигналов управления обменом (сигналов квитирования).

Форматы управляющих слов и функциональные схемы каналов ВА и ВВ при вводе данных в режиме 1 показаны на рис. 6.27.

При подаче сигнала STB RC (стробирующий сигнал приема) низкого уровня данные записываются во входной регистр соответствующего канала.

Выходной сигнал ASK RS «Подтверждение приема» высокого уровня свидетельствует о том, что входные данные записаны во входной регистр канала.

Сигнал на выходе IRQ «Запрос прерывания» может использоваться для прерывания работы микропроцессора и устанавливается в состояние высокого уровня, если сигналы STB RC, ASK RC и RD в состоянии высокого уровня и соответствующий разряд регистра канала ВС, используемый как триггер разрешения выработки запроса прерывания по данному каналу, установлен в состояние высокого уровня. Сигнал IRQ сбрасывается в состояние низкого уровня при чтении информации из соответствующего канала.

Для разрешения выработки сигнала IRQ BA используется 4–й разряд регистра канала ВС, а для сигнала IRQ ВВ 2–й разряд регистра канала ВС.

Форматы управляющих слов и функциональные схемы каналов ВА и ВВ при выводе информации в режиме 1 показаны на рис. 6.28.

Сигнал низкого уровня на выходе STB WR (стробирующий сигнал записи) свидетельствует о том, что микропроцессор произвел запись данных в выходной регистр канала.

Сигнал низкого уровня на входе ASK WR (подтверждение записи) свидетельствует о том, что внешнее устройство приняло данные, записанные в микросхему.

Сигнал IRQ устанавливается в состояние высокого уровня, если сигналы STB WR, ASK WR в состоянии высокого уровня и соответствующий разряд регистра канала ВС, используемый как триггер разрешения выработки запроса прерывания по данному каналу, установлен в состояние высокого уровня. В состояние низкого уровня сигнал IRQ сбрасывается при переходе сигнала WR в состояние низкого уровня. Для разрешения выработки сигнала IRQ ВА используется 6–й разряд регистра канала ВС, а для сигнала IRQ ВВ 2–й разряд регистра канала ВС.

При работе микросхемы в режиме 2 обеспечивается возможность обмена информацией с периферийными устройствами только по 8–разрядному двунаправленному каналу ВА. Для обеспечения протокола обмена используется пять линий канала ВС.

Формат управляющего слова и функциональная схема ввода/вывода данных в режиме 2 показаны на рис. 6.29. Функции сигналов управления, используемых при передаче информации в режиме 2, и временные соотношения между ними такие же, как и в режиме 1.

В режиме 2 допускается любая последовательность передачи данных, при которой сигнал WR появляется раньше сигнала ASK WR ВА, а сигнал STB WR ВА – раньше сигнала RD.

Если микросхема запрограммирована для работы в режиме 1 или 2, то состояние каждого сигнала управления об установлении связи с периферийным устройством, принимаемого и выдаваемого через выводы канала ВС, фиксируется в регистре канала ВС. Это позволяет программисту простым чтением содержимого регистра канала ВС проверить состояние каждого периферийного устройства, подключенного к микросхеме, и в соответствии с состоянием внешнего устройства изменять процесс прохождения программы.

Для чтения информации состояния используется обычная операция чтения канала ВС.


 

6.6. Архитектура программируемого контроллера клавиатуры и индикации (ПККИ) КР580ВВ79

 Микросхема КР580ВВ79 – программируемое интерфейсное устройство, которое предназначено для ввода и вывода информации в системах, выполненных на основе 8– и 16–разрядных микропроцессоров КР580ВМ80А и КМ1810ВМ86. Кроме того, микросхема может применяться и как самостоятельное устройство при выполнении требований, предъявляемых к электрическим и временным параметрам.

Микросхема состоит из двух функционально автономных частей: клавиатурной и дисплейной.

Клавиатурная часть обеспечивает ввод информации в микросхему через «линии возврата» RET7 – RET0 с клавиатуры (клавиатурная матрица объемом 8 слов x 8 разрядов с возможностью расширения до 4x8 слов x 8 разрядов) и матрицы датчиков (8 слов x 8 разрядов), а также ввод по стробирующему сигналу (8 слов х 8 разрядов). Для хранения вводимой информации в микросхеме предусмотрен обратный магазин – оперативное запоминающее устройство (ОМ–ОЗУ) емкостью 8 байт. Последний работает по принципу «первый вошел – первый вышел».

При наличии информации в ОМ–ОЗУ микросхема вырабатывает сигнал «Запрос прерывания» INT; а в случае ввода или чтения более восьми символов – сигналы (флаги) переполнения или переопустошения.

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

Клавиатурная часть может сопрягаться с любой клавиатурой типа клавиатуры пишущей машинки, произвольным набором переклю­чателей и др.

Дисплейная часть микросхемы обеспечивает вывод информации по двум 4–разрядным каналам DSPA3–DSPA0 и DSPB3–DSPB0 в виде двоичного кода на 8– и 16–разрядные цифровые или алфавитно–цифровые дисплеи.

Для хранения информации, подлежащей отображению в микросхеме, имеется оператив­ное запоминающее устройство отображения объемом 16 слов x 8 разрядов, которое также можно использовать как два устройства объемом по 16 слов x 4 разряда, одно устройство объемом 16 слов х 4 разряда или одно устройство объемом 8 слов x 8 разрядов.

Информация на дисплей может выводиться двумя способами: слева направо без сдвига или справа налево со сдвигом.

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

Программирование режимов работы, запись информации в ОЗУ отображения, чтение информации из ОМ–ОЗУ отображения, а также чтение внутреннего состояния микросхемы осуществляются через 8–разрядный двунаправленный канал данных D7–D0 при подаче соответствующих управляющих сигналов.

Микросхема обеспечивает также формирование кодированных или дешифрованных интерфейсных сигналов сканирования S3–S0 клавиатуры и дисплея, а также сигнала для межразрядного гашения  BD информации  на дисплее.

 

 

 

 

 

 

 

Наличие выходной линии запроса прерывания INT и режима чтения внутреннего состоя­ния позволяют использовать данную микросхему в системах с прерыванием и последова­тельным опросом внешних устройств. Микросхема допускает одновременное выполнение функций ввода/вывода и рассчитана по выводу INT на прямое подключение к шинам микропроцессоров КР580ВМ80А и КМ1810ВМ86.

Применение микросхемы КР580ВВ79 в системах позволяет полностью освободить микропроцессор от операций сканирования клавиатуры и регенерации отображения на дисплее.

Условное графическое обозначение микросхемы приведено на рис. 6.30, структурная схема показана на рис. 6.31.

Схема управления вводом/выводом вырабатывает сигналы, которые управляют обменом информации с микропроцессором (табл. 6.8), а также внутренними пересылками данных и команд к различным регистрам и буферным схемам микросхемы.

Команды или данные записываются в микросхему после перехода сигнала WR из состояния низкого в состояние высокого уровня.

Источником данных при чтении состояния микросхемы служит 8–разрядный регистр словосостояния (рис. 6.32), в котором содержится информация о состоянии ОМ–ОЗУ, ошибках и запрещении доступа к ОЗУ отображения. Регистр словосостояния переходит в 0 при поступлении команды «Сброс» (разряд D1 или D0), а также с помощью аппаратного сброса.

Буферные схемы канала данных D7–D0 предназначены для обмена информацией между микросхемой КР580ВВ79 и микропроцес­сором КР580ВМ80А. При подаче сигналов WR и CS осуществляется ввод информации в микросхему, а при подаче сигналов RD и CS – вывод информации из микросхемы. Если сигнал CS находится в состоянии высокого уровня, то через буферные схемы D7–D0 обмен информацией между микросхемой и микропроцессором не происходит.

Таблица 6.8

Сигналы на входах

Направление и вид
информации

А0

RD

WR

CS

1

1

0

0

Канал данных – ПККИ

(команда)

0

1

0

0

Канал данных – ПККИ

(данные)

1

0

1

0

ПККИ – канал данных

(словосостояние)

0

0

1

0

ПККИ – канал данных

(данные)

Х

Х

Х

1

ПККИ в высокоомном состоянии

Схема управления и синхронизации кроме основных своих функций вырабатывает также выходной сигнал BD длительностью не менее 150 мкс, который используется для гашения отображения на дисплее во время смены цифр (букв) или при поступлении команды «Гашение отображения». Если в команде «Гашение отображения» разряды D1 и D0 равны нулю, то сигнал BD равен нулю в период всего времени действия команды. Если один из разрядов Dl, D0 команды «Гашение отображения» равен нулю, то сигнал BD равен нулю в течение не менее 150 мкс.

Счетчик сканирования вырабатывает сигналы сканирования клавиатуры, матрицы датчиков и дисплея и работает в двух режимах. В режиме кодированного сканирования он обеспечивает выдачу на выходы сканирования S3–S0 двоичного кода последних четырех разрядов счетчика синхронизации, который должен дешифрироваться внешним дешифратором для получения сигналов сканирования клавиатуры и дисплея. В режиме дешифрирован­ного сканирования счетчик сканирования дешифрирует внутри микросхемы два младших разряда счетчика сканирования и обеспечивает выдачу дешифрированных сигналов на выводы S3–S0.

Если запрограммирован режим дешифрированного сканирования клавиатуры, то в таком же режиме будет работать и дисплей. Это означает, что в данном режиме будут воспроизводиться только первые четыре символа ОЗУ отображения. Счетчик сканирования сбрасывается в исходное состояние аппаратным или программным сбросом.

Оперативное запоминающее устройство отображения объемом 16 слов x 8 разрядов можно организовать в сдвоенное ОЗУ объемом 16 слов х 4 разряда. ОЗУ отображения можно сбрасывать в 1,0 или шестнадцатеричное число 20 командой «Сброс».

Регистр адреса ОЗУ отображения предназначен для хранения адреса данных, которые в данный момент записываются или считыва­ются микропроцессором. Адрес в регистр адреса отображения записывается с помощью команды «Запись в ОЗУ отображения» или «Чтение ОЗУ отображения». Разряд D4 в этих командах может устанавливаться как с автоинкрементированием, так и без него. Регистр адреса отображения сбрасывается на нулевую строку сканирования аппаратным и программным сбросом, записью режима работы, а также разрядом D4=1 в команде «Сброс», когда дисплей устанавливается в 0,1 или шестнадцатеричное число 20.


Регистры ОЗУ отображения хранят дан­ные, которые в момент сканирования сигнала­ми S3–S0 отображаются на выходах DSPA3–DSPA0 и DSPB3–DSPB0. В соответствии с запрограммированной командой «Гашение–запрет записи отображения» выходы DSPA3–DSPA0, DSPB3–DSPB0 можно устанавливать одновременно или раздельно в код, который программируется командой «Сброс».

Входная информация D7–D0, записываемая в буферные схемы канала данных, соответствует информации на выходах DSPA3–DSPA0, DSPB3–DSPB0:

 

D7

D6

D5

D4

D3

D2

D1

D0

DSPA3

DSPA2

DSPA1

DSPA0

DSPB3

DSPB2

DSPB1

DSPB0

Ввод слева соответствует простейшему формату отображения, в котором каждой по­зиции дисплея соответствует определенная строка в ОЗУ отображения. Адресу 0 в этом ОЗУ соответствует крайний слева символ дис­плея, а адресу 15 в 16–разрядном дисплее или адресу 7 в 8–разрядном – крайний справа сим­вол дисплея. Ввод символов, начиная с нуле­вой позиции, вызывает заполнение дисплея слева направо. Символ        17 или 9 будет в этом случае вводиться снова в крайнюю слева позицию дисплея и т.д.                

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

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

Буферные схемы клавиатуры и датчиков хранят входную информацию в режимах сканирования клавиатуры, сканирования матрицы датчиков и ввода по стробирующему сигналу. В режиме сканирования клавиатуры информация, вводимая в ОМ–ОЗУ, соответствует позиции ключа в клавиатуре и состоянию входных сигналов SH и CO/STB:

 

C0/STB

SH

Номер строки

Номер столбца

D7

D6

D5

D4

D3

D2

D1

D0

 

 

 

 

 

 

 

 

 

Состояние входного сигнала C0/STB соответствует старшему разряду этого формата, а состояние входного сигнала SH – следующему по меньшинству разряду. Значения следу­ющих трех разрядов соответствуют трем младшим разрядам счетчика сканирования и номеру строки, в которой нажата клавиша. Значения трех последующих разрядов соответ­ствуют значениям трех разрядов, которые предшествуют трем младшим разрядам S2–S0 счетчика сканирования и номеру столбца, в котором нажата клавиша. В качестве клави­атуры, подключаемой к микросхеме, может использоваться любая клавиатура, подобная клавиатуре пишущей машинки с 64–контактной матрицей клавиш, которая может быть расширена до 256–контактной матрицы.

В режиме матрицы датчиков данные, по­ступающие с входов RET7–RET0, вводятся непосредственно в ту строку ОЗУ датчиков, которая соответствует сканируемой в данный момент строке матрицы. Следовательно, каж­дая позиция ключа в матрице соответствует определенной позиции ОЗУ датчиков. Входы SH и C0/STB при работе в режиме матрицы датчиков не используются. К буферным схе­мам клавиатуры и датчиков в этом режиме можно подключать не только ключи. Любая логическая схема, которой можно управлять с помощью выходов сканирования S3–SO, вводит данные на входы RET7–RET0. Напри­мер, к входам RET7–RET0 можно подключать восемь мультиплексированных каналов ввода и сканировать их с помощью микросхемы КР580ВВ79. Информация, считанная с ОЗУ датчиков, будет инверсной.

В режиме ввода по стробирующему сигналу содержимое входов RET7–RET0 записывается в буферные схемы клавиатуры и датчиков строб–импульсом C0/STB. Вход SH в этом режиме не используется. Длительность строб–импульса должна быть не менее одного периода ТС.

Схема управления и устранения дребезга клавиатуры предназначена для управления сканированием клавиатуры в режимах 2– и N–клавишных сцеплений, N–клавишных сцеплений с обнаружением ошибок, а также в режи­мах сканирования матрицы датчиков и ввода по стробирующему сигналу. Кроме того, она устраняет влияние дребезга клавиатуры.

В режиме сканирования клавиатуры с об­наружением 2–клавишных сцеплений ввод осу­ществляется по одной клавише, а при нажатии двух и более клавиш код ни одной из них не будет введен в ОМ–ОЗУ датчиков.

В режиме сканирования клавиатуры с об­наружением N–клавишных сцеплений при на­жатии нескольких клавиш все они опознаются и вводятся в ОМ–ОЗУ датчиков в соответст­вии с порядком сканирования.

В режиме сканирования клавиатуры с об­наружением N–клавишных сцеплений при про­граммировании команды «Сброс прерывания – установка обнаружения ошибок» ввод осуще­ствляется только по одной клавише. При од­новременном нажатии двух и более клавиш код ни одной из них не вводится в ОМ–ОЗУ датчиков, но при этом в слове состояния устанавливается флаг ошибки D6.

Обратный магазин – ОЗУ датчиков пред­назначено для хранения с последующим счи­тыванием кода позиции клавиш, состояния ключей в матрице датчика, а также информа­ции, вводимой по стробирующему сигналу. ОМ–ОЗУ датчиков представляет собой ОЗУ с организацией 8x8, которое может выпол­нять две функции. В режимах сканирования клавиатуры или ввода по стробирующему сиг­налу оно работает как ОМ–ОЗУ (обратный магазин, работающий по принципу «первым вошел – первым вышел»). Каждое вновь вво­димое значение данных в этом случае записы­вается в последующие ячейки ОЗУ и каждое из них впоследствии считывается в том же по­рядке, в каком оно вводилось. В режиме ска­нирования матрицы датчиков данное ОЗУ ра­ботает как ОЗУ датчиков. Каждая строка ОЗУ датчиков загружается состоянием соот­ветствующей строки датчиков в матрице дат­чиков. В этом режиме на выходе INT уста­навливается напряжение высокого уровня только в том случае, если обнаружено изме­нение состояния датчиков.

Схема анализа состояния ОМ–ОЗУ датчи­ков предназначена для отображения состояния ОМ–ОЗУ датчиков, т. е. следит за числом символов, содержащихся в ОМ–ОЗУ датчи­ков, и за тем, является ли он полным или пустым. Слишком большое число операций считывания из ОМ–ОЗУ или записи в ОМ–ОЗУ распознается как ошибка. Схема анали­за состояния ОМ–ОЗУ датчиков формирует также сигнал прерывания INT, если ОМ–ОЗУ содержит информацию. В режиме скани­рования матрицы датчиков схема анализа со­стояния ОМ–ОЗУ датчиков следит только за числом символов в нем (их может быть не более семи).

 

Программирование ПККИ.

Описанные ниже команды программируют режим работы микросхемы КР580ВВ79. Перед программированием режима работы необходи­мо установить микросхему в исходное состоя­ние. На вход SP следует подать напряжение высокого уровня длительностью не менее 6ТС. ОМ–ОЗУ датчиков и ОЗУ отображения в нулевое состояние сигналом SR не устанав­ливаются.

Команда «Установка режимов работы клавиатуры и дисплея» предназначена для задания режима работы микросхеме КР580ВВ79. На рис. 6.33 показано детальное раскодирование данной команды. Разряды D4 и D3 определяют код режима работы дисплейной части, а разряды D2–D0 – код режима работы клавиатурной части микросхемы.

 

 

 

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

Команда «Программирование синхрониза­ции» предназначена для обеспечения требуемой скорости сканирования клавиатуры–дисп­лея, а также согласования цикла синхронизации микропроцессора с внутренним циклом синхронизации микросхемы. Формат команды:

 

D7

D6

D5

D4

D3

D2

D1

D0

0

0

1

К = 2 – 31

 

D7–D5 – код команды «Программирование синхронизации»; D4–D0 – код программируе­мого коэффициента деления К.

Команда «Чтение ОМ–ОЗУ датчиков» используется для чтения данных из ОМ–ОЗУ датчиков. Формат команды:

 

D7

D6

D5

D4

D3

D2

D1

D0

0

1

0

А

Х

Адрес

где D7–D5 – код команды «Чтение ОМ–ОЗУ датчиков»; D4 – флат автоинкрементирования; D3 – разряд не используется; D2–D0 – адрес строки, читаемой микропроцессором.

В режиме сканирования матрицы датчиков используется флаг автоинкрементирования D4 и разряды адреса D2–D0. В клавиатурном режиме и режиме ввода по стробирующему сигналу для чтения ОМ–ОЗУ датчиков достаточно подать только код команды.

Команда «Чтение ОЗУ отображения» используется для чтения данных из ОЗУ отобра­жения. Формат команды:

 

D7

D6

D5

D4

D3

D2

D1

D0

0

1

1

А

Адрес

где D7–D5 код команды «Чтение ОЗУ отображения»; D4 – флаг автоинкрементирования; D3–D0 – адрес строки, читаемой микропроцессором.

Так как для чтения данных из ОЗУ отображения и их записи в ОЗУ отображения ис­пользуется один и тот же счетчик адреса, то эта команда одновременно устанавливает также адрес следующей строки записи данных и режим автоинкрементирования при записи. Если флаг автоинкрементирования D4 уста­новлен в 1, то адрес символа после каждой операции чтения (записи) будет увеличивать­ся на 1 и следующее чтение (запись) будет происходить из следующей строки (в следую­щую строку).

Команда «Запись в ОЗУ отображения» ис­пользуется для записи информации в ОЗУ ото­бражения. Формат команды:

 

D7

D6

D5

D4

D3

D2

D1

D0

1

0

0

А

Адрес

где D7–D5 – код команды «Запись в ОЗУ отображения»; D4 – флаг автоинкрементирования; D3–D0 – адрес строки, в которую за­писывается информация.

Адресация и автоинкрементирование при записи в ОЗУ отображения аналогичны адре­сации и автоинкрементированию при чтении из ОЗУ отображения. Различие состоит в том, что команда «Запись в ОЗУ отображения» не влияет на выбор источника информации при чтении, т. е. микропроцессор будет производить чтение из того ОЗУ (ОЗУ отображения или ОМ–ОЗУ датчиков), которое было указано последним.

Команда «Гашение – запрет записи ото­бражения» используется для гашения отобра­жения на выходах DSPA3–DSPA0 и DSPB3– DSPB0 (в нули, единицы и шестнадцатеричное число 20), а также для запрещения записи в одну из половин ОЗУ отображения или обе половины одновременно. Формат команды:

 

D7

D6

D5

D4

D3

D2

D1

D0

1

0

1

Х

А

В

А

В

где D7–D5 – код команды «Гашение – запрет записи отображения»; D4 разряд не используется; D3 – запрет записи в ОЗУ отображения по входам D7–D4 для канала А; D2 – запрет записи в ОЗУ отображения по входам D3–D0 для канала В; D1 – гашение выходов DSPA3–DSPA0 для канала A; D0 – гашение выходов DSPB3–DSPB0 для канала В.

Гашение отображения или запрет записи информации в ОЗУ отображения осуществля­ется при записи 1 в соответствующий разряд команды «Гашение – запрет записи отобра­жения». После аппаратного сброса выходы DSPA3–DSPA0, DSPB3–DSPB0 и BD авто­матически устанавливаются в состояние низко­го  уровня.

 

Команда «Сброс» предназначена для осу­ществления программного сброса микросхемы, сброса слова состояния и прерывания сигнала INT, а также сброса ОЗУ отображения и вы­ходов DSPA3–DSPA0, DSPB3–DSPB0 в код, который определяется разрядами D3, D2 (см. рис. 6.34).

Команда «Сброс прерывания – установка режима обнаружения ошибок» предназначена для сброса сигнала INT в режиме матрицы датчиков и установки специального режима обнаружения ошибок в клавиатурном режиме с N–клавишным сцеплением. Формат команды:

 

D7

D6

D5

D4

D3

D2

D1

D0

1

1

1

1

Х

Х

Х

Х

 

где D7–D5 – код команды «Сброс прерывания – установка режима обнаружения ошибок»; D4 – код установки режима обнаружения ошибок; D3–D0 – безразличное состояние.

11 Август 2011 06:22:01 Опубликовал Boss, Автор/источник: -


.: Реклама :.
www.bizhur.ru

fxclub
forex4you

Решения задач ИНИТ КнАГТУ

.: Статистика :.


Поставь +1!


Создание и оформление сайта: Maxter-=Marshalkin=-, г. Комсомольск-на-Амуре 2003-2011 e-mail:
^Наверх^
Сайт создан в системе uCoz