Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕОРІЯ.doc
Скачиваний:
12
Добавлен:
23.11.2018
Размер:
1.74 Mб
Скачать

0.5.3 Протокол обміну «Пристрій – Хост»

Як було сказано раніше, сигнали ліній Data і Clock є виходами відкритого колектора і в нормальному стані є лог.1. Коли клавіатура має намір передати інформацію, то насамперед вона перевіряє стан лінії Clock, щоб переконатися в тому, що лінія має рівень лог.1. Якщо ж це не так, то шиною керує хост, і пере дача даних від клавіатури повинна бути блокована. Якщо лінія має рівень лог. 1, то пристрій починає передачу даних у хост.

Час від переднього фронту тактового сигналу до моменту зміни шини даних повинен бути не менше 5 мкс. Час від зміни даних до заднього фронту тактового сигналу має бути не менше 5 і не більше 25 мкс.

0.5.4 Протокол обміну «Хост - Пристрій»

У порівнянні з протоколом «пристрій-хост», цей протокол має деякі відмінності. Слід пам'ятати, що джерелом тактового сигналу завжди є пристрій (клавіатура або миша). Щоб передати дані, хост повинен попередити про це пристрій для того, щоб він почв формувати тактові сигнали. Тому хост повинен перевести й утримувати шину Clock в стані лог.0 Протягом не менше 60 мкс. Потім лінія Data переводиться ним в стан лог.0 (сигнал «старт»), і хост повинен звільнити лінію Clock, для того щоб пристрій міг формувати на ній сигнал для тактування переданих ним даних. Пристрій формує 10 імпульсів сигналу Clock для тактування 8 біт даних, сигналу паритету і стоп-біта. Зміну даних хост виробляє при низькому рівні сигналу Clock. Фіксація даних у хості проводиться по передньому фронту тактового сигналу. Після тактування сигналу стоп пристрій повинен сформувати сигнал квитирования. Для цього лінія даних переводить ся в стан лог.1, і формується додатковий тактовий Clock імпульс. Ну, а якщо трапилось так, що хост продовжує утримувати лінію Data в стані лог.0, то пристрій повинен продовжувати формувати тактові сигнали до тих пір, поки хост не відпустить лінію даних в стан лог.1. В цій ситуації пристрій формує і передає в хост команду «Помилка прийому».

В протоколі «хост-клавиатура» передбачено два тайм-аути для фіксації помилок передачі. Перший тайм-аут — часовий інтервал «а» від моменту, коли хост видав запит на передачу (сигнал Clock с нульовим рівнем) і часом початку передачі тактового сигналу пристроєм. Цей період часу повинен бути не більше 15 мс. Час передачі пакету «b» не повиннен бути більше 2 мс. Якщо хоча б одна з цих часівих характеристик буде порушена, хост зафіксує помилку передачі. Якщо команда, передана хостом, вимагає передачі підтвердження прийому, то команда-квитанція від пристрою повинна бути передана не пізніше 20 мс після прийому посилки від хоста. Якщо хост не отримує квитанцію, то також фіксується помилка передачі.

Рисунок 10. Схема ввімкнення контролера клавіатури фірми USAR

0.5.5 Команди інтерфейсу з клавіатурою

Контролер клавіатури посилає хосту скан-коди натиснутих і віджатих клавіш, а також певні коди команд, в зокрема код підтвердження прийому команди від хоста. Хост посилає клавіатурі команди, які змінюють стан клавіатури. За командам хоста вмикаються і вимикаються світлодіоди на клавіатурі, змінюється швидкість автоповтору натиснутої і утримуваної клавіші, проводиться заборона і дозвіл сканування і т.д.

Всі клавіші клавіатури, що використовують кодову таблицю № 2, крім Pause / Break працюють у режимі Typematic / Break / Маkе. Це означає те, що при натисканні будь-якої клавіші обов’язково передається код натиску, а при віджатою, відповідно, код не натиснутого стану. При натисненні і довгому утриманню здійснюється режим Typematic - автоповтор коду натисненої клавіші з періодом, заданим передачою спеціальної команди із хоста. По заммовчуванню пауза перед автоповтором встановлюється 500мс, а період автоповтору – 10симв./с. Не всі коди команд реально використовуються. Як правило, в процесі роботи ніколи не змінюється призначення режиму клавіш. Вибір таблиці скан-кодів використовується в клавіатурах деяких країн.

Таблиця 2. Стартовий протокол обміну Хост - Клавіатура при ввімкненні напруги

п/п

Джерело команди

Код команди

Коментар

1)

Клавіатура

AA

Самотестування завершилось успішно

2)

Хост

FF

Команда – «СКИДАННЯ»

3)

Клавіатура

FA

АСК – підтвердження прийому команди

4)

Клавіатура

AA

Самотестування завершилось успішно

5)

Хост

F2

Запит ID пристрою (перший раз від BIOS)

6)

Клавіатура

AB

Перший байт ID клавіатури

7)

Клавіатура

83

Другий байт ID клавіатури

8)

Хост

ED

Управління світло діодом (вмикаємо)

9)

Клавіатура

FA

АСК – підтвердження прийому команди

10)

Хост

00

Код команди управління станом світло діодів (ввімкнути всі три)

11)

Клавіатура

FA

АСК – підтвердження прийому команди

12)

Хост

ED

Управління світло діодом (Вимикаємо)

13)

Клавіатура

FA

АСК – підтвердження прийому команди

14)

Хост

02

Код команди управління станом світло діодів (горить NumLock, інші вимкнені)

15)

Клавіатура

FA

АСК – підтвердження прийому команди

16)

Хост

F2

Запит ID пристрою (другий раз від Windovs)

17)

Клавіатура

AB

Перший байт ID клавіатури

18)

Клавіатура

83

Другий байт ID клавіатури

19)

Хост

F2

Запит ID пристрою (третій раз знову від Windovs)

20)

Клавіатура

AB

Перший байт ID клавіатури

21)

Клавіатура

83

Другий байт ID клавіатури

22)

Хост

F3

Команди установки періоду автопідбору клавіш

23)

Клавіатура

АСК – підтвердження прийому команди

24)

Хост

00

Код автопідбору

25)

Клавіатура

FA

АСК – підтвердження прийому команди

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]