Русская Википедия:Мышь PS/2
Мышь PS/2 — специализированный интерфейс для подключения указывающего устройства (мыши, трекбола и т.д.) с использованием разъёма mini-DIN-6. Впервые был представлен в компьютере IBM PS/2, благодаря чему и получил своё название.
История
Изначально для PC-совместимых компьютеров использовались мыши двух типов: PC-Mouse от [[|en]] (англ.) и [[|en]] (англ.). Оба этих типа мыши подключались по протоколу RS-232 и были несовместимы друг с другом. Из этого следовали серьёзные недостатки: 1) мышь занимала Com-порт, количество которых было ограничено — обычно только два; 2) драйвер мыши монопольно использовал линии прерывания IRQ3 или IRQ4; 3) не существовало способа автоматического распознавания и конфигурации подключенной мыши, поэтому пользователю предстояло самостоятельно указывать, какого типа мышь подключена и в какой портШаблон:Sfn.
В 1987 году компания IBM выпустила компьютер PS/2, в котором для клавиатуры и мыши были зарезервированы специальные разъёмы. Изначально новый стандарт не пользовался популярностью. Массово новые разъёмы для мыши стали устанавливаться только в конце 1990-х, с распространением стандарта ATX, который предусматривал специальное окно для размещения разъёмов разных типов. Однако в тот же период появился стандарт USB HID, позволявший подключать мышь в новый универсальный разъём USB. Долгое время два этих стандарта сосуществовали вместе, многие мыши могли работать через оба протоколаШаблон:Sfn. Однако постепенно стандарт USB HID вытеснил PS/2.
Принцип работы
Так же как и в клавиатуре, в мыши используется четырёхпроводное подключение: по двум проводам подаётся питание, один провод синхронизации и один — данных. На физическом уровне протокол аналогичен протоколу клавиатуры: он полудуплексный, включает стартовый бит, 8 бит данных и бит чётности, переключение направления реализуется специальной посылкой в синхросигнале.
Мышь может работать в трёх режимах: потоковом, режиме опроса и диагностическомШаблон:Sfn. В диагностическом режиме мышь сигнализирует о своей исправности, возвращая поступившие на вход данные. Основной режим работы — потоковый, в нём мышь передаёт посылку о любом изменении своего состояния: перемещении, нажатии любой кнопки, повороте колеса, но не чаще, чем задано установкой частоты опроса. Ранние мыши, в частности оригинальная мышь IBM посылали на компьютер 3 байта данных. Позже компания Microsoft в своей мыши [[|en]] (англ.) расширила формат посылки до четырёх байт, и он принял следующий вид:
Бит 7 | Бит 6 | Бит5 | Бит 4 | Бит 3 | Бит 2 | Бит 1 | Бит 0 |
---|---|---|---|---|---|---|---|
Переполнение Y | Переполнение X | Направление Y | Направление X | Не используется | Средняя кнопка | Правая кнопка | Левая кнопка |
Перемещение X | |||||||
Перемещение Y | |||||||
Не используется | Не используется | 5-я кнопка | 4-я кнопка | Направление колеса |
Вращение колеса |
С появлением тачпадов, последние также часто подключают по протоколу PS/2, но для реализации мультитача используются собственные расширения протокола.
Работа на уровне материнской платы
Для подключения мыши типа PS/2 используется разъём Mini-DIN-6, аналогичный разъёму для клавиатуры, с таким же назначением контактовШаблон:Sfn. Автоматического определения, в какой из разъёмов подключена мышь, а в какой — клавиатура как правило не предусмотрено, один из разъёмов позволяет подключить только клавиатуру, а другой — только мышь, чтобы их различать, они окрашиваются в разный цвет и маркируются пиктограммой. Подключение и отключение предполагается только при отключенном питании, защита от возможных бросков тока при коммутации — на усмотрение изготовителей контроллеров. Многие версии материнских плат определяют наличие мыши только в момент включения питания. Сам контроллер как правило совмещён с контроллером клавиатуры, хотя до широкого распространения стандарта ATX существовали контроллеры мыши, выполненные в виде платы расширенияШаблон:Sfn.
Со стороны процессора используются те же самые порты 60h и 64h, что и для клавиатуры, однако движение мыши вызывает аппаратное прерывание IRQ12. Также в отличие от клавиатуры, посылки от мыши передаются в буфер напрямую, без преобразований. На уровне BIOS поддержка мыши заключается только в её инициализации при включении питания, непосредственно работа с мышью должна быть реализована в виде драйвера на уровне операционной системыШаблон:Sfn.
Альтернативы PS/2 для тачпадов
На замену устаревшего протокола PS/2, который не поддерживает более двух синхронных прикосновений (мультитач) и ограничен в разрешении устройств, в ряде встроенных применений (преимущественно с тачпадами) предложены более современные альтернативы. В частности для взаимодействия с устройствами synaptics и libinput применяются протоколы RMI (от Шаблон:Lang-en). Данные протоколы работают поверх встроенных шин I²C, SMBus или SPI и реализованы в нескольких версиях: RMI3 (с 2007 года)[1] и RMI4 (2010-е)[2][3][4].
Примечания
Литература
Ссылки
- ↑ Synaptics RMI3 Specification Шаблон:Wayback, 2007—2008Шаблон:Ref-en
- ↑ Шаблон:Cite web
- ↑ Synaptics RMI4 Specification PN: 511-000136-01 Rev. E, Synaptics Incorporated 2007—2011, proprietary informationШаблон:Ref-en
- ↑ Шаблон:Cite web