Распиновка ps2 клавиатуры

Описание PS/2

штекер PS/2
гнездо PS/2



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

Из шести контактов в разъёме используется четыре: тактовые импульсы, данные, питание, общий. При этом для клавиатуры используемые контакты шины данных и частоты могут отличаться от контактов для подключения мыши. Это позволяет использовать оба устройства сразу, но через разветвитель.

В настоящее время подавляющее большинство изготавливаемых компьютерных мышей и клавиатур имеют разъём USB, некоторые современные материнские платы (особенно миниатюрных форм-факторов) не имеют разъёма PS/2 или имеют только один разъём. Современные ноутбуки и нетбуки не имеют внешних разъёмов PS/2, и для подключения к ним мыши или внешней клавиатуры используется USB. Старые ноутбуки чаще всего имели один универсальный разъём.

Интерфейс PS/2 может использоваться не только для клавиатур и мышей, но и для других устройств, например, сканеров штрих-кодов, позиционеров. Однако эти устройства в большинстве случаев эмулируют работу клавиатуры или мыши. Это позволяет избавиться от драйверов и сделать устройства платформонезависимыми.

В офисных условиях иногда предпочитают использовать клавиатуры и мыши PS/2, а не USB по соображениям безопасности: это позволяет полностью отключить порты USB и сделать невозможным подключение флешек и других потенциально опасных устройств.

Спецификация PC97 определяет стандартные цвета для разъёмов порта PS/2 в системном блоке и на кабелях подключаемых устройств:
сиреневый — клавиатура;
зелёный — мышь.

До внедрения этого стандарта цвета разъёмов не оговаривались, поэтому на практике обычно использовались разъёмы чёрного цвета, а наружный корпус разъёмов на кабелях совпадал с цветом оболочки кабеля (как правило, белый или серый).

Некоторые производители изначально использовали свою систему цветового кодирования: например, клавиатуры «Logitech» имели корпус разъёма оранжевого цвета, но в дальнейшем перешли на использование стандартных цветов.

Описание интерфейса PS2

  • E-mail

Подробности Категория: Разное Создано 20 Апрель 2010 Николай Ковач Просмотров: 66298

Несмотря на то, что USB клавиатур и мышей становится все больше и больше, компьютеры со «старым» PS2 интерфейсом все еще выпускаются. Посмотрите на системный блок Вашего компьютера сзади. Вы видите два небольших шестиконтактных разъемчика, один над другим, зеленый и фиолетовый? Это они. Они служат для подключения мыши и клавиатуры стандарта PS2.

Для начала, немного технической информации.

Как работает интерфейс PS2?
Порывшись в интернете находим наиболее достоверную информацию о PS2 здесь: http://www.computer-engineering.org/, автор Adam Chapweske, за что мы ему крайне признательны. Статья эта большая и на английском языке, поэтому попробуем перевести на русский самое необходимое.
Первое – это описание контактов разъема PS2.
В разъеме MINIDIN 6 контактов, но используются только 4 из них.

Слева нарисован разъем, который вставляется. Он устанавлявается на шнур мыши или клавиатуры. Справа нарисован разъем устанавливаемый на материнскую плату компьютера. Нумерация контактов у них, естественно зеркальная, потому, что при вставлянии одного разъема в другой сигналы одного имени должны совпадать.
Сигналы интерфейса:

  1. Data (передаваемые данные)
  2. Not Implemented (не используетя)
  3. Ground (Земля)
  4. VCC (+5V) (Питание)
  5. Clock (сигнал синхронизации передаваемых данных)
  6. Not Implemented (не используется).

Второе – это электрический интерфейс.
Клавиатура (или мышь) подключена к контроллеру на материнской плате по схеме «открытый коллектор». Что это такое? Схему можно нарисовать примерно так:

Схема «открытый коллектор» используется когда одним сигналом могут управлять несколько устройств. В нашем случае это контроллер на материнской плате и контроллер внутри клавиатуры. Они могут передавать данные навстречу друг другу. Например Клавиатура посылает коды нажатых клавиш, а компьютер посылает в клавиатуру команду зажечь светодиоды CAPS/NUM/SCROLL LOCK.
В исходном состоянии, когда данные не передаются, оба сигнала Data и Clock находятся в логической единице (на них напряжение +5В). Такое состояние будет если оба контроллера снимут управляющее напряжение с транзисторов (ClockOut и DataOut) и они закрыты. Так как транзисторы закрыты, то сигналы «подтянуты вверх» к напряжению питания резисторами. Читать текущее состояние сигналов оба контроллера могут прямо с контактов DataIn и ClockIn. Управлять линией очень легко. Контроллер подает управляющее напряжение на базу транзистора (сигналы DataOut и ClockOut), он открывается, через него течет ток и соответствующий сигнал Data или Clock получается «притянут к земле», на нем получается логический ноль. Что делать если оба контроллера захотят одновременно передать навстречу друг другу? Ну во-первых, ничего страшного на физическом уровне не случится, ведь «притянутый к земле» сигнал «притянуть» еще раз не получится. Во-вторых, конечно это проблема для уровня передачи данных. Оба контроллера, как два вежливых собеседника, должны уметь слушать друг друга и дослушать до конца. Это обеспечивается специальным протоколом. Например контроллер, перед передачей своих данных не должен начинать передачу данных если состояние сигналов недавно менялось.

