Матричная разводка клавиатуры
Матричная разводка клавиатуры — это способ электрического соединения контактов клавиш в клавиатуре, при котором каждая клавиша располагается на пересечении строки и столбца виртуальной или физической матрицы. Данный метод позволяет значительно сократить количество необходимых выводов микроконтроллера по сравнению с прямым подключением каждой клавиши к отдельному контакту.
Принцип работы
В основе матричной разводки лежит принцип сканирования. Клавиатурный контроллер последовательно подаёт сигнал на каждую строку матрицы и одновременно считывает состояние столбцов. Когда клавиша нажата, контакт замыкает соответствующую строку и столбец, и контроллер фиксирует это событие. Для корректной работы необходимо, чтобы в каждый момент времени активной была только одна строка, иначе может возникнуть ложное срабатывание.
Физическая реализация
В большинстве современных клавиатур (мембранных, ножничных, механических) используется печатная плата (PCB) с напылёнными или травлёными дорожками. Дорожки образуют сетку: горизонтальные линии соответствуют строкам, вертикальные — столбцам. В месте пересечения каждой пары линий устанавливается контактная площадка для клавиши. При нажатии клавиши её подвижный контакт (например, купол из резины или металлическая пружина) замыкает дорожки строки и столбца.
Преимущества и недостатки
Преимущества
- Экономия выводов контроллера. Для клавиатуры с N клавишами при прямом подключении требуется N выводов. При матричной разводке на матрице размером R строк и C столбцов требуется всего R + C выводов. Например, для 104-клавишной клавиатуры можно использовать матрицу 10×11, что даёт 21 вывод вместо 104.
- Простота трассировки печатной платы. Сетка дорожек проще для разводки, чем множество индивидуальных линий.
- Стандартизация. Матричная схема позволяет легко наращивать количество клавиш без изменения контроллера.
Недостатки
- Ghosting (призрачное нажатие). Если одновременно нажаты три клавиши, образующие вершины прямоугольника в матрице, контроллер может ошибочно зарегистрировать нажатие четвёртой (мнимой) клавиши. Это происходит из-за паразитных токов, протекающих через замкнутые контакты.
- Masking (маскирование). При одновременном нажатии нескольких клавиш в одной строке или столбце контроллер может не распознать некоторые из них.
- Сложность реализации для большого количества клавиш. При увеличении размера матрицы растёт время сканирования, что может привести к задержкам.
Методы борьбы с Ghosting
Аппаратные методы
- Диодная развязка. Установка диода последовательно с каждой клавишей (или на каждую строку/столбец) блокирует обратные токи, полностью устраняя ghosting. Этот метод используется в большинстве современных механических клавиатур.
- Схемы с блокировкой. Некоторые контроллеры используют специальные алгоритмы, которые игнорируют некорректные комбинации.
Программные методы
- Алгоритмы анти-гостинга. Контроллер анализирует последовательность нажатий и отбрасывает подозрительные комбинации. Однако этот метод не всегда надёжен.
- NKRO (N-Key Rollover). Режим, при котором клавиатура может корректно обрабатывать любое количество одновременно нажатых клавиш. Для NKRO требуется диодная развязка и достаточно быстрый контроллер.
Типы матриц по защите от Ghosting
- 2KRO (2-Key Rollover). Гарантированно корректно обрабатываются только два одновременных нажатия.
- 6KRO (6-Key Rollover). Обрабатываются до шести нажатий, что достаточно для большинства игр.
- NKRO. Полная поддержка любого количества нажатий.
Разновидности матричных разводок
Пассивная матрица
Наиболее распространённый тип. Контроллер последовательно опрашивает строки. Не требует дополнительных активных компонентов, но подвержен ghosting.
Активная матрица
Использует мультиплексоры или сдвиговые регистры для управления строками и столбцами. Позволяет уменьшить количество выводов контроллера и повысить скорость сканирования. Применяется в дорогих игровых клавиатурах.
Матрица с диодной изоляцией
Каждая клавиша имеет последовательно включённый диод. Полностью устраняет ghosting, но увеличивает стоимость и сложность производства.
Применение
Матричная разводка используется в подавляющем большинстве клавиатур:
- Компьютерные клавиатуры (проводные и беспроводные).
- Ноутбуки (встроенные клавиатуры).
- Клавиатуры для планшетов и смартфонов.
- Промышленные панели управления.
- Музыкальные инструменты (синтезаторы, MIDI-контроллеры).
- Игровые контроллеры.
История
Принцип матричного сканирования был разработан в 1960-х годах для телефонных станций и ранних вычислительных машин. В персональных компьютерах матричная разводка стала стандартом с появлением IBM PC (1981 год). Ранние клавиатуры (например, IBM Model F) использовали ёмкостные матрицы, а более поздние (IBM Model M) — мембранные. С развитием механических переключателей (Cherry MX, 1984 год) матричная схема осталась основной.
Альтернативы
- Прямое подключение. Каждая клавиша подключена к отдельному выводу контроллера. Используется в очень маленьких клавиатурах (например, макроклавиатурах) или в устройствах с избыточным количеством выводов.
- Последовательное подключение. Клавиши объединены в цепочки, сигнал проходит через все контакты последовательно. Используется в некоторых мембранных клавиатурах, но подвержен проблемам с надёжностью.
- Емкостное сканирование. Определяет нажатие по изменению ёмкости контакта. Используется в дорогих клавиатурах (например, Wooting) и в сенсорных панелях.
Интересные факты
- В некоторых старых клавиатурах (например, Commodore 64) использовалась матрица с общим анодом, что требовало особых схемотехнических решений.
- Современные игровые клавиатуры с NKRO часто имеют до 6 слоёв матрицы для обеспечения полной защиты от ghosting.
- В механических клавиатурах с диодной развязкой диоды часто впаиваются непосредственно в переключатель (например, в переключателях с поддержкой RGB-подсветки).
Источники
- «The Art of Electronics» — Paul Horowitz, Winfield Hill (глава о матричных схемах).
- «PC Keyboard Design» — Intel Application Note AP-429.
- «Keyboard Matrix Scanning» — документация к микроконтроллерам Atmel AVR.
- «Understanding Keyboard Matrix and Ghosting» — статьи на форумах Geekhack и Deskthority.
- «IBM Personal Computer Hardware Reference Library» — документация IBM (1981).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →