ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


Функціональна схема клавіатури

Клавіатура складається з набору перемикачів, об'єднаних в матрицю. При натисканні клавіші процесор, встановлений в клавіатурі визначає координати натисненої клавіші в матриці. Крім того процесор визначає тривалість натискання на клавішу і може обробити навіть натискання декількох клавіш. В клавіатурі встановлено буфер ємністю 16 байт, в який заносяться дані при надто швидкому натисканні клавіш або при одночасному натисканні декількох клавіш. Далі ці дані у відповідній послідовності передаються в систему. Зв'язок із системним блоком відбувається через послідовний канал, по якому дані передаються по 11 біт, при чому вісім з них - власне дані, а інші - синхронізуючі та управляючі. В комп'ютерах типу АТ послідовний інтерфейс клавіатури підключено до спеціального контролера клавіатури на системній платі. В якості такого контролера використовується мікросхема 8042 універсального інтерфейсу периферійних пристроїв (Universal Peripheral Interface - UPI). В деяких комп'ютерах використовують мікросхеми 8041 і 8741, що відрізняються лише ємністю пам'яті.

В системах АТ мікроконтролер, встановлений в клавіатурі (типу 8048), пересилає дані в контролер клавіатури (типа 8042) на системній платі; можлива також передача даних в зворотньому напрямку. Коли контролер на системній платі приймає дані від клавіатури - він видає запит по IRQ 1 і передає дані головному процесору через порт введення/виведення з адресою 60h (як і в РС/ХТ). Контролер клавіатури грає роль посередника між головним процесором та клавіатурою, він також може перетворювати скен-коди та виконувати деякі інші функції. Дані можуть передаватися контролеру через той самий порт, після чого він пересилає їх в клавіатуру.

Для того, щоб передати команди або перевірити стан контролера клавіатури, на системній платі - використовують порт 64h. Передача команд звичайно супроводжується передачею даних в одному з напрямків через порт 60h.

Рис 1.5 – Функціональна схема клавіатури

Скен-коди клавіатури.

Звичайні клавіатури ПК здатні виробляти три набори скен-кодів. Написання 0xf0, за яким слідує 1, 2 або 3 до порту 0х60 встановить клавіатуру у режим скен-кодів 1, 2 або 3.

Набір 1 містить значення, які виробляла ХТ клавіатура (лише з єдиним набором скен-кодів) з розширенням для нових клавіш. Частина користувачів вирішила, що інша нумерація була б більш логічною, в результаті було створено набір 2 скен-кодів. Однак згодом стало очевидним, що нові скен-коди виводять із ладу старі програми, тому було зроблено можливість перетворення набору 2 в 1. Нарешті у версії PS/2 – використовується набір 3, який є більш впорядкованим.

Специфікація USB описує 16-бітові коди для позицій клавіш на клавіатурі, які визначені надписами на клавішах стандартної розкладки США. Нижче наведені значення у десятковій системі. 0-3 – значення протоколу, а саме: немає події, помилка переповнення (одночасне натискання багатьох клавіш), помилка POST, помилка не визначена. Значення 224-231 – для клавіш-модифікаторів.

 

Таблиця скен-кодів стандартної клавіатури

(USB коди у десятковій, а скен-коди – у шістнадцятковій.)