Третье — это протокол.
При передаче от устройства (PS2 клавиатуры или PS2 мыши) к компьютеру используется следующий протокол. Устройство не начинает передачу, если Clock не находился в «1» по крайней мере 50 микросекунд. Устройство передает последовательно:

  1. старт бит – всегда ноль;
  2. 8 бит данных;
  3. бит четности;
  4. стоп бит – всегда единица.

Устройство устанавливает/меняет сигнал Data когда Clock находится в логической единице. Контроллер на материнской плате читает данные, когда Clock находится в логическом нуле. Примерно так:


Частота сигнала Clock примерно 10-16.7кГц. Время от фронта сигнала Clock до момента изменения сигнала Data не менее 5 микросекунд. Так написано в той статье, на которую я сделал ссылку в начале. Четно говоря я очень сомневаюсь, что производители придерживаются этих значений.
Контроллер материнской платы может сигнализировать устройству о невозможности приема опустив сигнал Clock в логический ноль. На практике этого по моему тоже никто не делает.
При передаче в обратную сторону команд от контроллера на материнской плате компьютера к клавиатуре или мыши протокол отличается от описанного выше.
Последовательность передаваемых бит здесь хитрее:

  1. хост контроллер опускает сигнал Clock в ноль на время примерно 100 микросекунд;
  2. хост контроллер опускает сигнал Data в ноль формируя старт бит;
  3. хост контроллер отпускает сигнал Clock в логическую единицу, клавиатура фиксирует старт бит;
  4. далее клавиатура генерирует сигнал Clock, а хост контроллер подает передаваемые биты;
  5. после того, как хост контроллер передал все свои биты, включая бит четности и стоп бит, клавиатура посылает последний бит «ноль», который является подтверждением приема.


Поскольку одним сигналом управляют два устройства, то довольно трудно понять, кто в данный момент времени управляет сигналом. Именно по этому диаграмма нарисована двумя цветами. Красный цвет – сигнал управляется хост контроллером, а синий – сигнал управляется клавиатурой.

Четвертое — это коды и команды, которые посылают мыши, клавиатуры и контроллер компьютера. Это довольно сложная тема… Пожалуй опишу все это в следующей статье.

Ну и конечно, мы собираемся сделать из платы Марсоход какой-то прототип клавиатуры. Уже скоро!

Настройка русской раскладки Raspberry

  1. Во время первого включения гаджета выбираем пункт «configure_keyboard»;
  2. Переходим в «Generic 105» и выбираем в списке раскладок «Other» пункт русской раскладки — Russian;
  3. Выбираем предпочитаемый способ смены раскладок;
  4. Изменяем локализацию посредством выключения «en_GB.UTF-8» и включения «ru_RU.UTF-8» во вкладке «change_locale»;
  5. После появления запроса на выбор по умолчанию выбираем «ru_RU.UTF-8»;
  6. При необходимости вносим дополнительные изменения и нажимаем «Finish»;
  7. Перезапускаем мини-ПК и наблюдаем, что раскладка клавиатуры Raspberry Pi теперь на русском языке.

Если же после входа в систему вместо букв вы наблюдаете пустые квадраты — тогда вводите команду «sudo_dpkg-reconfigure_console-setup» и выбирайте: кодировка — UTF-8, таблица символов и консольный шрифт — пункты в конце списка, размер — 8х16. Затем сохраните изменения и перезапустите мини-ПК. Если всё сделано верно — раскладка клавиатуры Raspberry порадует вас родным языком.

Кроме того, многие пользователи используют гаджет в качестве основы для сенсорного экрана либо пользуются только мышкой для управления устройством. В таком случае может понадобиться использование виртуальной клавиатуры в Raspberry Pi.

Настройка Bluetooth для подключения клавиатуры к Raspberry

  • Запускаем устройство и убеждаемся в стабильном подключении к интернету;
  • Включаем терминал и вводим «sudo_apt-get_install_bluez_bluez-firmware»;
  • Ожидаем завершение загрузки и перезапускаем устройство;
  • В консоли терминала вводим «bluetoothctl», который производит запуск инструментов для работы с подключаемыми устройствами;
  • Вводим «power on» и убеждаемся в работе Bluetooth;
  • Вписываем «scan on» и производим поиск устройств, способных подключится к гаджету;
  • Наблюдаем отображение названий устройств и их адресов, записываем адрес клавиатуры;
  • Вводим команду «connect» и адрес клавиатуры через пробел.

Следуя этой инструкции можно подключать любые устройства к гаджету, совместимые с интерфейсом Bluetooth. Только следите за их количеством — одно подключение может делать другое более слабым или совсем его блокировать.

Если же вы всё сделали верно, а клавиатура не работает — попробуйте отключить Wi-Fi, поднести клавиатуру ближе к Raspberry и проверить её работоспособность на стационарном ПК или мобильном устройстве.

На этом все советы по подключению и настройке разных видов клавиатуры к Raspberry Pi заканчиваются. Используйте гаджет с максимальным удобством и не бойтесь экспериментировать с разными устройствами для ввода — Raspberry способен на многое, и только от вас зависит диапазон его применения.