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

0.5.2 Принци роботи інтерфейсу

При першому знайомстві із специфікацією інтерфейсу РS/2 у більшості може виникнути законне питання: навіщо було створювати цей інтерфейс? Адже був вже КS-232, в якому використовувався дуплексний режим, який працював без жодних проблем. Врешті-решт, при таких малих відстанях можна було обійтися просто ТТЛ рівнями. Знову-таки, вибір був би не гіршим. Проте, стандарт Р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 - не використовується

Рисунок 7. Опис роз’ємів Р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

Команда початкової установки клавіатури.

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