PS/2 (порт)
PS/2 — компьютерный порт, применяемый для подключения клавиатуры и мыши, использующий 6-контактный разъём mini-DIN.
Порт PS/2 впервые появился в 1987 году на компьютерах IBM PS/2 (до этого для подключения клавиатуры использовался IBM AT в виде DIN-5, мыши — COM-порт, однако мыши с разъёмом PS/2 получили популярность лишь в начале 2000-х годов) и впоследствии получил признание других производителей и широкое распространение в IBM PC-совместимых персональных компьютерах и серверах. Скорость передачи данных — от 80 до 300 Кб/с и зависит от производительности подключённого устройства и программного драйвера.
Из шести контактов в разъёме используется четыре: тактовые импульсы, данные, питание, общий. Сохранена электрическая совместимость с клавиатурным интерфейсом IBM AT. При этом для клавиатуры используемые контакты шины данных и частоты могут отличаться от контактов для подключения мыши. Это позволяет использовать оба устройства сразу, но через разветвитель.
Некоторые материнские платы могут правильно работать при «неправильном» подключении мыши и клавиатуры (то есть при подключении клавиатуры в разъём, предназначенный для мыши, и, наоборот, мыши в разъём для клавиатуры) — это обусловлено тем, что каждый разъём является универсальным. Большинство же материнских плат при неправильном подключении (или при отключении во время работы) потребуют от пользователя «правильного» подключения устройств и иногда перезагрузки.
Протокол обмена
- Pin 4 — Питание, +5 В. Используется для подачи питания на подключаемое устройство.
- Pin 3 — Земля/Корпус. Общий вывод для питания.
- Pin 5 — CLK — синхронизация (Clock). Включается при передаче данных мышью.
- Pin 1 — Data, передаваемые данные.
Изначально PS/2 реализовывался со стороны компьютера микросхемой контроллера 8048, затем был заменен на микросхему микроконтроллера 8042[1], затем его функции перешли в Super I/O или LPC-чип, либо в южный мост чипсета[2][3]. Перед подачей питания на устройство контроллер порта на материнской плате «слушает» CLK. При передаче от устройства (PS/2-клавиатуры или PS/2-мыши) к компьютеру используется следующий протокол. Устройство не начинает передачу, если Clock не находился в «1» по крайней мере 50 микросекунд. Устройство передаёт последовательно:
- старт-бит — всегда ноль;
- 8 бит данных;
- бит чётности;
- стоп-бит — всегда единица.
Устройство устанавливает/меняет сигнал Data, когда Clock находится в логической единице. Контроллер на материнской плате читает данные, когда Clock находится в логическом нуле.
При передаче в обратную сторону команд от контроллера на материнской плате компьютера к клавиатуре или мыши протокол отличается от описанного выше.
Последовательность передаваемых бит здесь сложнее:
- контроллер опускает сигнал Clock в ноль на время примерно 100 микросекунд;
- контроллер опускает сигнал Data в ноль, формируя старт-бит;
- контроллер отпускает сигнал Clock в логическую единицу, клавиатура фиксирует старт-бит;
- далее клавиатура генерирует сигнал Clock, а контроллер подает передаваемые биты;
- после того, как контролёр передал все свои биты, включая бит чётности и стоп-бит, клавиатура посылает последний бит «ноль», который является подтверждением приёма.
PS/2 и USB
В настоящее время подавляющее большинство изготавливаемых компьютерных мышей и клавиатур имеют разъём USB, почти все современные материнские платы (особенно миниатюрных форм-факторов) не имеют разъёма PS/2 или имеют только один разъём. Современные ноутбуки и нетбуки не имеют внешних разъёмов PS/2, и для подключения к ним мыши или внешней клавиатуры используется USB. Старые ноутбуки чаще всего имели один универсальный разъём.
Если USB-контроллер мышей и клавиатур поддерживает работу через интерфейс PS/2, то устройства (мыши и клавиатуры) можно подключить через пассивный переходник с разъёмом PS/2. Как правило, такой особенностью обладает большинство недорогих мышей и клавиатур.
Альтернативы PS/2 для тачпадов
На замену устаревшего протокола PS/2, который не поддерживает более двух синхронных прикосновений (мультитач) и ограничен в разрешении устройств, в ряде встроенных применений (преимущественно с тачпадами) предложены более современные альтернативы. В частности для взаимодействия с устройствами synaptics и libinput применяются протоколы RMI (от англ. Register Mapped Interface). Данные протоколы работают поверх встроенных шин I²C, SMBus или SPI и реализованы в нескольких версиях: RMI3 (с 2007 года)[4] и RMI4 (2010-е)[5][6][7].
Цвета разъёмов
Спецификация PC97 определяет стандартные цвета для разъёмов порта PS/2 в системном блоке и на кабелях подключаемых устройств:
Цвет | Устройство | |
---|---|---|
сиреневый | клавиатура | |
зелёный | мышь |
До внедрения этого стандарта цвета разъёмов не оговаривались, поэтому на практике обычно использовались разъёмы чёрного цвета, а наружный корпус разъёмов на кабелях совпадал с цветом оболочки кабеля (как правило, белый или серый).
Некоторые производители изначально использовали свою систему цветового кодирования: например, клавиатуры Logitech имели корпус разъёма оранжевого цвета, но в дальнейшем перешли на использование стандартных цветов.
См. также
Примечания
- ↑ «8042» PS/2 Controller Архивная копия от 1 августа 2019 на Wayback Machine / OSdev.org wiki
- ↑ IBM PC/AT 8042 Keyboard Controller Commands | OS/2 Museum (англ.). www.os2museum.com. Дата обращения: 1 августа 2019. Архивировано 1 августа 2019 года.
- ↑ Scott Mueller. Keyboard Controller Chips // Upgrading and Repairing PCs. — 2003. — С. 387. — 1575 с. — ISBN 9780789729743.
- ↑ Synaptics RMI3 Specification Архивная копия от 3 марта 2022 на Wayback Machine, 2007—2008 (англ.)
- ↑ Linux 4.6 Adding Synaptics RMI4 To Better Handle Touchscreens, Touchpads - Phoronix (англ.). phoronix.com (19 марта 2016). Дата обращения: 1 августа 2019. Архивировано 13 августа 2020 года.
- ↑ Synaptics RMI4 Specification PN: 511-000136-01 Rev. E, Synaptics Incorporated 2007—2011, proprietary information (англ.)
- ↑ Jake Edge. An update on input (LWN.net, X.Org Developers Conference) (англ.). lwn.net (11 октября 2016). Дата обращения: 1 августа 2019. Архивировано 1 августа 2019 года.
Ссылки
- PS/2 port — PC Mag Encyclopedia (англ.)
- Adam Chapweske, The PS/2 Mouse/Keyboard Protocol / www.Computer-Engineering.org, 05/09/2003 (англ.)
- Keyboard/Auxiliary Device Controller — October 1990 (англ.)
- 8.1.1. Интерфейс клавиатуры AT и PS/2, 8.1.2. Контроллер интерфейса клавиатуры и мыши 8042/8242, 8.2.2. Мышь PS/2 — М. Гук. Аппаратные интерфейсы ПК. Энциклопедия