# USB Set 1 X(Set 1) Set 2 X(Set 2) Set 3 X(Set 3) Напис на клавіші
0e 0e ` ~
1 !
3f 1e 1e 2 @
3d 3 #
3b 4 $
3c 2e 2e 5 % E
6 ^
3d 3d 7 &
3e 3e 8 *
0a 0a 0a 9 (
0b 0b 0b 0 )
0c 3e 4e 0c 4e 0c - _
0d 0f 0d 0d = +
0e 0e 0e Backspace
0f 0d 0f 0d 0f Tab
Q
1d 1d W
2a E
2d 2d R
1d 2c 2c T
Y
3c 3c U
5a I
O
4d 4d P
1a 2c 1a 1a [ {
1b 1f 5b 1b 5b 1b ] }
2b 5d 2b 5c \ |
3a 3a 1d CapsLock
1e 1c 1e 1c 1e A
1f 5b 1b 1f 1b 1f S
D
2e 2b 2b F
2d G
H
3b 3b J
K
4b 4b L
5c 4c 4c ; :
' "
ff ff ff non-US-1
1c 1e 5a 1c 5a 1c Enter
2a 2f 2a 2a LShift
2c 1a 2c 1a 2c Z
2d 2d 2d X
2e 2e 2e C
2f 5d 2a 2f 2a 2f V
B
N
3a 3a M
, <
. >
4a 4a / ?
RShift
1d 1d LCtrl
6a LAlt
space
e0-38 e0-6a e0-11 e0-38 RAlt
e0-1d e0-11 e0-14 e0-1d 3a RCtrl
e0-52 e0-28 e0-70 e0-52 7b Insert
e0-53 e0-74 e0-71 e0-53 Delete
e0-47 e0-60 e0-6c e0-47 6e 7f Home
e0-4f e0-61 e0-69 e0-4f 7a End
e0-49 e0-34 e0-7d e0-49 6f 6f PgUp
e0-51 e0-73 e0-7a e0-51 6d 7e PgDn
e0-4b e0-26 e0-6b e0-4b Left
e0-48 e0-6c e0-75 e0-48 Up
e0-50 e0-6d e0-72 e0-50 Down
e0-4d e0-19 e0-74 e0-4d 6a 7d Right
0b NumLock
6c 6c KP-7 / Home
4b 6b 4b 6b 4b KP-4 / Left
4f 4f 4f KP-1 / End
e0-35 e0-15 e0-4a e0-35 KP-/
6c KP-8 / Up
4c 4c 4c KP-5
6d KP-2 / Down
KP-0 / Ins
5e 7c 7e KP-*
7d 7d KP-9 / PgUp
4d 4d 4d KP-6 / Right
7a 7a KP-3 / PgDn
KP-. / Del
4a 7b 4a KP--
4e 0c 4e 7c KP-+
e0-1c e0-1e e0-5a e0-1c 4e KP-Enter
Esc
3b 3b F1
3c 3c 0f F2
3d 3d 5a F3
3e 0c 3e 1f 5b F4
3f 5f 3f 5c F5
6b 0b 2f 5d F6
5e F7
0a 3f 5f F8
F9
4f F10
6e F11
3a 5e F12
e0-37 e0-5e e0-7c e0-37 6e PrtScr
1a 6e Alt+SysRq
0a 7e 5f ScrollLock
e1-1d-45 e1-11-0b e1-14-77 e1-1d-45 Pause
e0-46 e0-0a e0-7e e0-46 Ctrl+Break
e0-5b e0-1b e0-1f e0-5b 8b 8b LWin (USB: LGUI)
e0-5c e0-75 e0-27 e0-5c 8c 8c RWin (USB: RGUI)
e0-5d e0-2b e0-2f e0-5d 8d 8d Menu
e0-5f e0-76 e0-3f e0-5f 7f Sleep
e0-5e e0-63 e0-37 e0-5e ff Power
e0-63 e0-78 e0-5e e0-63 ff Wake

 

Скен-коди клавіш (IBM PS/2)

 

 

 

 

3.4. ASCII-коди.

Відповідність кожному символу клавіатури певного байта інформації забезпечується застосуванням таблиці кодів ASCII (American Standart Code for information interchange). Цей американський стандарт кодів для обміну інформацією застосовується на більшості сучасних комп'ютерів.

 

 

Інтерфейс клавіатури РS/2

Стандарт РS/2 на сучасному етапі використання ПК є одним з поширених способів з’єднання модуля клавіатури з системним блоком.

Інтерфейс РS/2 представлений сигналами: Ground, +5V, Data і Clock. Шина +5V забезпечує живлення схеми клавіатури або миші від джерела, розташованого на материнській платі. Джерела сигналів Data і Clock виконані по схемі з відкритим колектором, в неактивному стані мають рівень 1. Пристрої, що підключаються до даних шин повинні мати на входах опори, підключені до шини живлення. Рекомендований номінал - близько 10 кОм.

Шина РS/2 є послідовний двонаправлений синхронний інтерфейс. Кожен біт даних (Data), що передаються повинен тактуватися одним імпульсом сигналу uik хост. Контролер клавіатури на материнській платі (хост) та процесор клавіатури (пристрій) можуть посилати сигнали один одному, Data і С1осk при цьому мають високий пріоритет, отже на двонаправленій шині при спробах одночасної передачі даних з боку хоста і пристрою можуть виникати конфлікти. В процесі передачі даних пристрій повинен проводити контроль шини за станом сигналу С1осk. Для цього після передачі кожного біта інформації, сигнали Data і С1осk в пристрої переводяться із стану вихід в стан вхід і потім перевіряються. Якщо лінія С1осk має потенціал 0, це означає, що з боку хоста виставлена вимога на передачу. Пристрій повинен припинити передачу, надавши пріоритет шині хосту і чекати завершення сеансу передачі.

Вилка 5-pin DIN (AT/XT): 1 - Clock 2 - Data 3 - не використовується 4 - Ground 5 - +5V  
Вилка 6-pin Mini-DIN (PS/2): 1 - Data 2 - не використовується 3 - Ground 4 - +5V 5 - Clock 6 - не використовується
Розетка 6-pin Mini-DIN (PS/2): A – не використовується B - Data C - Ground D - Clock E - +5V F - не використовується

Опис роз’ємів РS/2

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

Треба зазначити, що незалежно від напряму передачі даних - хост => клавітура або клавіатура => хост, джерелом тактових сигналів завжди є клавіатура. Тому, якщо хост повинен передати дані, то він надсилає про це відповідний сигнал пристрою.

Максимальна частота тактового сигналу - не більше 33 кГц, проте, в реальних пристроях частота лежить у проміжку 10 ... 20 кГц.

Передача даних між пристроєм і хостом проводиться байтами. Посилання містить 11 біт:

• 1 стартовий біт (завжди 0);

• 8 біт даних, молодший біт передається першим;

• 1 біт парності;

• 1 стоп-біт (завжди 1).

Біт парності встановлюється в '1 ', якщо число одиниць у переданого посилання непарне, або в '0', якщо парне. Він використовується для виявлення помилок при передачі. Коли хост передає дані клавіатурі, після прийому посилання пристрій повинен передати біт підтвердження того, що дані прийняти. Коли клавіатура посилає дані, то біт підтвердження хостом не передається.

Таблиця 1. Хост® Клавіатура

ED Команда вмикання/вимикання світлодіодів Num Lock, Caps Lock, Scroll Lock. Після прийому даної команди контролер клавіатури повинен відповісти ACK (FA) і чекати передачі наступного байта, що містить код стану для світлодіодів - біти 0 ... 2, відповідний включенню світлодіодів: біт 0 - Scroll lock (1 - вкл.), біт1 - Num lock, біт 2 - Caps lock. Біти 3 ... 7 завжди передаються нулями. Команда використовується для тестування при початковому завантаженні комп'ютера. Світлодіоди повинні запалитися і після невеликої паузи згаснути.
EE Команда «Ехо». Отримавши її, клавіатура має повторити цю команду в бік хоста (EE). Використовується виключно для тестування.
F0 Вибір таблиці скан-кодів. З боку клавіатури повинне слідувати підтвердження ACK, потім клавіатура чекає отримання коду (01, 02 або 03), що визначає тип використовуваної кодової таблиці. Якщо переданий код 00, клавіатура відповідає ACK.
F2 Надіслати код ідентифікатора ID (A3, AB). З боку клавіатури необхідна відповідь ACK (РА). Ця команда також дає дозвіл на сканування.
F3 Встановити швидкість автоповтору (режим друкарської машинки). Після прийому даної команди клавіатура повинна відповісти кодом підтвердження прийому ACK (FA). Наступний байт містить параметри швидкості автоповтору і затримку перед автоповтором: • біти 0 .. .4 Визначають швидкість автоповтору посилання коду натиснутої і утримуваної клавіші (00000 - 30 разів / с, 11111 - 2раза / с); • біти 5 ... 6 визначають час затримки автоповтору - час між моментом натиснення і моментом початку роботи автоповтору при утриманні клавіші більше часу затримки (00 - 250 мс, 11 - 1000 мс); • біт 7 - не використовується. Автоповтор виконується для всіх клавіш (у тому числі ALT, Ctrl, Shift), за винятком клавіші Pause / Break. Клавіша Pause / Break-особлива, на відміну від усіх інших клавіш вона має код тільки «make». Для неї не існує режиму автоповтору та коду відпускання (Break). Якщо було натиснутою більше однієї клавіші, а потім одна з клавіш відпущена, то передача скан-кодів клавіші, що залишилася натиснутою в режимі автоповтору вже не виробляється. Якщо її відпустити передається код відтисненого стану.
F4 Команда дозволу роботи клавіатури. По ній виконується скидання буфера даних і запускається сканування. З боку клавіатури необхідна відповідь ACK (FA).
F5 Команда заборони сканування і передачі скан-кодів. З боку клавіатури необхідна відповідь ACK (FA). Стан світлодіодів клавіатури зберігається.
F6 Відновити початкові значення параметрів клавіатури за замовчуванням. Стан світлодіодів клавіатури зберігається.
F7 Встановлення режиму друкарської машинки «typematic» для всіх клавіш клавіатури - всі клавіші, що натискаються відображаються на екрані. З боку клавіатури необхідна відповідь ACK (FA).
F8 Встановити для всіх клавіш режим «make / break». З боку клавіатури необхідна відповідь ACK (FA).
F9 Встановити для всіх клавіш режим «make». З боку клавіатури необхідна відповідь ACK (FA).
FA Встановити для всіх клавіш режим «typematic / make / break». З боку клавіатури необхідна відповідь ACK (FA).
FB Встановити для даної клавіші режим «typematic». Код клавіші передається після цієї команди.
FC Встановити для даної клавіші режим «make / break». Код клавіші передається після цієї команди.
FD Встановити для даної клавіші режим «make». Код клавіші передається після цієї команди.
FE Повторити передачу останнього коду команди.
FF Команда початкової установки клавіатури.

© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти