- •Вінниця 2013 рік
- •1. Ціль роботи:
- •2. Апаратура, прилади, матеріально-технічне оснащення:
- •3. Теоретичні відомості.
- •3.1 Структура клавіатури
- •3.2 Функціональна схема клавіатури
- •3.3. Скен-коди клавіатури.
- •3.4. Ascii-коди.
- •3.5. Інтерфейс клавіатури рs/2
- •3.7. Протокол обміну «Пристрій – Хост»
- •3.8. Протокол обміну «Хост - Пристрій»
- •3.8. Команди інтерфейсу з клавіатурою
- •3.9. Часові діаграми обміну інформації Пристрій до host
- •Host до пристрою
- •4. Порядок виконання лабораторної роботи
- •5. Типові варіанти індивідуальних завдань
- •6. Контрольні питання.
- •Host до пристрою
- •6.2. Пояснити принцип опитування та шифрування механічної клавіатури.
- •Пристрій до host
- •6.4. Пояснити принцип опитування та шифрування ємнісної клавіатури.
- •6.5. За структурною схемою пояснити механізм формування скен-кодів.
- •6.6. Надати класифікацію клавішних пристроїв та особливості їх конструкції, схемотехніки. Кодуючі клавіатури
- •Кодуючі клавіатури для відеоадаптерів і пк
- •Структура клавіатури
- •Аналогова клавіатура
- •Найнезвичайніші клавіатури
- •6.7. Надати приклади будови контактних та безконтактних клавіш.
- •6.8. За структурною схемою пояснити принцип роботи клавіатури.
- •6.9. Пояснити принцип формування ascii-кодів.
- •6.10. Пояснити з яких функціональних особливостей клавіатура може вводити інформацію на будь-якій мові світу.
- •6.11. Сформувати основні команди клавіатури та Хосту при обміні даними.
- •3.8. Команди інтерфейсу з клавіатурою
- •6.12. Назвати основні несправності клавіатурних модулів
- •6.13. Пояснити можливі способи під’ єднання клавіатури до системного блоку.
- •6.14. Сформувати принципи стандартизації клавіатур та навести приклади цих стандартів. Навести приклади та схемотехніку аналогової клавіатури.
- •6.15. Надати структуру та пояснення пакету повідомлення пристрою з 2-х байтів.
- •6.16. Пояснити принцип дії ємнісного перемикача.
- •6.17. Навести схемотехніку апаратних засобів інтерфейсу рs/2, зміст транзакції.
- •6.18. Надати основні способи підвищення завадостійкості ємнісних клавіатур.
- •6.20. Пояснити принцип дії герконових, оптоелектронних та клавіатур, що побудовані на принципі ефекта Холла.
- •Безконтактні клавіші
- •Ефект Холла
- •6.21. Пояснити зміст стартового протоколу обміну по інтерфейсу ps/2.
- •6.22. Пояснити зміст і призначення таблиці скен-кодів.
- •6.23. Навести приклади команд Хосту, що змінюють стан клавіатури.
- •6.24. Навести приклади схемотехніки некодуючих клавіатур.
- •6.25. Навести основні функції аналогових клавіатур.
- •6.26. Сформувати основні версії несправностей клавіатури та спосіб їх усування.
- •6.27. Пояснити зміст синхронного та асинхронного способу передачі даних.
- •7. Література
3.2 Функціональна схема клавіатури
Клавіатура складається з набору перемикачів, об'єднаних в матрицю. При натисканні клавіші процесор, встановлений в клавіатурі визначає координати натисненої клавіші в матриці. Крім того процесор визначає тривалість натискання на клавішу і може обробити навіть натискання декількох клавіш. В клавіатурі встановлено буфер ємністю 16 байт, в який заносяться дані при надто швидкому натисканні клавіш або при одночасному натисканні декількох клавіш. Далі ці дані у відповідній послідовності передаються в систему. Зв'язок із системним блоком відбувається через послідовний канал, по якому дані передаються по 11 біт, при чому вісім з них - власне дані, а інші - синхронізуючі та управляючі. В комп'ютерах типу АТ послідовний інтерфейс клавіатури підключено до спеціального контролера клавіатури на системній платі. В якості такого контролера використовується мікросхема 8042 універсального інтерфейсу периферійних пристроїв (Universal Peripheral Interface - UPI). В деяких комп'ютерах використовують мікросхеми 8041 і 8741, що відрізняються лише ємністю пам'яті.
В системах АТ мікроконтролер, встановлений в клавіатурі (типу 8048), пересилає дані в контролер клавіатури (типа 8042) на системній платі; можлива також передача даних в зворотньому напрямку. Коли контролер на системній платі приймає дані від клавіатури - він видає запит по IRQ 1 і передає дані головному процесору через порт введення/виведення з адресою 60h (як і в РС/ХТ). Контролер клавіатури грає роль посередника між головним процесором та клавіатурою, він також може перетворювати скен-коди та виконувати деякі інші функції. Дані можуть передаватися контролеру через той самий порт, після чого він пересилає їх в клавіатуру.
Для того, щоб передати команди або перевірити стан контролера клавіатури, на системній платі - використовують порт 64h. Передача команд звичайно супроводжується передачею даних в одному з напрямків через порт 60h.
Рис
1.5 – Функціональна
схема клавіатури
3.3. Скен-коди клавіатури.
Звичайні клавіатури ПК здатні виробляти три набори скен-кодів. Написання 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) |
Напис на клавіші |
1 |
53 |
29 |
39 |
0e |
29 |
0e |
29 |
` ~ |
2 |
30 |
02 |
41 |
16 |
02 |
16 |
02 |
1 ! |
3 |
31 |
03 |
3f |
1e |
03 |
1e |
03 |
2 @ |
4 |
32 |
04 |
3d |
26 |
04 |
26 |
04 |
3 # |
5 |
33 |
05 |
3b |
25 |
05 |
25 |
05 |
4 $ |
6 |
34 |
06 |
3c |
2e |
06 |
2e |
06 |
5 % E |
7 |
35 |
07 |
58 |
36 |
07 |
36 |
07 |
6 ^ |
8 |
36 |
08 |
64 |
3d |
08 |
3d |
08 |
7 & |
9 |
37 |
09 |
44 |
3e |
09 |
3e |
09 |
8 * |
10 |
38 |
0a |
42 |
46 |
0a |
46 |
0a |
9 ( |
11 |
39 |
0b |
40 |
45 |
0b |
45 |
0b |
0 ) |
12 |
45 |
0c |
3e |
4e |
0c |
4e |
0c |
- _ |
13 |
46 |
0d |
0f |
55 |
0d |
55 |
0d |
= + |
15 |
42 |
0e |
29 |
66 |
0e |
66 |
0e |
Backspace |
16 |
43 |
0f |
59 |
0d |
0f |
0d |
0f |
Tab |
17 |
20 |
10 |
65 |
15 |
10 |
15 |
10 |
Q |
18 |
26 |
11 |
38 |
1d |
11 |
1d |
11 |
W |
19 |
8 |
12 |
2a |
24 |
12 |
24 |
12 |
E |
20 |
21 |
13 |
70 |
2d |
13 |
2d |
13 |
R |
21 |
23 |
14 |
1d |
2c |
14 |
2c |
14 |
T |
22 |
28 |
15 |
10 |
35 |
15 |
35 |
15 |
Y |
23 |
24 |
16 |
02 |
3c |
16 |
3c |
16 |
U |
24 |
12 |
17 |
5a |
43 |
17 |
43 |
17 |
I |
25 |
18 |
18 |
66 |
44 |
18 |
44 |
18 |
O |
26 |
19 |
19 |
71 |
4d |
19 |
4d |
19 |
P |
27 |
47 |
1a |
2c |
54 |
1a |
54 |
1a |
[ { |
28 |
48 |
1b |
1f |
5b |
1b |
5b |
1b |
] } |
29 |
49 |
2b |
21 |
5d |
2b |
5c |
75 |
\ | |
30 |
57 |
3a |
32 |
58 |
3a |
14 |
1d |
CapsLock |
31 |
4 |
1e |
03 |
1c |
1e |
1c |
1e |
A |
32 |
22 |
1f |
5b |
1b |
1f |
1b |
1f |
S |
33 |
7 |
20 |
67 |
23 |
20 |
23 |
20 |
D |
34 |
9 |
21 |
2e |
2b |
21 |
2b |
21 |
F |
35 |
10 |
22 |
2d |
34 |
22 |
34 |
22 |
G |
36 |
11 |
23 |
20 |
33 |
23 |
33 |
23 |
H |
37 |
13 |
24 |
12 |
3b |
24 |
3b |
24 |
J |
38 |
14 |
25 |
05 |
42 |
25 |
42 |
25 |
K |
39 |
15 |
26 |
04 |
4b |
26 |
4b |
26 |
L |
40 |
51 |
27 |
5c |
4c |
27 |
4c |
27 |
; : |
41 |
52 |
28 |
68 |
52 |
28 |
52 |
28 |
' " |
42 |
50 |
00 |
ff |
00 |
ff |
00 |
ff |
non-US-1 |
43 |
40 |
1c |
1e |
5a |
1c |
5a |
1c |
Enter |
44 |
225 |
2a |
2f |
12 |
2a |
12 |
2a |
LShift |
46 |
29 |
2c |
14 |
1a |
2c |
1a |
2c |
Z |
47 |
27 |
2d |
13 |
22 |
2d |
22 |
2d |
X |
48 |
6 |
2e |
06 |
21 |
2e |
21 |
2e |
C |
49 |
25 |
2f |
5d |
2a |
2f |
2a |
2f |
V |
50 |
5 |
30 |
69 |
32 |
30 |
32 |
30 |
B |
51 |
17 |
31 |
31 |
31 |
31 |
31 |
31 |
N |
52 |
16 |
32 |
30 |
3a |
32 |
3a |
32 |
M |
53 |
54 |
33 |
23 |
41 |
33 |
41 |
33 |
, < |
54 |
55 |
34 |
22 |
49 |
34 |
49 |
34 |
. > |
55 |
56 |
35 |
15 |
4a |
35 |
4a |
35 |
/ ? |
57 |
229 |
36 |
07 |
59 |
36 |
59 |
36 |
RShift |
58 |
224 |
1d |
11 |
14 |
1d |
11 |
38 |
LCtrl |
60 |
226 |
38 |
6a |
11 |
38 |
19 |
71 |
LAlt |
61 |
44 |
39 |
72 |
29 |
39 |
29 |
39 |
space |
62 |
230 |
e0-38 |
e0-6a |
e0-11 |
e0-38 |
39 |
72 |
RAlt |
64 |
228 |
e0-1d |
e0-11 |
e0-14 |
e0-1d |
58 |
3a |
RCtrl |
75 |
73 |
e0-52 |
e0-28 |
e0-70 |
e0-52 |
67 |
7b |
Insert |
76 |
76 |
e0-53 |
e0-74 |
e0-71 |
e0-53 |
64 |
79 |
Delete |
80 |
74 |
e0-47 |
e0-60 |
e0-6c |
e0-47 |
6e |
7f |
Home |
81 |
77 |
e0-4f |
e0-61 |
e0-69 |
e0-4f |
65 |
7a |
End |
85 |
75 |
e0-49 |
e0-34 |
e0-7d |
e0-49 |
6f |
6f |
PgUp |
86 |
78 |
e0-51 |
e0-73 |
e0-7a |
e0-51 |
6d |
7e |
PgDn |
79 |
80 |
e0-4b |
e0-26 |
e0-6b |
e0-4b |
61 |
56 |
Left |
83 |
82 |
e0-48 |
e0-6c |
e0-75 |
e0-48 |
63 |
78 |
Up |
84 |
81 |
e0-50 |
e0-6d |
e0-72 |
e0-50 |
60 |
55 |
Down |
89 |
79 |
e0-4d |
e0-19 |
e0-74 |
e0-4d |
6a |
7d |
Right |
90 |
83 |
45 |
0b |
77 |
45 |
76 |
01 |
NumLock |
91 |
95 |
47 |
60 |
6c |
47 |
6c |
47 |
KP-7 / Home |
92 |
92 |
4b |
26 |
6b |
4b |
6b |
4b |
KP-4 / Left |
93 |
89 |
4f |
61 |
69 |
4f |
69 |
4f |
KP-1 / End |
95 |
84 |
e0-35 |
e0-15 |
e0-4a |
e0-35 |
77 |
45 |
KP-/ |
96 |
96 |
48 |
6c |
75 |
48 |
75 |
48 |
KP-8 / Up |
97 |
93 |
4c |
27 |
73 |
4c |
73 |
4c |
KP-5 |
98 |
90 |
50 |
6d |
72 |
50 |
72 |
50 |
KP-2 / Down |
99 |
98 |
52 |
28 |
70 |
52 |
70 |
52 |
KP-0 / Ins |
100 |
85 |
37 |
5e |
7c |
37 |
7e |
46 |
KP-* |
101 |
97 |
49 |
34 |
7d |
49 |
7d |
49 |
KP-9 / PgUp |
102 |
94 |
4d |
19 |
74 |
4d |
74 |
4d |
KP-6 / Right |
103 |
91 |
51 |
73 |
7a |
51 |
7a |
51 |
KP-3 / PgDn |
104 |
99 |
53 |
74 |
71 |
53 |
71 |
53 |
KP-. / Del |
105 |
86 |
4a |
35 |
7b |
4a |
84 |
54 |
KP-- |
106 |
87 |
4e |
0c |
79 |
4e |
7c |
37 |
KP-+ |
108 |
88 |
e0-1c |
e0-1e |
e0-5a |
e0-1c |
79 |
4e |
KP-Enter |
110 |
41 |
01 |
43 |
76 |
01 |
08 |
64 |
Esc |
112 |
58 |
3b |
24 |
05 |
3b |
07 |
58 |
F1 |
113 |
59 |
3c |
16 |
06 |
3c |
0f |
59 |
F2 |
114 |
60 |
3d |
08 |
04 |
3d |
17 |
5a |
F3 |
115 |
61 |
3e |
09 |
0c |
3e |
1f |
5b |
F4 |
116 |
62 |
3f |
5f |
03 |
3f |
27 |
5c |
F5 |
117 |
63 |
40 |
6b |
0b |
40 |
2f |
5d |
F6 |
118 |
64 |
41 |
33 |
83 |
41 |
37 |
5e |
F7 |
119 |
65 |
42 |
25 |
0a |
42 |
3f |
5f |
F8 |
120 |
66 |
43 |
17 |
01 |
43 |
47 |
60 |
F9 |
121 |
67 |
44 |
18 |
09 |
44 |
4f |
61 |
F10 |
122 |
68 |
57 |
6e |
78 |
57 |
56 |
62 |
F11 |
123 |
69 |
58 |
3a |
07 |
58 |
5e |
63 |
F12 |
124 |
70 |
e0-37 |
e0-5e |
e0-7c |
e0-37 |
57 |
6e |
PrtScr |
0 |
154 |
54 |
1a |
84 |
54 |
57 |
6e |
Alt+SysRq |
125 |
71 |
46 |
0a |
7e |
46 |
5f |
76 |
ScrollLock |
126 |
72 |
e1-1d-45 |
e1-11-0b |
e1-14-77 |
e1-1d-45 |
62 |
77 |
Pause |
0 |
0 |
e0-46 |
e0-0a |
e0-7e |
e0-46 |
62 |
77 |
Ctrl+Break |
0 |
227 |
e0-5b |
e0-1b |
e0-1f |
e0-5b |
8b |
8b |
LWin (USB: LGUI) |
0 |
231 |
e0-5c |
e0-75 |
e0-27 |
e0-5c |
8c |
8c |
RWin (USB: RGUI) |
0 |
0 |
e0-5d |
e0-2b |
e0-2f |
e0-5d |
8d |
8d |
Menu |
0 |
0 |
e0-5f |
e0-76 |
e0-3f |
e0-5f |
7f |
54 |
Sleep |
0 |
0 |
e0-5e |
e0-63 |
e0-37 |
e0-5e |
00 |
ff |
Power |
0 |
0 |
e0-63 |
e0-78 |
e0-5e |
e0-63 |
00 |
ff |
Wake |
Скен-коди клавіш (IBM PS/2)
