Интерфейсы манипуляторов «мышь».

Устройство ввода мышь (mouse) передает в систему информацию о своем перемещении и нажатии-отпускании кнопок. Обычная конструкция имеет свободно вращающийся массивный обрезиненный шарик, передающий вращение на два координатных диска с фотоэлектрическими датчиками - две открытые оптопары (светодиод - фотодиод), в оптический канал которых входит вращающийся диск с прорезями. По интерфейсу с компьютером различают три основных вида мышей: Bus Mouse, Serial Mouse н PS/2-Mouse. Появились мыши с интерфейсом USB.
Bus Mouse (шинная мышь) - вариант, применявшийся в первых мышах. Содержит только датчики и кнопки; обработка их сигна­лов производится на специализированной плате адаптера. Мультипортовые карты (СОМ-, LPT- и GAME-порты), на которых установлен и адаптер Bus Mouse, встречаются редко. Кабель 9-проводный, разъем специальный (см. рис.1 и табл.1) хотя на первый взгляд напоминает разъем PS/2-Mouse.

Таблица 1.Разъём Bus Mouse

Контакт
Сигналы
Контакт
Сигналы
1
Vcc
6
Lb - левая кнопка
2
Xa – датчик X
7
Mb - средняя кнопка
3
Xb – датчик X
8
Rb – правая кнопка
4
Xa – датчик Y
9
GND
5
Xb – датчик Y
-
-

Рис 1.Разъем Bus Mouse

Serial Mouse - мышь с последовательным интерфейсом, под­ключаемая через 25 или 9-штырьковый разъем СОМ-порта (табл. 2). Имеет встроенный микроконтроллер, который обрабатывает сигналы от координатных датчиков и кнопок. Каждое событие кодируется двоичной посылкой по интер­фейсу RS-232C,а питание производится от интерфейса. Мышь с последовательным интерфейсом - Serial Mouse - может подключаться к любому исправному порту. Для согласования разъемов порта и мыши возможно при­менение переходника DB-9S-DB-25P или DR25S-DB-9P. Для мыши требуется прерывание, для порти COM1 - IRQ4, для COM2 - IRQ3. Жесткая привязка номера IRQ к номеру порта обусловлена свойствами драйверов. Каждое событие - перемещение мыши или нажатие-отпускание кнопки - кодируется двоичной посылкой по интерфейсу RS-232C. Применяется асинхронная передача; двуполярное питание обеспечивается от управляющих линий интерфейса (табл. 2).

Таблица 2.Разъёмы Serial Mouse

Сигнал
Контакт
-
-
DB-9
DB-25
Data
2
3
GND
5
7
+V (питание)
4,7
4,20
-V (питание)
3
9

Две разновидности Serial Mouse - MS-Mouse и РС-Mouse (Mouse Systems Mouse) - требуют соответствующих драйверов, многие мыши имеют переключатель MS/PC. Мышь с «чужим» драйвером либо не отзывается, либо «скачет» загадочным образом. Эти разновидности используют различные форматы посылок при одинаковой скорости 1200 бит/с, одном стоп-бите и отсутствии контроля четности Microsoft-Mouse использует 7 бит данных, а PC-Mouse; - 8 бит. Мышь посылает пакет при каждом изменении состояния - перемещении, нажатии или отпускании кнопки. Пакет, передаваемый MS-Mouse, состоит из трех байт (табл. 3). РС-Mouse передает 5 байт (табл. 4). Здесь LB (Left Buttom), MB (Middle Buttom) и RВ (Right Buttom) означают состояние левой, средней и правой кнопок, Х17:0] и Y[7:0] - биты относительного перемещения мыши с момента предыдущей посылки по координатам X и Y. Положительным значениям соответствует перемещение по координате X вправо, а по координате Y вниз для MS-Mouse и вверх для РС-Mouse. Отсюда становятся понятными беспорядочные перемещения курсора на экране при несоответствии драйвера типу мыши.

Таблица 3.Формат пакета MS-Mouse.

Биты
D6
D5
D4
D3
D2
D1
D0
1-й байт
1
LB
RB
Y7
Y6
Y7
Y6
2-й байт
0
X5
X4
X3
X2
X1
X0
3-й байт
0
Y5
Y4
Y3
Y2
Y1
Y0

Таблица 4.Формат пакета РС-Mouse (Mouse Systems Mouse).

Биты
D7
D6
D5
D4
D3
D2
D1
D0
1-й байт
1
0
0
0
0
LB
MB
RB
2-й байт
X7
X6
X5
X4
X3
X2
X1
X0
3-й байт
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
4-й байт
Совпадает со 2-м байтом
5-й байт
Совпадает со 3-м байтом

PS/2-Mouse - мышь, появившаяся с компьютерами PS/2. Ее интерфейс и 6-штырьковый DIN мини-разъем аналогич­ны клавиатурному (рис. 2). Адаптер и разъем PS/2-Mouse устанавливается на современных системных платах brand-namе. Контроллер такой мыши может входить и контрол­лер клавиатуры или занимать дополнительные адреса в про­странстве ввода/вывода. Для PS/2-Mullse используется прерывание IRQI2.

Рис.2. Разъем

С интерфейсами Serial Mouse и PS/2-Mouse иногда возникают недоразумения. Хотя оба они последовательные, но имеют принципиальные различия в уровнях сигналов, способе синхронизации, частоте и формате посылок:
· Интерфейс PS/2 использует однополярный сигнал с уровнями ТТЛ, питание мыши - однополярное с напряжением +5 В относительно шины GND. Интерфейс RS-232C, применяемый в Serial Mouse, использует двухполярный сигнал (см. таблицу 2) с уровнями срабатывания +3B и -3 В, требует двухполярного питания.
· Синхронный интерфейс PS/2-Mouse использует две раздельные сигнальные линии, одну - для передачи данных, другую - для сигналов синхронизации. Serial Mouse ис­пользует асинхронный способ передачи данных по одной линии. Ясно, что совместимости между этими интерфейсами нет. Тем не менее, выпускаются и продаются переходники (пассивные!), позволяющие выбирать способ подключения мыши. Они предназначены только для универсальных (combo) мышей, у которых встроенный контроллер по напряжению питания способен распознать, к какому интерфейсу его подключили, и. установить соответствующий тип своего выходного интерфейса. Универсальные мыши не особо распространены, поэтому часто приходится слышать о неудачных попытках применения таких переходников к обычным Serial Mouse или PS/2-Mouse. Дополнительную путаницу вносят мыши для компьютеров Macintosh, которые имеют разъем, с виду напоминающий PS/2. Однако разъемы эти разные, да и интерфейс совершенно иной. Манипулятор трекбол (trackball) («шар») представляет со­бой перевернутую мышь, шарик которой вращают пальца­ми. Иногда встраивается в клавиатуру.

С разрешения М. Гука. Интерфейсы ПК: справочник. СПб., Питер Ком,1999. www.neva.ru /mgook