Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Интерфейс клавиатуры

Подключение клавиатуры к системной плате осуществляется последовательным синхронным интерфейсом, состоящим из двух обязательных сигналов: КВ – Data и КВ – Cloсk. Контроллер интерфейса клавиатуры и его разъем расположены на системной плате. Разъем клавиатуры может быть двух типов:

- обычная 5 контактная розетка DIN, рис. 2.2;

- малогабаритная розетка mini-DIN, рис 2.3.

3 1 5

Ключи 6

5 4 4 3

2 2 1

Рис.2.2. Рис2.3.

Обозначение клемм на схемах:

Рис2.2. 1 – KB Clock; 2 – KB Data; 3 - КВ – Reset #;

4 – GND (общий – заземление);5 - +5В.

Рис.2.3. 1 - KB Data; 2 – пустой; 3 - GND (общий – заземление);

4 - +5В; 5 - KB Clock; 6 – Ключ.

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

С использованием шины USB появились клавиатуры с контроллером 8042. они имеют и встроенный ХАБ для подключения мыши через USB. При этом со стороны BIOS для такой клавиатуры требуется специальная поддержка.

2.1. Контроллер интерфейса клавиатуры и мыши 8042/8242.

Программируемый микроконтроллер последовательных интерфейсов клавиатуры и мыши расположен в пространстве ввода-вывода CPU по адресам 060 RW и 064 RW через параллельный интерфейс, рис 2.4.

 
 


CPU

 

 


060 RW 064 RW

Рег.данных Рег. состояния Команды

и команд

 

контроллер

клавиатуры

       
   
 
 


Интерфейс Интерфейс

Мышь

Клавиатура р1 р2

       
   


Рис. 2.4. Структурная схема взаимосвязи контроллера

клавиатуры и мыши

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

Регистр состояния порта 064 R

Биты регистра 064 R
               
Полнота выходного буфера 1 - буфер полный (OBF) Наполнение входного регистра: 1 –полный 0 –готов к приему Системный флаг 0 - по вкл питания 1 - состояние сброса Признак записи 1- команда 0 - данные Замок клавиатуры 0 – замок вкл 1 - откл Выходной буфер мыши Mouse_OBF Общий перерыв Ошибка четности при последнем обмене с клавиатурой

 

2.2. Алгоритм работы контроллера с клавиатурой:

 

3. Скан – коды и системная поддержка.

 

З.1. Скан – коды

Скан –коды передаются от клавиатуры в компьютер по факткм нажатия и отпускания клавиш.

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

Набор Set#1. Свойственн первым клавиатурам. При отпускании клавиша клавиатуры передает скан-код с инвертируемым битом 7. При этом префиксы передаются без изменений, а модифицированные расширенные скан-коды передаются в порядке обратном прядку передачи при нажатии. Принятый способ сигнализации отпускания не позволяет использовать скан-коды: 60h, 61h, 5A, 6E и больше 79h и 00.

 

Набор Set#2. Соответствует клавиатурам со 101/102 и более клавиш.

При отпускании передаются два байта:

Признак отпускания F0 Не модифицированный скан-код

1-й байт 2-й байт

Клавиши, генерирующие пару кодов (префикс и расширенный код) при отпускании передается следующим образом:

Префикс Е0 (Е1) признак F0 расширенный скан-код

Если клавиша генерирует пару кодов при нажатии, то при отпускании каждая пара кодов дает тройку кодов с обратным порядком их следования.

Набор Set#3. Существует но практически не используется.

Номер набора клавиатуре и ее контроллеру задается центральным процессором по команде F0. При включении питания у современных клавиатур устанавливается набор 0. Контроллер клавиатуры осуществляет трансляцию принимаемых кодов наборов Set#1 или Set#2 в набор Set#0, коды которого доступны процессору при чтении из порта 60h. Считыванием из порта и интерпретацией скан-кодов занимается программа центрального процессора, выполняемая обработчиком прерываний IRQ.

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

 

3.2. Системная поддержка.

Системная поддержка клавиатуры осуществляется на уровне BIOS. Коды, принятые от клавиатуры, считываются и обрабатываются обработчиком аппаратного прерывания IRQ1. Результат обработки помещается в клавиатурный буфер, из которого по программному прерыванию Int 16h этот результат может быть извлечен позже.

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

Русификация клавиатуры поддерживается на программном уровне с помощью загружаемого драйвера, который замещает обработчик IRQ1 драйвера BIOS, перехватывая вектор прерывания процессора Int 9h

Прерывания, вызванные приходом кодов нажатия и отпускания клавиш обрабатывает BIOS Int 9h.

 

Алгоритм обработки клавиш следующий:

       
   


Нажатие (отпускание) клавиши Специальные клавиши

       
   

 


Определение состояния флагов Модификация флагов

клавиатуры

 
 

 


Результат обработки в ОЗУ

 

 
 


Клавиатурный буфер

 

(Кольцо на 16 слов)

 

 
 

 

 


Буфер полный

Звуковой сигнал

Записи слова нет

 

Интерфейс прикладного уровня представляет BIOS Int 16h, основное назначение которого – извлечение слов из клавиатурного буфера

Функция задается в регистре АН при вызове.

Результата помещается в регистр АХ.

<== предыдущая лекция | следующая лекция ==>
Новгород | Манипуляторы-указатели
Поделиться с друзьями:


Дата добавления: 2013-12-13; Просмотров: 1057; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.