Виганд (интерфейс)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Wiegand — простой проводной интерфейс связи между устройством чтения идентификатора (карточки) и контроллером, широко применяемый в системах контроля и управления доступом (СКУД).

Предназначен для передачи результата идентификации со считывателя СКУД на контроллер. В частном случае по интерфейсу может передаваться номер считанной бесконтактной карты, номер радио-брелока, набранный PIN код, номер шаблона отпечатка пальца.

Интерфейс не имел официального стандарта, однако постфактум многие компании приняли внутренние нормативы на интерфейс. Один из наиболее известных документов предложен американской организацией Security Industry Association (англ.) «SIA AC-01-1996.10 — Access Control — Wiegand»[1].

Интерфейс не поддерживает шифрование передаваемых данных, аутентификацию сторон, контроль целостности линии между считывателем и контроллером. Также интерфейс не позволяет решать других задач взаимодействия считывателя с контроллером кроме передачи результата идентификации, в т. ч. управление индикацией считывателей. В качестве альтернативы Wiegand, избавленной от указанных недостатков, SIA рекомендует использовать интерфейс OSDP.

История[править | править код]

Изначально интерфейс применялся в считывателях магнитных карт и был максимально оптимизирован под простейшие считыватели. В сущности это был простой выход усилителя чтения. Из-за распространённости магнитных карт этот интерфейс стал стандартным де-факто. Позже магнитные карты были вытеснены бесконтактными картами (RFID) однако интерфейс был сохранён неизменным в целях совместимости оборудования.

Разновидности[править | править код]

Существует несколько разновидностей интерфейса Wiegand, различающихся цифрами в названии интерфейса. Эта цифра в названии обозначает количество бит в посылке.

Наиболее распространённые считыватели и контроллеры СКУД поддерживают следующие варианты Wiegand:

  • Wiegand-26. Самый распространённый. Состоит из 24 бит кода и 2 бит контроля на четность.
  • Wiegand-33. Состоит из 32 бит кода и 1 бита контроля на четность.
  • Wiegand-34. Состоит из 32 бит кода и 2 бит контроля на четность.
  • Wiegand-37. Состоит из 35 бит кода и 2 бит контроля на четность.
  • Wiegand-40. Состоит из 40 бит кода, контроля на чётность нет.
  • Wiegand-42. Состоит из 40 бит кода и 2 бит контроля на четность.

Существуют разновидности считывателей с длиной Wiegand до 128 бит. На самом деле количество бит в формате Wiegand может быть практически любым разумным. Когда встречаешь новую цифру в названии остаётся неясным только наличие контрольных битов чётности и методика их расчёта.

Существуют и некоторые другие названия для аналогичных интерфейсов. Распространён, например, интерфейс KSF который является фактически Wiegand-32.

Электрическое подключение[править | править код]

Wiegand interface electrical.png

Для связи между считывателем и контроллером СКУД используется трёхпроводная шина — два сигнальных провода, один общий. На рисунке приведена классическая схема подключения, из неё очевидны и электрические параметры интерфейса.

Максимальная длина линии связи сильно зависит от грамотного выбора кабеля (основные критерии — низкая погонная ёмкость, низкое омическое сопротивление) и грамотного построения схемы развязки питания считывателя и контроллера. Обычные значения, приводимые поставщиками оборудования — до 150…250 метров.

Формат данных[править | править код]

Передача данных[править | править код]

Wiegand interface oscillogram.PNG

Передача ведётся короткими импульсами. Наличие импульса в линии «Data0» означает что был передан лог.0, наличие импульса в линии «Data1» означает что был передан лог.1. Ширина импульсов и их период сильно варьируется в зависимости от изготовителя считывателя. Ширина импульсов обычно в диапазоне 20…200 мкс. Период следования импульсов — 300…3000 мкс.

Связь односторонняя, в момент обнаружения карты происходит однократная передача кадра с кодом карты от считывателя к контроллеру СКУД. Передача идёт старшим битом кода вперёд.

Разделение кадров осуществляется по таймауту. Реально минимальное время между кадрами 0,5 сек., рекомендуемый таймаут для контроллера СКУД — 50…250мс.

Понятие фасилити[править | править код]

Исторически сложилось так что многие системы контроля доступа и изготовители карточек условно делят код карты на две неравные части которые называют фасилити и номер. Обычно к номеру относят младшие 16 бит кода, всё остальное к фасилити. Причина такого деления — экономия памяти в очень старых контроллерах доступа. При монтаже объекта подбирались карты с одинаковым фасилити и в память контроллера записывались только младшие 16 бит кода метки (номер). С тех пор прошло много времени и подобная экономия давно в прошлом, но многие системы всё ещё оперируют этими понятиями, показывая код карты разделённым на части. В наше время никакой смысловой нагрузки такое разделение не имеет.

Контроль на четность[править | править код]

Если имеется контроль по чётности, то к битам кода карты добавляются два бита — один перед кодом, другой после. Соответственно весь код карты делится ровно посередине на две части. Чётность старшей половины кода контролируется первым битом, младшей — последним. Если количество бит в коде нечётное, то центральный бит кода входит в оба контроля чётности.

Первый бит чётности (старшей половины кода) ставится в 1 если количество единиц в его половине кода нечётное. Последний бит чётности (младшей половины кода) ставится в 1 если количество единиц в его половине кода чётное.

Надо заметить, что встречаются считыватели не подчиняющиеся этому правилу контроля чётности. Поэтому реально большинство универсальных контроллеров СКУД просто игнорируют контроль на чётность. Кроме того, некоторые форматы бесконтактных карт несут информацию о количестве бит кода и чётности прямо на карте, соответственно считыватель не может никоим образом влиять на реальный выходной формат данных. Таков, например, формат HID ProxPass, Indala ASP и др.

Wiegand и клавиатуры для ввода PIN кода[править | править код]

Многие СКУД поддерживают идентификацию по набору PIN-кода на клавиатуре. При этом набранный код может служить как основным идентификационным признаком, так и дополнительным. Обычно набранный код при этом тоже передаётся по интерфейсу Wiegand. Существуют разные подходы к его передаче, наиболее распространены следующие:

  • Wiegand-26. При этом вводимые цифры буферизируется на считывателе, а по окончании набора передаются все разом в составе одной Wiegand посылки. Способ кодирования цифр в посылку не стандартизован, но зачастую это BCD кодирование, что позволяет передать код длиной до 6 цифр (6=24/4).
  • Wiegand-4, Wiegand-6, Wiegand-8. При этом вводимые цифры отправляются по Wiegand по-отдельности по мере ввода. Общепринятого стандарта на кодирование цифр в посылку нет, но наиболее распространены вариации, которые называются Wiegand-HID (Wiegand-6) и Wiegand-Motorola (Wiegand-8).

В обоих подходах кроме цифр как таковых зачастую считыватели могут передавать по Wiegand служебные символы, такие как # и *, в случае если они присутствуют на клавиатуре.

Примечания[править | править код]

  1. Product Detail Page. Проверено 6 апреля 2013.