8279 - Программируемая клавиатура

Программируемый контроллер клавиатуры / дисплея 8279 разработан Intel, который обеспечивает взаимодействие клавиатуры с процессором. Клавиатура сначала сканирует клавиатуру и определяет, была ли нажата какая-либо клавиша. Затем он отправляет их относительный ответ на нажатую клавишу в ЦП и наоборот.

Сколько способов взаимодействия клавиатуры с процессором?

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

в Polled modeЦП периодически считывает внутренний флаг 8279, чтобы проверить, нажата ли какая-либо клавиша при нажатии клавиши.

Как работает клавиатура 8279?

Клавиатура состоит максимум из 64 клавиш, которые связаны с ЦП с помощью кодов клавиш. Эти коды клавиш восстанавливаются и сохраняются в 8-байтовом FIFORAM, доступ к которому может получить ЦП. Если в FIFO введено более 8 символов, это означает, что одновременно нажимается более восьми клавиш. Это когда установлен статус переполнения.

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

Архитектура и описание

Управление вводом / выводом и буфер данных

Этот блок управляет потоком данных через микропроцессор. Он доступен только при низком уровне D. Его буфер данных связывает внешнюю шину системы с внутренней шиной микропроцессора. Контакты A0, RD и WR используются для команд, состояний или операций чтения / записи данных.

Регистр контроля и времени и контроль времени

Этот блок содержит регистры для хранения клавиатуры, режимов отображения и других операций, запрограммированных ЦП. Блок хронометража и управления обрабатывает тайминги работы схемы.

Счетчик сканирования

Он имеет два режима, т.е. Encoded modeи режим декодирования. В кодированном режиме счетчик обеспечивает двоичный счет, который должен быть декодирован извне для получения строк развертки для клавиатуры и дисплея.

в decoded scan mode, счетчик внутренне декодирует 2 младших бита и обеспечивает декодированное сканирование 1 из 4 на SL 0 -SL 3 .

Возвратные буферы, устранение дребезга клавиатуры и управление

Это устройство сначала сканирует закрытие клавиш по строкам, если обнаружено, то модуль устранения дребезга клавиатуры отскакивает от ввода клавиши. В случае обнаружения того же ключа, код этого ключа напрямую передается в ОЗУ датчика вместе со статусом клавиши SHIFT & CONTROL.

FIFO / ОЗУ датчика и логика состояния

Этот блок действует как 8-байтовое ОЗУ «первым пришел - первым вышел» (FIFO), где код каждой нажатой клавиши вводится в ОЗУ в соответствии с их последовательностью. Логика состояния генерирует запрос прерывания после каждой операции чтения FIFO, пока FIFO не станет пустым.

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

Регистры адреса дисплея и ОЗУ дисплея

Этот блок состоит из регистров адреса дисплея, которые содержат адреса слова, которое в данный момент считывает / записывает ЦП в / из ОЗУ дисплея.

8279 - Описание контакта

На следующем рисунке показана схема контактов 8279 -

Линии шины данных, DB 0 - DB 7

Это 8 двунаправленных линий шины данных, используемых для передачи данных в / из CPU.

CLK

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

СБРОС

Как следует из названия, этот вывод используется для сброса микропроцессора.

Выбор микросхемы CS

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

А 0

Этот вывод указывает на передачу информации о команде / состоянии. Когда он низкий, это указывает на передачу данных.

RD, WR

Этот вывод чтения / записи позволяет буферу данных отправлять / получать данные по шине данных.

IRQ

Эта выходная линия прерывания переходит в высокий уровень, когда есть данные в ОЗУ датчика FIFO. Линия прерывания переходит в низкий уровень с каждой операцией чтения FIFO RAM. Однако, если FIFO RAM дополнительно содержит какой-либо код ключа, который должен быть прочитан ЦП, этот вывод снова становится высоким, чтобы генерировать прерывание для ЦП.

В сс , В см

Это линии заземления и питания микропроцессора.

SL 0 - SL 3

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

RL 0 - RL 7

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

СДВИГ

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

CNTL / STB - УПРАВЛЕНИЕ / СТРОБИРОВАННЫЙ I / P режим

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

BD

Это означает пустой дисплей. Он используется для отключения дисплея во время переключения цифр.

OUTA 0 - OUTA 3 и OUTB 0 - OUTB 3

Это порты вывода для двух внутренних регистров обновления дисплея 16x4 или одного 16x8. Данные из этих строк синхронизируются со строками развертки для сканирования дисплея и клавиатуры.

Режимы работы 8279

На 8279 есть два режима работы - Input Mode и Output Mode.

Режим ввода

Этот режим работает с вводом с клавиатуры, и этот режим подразделяется на 3 режима.

  • Scanned Keyboard Mode- В этом режиме матрица ключей может быть сопряжена с использованием кодированных или декодированных сканирований. При кодированном сканировании клавиатура 8 × 8 или при декодированном сканировании может взаимодействовать клавиатура 4 × 8. Код клавиши, нажатой в состоянии SHIFT и CONTROL, сохраняется в FIFO RAM.

  • Scanned Sensor Matrix- В этом режиме матрица датчиков может быть подключена к процессору с помощью сканирования кодировщиком или декодером. При сканировании кодировщика может быть сопряжена матрица датчиков 8 × 8 или матрица датчиков 4 × 8 при сканировании декодера.

  • Strobed Input - В этом режиме, когда линия управления установлена ​​в 0, данные в линиях возврата сохраняются в байтах FIFO.

Режим вывода

Этот режим имеет дело с операциями, связанными с отображением. Этот режим далее подразделяется на два режима вывода.

  • Display Scan - Этот режим позволяет организовывать 8/16-символьные мультиплексированные дисплеи как двойные 4-битные / одиночные 8-битные дисплеи.

  • Display Entry - Этот режим позволяет вводить данные для отображения справа или слева.