PS/2-протокол
PS/2-протокол — это последовательный синхронный протокол передачи данных, используемый для подключения клавиатур и мышей к персональным компьютерам через одноимённый 6-контактный разъём (mini-DIN). Разработан компанией IBM в 1987 году для линейки компьютеров PS/2 (Personal System/2), впоследствии стал отраслевым стандартом, вытеснив более крупные разъёмы DIN-5 (AT-клавиатура) и последовательные порты (COM). Протокол реализует двунаправленную связь между хост-контроллером (обычно встроенным в материнскую плату) и периферийным устройством, обеспечивая передачу скан-кодов, координат указателя и команд управления.
История
Протокол PS/2 появился вместе с одноимённой серией компьютеров IBM PS/2, выпущенной в 1987 году. Разработчики стремились унифицировать интерфейсы ввода, уменьшить размеры разъёмов и повысить надёжность соединения. В отличие от предыдущего стандарта AT (DIN-5), разъём PS/2 (mini-DIN) имел меньший диаметр (около 9,5 мм) и использовал 6 контактов, из которых задействованы 4: данные (Data), тактовый сигнал (Clock), питание (+5 В) и земля (GND). Два контакта оставались резервными.
В 1990-х годах интерфейс PS/2 стал стандартным на материнских платах IBM PC-совместимых компьютеров, вытеснив разъёмы AT и COM-порты для мышей. Однако с распространением USB (Universal Serial Bus) в начале 2000-х годов PS/2 постепенно утратил популярность. Тем не менее, многие материнские платы продолжают оснащаться одним комбинированным разъёмом PS/2 (часто цветным — фиолетовым для клавиатуры, зелёным для мыши) для обеспечения обратной совместимости и низкой задержки ввода. В современных системах протокол эмулируется через USB-контроллеры или используется в специализированном оборудовании.
Технические характеристики
Физический уровень
- Разъём: 6-контактный mini-DIN (распиновка: 1 — данные, 2 — резерв, 3 — земля, 4 — питание +5 В, 5 — тактовый сигнал, 6 — резерв).
- Напряжение: логический уровень TTL (0–5 В), сигналы с открытым коллектором (pull-up резисторы на стороне хоста).
- Скорость передачи: около 10–16 кГц по тактовому сигналу (зависит от устройства и хоста). Максимальная длина кабеля — до 1,5–2 метров без дополнительного усиления.
- Питание: +5 В, потребляемый ток до 100–200 мА (в зависимости от устройства).
Протокольный уровень
Протокол PS/2 является синхронным: передача данных синхронизируется тактовым сигналом, который генерируется устройством (клавиатурой или мышью) при отправке данных, или хостом при отправке команд. Данные передаются побайтно, каждый байт состоит из 11 бит:
- 1 стартовый бит (всегда 0).
- 8 бит данных (младший бит первым, LSB-first).
- 1 бит чётности (нечётная чётность — количество единиц в байте данных + бит чётности должно быть нечётным).
- 1 стоповый бит (всегда 1).
После стопового бита устройство может выставить дополнительный бит подтверждения (Acknowledge, 0xFA) в ответ на команду хоста.
Режимы работы
- Режим отправки данных устройством (например, нажатие клавиши): устройство выставляет низкий уровень на линии Data и Clock, затем генерирует тактовые импульсы (Clock) и последовательно передаёт биты. Хост считывает данные по фронту тактового сигнала.
- Режим приёма данных хостом (отправка команды устройству): хост принудительно удерживает линию Clock низким уровнем не менее 100 мкс, затем отпускает её и начинает передачу, аналогично устройству, но тактовые импульсы генерируются хостом. Устройство подтверждает приём байтом 0xFA.
Классификация устройств
Клавиатуры
Клавиатуры PS/2 передают скан-коды (make-коды при нажатии, break-коды при отпускании). Существует два основных набора скан-кодов: Set 1 (оригинальный IBM PC/XT), Set 2 (стандарт PS/2) и Set 3 (реже используется). Современные клавиатуры обычно работают в режиме Set 2, но могут быть переключены хостом. Клавиатуры поддерживают команды сброса (0xFF), включения/отключения светодиодов (0xED), установки скорости повтора (0xF3) и другие.
Мыши
Мыши PS/2 передают пакеты данных, содержащие информацию о перемещении (delta X, delta Y) и состоянии кнопок. Стандартный пакет состоит из 3 байт (для мышей с двумя-тремя кнопками и колёсиком — 4 байта). Формат пакета:
- Байт 1: биты состояния (кнопки, переполнение, знак X/Y).
- Байт 2: смещение по оси X (8 бит, знаковое).
- Байт 3: смещение по оси Y (8 бит, знаковое).
- Байт 4 (опционально): смещение колёсика (Z).
Мыши поддерживают команды сброса (0xFF), установки разрешения (0xE8), частоты опроса (0xF3) и другие. Протокол мыши PS/2 также известен как «Microsoft Mouse Protocol» (последовательный вариант) и «IBM PS/2 Mouse Protocol».
Применение
Персональные компьютеры
До середины 2000-х годов PS/2-протокол был основным способом подключения клавиатур и мышей к настольным ПК. Он обеспечивал низкую задержку (менее 1 мс) и не требовал драйверов для базовой работы (поддерживался на уровне BIOS). В ноутбуках разъём PS/2 часто отсутствовал, заменяясь встроенными клавиатурами и тачпадами.
Промышленное и встраиваемое оборудование
В промышленных компьютерах, POS-терминалах, медицинском оборудовании и системах автоматизации PS/2-протокол продолжает использоваться из-за простоты, надёжности и низкой стоимости реализации. Многие материнские платы для встраиваемых систем (например, Mini-ITX) сохраняют разъёмы PS/2.
Эмуляция через USB
Современные операционные системы (Windows, Linux, macOS) поддерживают эмуляцию PS/2-устройств через USB-контроллеры. Для этого используются специальные драйверы (например, i8042prt в Windows) или аппаратные мосты (USB-to-PS/2 адаптеры). Однако прямое подключение PS/2-устройства к USB-порту без активного преобразователя невозможно из-за различий в протоколах.
Критика и ограничения
- Отсутствие горячей замены: PS/2-протокол не поддерживает подключение «на лету» (hot-plug). Вставка или извлечение устройства при включённом компьютере может привести к повреждению контроллера или сбою системы.
- Ограниченная длина кабеля: из-за синхронной передачи и низкого напряжения сигналов длина кабеля не должна превышать 1,5–2 метров.
- Однозадачность: на один разъём можно подключить только одно устройство (клавиатуру или мышь). Для одновременной работы требуется два разъёма.
- Устаревшая скорость: максимальная скорость передачи (около 16 кГц) достаточна для клавиатур и мышей, но недостаточна для современных игровых устройств с высоким разрешением и частотой опроса (1000 Гц и выше). В таких случаях предпочтительнее USB.
Интересные факты
- Разъёмы PS/2 для клавиатуры и мыши физически идентичны, но различаются цветом (фиолетовый — клавиатура, зелёный — мышь) и электрической схемой (на некоторых материнских платах они не взаимозаменяемы). При подключении мыши в разъём клавиатуры устройство может не работать или работать некорректно.
- В некоторых материнских платах используется комбинированный разъём PS/2, который автоматически определяет тип подключённого устройства (клавиатура или мышь) по последовательности сигналов.
- Протокол PS/2 лёг в основу более позднего стандарта USB HID (Human Interface Device), но с существенными изменениями (асинхронная передача, поддержка горячей замены, высокая скорость).
Источники
- IBM Personal System/2 Hardware Interface Technical Reference (1987)
- Adam Chapweske, «The PS/2 Keyboard/Mouse Protocol» (2003)
- Intel 8042 Keyboard Controller Datasheet
- Microsoft Windows Driver Kit — PS/2 Mouse and Keyboard Driver Documentation
- USB Implementers Forum, «USB HID Specification» (сравнение с PS/2)
- Обзорная статья на сайте OSDev.org — «PS/2 Keyboard and Mouse»
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →