Мышь PS/2

Мышь PS/2 — специализированный интерфейс для подключения указывающего устройства (мыши, трекбола и т.д.) с использованием разъёма mini-DIN-6. Впервые был представлен в компьютере IBM PS/2, благодаря чему и получил своё название.

История 
Изначально для PC-совместимых компьютеров использовались мыши двух типов: PC-Mouse от  и . Оба этих типа мыши подключались по протоколу RS-232 и были несовместимы друг с другом. Из этого следовали серьёзные недостатки: 1) мышь занимала Com-порт, количество которых было ограничено — обычно только два; 2) драйвер мыши монопольно использовал линии прерывания IRQ3 или IRQ4; 3) не существовало способа автоматического распознавания и конфигурации подключенной мыши, поэтому пользователю предстояло самостоятельно указывать, какого типа мышь подключена и в какой порт.

В 1987 году компания IBM выпустила компьютер PS/2, в котором для клавиатуры и мыши были зарезервированы специальные разъёмы. Изначально новый стандарт не пользовался популярностью. Массово новые разъёмы для мыши стали устанавливаться только в конце 1990-х, с распространением стандарта ATX, который предусматривал специальное окно для размещения разъёмов разных типов. Однако в тот же период появился стандарт USB HID, позволявший подключать мышь в новый универсальный разъём USB. Долгое время два этих стандарта сосуществовали вместе, многие мыши могли работать через оба протокола. Однако постепенно стандарт USB HID вытеснил PS/2.

Принцип работы 
Так же как и в клавиатуре, в мыши используется четырёхпроводное подключение: по двум проводам подаётся питание, один провод синхронизации и один — данных. На физическом уровне протокол аналогичен протоколу клавиатуры: он полудуплексный, включает стартовый бит, 8 бит данных и бит чётности, переключение направления реализуется специальной посылкой в синхросигнале. 

Мышь может работать в трёх режимах: потоковом, режиме опроса и диагностическом. В диагностическом режиме мышь сигнализирует о своей исправности, возвращая поступившие на вход данные. Основной режим работы — потоковый, в нём мышь передаёт посылку о любом изменении своего состояния: перемещении, нажатии любой кнопки, повороте колеса, но не чаще, чем задано установкой частоты опроса. Ранние мыши, в частности оригинальная мышь IBM посылали на компьютер 3 байта данных. Позже компания Microsoft в своей мыши  расширила формат посылки до четырёх байт, и он принял следующий вид:

С появлением тачпадов, последние также часто подключают по протоколу PS/2, но для реализации мультитача используются собственные расширения протокола.

Работа на уровне материнской платы 
Для подключения мыши типа PS/2 используется разъём Mini-DIN-6, аналогичный разъёму для клавиатуры, с таким же назначением контактов. Автоматического определения, в какой из разъёмов подключена мышь, а в какой — клавиатура как правило не предусмотрено, один из разъёмов позволяет подключить только клавиатуру, а другой — только мышь, чтобы их различать, они окрашиваются в разный цвет и маркируются пиктограммой. Подключение и отключение предполагается только при отключенном питании, защита от возможных бросков тока при коммутации — на усмотрение изготовителей контроллеров. Многие версии материнских плат определяют наличие мыши только в момент включения питания. Сам контроллер как правило совмещён с контроллером клавиатуры, хотя до широкого распространения стандарта ATX существовали контроллеры мыши, выполненные в виде платы расширения.

Со стороны процессора используются те же самые порты 60h и 64h, что и для клавиатуры, однако движение мыши вызывает аппаратное прерывание IRQ12. Также в отличие от клавиатуры, посылки от мыши передаются в буфер напрямую, без преобразований. На уровне BIOS поддержка мыши заключается только в её инициализации при включении питания, непосредственно работа с мышью должна быть реализована в виде драйвера на уровне операционной системы.

Альтернативы PS/2 для тачпадов 
На замену устаревшего протокола PS/2, который не поддерживает более двух синхронных прикосновений (мультитач) и ограничен в разрешении устройств, в ряде встроенных применений (преимущественно с тачпадами) предложены более современные альтернативы. В частности для взаимодействия с устройствами synaptics и libinput применяются протоколы RMI (от ). Данные протоколы работают поверх встроенных шин I²C, SMBus или SPI и реализованы в нескольких версиях: RMI3 (с 2007 года) и RMI4 (2010-е).

Примечания

Литература

Ссылки

 
компьютерные мыши
Интерфейсы устройств