Открыть сервис

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 →